The Network Service of Synnefo is implemented as part of Cyclades. It exposes the OpenStack Networking (“Neutron”) API and some extensions with minor modifications if needed.
This document’s goals are:
Networks
Description | URI | Method | Cyclades/Network | OS/Neutron | |
---|---|---|---|---|---|
List | /networks | GET | ✔ | ✔ | |
Get details | /networks/<network-id> | GET | ✔ | ✔ | |
Create | /networks | POST | ✔ | ✔ | |
Bulk creation | /networks | POST | ✘ | ✔ | |
Update | /networks/<network-id> | PUT | ✔ | ✔ | |
Delete | /networks/<network id> | DELETE | ✔ | ✔ | |
Reassign | /networks/<network-id>/action | POST | ✔ | ✘ |
Subnets
Description | URI | Method | Cyclades/Network | OS/Neutron | |
---|---|---|---|---|---|
List | /subnets | GET | ✔ | ✔ | |
Get details | /subnets/<subnet-id> | GET | ✔ | ✔ | |
Create | /subnets | POST | ✔ | ✔ | |
Bulk creation | /subnets | POST | ✘ | ✔ | |
Update | /subnets/<subnet-id> | PUT | ✔ | ✔ | |
Delete | /subnets/<subnet-id> | DELETE | ✘ | ✔ |
Ports
Description | URI | Method | Cyclades/Network | OS/Neutron | |
---|---|---|---|---|---|
List | /ports | GET | ✔ | ✔ | |
Get details | /ports/<port-id> | GET | ✔ | ✔ | |
Create | /ports | POST | ✔ | ✔ | |
Bulk creation | /ports | POST | ✘ | ✔ | |
Update | /ports/<port-id> | PUT | ✔ | ✔ | |
Delete | /ports/<port id> | DELETE | ✔ | ✔ |
Floating IPs
Description | URI | Method | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|---|
List | /floatingips | GET | ✔ | ✔ |
Get details | /floatingips/<floatingip-id> | GET | ✔ | ✔ |
Create | /floatingips | POST | ✔ | ✔ |
Update | /floatingips/<floatingip-id> | PUT | ✘ | ✔ |
Delete | /floatingips/<floatingip id> | DELETE | ✔ | ✔ |
Reassign | /floatingips/<floatingip-id>/action | POST | ✔ | ✘ |
List networks accessible by the user
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/networks | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
Response body contents:
networks: [
{
<network attribute>: <value>,
...
}, ...
]
The attributes of a network are listed here
Example List Networks: JSON
GET https://example.org/network/v2.0/networks
{
"networks": [
{
"id": 2718
"name": "Public IPv6 Network"
"status": "ACTIVE"
"router:externa"l: true
"updated": "2013-12-18T11:11:12.272389+00:00"
"user_id": None
"links":[
{
"href": "https://example.org/network/v2.0/networks/2718"
"rel": "self"
}, {
"href": "https://example.org/network/v2.0/networks/2718"
"rel": "bookmark"
}
]
"created": "2013-12-17T17:15:48.617049+00:00"
"tenant_id": None
"admin_state_up": true
"SNF:floating_ip_pool": false
"public": true
"subnets":[
28
]
"type": "IP_LESS_ROUTED",
"public": true
}, {
"id": "3141",
"name": "My Private Network",
"status": "ACTIVE",
"router:external": false,
"updated": "2014-02-13T09:40:05.195945+00:00",
"user_id": "s0m3-u5e7-1d",
"links": [
{
"href": "https://example.org/network/v2.0/networks/3141",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/networks/3141",
"rel": "bookmark"
}
],
"created": "2014-02-13T09:40:05.101008+00:00",
"tenant_id": "s0m3-u5e7-1d",
"admin_state_up": true,
"type": "MAC_FILTERED",
"subnets": [],
"SNF:floating_ip_pool": false,
"public": false
}
]
}
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/networks/<network id> | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Network not found |
Response body contents:
network: {
<network attribute>: <value>,
...
}
The attributes of a network are listed here
Example Get Network Details: JSON
GET https://example.org/network/v2.0/networks/3141
{
"network": {
"id": "3141",
"name": "My Private Network",
"status": "ACTIVE",
"router:external": false,
"updated": "2014-02-13T09:40:05.195945+00:00",
"user_id": "s0m3-u5e7-1d",
"links": [
{
"href": "https://example.org/network/v2.0/networks/3141",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/networks/3141",
"rel": "bookmark"
}
],
"created": "2014-02-13T09:40:05.101008+00:00",
"tenant_id": "s0m3-u5e7-1d",
"admin_state_up": true,
"type": "MAC_FILTERED",
"subnets": [],
"SNF:floating_ip_pool": false,
"public": false
}
}
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/networks | POST | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Content-Type | Type or request body | required | required |
Content-Length | Length of request body | required | required |
Request body contents:
network: {
<network attribute>: <value>,
...
}
Network Attribute | Cyclades/Network | OS/Neutron |
---|---|---|
type | required | ✘ |
name | ✔ | ✔ |
admin_state_up | ✘ | ✔ |
shared | ✘ | ✔ |
tenand_id | ✘ | ✔ |
Response
Return Code | Description |
---|---|
201 (OK) | Network created |
400 (BadRequest) | Invalid request body (invalid or missing type) |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Network not found |
In case of success, the response has the same format is in get network details.
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/networks/<network id> | PUT | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Content-Type | Type or request body | required | required |
Content-Length | Length of request body | required | required |
Request body contents:
network: {
<network attribute>: <value>,
...
}
Network Attribute | Cyclades/Network | OS/Neutron |
---|---|---|
name | ✔ | ✔ |
network_id | ✘ | ✔ |
admin_state_up | ✘ | ✔ |
shared | ✘ | ✔ |
tenand_id | ✘ | ✔ |
Response
Return Code | Description |
---|---|
200 (OK) | Network is updated |
401 (Unauthorized) | Missing or expired user token |
403 (Forbidden) | You are not the owner of the network |
404 (itemNoFound) | Network not found |
In case of success, the response has the same format is in get network details containing the updated values.
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/networks/<network id> | DELETE | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
204 (OK) | Network is deleted |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Network not found |
409 (Conflict) | The network is being used |
Note
409 (Confict) is raised when there are ports connected to the network or floating IPs reserved from its pool. The subnets that are connected to it, though, are automatically deleted upon network deletion.
Assign a network to a different project.
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/networks/<network-id>/action | POST | ✔ | ✘ |
Request Header | Value |
---|---|
X-Auth-Token | User authentication token |
Request body contents:
reassign: {
project: <project-id>
}
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
400 (Bad Request) | Malformed request |
401 (Unauthorized) | Missing or expired user token |
403 (Forbidden) | Not allowed to modify this network (e.g. public) |
404 (Not Found) | Network not found |
500 (Internal Server Error) | The request cannot be completed because of an |
internal error | |
503 (Service Unavailable) | The service is not currently available |
List subnets of networks accessible by the user
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/subnets | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
Response body contents:
subnets: [
{
<subnet attribute>: <value>,
...
}, ...
]
The attributes of a subnet are listed here
Example List subnets: JSON
GET https://example.org/network/v2.0/subnets
{
"subnets": [
{
"user_id": null,
"name": "IPv6 Subnet of Network 2718",
"links": [
{
"href": "https://example.org/network/v2.0/subnets/8172",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/subnets/8172",
"rel": "bookmark"
}
],
"network_id": "2718",
"tenant_id": null,
"dns_nameservers": [],
"enable_slaac": true,
"public": true,
"allocation_pools": [],
"host_routes": [],
"ip_version": 6,
"gateway_ip": "2001:123:4abc:5678::9",
"cidr": "2001:876:5cba:4321::/64",
"enable_dhcp": true,
"id": "8172"
}, {
"user_id": "s0m3-u5e7-1d",
"name": "IPv6 Subnet of Network 3141",
"links": [
{
"href": "https://example.org/network/v2.0/subnets/1413",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/subnets/1413",
"rel": "bookmark"
}
],
"network_id": "3141",
"tenant_id": "s0m3-u5e7-1d",
"dns_nameservers": [],
"enable_slaac": false,
"public": false,
"allocation_pools": [],
"host_routes": [],
"ip_version": 6,
"gateway_ip": "2001:321:4abc:8765::9",
"cidr": "2001:678:5cba:1234::/64",
"enable_dhcp": true,
"id": "1413"
}
]
}
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/subnets/<subnet id> | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
201 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Subnet not found |
Response body contents:
subnet: {
<subnet attribute>: <value>,
...
}
The attributes of a subnet are listed here
Example Get subnet Details: JSON
GET https://example.org/network/v2.0/subnets/1413
{
"subnet": {
"user_id": "s0m3-u5e7-1d",
"name": "IPv6 Subnet of Network 3141",
"links": [
{
"href": "https://example.org/network/v2.0/subnets/1413",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/subnets/1413",
"rel": "bookmark"
}
],
"network_id": "3141",
"tenant_id": "s0m3-u5e7-1d",
"dns_nameservers": [],
"enable_slaac": false,
"public": false,
"allocation_pools": [],
"host_routes": [],
"ip_version": 6,
"gateway_ip": "2001:321:4abc:8765::9",
"cidr": "2001:678:5cba:1234::/64",
"enable_dhcp": true,
"id": "1413"
}
}
Request
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Content-Type | Type or request body | required | required |
Content-Length | Length of request body | required | required |
Request body contents:
subnet: {
<subnet attribute>: <value>,
...
}
Subnet Attribute | Cyclades/Network | OS/Neutron |
---|---|---|
network_id | required | required |
cidr | required | required |
fixed_ips | ✔ | ✔ |
name | ✔ | ✔ |
tenand_id | ✘ | ✔ |
allocation_pools | ✔ | ✔ |
gateway_ip | ✔ | ✔ |
ip_version | ✔ | ✔ |
id | ✘ | ✔ |
enable_dhcp | ✔ | ✔ |
Response
Return Code | Description |
---|---|
201 (OK) | Network created |
400 (BadRequest) | Invalid request body (missing network_id or cidr) |
401 (Unauthorized) | Missing or expired user token |
403 (Forbidden) | Insufficient permissions |
404 (itemNoFound) | Network not found |
409 (Conflict) | Allocation pools overlap with themselves or gateway |
In case of success, the response has the same format is in get subnet details.
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/subnets/<subnet id> | PUT | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Content-Type | Type or request body | required | required |
Content-Length | Length of request body | required | required |
Request body contents:
subnet: {
<subnet attribute>: <value>,
...
}
Subnet Attribute | Cyclades/Network | OS/Neutron |
---|---|---|
network_id | ✘ | ✔ |
cidr | ✘ | ✔ |
fixed_ips | ✘ | ✔ |
name | ✔ | ✔ |
tenand_id | ✘ | ✔ |
allocation_pools | ✘ | ✔ |
gateway_ip | ✘ | ✔ |
ip_version | ✘ | ✔ |
id | ✘ | ✔ |
enable_dhcp | ✘ | ✔ |
Response
Return Code | Description |
---|---|
200 (OK) | Network is updated |
400 (BadRequest) | Field is not modifiable |
401 (Unauthorized) | Missing or expired user token |
403 (Forbidden) | You are not the owner of this subnet |
404 (itemNoFound) | Subnet not found |
In case of success, the response has the same format as in get subnet details containing the updated values.
List ports connected on servers and networks accessible by the user
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/ports | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
Response body contents:
ports: [
{
<port attribute>: <value>,
...
}, ...
]
The attributes of a port are listed here
Example List Ports: JSON
GET https://example.org/network/v2.0/ports
{
"ports": [
{
"status": "ACTIVE",
"updated": "2014-02-12T08:32:41.785217+00:00",
"user_id": "s0m3-u5e7-1d",
"name": "Port to public network",
"links": [
{
"href": "https://example.org/network/v2.0/ports/18",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/ports/18",
"rel": "bookmark"
}
],
"admin_state_up": true,
"network_id": "2718",
"tenant_id": "s0m3-u5e7-1d",
"created": "2014-02-12T08:31:37.782907+00:00",
"device_owner": "vm",
"mac_address": "aa:01:02:6c:34:ab",
"fixed_ips": [
{
"subnet": "28",
"ip_address": "2001:443:2dfc:1232:a810:3cf:fe9b:21ab"
}
],
"id": "18",
"security_groups": [],
"device_id": "42"
}, {
"status": "ACTIVE",
"updated": "2014-02-15T08:32:41.785217+00:00",
"user_id": "s0m3-u5e7-1d",
"name": "Port to public network",
"links": [
{
"href": "https://example.org/network/v2.0/ports/19",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/ports/19",
"rel": "bookmark"
}
],
"admin_state_up": true,
"network_id": "2719",
"tenant_id": "s0m3-u5e7-1d",
"created": "2014-02-15T08:31:37.782907+00:00",
"device_owner": "vm",
"mac_address": "aa:00:0c:6d:34:bb",
"fixed_ips": [
{
"subnet": "29",
"ip_address": "192.168.1.2"
}
],
"id": "19",
"security_groups": [],
"device_id": "42"
}
]
}
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/ports/<port id> | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Port not found |
Response body contents:
port: {
<port attribute>: <value>,
...
}
The attributes of a port are listed here
Example Get Port Details: JSON
GET https://example.org/network/v2.0/ports/18
{
"port": {
"status": "ACTIVE",
"updated": "2014-02-12T08:32:41.785217+00:00",
"user_id": "s0m3-u5e7-1d",
"name": "Port to public network",
"links": [
{
"href": "https://example.org/network/v2.0/ports/18",
"rel": "self"
},
{
"href": "https://example.org/network/v2.0/ports/18",
"rel": "bookmark"
}
],
"admin_state_up": true,
"network_id": "2718",
"tenant_id": "s0m3-u5e7-1d",
"created": "2014-02-12T08:31:37.782907+00:00",
"device_owner": "vm",
"mac_address": "aa:01:02:6c:34:ab",
"fixed_ips": [
{
"subnet": "28",
"ip_address": "2001:443:2dfc:1232:a810:3cf:fe9b:21ab"
}
],
"id": "18",
"security_groups": [],
"device_id": "42"
}
}
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/ports | POST | ✔ ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Content-Type | Type or request body | required | required |
Content-Length | Length of request body | required | required |
Request body contents:
port: {
<port attribute>: <value>,
...
}
Port Attribute | Cyclades/Network | OS/Neutron |
---|---|---|
network_id | required | required |
device_id | ✔ | ✘ |
fixed_ips | ✔ | ✔ |
name | ✔ | ✔ |
security_groups | ✔ | ✔ |
admin_state_up | ✘ | ✔ |
mac_address | ✘ | ✔ |
tenand_id | ✘ | ✔ |
Response
Return Code | Description |
---|---|
201 (OK) | Network created |
400 (BadRequest) | Invalid request body (missing network_id) |
401 (Unauthorized) | Missing or expired user token |
403 (Forbidden) | Insufficient permissions |
404 (itemNoFound) | Network not found |
503 (macGenerationFailure) | Mac address generation failed |
In case of success, the response has the same format is in get port details.
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/ports/<port id> PUT | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Content-Type | Type or request body | required | required |
Content-Length | Length of request body | required | required |
Request body contents:
port: {
<port attribute>: <value>,
...
}
Port Attribute | Cyclades/Network | OS/Neutron |
---|---|---|
name | ✔ | ✔ |
network_id | ✘ | ✔ |
port_id | ✘ | ✔ |
fixed_ips | ✘ | ✔ |
security_groups | ✘ | ✔ |
admin_state_up | ✘ | ✔ |
mac_address | ✘ | ✔ |
tenand_id | ✘ | ✔ |
Response
Return Code | Description |
---|---|
200 (OK) | Network is updated |
401 (Unauthorized) | Missing or expired user token |
403 (Forbidden) | You are not the owner of the network |
404 (itemNoFound) | Network not found |
In case of success, the response has the same format as in get port details containing the updated values.
Delete a port
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/ports/<port id> | DELETE | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
204 (OK) | Port is being deleted |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Port not found |
List the floating ips which are reserved by the user
Request
URI | Method | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
/floatingips | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
Response body contents:
floatingips: [
{
<floating ip attribute>: <value>,
...
}, ...
]
The attributes of a floating ip are listed here
Example List Floating IPs: JSON
GET https://example.org/network/v2.0/floatingips
{
"floatingips": [
{
"instance_id": 42
"floating_network_id": 2719
"fixed_ip_address": None
"floating_ip_address": "192.168.1.2"
"port_id": 19
},
{
"instance_id": 84
"floating_network_id": 4178
"fixed_ip_address": None
"floating_ip_address": 192.168.1.3
"port_id": 38
}
]
}
Request
URI | Method | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
/floatingips/<ip-id> | GET | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
201 (OK) | Request succeeded |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Floating IP not found |
Response body contents:
floatingip: {
<floating ip attribute>: <value>,
...
}
The attributes of a floating ip are listed here
Example Get Floating IP Details: JSON
GET https://example.org/network/v2.0/floatingips/19
{
"floatingip": {
"instance_id": 42
"floating_network_id": 2719
"fixed_ip_address": None
"floating_ip_address": "192.168.1.2"
"port_i"d: 19
}
}
Request
URI | Method | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
/floatingips | POST | ✔ ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Content-Type | Type or request body | required | required |
Content-Length | Length of request body | required | required |
Request body contents:
floating ip: {
<floating ip attribute>: <value>,
...
}
Floating IP Attribute | Cyclades/Network | OS/Neutron Extensions |
---|---|---|
floating_network_id | ✔ | required |
floating_ip_address | ✔ | ✔ |
port_id | ✘ | ✔ |
fixed_ip_address | ✘ | ✔ |
Response
Return Code | Description |
---|---|
201 (OK) | Network created |
400 (BadRequest) | Invalid request body (missing floating_network_id) |
401 (Unauthorized) | Missing or expired user token |
409 (Conflict) | Insufficient resources |
In case of success, the response has the same format is in get floating ip details.
Request
URI | Method | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
/floatingips/<floatingip-id> | DELETE | ✔ | ✔ |
Request Header | Value | Cyclades/Network | OS/Neutron Extensions |
---|---|---|---|
X-Auth-Token | User authentication token | required | required |
Response
Return Code | Description |
---|---|
204 (OK) | Floating IP is being deleted |
401 (Unauthorized) | Missing or expired user token |
404 (itemNoFound) | Floating IP not found |
Assign a floating IP to a different project.
Request
URI | Method | Cyclades/Network | OS/Neutron |
---|---|---|---|
/floatingips/<floatingip-id>/action | POST | ✔ | ✘ |
Request Header | Value |
---|---|
X-Auth-Token | User authentication token |
Request body contents:
reassign: {
project: <project-id>
}
Response
Return Code | Description |
---|---|
200 (OK) | Request succeeded |
400 (Bad Request) | Malformed request |
401 (Unauthorized) | Missing or expired user token |
403 (Forbidden) | Not allowed to modify this network (e.g. public) |
404 (Not Found) | Network not found |
500 (Internal Server Error) | The request cannot be completed because of an |
internal error | |
503 (Service Unavailable) | The service is not currently available |
Network attributes | Cyclades/Network | OS/Neutron |
---|---|---|
admin_state_up | ✔ | ✔ |
id | ✔ | ✔ |
name | ✔ | ✔ |
shared | ✔ | ✔ |
public | ✔ | ✘ |
status | ✔ | ✔ |
subnets | ✔ | ✔ |
tenant_id | ✔ | ✔ |
user_id | ✔ | ✘ |
network_type | ✔ | ✘ |
router:external | ✔ | ✘ |
SNF:floating_ip | ✔ | ✘ |
links | ✔ | ✘ |
Subnet attributes | Cyclades/Network | OS/Neutron |
---|---|---|
id | ✔ | ✔ |
name | ✔ | ✔ |
network_id | ✔ | ✔ |
ip_version | ✔ | ✔ |
cidr | ✔ | ✔ |
gateway_ip | ✔ | ✔ |
enable_dhcp | ✔ | ✔ |
allocation_pools | ✔ | ✔ |
tenant_id | ✔ | ✔ |
dns_nameservers | ✔ | ✔ |
host_routes | ✔ | ✔ |
user_id | ✔ | ✘ |
enable_slaac | ✔ | ✘ |
links | ✔ | ✘ |
Port attributes | Cyclades/Network | OS/Neutron |
---|---|---|
id | ✔ | ✔ |
name | ✔ | ✔ |
status | ✔ | ✔ |
admin_state_up | ✔ | ✔ |
network_id | ✔ | ✔ |
tenant_id | ✔ | ✔ |
mac_address | ✔ | ✔ |
fixed_ips | ✔ | ✔ |
device_id | ✔ | ✔ |
device_owner | ✔ | ✔ |
security_groups | ✔ | ✔ |
port_filter | ✘ | ✔ |
binding:vif_type | ✘ | ✔ |
binding:capabilities | ✘ | ✔ |
user_id | ✔ | ✘ |
links | ✔ | ✘ |
Floating ip attributes | Cyclades/Network | OS/Neutron Extensions |
---|---|---|
id | ✔ | ✔ |
floating_network_id | ✔ | ✔ |
floating_ip_address | ✔ | ✔ |
fixed_ip_address | ✔ | ✔ |
port_id | ✔ | ✔ |
user_id | ✔ | ✘ |
tenant_id | ✔ | ✔ |
instance_id | ✔ | ✘ |
router_id | ✔ | ✔ |