Groups
|
Description |
This REST API allows users to access various groups data in NEO |
|
Request URL |
http://<NEO_SERVER_ADDRESS>/neo/resources/groups |
|
Main Operations |
|
|
Description |
Get all available groups |
|
Request URL |
GET /neo/resources/groups |
|
Request Data |
N/A |
Response:
One group:
[{
"groupType": "System",
"elementName": "group1",
"description": "",
"instanceID": "group.group1 ",
"hasSettings": false,
"readOnly": false
}
]
Multiple groups:
[{
"groupType": "System",
"elementName": "group1",
"description": "",
"instanceID": "group.group1 ",
"hasSettings": false,
"readOnly": false
}, {
"groupType": "System",
"elementName": "group2",
"description": "",
"instanceID": "group.group2",
"hasSettings": false,
"readOnly": false
}
]
Result Data includes custom groups created by users & global groups that are a part of NEO by default.
|
Description |
Retrieves a specific set of groups |
|
Request URL |
|
|
Request Data |
N/A |
Response:
One group:
{
"elementName": "group1",
"instanceID": "group.group1 ",
"groupType": "System",
"description": "",
"hasSettings": false,
"readOnly": false
}
Multiple groups:
[{
"elementName": "group1",
"instanceID": "group.group1 ",
"groupType": "System",
"description": "",
"hasSettings": false,
"readOnly": false
}, {
"elementName": "group2",
"instanceID": "group.group2 ",
"groupType": "System",
"description": "",
"hasSettings": false,
"readOnly": false
}
]
|
Description |
This interface is used to add a group |
|
Request URL |
POST /neo/resources/groups |
|
Request Data |
{ "elementName": "custom_group1", "description": "NEOcustom group", "groyp_type": "System" } |
|
Response |
URI: /neo/resources/groups/custom_group1 |
Group should have a unique name as an identifier
Group description is optional
|
Description |
Update an existing group |
|
Request URL |
PUT /neo/resources/groups/<group_name> |
|
Request Data |
{ |
|
Response |
"" |
|
Description |
Remove an existing group |
|
Request URL |
DELETE /neo/resources/groups/<group_name> |
|
Request Data |
N/A |
|
Response |
Location header includes a URI with a Job ID for group deletion |
|
Status Codes |
Note: Status code "202 ACCEPTED" means that an asynchronous job has been created and that the job ID has been returned into the location header |
|
Description |
Add a member as members to custom groups |
|
Request URL |
POST /neo/resources/groups/<group_name>/members |
|
Response |
|
|
Status Codes |
Note: Status code "403 FORBIDDEN" could be due to the following:
|
Request Data:
[
"<first_system_IP>.system",
"<_second_system_IP>.system", …
]
Add System members
[
"10.0.0.1.system",
"10.0.0.2.system"
]
Add network port members
[
"10.0.0.1.network_port.eth1.2",
"10.0.0.2.network_port.eth1.3"
]
Members can be added to a group of the same type only (a system member can be added to a system group, and network port members can be added to network port groups)
Any member can be added to multiple groups at the same time
A system can only be a member of one group for which access credentials are set
|
Description |
Retrieve all systems that are members of the specified group |
|
Request URL |
GET /neo/resources/groups/<group_name>/members |
Request Data:
System members:
[{
"status": "Pending Reboot",
"profile": "Eth Single Switch",
"mlag": {
"iplLag": "Po2",
"name": "",
"macAddress": "00:00:5E:00:01:00",
"virtualIp": "192.168.1.1/24",
…
},
"vendor": "Mellanox",
"macAddress": "24:8A:07:81:B0:80",
"swVersion": "X86_64 VERIFICATION_3.6.5961-41 2018-02-20 16:53:59 x86_64",
"id": "10.209.36.162.system",
"statusDescriptions": [
"Pending Reboot Due to SW Upgrade"
],
"healthState": "OK",
"name": "r-ufm-sw75",
"sysType": "Mellanox Switch",
"caption": "MLNX-OS",
"model": "MSN2100",
"ipAddress": "10.209.36.162",
"isManagement": true
}, {
"status": "Communication OK",
"profile": "Eth Single Switch",
"mlag": null,
"vendor": "Mellanox",
"macAddress": "N/A",
"swVersion": "X86_64 3.6.5000 2017-11-10 18:14:32 x86_64",
"id": "10.209.36.161.system",
"statusDescriptions": [],
"healthState": "OK",
"name": "r-ufm-sw74",
"sysType": "Mellanox Switch",
"caption": "MLNX-OS",
"model": "MSN2100",
"ipAddress": "10.209.36.161",
"isManagement": true
}
Network port members:
[{
"instanceID": "10.0.0.1.networkport.eth1.1"
}, {
"instanceID": "10.0.0.2.networkport.eth1.2"
}
]
|
Description |
Used to retrieve systems and specify additional system properties (not just instanceID which is returned by default) from a specified custom group. |
|
Request URL |
GET /neo/resources/groups/<group_name>/members?props=<list_of_properties> Where <list_of_properties> includes comma supported properties as they appear in NEO |
|
Request Data |
N/A |
|
Response |
[ {"id": "<system_IP>.system", "<property_1>": "prop_value", … } ] |
|
Example (specifying 2 system properties: status and name): GET /neo/resources/groups/<group_name>/members?props=status,name |
Result:
[{
"instanceID": "10.0.0.1.system",
"status": "OK",
"name": "switch"
}
]
The supported system properties are the ones that are returned from "Get Members in Group."
|
Description |
Remove members from a custom group. |
|
Request URL |
DELETE /neo/resources/groups/<group_name>/members |
|
Response |
N/A (No Content) |
|
Status Codes |
Note: Status code "204 NO CONTENT" means that the system was removed from the group |
Request Data:
System group:
["10.0.0.1. system", "10.0.0.2. system" ]
Network port group:
[
"10.0.0.1. network_port.eth1.1",
"10.0.0.2. network_port.eth1.2"
]
Users can remove multiple members from one group at the same time by adding the member IDs as a list in the request body.
|
Description |
Remove all members from a custom group |
|
Request URL |
DELETE /neo/resources/groups/<group_name>/members |
|
Request Data |
N/A |
|
Response |
N/A (No Content) |
|
Status Codes |
Note: Status code "204 NO CONTENT" means that member was removed from the group |
|
Description |
Used to retrieve groups by specifying a member ID that is a member of those groups |
|
|
Request URL |
GET /neo/resources/groups?member=<member_IP>
|
|
|
Request Data |
N/A |
|
|
Example |
(system: 10.0.0.1; where system is a member of a group: test_group) GET /neo/resources/groups?member=10.0.0.1.system |
|
|
Result |
[ |
|
|
Note: The result will contain a list of groups, since any member (system/port) can be a member of multiple groups at the same time. |
||
Response:
System member:
[{
"groupType":
"System",
"elementName": "group1",
"description": "",
"instanceID":
"group.group1 ",
"hasSettings": false,
"readOnly": false
}
]
Network port member:
[{
"groupType":
"NetworkPort",
"elementName":
"group1",
"description": "",
"instanceID": "group.group1 ",
"hasSettings": false,
"readOnly": fals
}
]
|
Description |
This API gets all available systems for all groups |
|
|
Request URL |
GET neo/resources/groups/members/available |
|
|
Request Data |
N/A |
|
|
peerIplIp |
peerIplIp |
The IP of the peer in the IPL |
|
peerMgmtIp |
The management IP of the peer system |
|
|
iplLag |
IPL LAG identifier |
|
|
localIplIp |
The IP of the device in the IPL |
|
|
role |
The role of the system in the MLAG Can be either master/standby |
|
Response:
[{
"status": "Communication OK",
"profile": "Eth Single Switch",
"healthState": "OK",
"mlag": {
"peerIplIp": "10.10.10.2",
"peerMgmtIp": "10.224.15.90",
"iplLag": "",
"macAddress": "00:00:5E:00:01:5D",
"virtualIp": "10.10.10.254/24",
"localIplIp": "10.10.10.1",
"adminState": "Disabled",
"role": "master",
"vlanInterface": "4000",
"operationalState": "Down",
"id": "10.224.15.89.mlag.1",
"name": ""
},
"vendor": "Mellanox",
"name": "ufm-switch19",
"ipAddress": "10.224.15.89",
"swVersion": "X86_64 3.6.3130 2017-02-27 18:57:09 x86_64",
"id": "10.224.15.89.system",
"caption": "Mellanox Onyx",
"model": "MSN2700",
"sysType": "Mellanox Switch",
"isManagement": true
}, {
"status": "Communication OK",
"profile": "Eth Single Switch",
"healthState": "OK",
"mlag": null,
"vendor": "Mellanox",
"name": "ufm-switch20",
"ipAddress": "10.224.15.90",
"swVersion": "X86_64 3.6.1002 2016-06-09 20:24:31 x86_64",
"id": "10.224.15.90.system",
"caption": "Mellanox Onyx",
"model": "MSN2700",
"sysType": "Mellanox Switch",
"isManagement": true
}
]
|
Description |
Retrieves a set of group by type |
|
Request URL |
|
|
Request Data |
N/A |
Response:
System groups:
[{
"groupType": "System",
"elementName": "systemGroup1",
"description": "",
"instanceID": "group.systemGroup1 ",
"hasSettings": false,
"readOnly": false
}, {
"groupType": "System",
"elementName": "systemGroup2",
"description": "",
"instanceID": "group.systemGroup2",
"hasSettings": false,
"readOnly": false
}
]
Network port groups:
[{
"groupType": "System",
"elementName": "systemGroup1",
"description": "",
"instanceID": "group.systemGroup1 ",
"hasSettings": false,
"readOnly": false
}, {
"groupType": "System",
"elementName": "systemGroup2",
"description": "",
"instanceID": "group.systemGroup2",
"hasSettings": false,
"readOnly": false
}
]