Merge "Update to point to wadls in the api-site repo to correct neutron:type error"
This commit is contained in:
commit
42b5116e5c
7
v2.0/api_samples/network-post-req.json
Normal file
7
v2.0/api_samples/network-post-req.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"network":
|
||||||
|
{
|
||||||
|
"name": "sample_network",
|
||||||
|
"admin_state_up": false
|
||||||
|
}
|
||||||
|
}
|
3
v2.0/api_samples/network-post-req.xml
Normal file
3
v2.0/api_samples/network-post-req.xml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<network>
|
||||||
|
<name>sample_network</name>
|
||||||
|
</network>
|
13
v2.0/api_samples/network-post-resp.json
Normal file
13
v2.0/api_samples/network-post-resp.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"network":{
|
||||||
|
"admin_state_up":true,
|
||||||
|
"id":"850d3f2c-f0a5-4f8b-b1cf-5836fc0be940",
|
||||||
|
"name":"sample_network",
|
||||||
|
"shared":false,
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"subnets":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"tenant_id":"f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
}
|
||||||
|
}
|
13
v2.0/api_samples/network-post-resp.xml
Normal file
13
v2.0/api_samples/network-post-resp.xml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets quantum:type="list" />
|
||||||
|
<name>sample_network</name>
|
||||||
|
<tenant_id>4be6b806faa0491eb358018bbe9f0d4e</tenant_id>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>0657ef52-d3f6-4320-9c26-015a3e9badea</id>
|
||||||
|
</network>
|
12
v2.0/api_samples/network-put-update-resp.json
Normal file
12
v2.0/api_samples/network-put-update-resp.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"network":
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": ["e12f0c45-46e3-446a-b207-9474b27687a6"],
|
||||||
|
"name": "private",
|
||||||
|
"admin_state_up": true,
|
||||||
|
"tenant_id": "625887121e364204873d362b553ab171",
|
||||||
|
"id": "9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"shared": false
|
||||||
|
}
|
||||||
|
}
|
16
v2.0/api_samples/network-put-update-resp.xml
Normal file
16
v2.0/api_samples/network-put-update-resp.xml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0" xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets>
|
||||||
|
<subnet>e12f0c45-46e3-446a-b207-9474b27687a6</subnet>
|
||||||
|
</subnets>
|
||||||
|
<name>private</name>
|
||||||
|
<provider:physical_network xsi:nil="true" />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>9d83c053-b0a4-4682-ae80-c00df269ce0a</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true" />
|
||||||
|
</network>
|
6
v2.0/api_samples/network-put-update.req.json
Normal file
6
v2.0/api_samples/network-put-update.req.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"network":
|
||||||
|
{
|
||||||
|
"name": "updated_name"
|
||||||
|
}
|
||||||
|
}
|
3
v2.0/api_samples/network-put-update.req.xml
Normal file
3
v2.0/api_samples/network-put-update.req.xml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0" xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<name>nova2</name>
|
||||||
|
</network>
|
34
v2.0/api_samples/networks-create-bulk-resp.json
Normal file
34
v2.0/api_samples/networks-create-bulk-resp.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"networks":[
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"subnets":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"sample_network_1",
|
||||||
|
"provider:physical_network":null,
|
||||||
|
"admin_state_up":false,
|
||||||
|
"tenant_id":"60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"provider:network_type":"local",
|
||||||
|
"router:external":false,
|
||||||
|
"shared":false,
|
||||||
|
"id":"e9330b1f-a2ef-4160-a951-169ee6ab17f5",
|
||||||
|
"provider:segmentation_id":null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"subnets":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"sample_network_2",
|
||||||
|
"provider:physical_network":null,
|
||||||
|
"admin_state_up":false,
|
||||||
|
"tenant_id":"60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"provider:network_type":"local",
|
||||||
|
"router:external":false,
|
||||||
|
"shared":false,
|
||||||
|
"id":"cfb5f52c-dfe2-4357-a10d-a225693e2b84",
|
||||||
|
"provider:segmentation_id":null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
33
v2.0/api_samples/networks-create-bulk-resp.xml
Normal file
33
v2.0/api_samples/networks-create-bulk-resp.xml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<networks xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:router="http://docs.openstack.org/ext/neutron/router/api/v1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<network>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets quantum:type="list"/>
|
||||||
|
<name>sample_network_1</name>
|
||||||
|
<provider:physical_network xsi:nil="true"/>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>9eb3ce34-183b-4a75-b08f-d6a3d241e68b</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true"/>
|
||||||
|
</network>
|
||||||
|
<network>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets quantum:type="list"/>
|
||||||
|
<name>sample_network_2</name>
|
||||||
|
<provider:physical_network xsi:nil="true"/>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>df679a25-915d-41ed-b5ec-721481ddfd56</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true"/>
|
||||||
|
</network>
|
||||||
|
</networks>
|
12
v2.0/api_samples/networks-get-detail-resp.json
Normal file
12
v2.0/api_samples/networks-get-detail-resp.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"network":
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": ["e12f0c45-46e3-446a-b207-9474b27687a6"],
|
||||||
|
"name": "private",
|
||||||
|
"admin_state_up": true,
|
||||||
|
"tenant_id": "625887121e364204873d362b553ab171",
|
||||||
|
"id": "9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"shared": false
|
||||||
|
}
|
||||||
|
}
|
16
v2.0/api_samples/networks-get-detail-resp.xml
Normal file
16
v2.0/api_samples/networks-get-detail-resp.xml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0" xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets>
|
||||||
|
<subnet>e12f0c45-46e3-446a-b207-9474b27687a6</subnet>
|
||||||
|
</subnets>
|
||||||
|
<name>private</name>
|
||||||
|
<provider:physical_network xsi:nil="true" />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>9d83c053-b0a4-4682-ae80-c00df269ce0a</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true" />
|
||||||
|
</network>
|
31
v2.0/api_samples/networks-get-resp.json
Normal file
31
v2.0/api_samples/networks-get-resp.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"networks": [
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": ["a318fcb4-9ff0-4485-b78c-9e6738c21b26"],
|
||||||
|
"name": "private",
|
||||||
|
"admin_state_up": true,
|
||||||
|
"tenant_id": "625887121e364204873d362b553ab171",
|
||||||
|
"id": "9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"shared": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": ["aca4d43c-c48c-4a2c-9bb6-ba374ef7e135"],
|
||||||
|
"name": "nova",
|
||||||
|
"admin_state_up": true,
|
||||||
|
"tenant_id": "63878e4c5dd649d2a980e37aefddfa87",
|
||||||
|
"id": "ebda9658-093b-41ba-80ce-0cf8cb8365d4",
|
||||||
|
"shared": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": ["e12f0c45-46e3-446a-b207-9474b27687a6"],
|
||||||
|
"name": "network_3",
|
||||||
|
"admin_state_up": true,
|
||||||
|
"tenant_id": "ed680f49ff714162ab3612d7876ffce5",
|
||||||
|
"id": "afc75773-640e-403c-9fff-62ba98db1f19",
|
||||||
|
"shared": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
36
v2.0/api_samples/networks-get-resp.xml
Normal file
36
v2.0/api_samples/networks-get-resp.xml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<networks xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<network>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets>
|
||||||
|
<subnet>a318fcb4-9ff0-4485-b78c-9e6738c21b26</subnet>
|
||||||
|
</subnets>
|
||||||
|
<name>private</name>
|
||||||
|
<provider:physical_network xsi:nil="true"/>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>9d83c053-b0a4-4682-ae80-c00df269ce0a</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true"/>
|
||||||
|
</network>
|
||||||
|
<network>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets>
|
||||||
|
<subnet>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet>
|
||||||
|
</subnets>
|
||||||
|
<name>nova</name>
|
||||||
|
<provider:physical_network xsi:nil="true"/>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>63878e4c5dd649d2a980e37aefddfa87</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">True</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true"/>
|
||||||
|
</network>
|
||||||
|
</networks>
|
12
v2.0/api_samples/networks-post-create-bulk-req.json
Normal file
12
v2.0/api_samples/networks-post-create-bulk-req.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"networks":[
|
||||||
|
{
|
||||||
|
"name":"sample_network_1",
|
||||||
|
"admin_state_up":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"sample_network_2",
|
||||||
|
"admin_state_up":false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
8
v2.0/api_samples/networks-post-create-bulk-req.xml
Normal file
8
v2.0/api_samples/networks-post-create-bulk-req.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<networks>
|
||||||
|
<network>
|
||||||
|
<name>sample_network_1</name>
|
||||||
|
</network>
|
||||||
|
<network>
|
||||||
|
<name>sample_network_2</name>
|
||||||
|
</network>
|
||||||
|
</networks>
|
25
v2.0/api_samples/port-get-resp.json
Normal file
25
v2.0/api_samples/port-get-resp.json
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"port":[
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"ebda9658-093b-41ba-80ce-0cf8cb8365d4",
|
||||||
|
"tenant_id":"63878e4c5dd649d2a980e37aefddfa87",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"compute:None",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:b9:ef:05",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"aca4d43c-c48c-4a2c-9bb6-ba374ef7e135",
|
||||||
|
"ip_address":"172.24.4.227"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"664ebd1a-facd-4c20-948c-07a784475ab0",
|
||||||
|
"device_id":"f288bb5f-920d-4276-8345-2c0319c16f58"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
25
v2.0/api_samples/port-get-resp.xml
Normal file
25
v2.0/api_samples/port-get-resp.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<port xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:binding="http://docs.openstack.org/ext/binding/api/v1.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<name/>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</network_id>
|
||||||
|
<tenant_id>63878e4c5dd649d2a980e37aefddfa87</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>compute:None</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:b9:ef:05</mac_address>
|
||||||
|
<fixed_ips>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet_id>
|
||||||
|
<ip_address>172.24.4.227</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>664ebd1a-facd-4c20-948c-07a784475ab0</id>
|
||||||
|
<device_id>f288bb5f-920d-4276-8345-2c0319c16f58</device_id>
|
||||||
|
</port>
|
8
v2.0/api_samples/port-post-create-req.json
Normal file
8
v2.0/api_samples/port-post-create-req.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"port": {
|
||||||
|
"admin_state_up": true,
|
||||||
|
"device_id": "d6b4d3a5-c700-476f-b609-1493dd9dadc0",
|
||||||
|
"name": "port1",
|
||||||
|
"network_id": "6aeaf34a-c482-4bd3-9dc3-7faf36412f12"
|
||||||
|
}
|
||||||
|
}
|
26
v2.0/api_samples/port_create_or_update_resp.json
Normal file
26
v2.0/api_samples/port_create_or_update_resp.json
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"port":[
|
||||||
|
{
|
||||||
|
"status":"DOWN",
|
||||||
|
"binding:host_id":null,
|
||||||
|
"name":"sample_port_1",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id":"60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":true
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:2e:7c:8a",
|
||||||
|
"fixed_ips":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"id":"8fb361d8-bab0-418d-b1b8-7204a230fb06",
|
||||||
|
"security_groups":[
|
||||||
|
"99f465bc-0d7c-4142-8829-7ae0179f2fa8"
|
||||||
|
],
|
||||||
|
"device_id":""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
24
v2.0/api_samples/port_create_or_update_resp.xml
Normal file
24
v2.0/api_samples/port_create_or_update_resp.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<port xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:binding="http://docs.openstack.org/ext/binding/api/v1.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>DOWN</status>
|
||||||
|
<binding:host_id xsi:nil="true"/>
|
||||||
|
<name>test_port_1</name>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner/>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">True</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:c9:8d:cf</mac_address>
|
||||||
|
<fixed_ips quantum:type="list"/>
|
||||||
|
<id>7f0aa3f1-883a-43b2-8d1b-e85fac52b417</id>
|
||||||
|
<security_groups>
|
||||||
|
<security_group>99f465bc-0d7c-4142-8829-7ae0179f2fa8</security_group>
|
||||||
|
</security_groups>
|
||||||
|
<device_id/>
|
||||||
|
</port>
|
48
v2.0/api_samples/ports-create-bulk-resp.json
Normal file
48
v2.0/api_samples/ports-create-bulk-resp.json
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"status":"DOWN",
|
||||||
|
"binding:host_id":null,
|
||||||
|
"name":"sample_port_1",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id":"60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":true
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:2e:7c:8a",
|
||||||
|
"fixed_ips":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"id":"8fb361d8-bab0-418d-b1b8-7204a230fb06",
|
||||||
|
"security_groups":[
|
||||||
|
"99f465bc-0d7c-4142-8829-7ae0179f2fa8"
|
||||||
|
],
|
||||||
|
"device_id":""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"DOWN",
|
||||||
|
"binding:host_id":null,
|
||||||
|
"name":"sample_port_2",
|
||||||
|
"admin_state_up":false,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id":"60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":true
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:0a:4e:13",
|
||||||
|
"fixed_ips":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"id":"d4c93b0b-f593-424e-a199-d648478a5a3c",
|
||||||
|
"security_groups":[
|
||||||
|
"99f465bc-0d7c-4142-8829-7ae0179f2fa8"
|
||||||
|
],
|
||||||
|
"device_id":""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
46
v2.0/api_samples/ports-create-bulk-resp.xml
Normal file
46
v2.0/api_samples/ports-create-bulk-resp.xml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<ports xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:binding="http://docs.openstack.org/ext/binding/api/v1.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<port>
|
||||||
|
<status>DOWN</status>
|
||||||
|
<binding:host_id xsi:nil="true"/>
|
||||||
|
<name>test_port_1</name>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner/>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">True</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:c9:8d:cf</mac_address>
|
||||||
|
<fixed_ips quantum:type="list"/>
|
||||||
|
<id>7f0aa3f1-883a-43b2-8d1b-e85fac52b417</id>
|
||||||
|
<security_groups>
|
||||||
|
<security_group>99f465bc-0d7c-4142-8829-7ae0179f2fa8</security_group>
|
||||||
|
</security_groups>
|
||||||
|
<device_id/>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>DOWN</status>
|
||||||
|
<binding:host_id xsi:nil="true"/>
|
||||||
|
<name>test_port_2</name>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner/>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">True</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:79:90:81</mac_address>
|
||||||
|
<fixed_ips quantum:type="list"/>
|
||||||
|
<id>a4a81484-c1c4-4b2b-95bc-f8c4484241d0</id>
|
||||||
|
<security_groups>
|
||||||
|
<security_group>99f465bc-0d7c-4142-8829-7ae0179f2fa8</security_group>
|
||||||
|
</security_groups>
|
||||||
|
<device_id/>
|
||||||
|
</port>
|
||||||
|
</ports>
|
88
v2.0/api_samples/ports-get-resp.json
Normal file
88
v2.0/api_samples/ports-get-resp.json
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"ebda9658-093b-41ba-80ce-0cf8cb8365d4",
|
||||||
|
"tenant_id":"63878e4c5dd649d2a980e37aefddfa87",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"compute:None",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:b9:ef:05",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"aca4d43c-c48c-4a2c-9bb6-ba374ef7e135",
|
||||||
|
"ip_address":"172.24.4.227"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"664ebd1a-facd-4c20-948c-07a784475ab0",
|
||||||
|
"device_id":"f288bb5f-920d-4276-8345-2c0319c16f58"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"DOWN",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"ebda9658-093b-41ba-80ce-0cf8cb8365d4",
|
||||||
|
"tenant_id":"",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"network:router_gateway",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:4a:3a:a2",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"aca4d43c-c48c-4a2c-9bb6-ba374ef7e135",
|
||||||
|
"ip_address":"172.24.4.226"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"c5ca7017-c390-4ccc-8cd7-333747e57fef",
|
||||||
|
"device_id":"0dc517bf-9169-4aa6-88b7-569219962881"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"tenant_id":"625887121e364204873d362b553ab171",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"network:router_interface",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:2d:dc:7e",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"a318fcb4-9ff0-4485-b78c-9e6738c21b26",
|
||||||
|
"ip_address":"10.0.0.1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"d7815f5b-a228-47bb-a5e5-f139c4e476f6",
|
||||||
|
"device_id":"0dc517bf-9169-4aa6-88b7-569219962881"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"tenant_id":"625887121e364204873d362b553ab171",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"network:dhcp",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:73:6d:1c",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"a318fcb4-9ff0-4485-b78c-9e6738c21b26",
|
||||||
|
"ip_address":"10.0.0.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"f8639521-fab2-4879-94b2-83a47bee8a26",
|
||||||
|
"device_id":"dhcpe1b8334f-9be9-5e49-aeee-b31e6df6c847-9d83c053-b0a4-4682-ae80-c00df269ce0a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
87
v2.0/api_samples/ports-get-resp.xml
Normal file
87
v2.0/api_samples/ports-get-resp.xml
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<ports xmlns="http://openstack.org/quantum/api/v2.0" xmlns:binding="http://docs.openstack.org/ext/binding/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<port>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</network_id>
|
||||||
|
<tenant_id>63878e4c5dd649d2a980e37aefddfa87</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>compute:None</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:b9:ef:05</mac_address>
|
||||||
|
<fixed_ips>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet_id>
|
||||||
|
<ip_address>172.24.4.227</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>664ebd1a-facd-4c20-948c-07a784475ab0</id>
|
||||||
|
<device_id>f288bb5f-920d-4276-8345-2c0319c16f58</device_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>DOWN</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</network_id>
|
||||||
|
<tenant_id />
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>network:router_gateway</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:4a:3a:a2</mac_address>
|
||||||
|
<fixed_ips>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet_id>
|
||||||
|
<ip_address>172.24.4.226</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>c5ca7017-c390-4ccc-8cd7-333747e57fef</id>
|
||||||
|
<device_id>0dc517bf-9169-4aa6-88b7-569219962881</device_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>9d83c053-b0a4-4682-ae80-c00df269ce0a</network_id>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>network:router_interface</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:2d:dc:7e</mac_address>
|
||||||
|
<fixed_ip>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>a318fcb4-9ff0-4485-b78c-9e6738c21b26</subnet_id>
|
||||||
|
<ip_address>10.0.0.1</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>d7815f5b-a228-47bb-a5e5-f139c4e476f6</id>
|
||||||
|
<device_id>0dc517bf-9169-4aa6-88b7-569219962881</device_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>9d83c053-b0a4-4682-ae80-c00df269ce0a</network_id>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>network:dhcp</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:73:6d:1c</mac_address>
|
||||||
|
<fixed_ips>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>a318fcb4-9ff0-4485-b78c-9e6738c21b26</subnet_id>
|
||||||
|
<ip_address>10.0.0.2</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>f8639521-fab2-4879-94b2-83a47bee8a26</id>
|
||||||
|
<device_id>dhcpe1b8334f-9be9-5e49-aeee-b31e6df6c847-9d83c053-b0a4-4682-ae80-c00df269ce0a</device_id>
|
||||||
|
</port>
|
||||||
|
</ports>
|
14
v2.0/api_samples/ports-post-create-bulk-req.json
Normal file
14
v2.0/api_samples/ports-post-create-bulk-req.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"name":"sample_port_1",
|
||||||
|
"admin_state_up":false,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"sample_port_2",
|
||||||
|
"admin_state_up":false,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
10
v2.0/api_samples/ports-post-create-bulk-req.xml
Normal file
10
v2.0/api_samples/ports-post-create-bulk-req.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<ports>
|
||||||
|
<port>
|
||||||
|
<name>test_port_1</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<name>test_port_2</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
</port>
|
||||||
|
</ports>
|
10
v2.0/api_samples/quotas-list-res.json
Normal file
10
v2.0/api_samples/quotas-list-res.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"quotas": [{
|
||||||
|
"subnet": 10,
|
||||||
|
"network": 10,
|
||||||
|
"floatingip": 50,
|
||||||
|
"tenant_id": "b7445f221cda4f4a8ac7db6b218b1339",
|
||||||
|
"router": 10,
|
||||||
|
"port": 30
|
||||||
|
}]
|
||||||
|
}
|
9
v2.0/api_samples/quotas-put-req.json
Normal file
9
v2.0/api_samples/quotas-put-req.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"quota": {
|
||||||
|
"subnet": 40,
|
||||||
|
"router": 50,
|
||||||
|
"network": 10,
|
||||||
|
"floatingip": 30,
|
||||||
|
"port": 30
|
||||||
|
}
|
||||||
|
}
|
9
v2.0/api_samples/quotas-put-res.json
Normal file
9
v2.0/api_samples/quotas-put-res.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"quota": {
|
||||||
|
"subnet": 40,
|
||||||
|
"router": 50,
|
||||||
|
"port": 30,
|
||||||
|
"network": 10,
|
||||||
|
"floatingip": 30
|
||||||
|
}
|
||||||
|
}
|
9
v2.0/api_samples/quotas-show-res.json
Normal file
9
v2.0/api_samples/quotas-show-res.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"quota": {
|
||||||
|
"subnet": 10,
|
||||||
|
"router": 10,
|
||||||
|
"port": 50,
|
||||||
|
"network": 10,
|
||||||
|
"floatingip": 50
|
||||||
|
}
|
||||||
|
}
|
12
v2.0/api_samples/subnet-get-detail-res.json
Normal file
12
v2.0/api_samples/subnet-get-detail-res.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"port":
|
||||||
|
{
|
||||||
|
"state": "DOWN",
|
||||||
|
"id": "98017ddc-efc8-4c25-a915-774b2a633855",
|
||||||
|
"attachment":
|
||||||
|
{
|
||||||
|
"id": "test_interface_identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
6
v2.0/api_samples/subnet-get-detail-res.xml
Normal file
6
v2.0/api_samples/subnet-get-detail-res.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<port
|
||||||
|
id="98017ddc-efc8-4c25-a915-774b2a633855"
|
||||||
|
state="DOWN">
|
||||||
|
<attachment
|
||||||
|
id="test_interface_identifier"/>
|
||||||
|
</port>
|
8
v2.0/api_samples/subnet-get-res.json
Normal file
8
v2.0/api_samples/subnet-get-res.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"port":
|
||||||
|
{
|
||||||
|
"state": "DOWN",
|
||||||
|
"id": "98017ddc-efc8-4c25-a915-774b2a633855"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
3
v2.0/api_samples/subnet-get-res.xml
Normal file
3
v2.0/api_samples/subnet-get-res.xml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<port
|
||||||
|
id="98017ddc-efc8-4c25-a915-774b2a633855"
|
||||||
|
state="DOWN"/>
|
16
v2.0/api_samples/subnet-post-req.json
Normal file
16
v2.0/api_samples/subnet-post-req.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
status: 201,
|
||||||
|
content-length: 306,
|
||||||
|
content-type: application/json
|
||||||
|
|
||||||
|
{
|
||||||
|
"subnet": {
|
||||||
|
"name": "",
|
||||||
|
"network_id": "ed2e3c10-2e43-4297-9006-2863a2d1abbc",
|
||||||
|
"tenant_id": "c1210485b2424d48804aad5d39c61b8f",
|
||||||
|
"allocation_pools": [{"start": "10.0.3.20", "end": "10.0.3.150"}],
|
||||||
|
"gateway_ip": "10.0.3.1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"cidr": "10.0.3.0/24",
|
||||||
|
"id": "9436e561-47bf-436a-b1f1-fe23a926e031",
|
||||||
|
"enable_dhcp": true}
|
||||||
|
}
|
2
v2.0/api_samples/subnet-post-req.xml
Normal file
2
v2.0/api_samples/subnet-post-req.xml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<port
|
||||||
|
state="ACTIVE"/>
|
24
v2.0/api_samples/subnet-post-res.json
Normal file
24
v2.0/api_samples/subnet-post-res.json
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
status: 200
|
||||||
|
content-length: 381
|
||||||
|
content-type: application/json
|
||||||
|
|
||||||
|
{
|
||||||
|
"subnet": {
|
||||||
|
"allocation_pools": [
|
||||||
|
{
|
||||||
|
"end": "10.0.3.254",
|
||||||
|
"start": "10.0.3.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cidr": "10.0.3.0/24",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"gateway_ip": "10.0.3.1",
|
||||||
|
"host_routes": [],
|
||||||
|
"id": "91e47a57-7508-46fe-afc9-fc454e8580e1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"name": "sample_subnet",
|
||||||
|
"network_id": "1a6f6006-9e0b-4f99-984c-96787ae66363",
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
}
|
||||||
|
}
|
2
v2.0/api_samples/subnet-post-res.xml
Normal file
2
v2.0/api_samples/subnet-post-res.xml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<port
|
||||||
|
id="98017ddc-efc8-4c25-a915-774b2a633855"/>
|
28
v2.0/api_samples/subnets-create-bulk-resp.json
Normal file
28
v2.0/api_samples/subnets-create-bulk-resp.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{
|
||||||
|
"name": "sample_subnet_1",
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id": "60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"allocation_pools":[{"start": "10.100.0.2", "end": "10.100.255.254"}],
|
||||||
|
"host_routes": [],
|
||||||
|
"ip_version": 4,
|
||||||
|
"gateway_ip": "10.100.0.1",
|
||||||
|
"cidr": "10.100.0.0/16",
|
||||||
|
"id": "70ffbaeb-4b43-4605-abe6-4c5bdbb8236b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sample_subnet_2",
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id": "60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"allocation_pools": [{"start": "172.16.0.2", "end": "172.31.255.254"}],
|
||||||
|
"host_routes": [],
|
||||||
|
"ip_version": 4,
|
||||||
|
"gateway_ip": "172.16.0.1",
|
||||||
|
"cidr": "172.16.0.0/12",
|
||||||
|
"id": "d849e3fc-557d-4b27-8f1c-aceca1daa410"}]
|
||||||
|
}
|
41
v2.0/api_samples/subnets-create-bulk-resp.xml
Normal file
41
v2.0/api_samples/subnets-create-bulk-resp.xml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<subnets xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_1</name>
|
||||||
|
<enable_dhcp quantum:type="bool">True</enable_dhcp>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<dns_nameservers quantum:type="list" />
|
||||||
|
<allocation_pools>
|
||||||
|
<allocation_pool>
|
||||||
|
<start>10.0.0.2</start>
|
||||||
|
<end>10.255.255.254</end>
|
||||||
|
</allocation_pool>
|
||||||
|
</allocation_pools>
|
||||||
|
<host_routes quantum:type="list" />
|
||||||
|
<ip_version quantum:type="int">4</ip_version>
|
||||||
|
<gateway_ip>10.0.0.1</gateway_ip>
|
||||||
|
<cidr>10.0.0.0/8</cidr>
|
||||||
|
<id>bd3fd365-fe19-431a-be63-07017a09316c</id>
|
||||||
|
</subnet>
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_2</name>
|
||||||
|
<enable_dhcp quantum:type="bool">True</enable_dhcp>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<dns_nameservers quantum:type="list" />
|
||||||
|
<allocation_pools>
|
||||||
|
<allocation_pool>
|
||||||
|
<start>192.168.0.2</start>
|
||||||
|
<end>192.168.255.254</end>
|
||||||
|
</allocation_pool>
|
||||||
|
</allocation_pools>
|
||||||
|
<host_routes quantum:type="list" />
|
||||||
|
<ip_version quantum:type="int">4</ip_version>
|
||||||
|
<gateway_ip>192.168.0.1</gateway_ip>
|
||||||
|
<cidr>192.168.0.0/16</cidr>
|
||||||
|
<id>86e7c838-fb75-402b-9dbf-d68166e3f5fe</id>
|
||||||
|
</subnet>
|
||||||
|
</subnets>
|
18
v2.0/api_samples/subnets-get-detail-res.json
Normal file
18
v2.0/api_samples/subnets-get-detail-res.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
status: 200
|
||||||
|
content-length: 309
|
||||||
|
content-type: application/json
|
||||||
|
|
||||||
|
{
|
||||||
|
"subnet":
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"network_id": "ed2e3c10-2e43-4297-9006-2863a2d1abbc",
|
||||||
|
"tenant_id": "c1210485b2424d48804aad5d39c61b8f",
|
||||||
|
"allocation_pools": [{"start": "10.10.0.2", "end": "10.10.0.254"}],
|
||||||
|
"gateway_ip": "10.10.0.1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"cidr": "10.10.0.0/24",
|
||||||
|
"id": "4156c7a5-e8c4-4aff-a6e1-8f3c7bc83861",
|
||||||
|
"enable_dhcp": false,
|
||||||
|
}
|
||||||
|
}
|
8
v2.0/api_samples/subnets-get-detail-res.xml
Normal file
8
v2.0/api_samples/subnets-get-detail-res.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<ports>
|
||||||
|
<port
|
||||||
|
id="98017ddc-efc8-4c25-a915-774b2a633855"
|
||||||
|
state="ACTIVE"/>
|
||||||
|
<port
|
||||||
|
id="b832be00-6553-4f69-af33-acd554e36d08"
|
||||||
|
state="ACTIVE"/>
|
||||||
|
</ports>
|
40
v2.0/api_samples/subnets-get-res.json
Normal file
40
v2.0/api_samples/subnets-get-res.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{
|
||||||
|
"allocation_pools": [
|
||||||
|
{
|
||||||
|
"end": "10.0.3.254",
|
||||||
|
"start": "10.0.3.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cidr": "10.0.3.0/24",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"gateway_ip": "10.0.3.1",
|
||||||
|
"host_routes": [],
|
||||||
|
"id": "91e47a57-7508-46fe-afc9-fc454e8580e1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"name": "",
|
||||||
|
"network_id": "1a6f6006-9e0b-4f99-984c-96787ae66363",
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allocation_pools": [
|
||||||
|
{
|
||||||
|
"end": "10.0.2.254",
|
||||||
|
"start": "10.0.2.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cidr": "10.0.2.0/24",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"gateway_ip": "10.0.2.1",
|
||||||
|
"host_routes": [],
|
||||||
|
"id": "e3c3620c-9d24-4470-b226-739da2f617c0",
|
||||||
|
"ip_version": 4,
|
||||||
|
"name": "",
|
||||||
|
"network_id": "1a6f6006-9e0b-4f99-984c-96787ae66363",
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
v2.0/api_samples/subnets-get-res.xml
Normal file
6
v2.0/api_samples/subnets-get-res.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<ports>
|
||||||
|
<port
|
||||||
|
id="98017ddc-efc8-4c25-a915-774b2a633855"/>
|
||||||
|
<port
|
||||||
|
id="b832be00-6553-4f69-af33-acd554e36d08"/>
|
||||||
|
</ports>
|
40
v2.0/api_samples/subnets-get-resp.json
Normal file
40
v2.0/api_samples/subnets-get-resp.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{
|
||||||
|
"allocation_pools": [
|
||||||
|
{
|
||||||
|
"end": "10.0.3.254",
|
||||||
|
"start": "10.0.3.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cidr": "10.0.3.0/24",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"gateway_ip": "10.0.3.1",
|
||||||
|
"host_routes": [],
|
||||||
|
"id": "91e47a57-7508-46fe-afc9-fc454e8580e1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"name": "",
|
||||||
|
"network_id": "1a6f6006-9e0b-4f99-984c-96787ae66363",
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allocation_pools": [
|
||||||
|
{
|
||||||
|
"end": "10.0.2.254",
|
||||||
|
"start": "10.0.2.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cidr": "10.0.2.0/24",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"gateway_ip": "10.0.2.1",
|
||||||
|
"host_routes": [],
|
||||||
|
"id": "e3c3620c-9d24-4470-b226-739da2f617c0",
|
||||||
|
"ip_version": 4,
|
||||||
|
"name": "",
|
||||||
|
"network_id": "1a6f6006-9e0b-4f99-984c-96787ae66363",
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
14
v2.0/api_samples/subnets-post-create-bulk-req.json
Normal file
14
v2.0/api_samples/subnets-post-create-bulk-req.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{"name": "sample_subnet_1",
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"cidr": "10.100.0.0/16",
|
||||||
|
"ip_version": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sample_subnet_2",
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"cidr": "172.16.0.0/12",
|
||||||
|
"ip_version": 4
|
||||||
|
}]
|
||||||
|
}
|
14
v2.0/api_samples/subnets-post-create-bulk-req.xml
Normal file
14
v2.0/api_samples/subnets-post-create-bulk-req.xml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<subnets>
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_1</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<cidr>10.0.0.0/8</cidr>
|
||||||
|
<ip_version>4</ip_version>
|
||||||
|
</subnet>
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_2</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<cidr>192.168.0.0/16</cidr>
|
||||||
|
<ip_version>4</ip_version>
|
||||||
|
</subnet>
|
||||||
|
</subnets>
|
29
v2.0/api_samples/subnets_get_resp.json
Normal file
29
v2.0/api_samples/subnets_get_resp.json
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
status: 200
|
||||||
|
content-length: 607
|
||||||
|
content-type: application/json
|
||||||
|
|
||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"network_id": "ed2e3c10-2e43-4297-9006-2863a2d1abbc",
|
||||||
|
"tenant_id": "c1210485b2424d48804aad5d39c61b8f",
|
||||||
|
"allocation_pools": [{"start": "10.10.0.2", "end": "10.10.0.254"}],
|
||||||
|
"gateway_ip": "10.10.0.1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"cidr": "10.10.0.0/24",
|
||||||
|
"id": "4156c7a5-e8c4-4aff-a6e1-8f3c7bc83861",
|
||||||
|
"enable_dhcp": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"network_id": "afc75773-640e-403c-9fff-62ba98db1f19",
|
||||||
|
"tenant_id": "ed680f49ff714162ab3612d7876ffce5",
|
||||||
|
"allocation_pools": [{"start": "10.0.0.2", "end": "10.0.0.254"}],
|
||||||
|
"gateway_ip": "10.0.0.1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"cidr": "10.0.0.0/24",
|
||||||
|
"id": "e12f0c45-46e3-446a-b207-9474b27687a6",
|
||||||
|
"enable_dhcp": true
|
||||||
|
}]
|
||||||
|
}
|
74
v2.0/ch_neutron_api_extensions.xml
Normal file
74
v2.0/ch_neutron_api_extensions.xml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE chapter[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
xml:id="API_extensions">
|
||||||
|
<title>API Extensions</title>
|
||||||
|
<para>The API extensions augment the core API. An API extension
|
||||||
|
extends one or more of the following components of the core
|
||||||
|
API:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Resources. An extension defines new object
|
||||||
|
classes.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Attributes. An extended attribute defines a new
|
||||||
|
attribute on existing resources. Prefixed by the
|
||||||
|
extension name.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Actions. An extended action defines a new operation
|
||||||
|
on an existing resource.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>Generic API extensions are not plug-in-specific. For
|
||||||
|
information about plug-in-specific extensions that are shipped
|
||||||
|
with OpenStack Networking, see the extension documentation in
|
||||||
|
the source code tree.</para>
|
||||||
|
<xi:include href="section_neutron_list-extensions.xml"/>
|
||||||
|
<xi:include href="section_neutron-provider-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron_binding_ext_ports.xml"/>
|
||||||
|
<xi:include href="section_neutron-l3-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-extgwmodes-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-quotas-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-security-groups-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-agent-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-extraroute-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-loadbalancer-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-firewall-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-scheduler-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-vpn-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-allowed-address-pair-ext.xml"/>
|
||||||
|
<xi:include href="section_neutron-extra-dhcp-opt-ext.xml"/>
|
||||||
|
</chapter>
|
69
v2.0/ch_neutron_api_operations.xml
Normal file
69
v2.0/ch_neutron_api_operations.xml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE chapter[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
xml:id="API_Operations" role="api-reference">
|
||||||
|
<title>API Operations</title>
|
||||||
|
<para>Provides virtual networking services among devices that are
|
||||||
|
managed by the OpenStack Compute service. The Networking API
|
||||||
|
v2.0 combines the API v1.1 functionality with some essential
|
||||||
|
Internet Protocol Address Management (IPAM) functionality.
|
||||||
|
Enables users to associate IP address blocks and other network
|
||||||
|
configuration settings with a neutron network. You can choose
|
||||||
|
a specific IP address from the block or let neutron choose the
|
||||||
|
first available IP address.</para>
|
||||||
|
<section xml:id="networks">
|
||||||
|
<title>Networks</title>
|
||||||
|
<para>Lists, shows information for, creates, updates, and
|
||||||
|
deletes networks.</para>
|
||||||
|
<wadl:resources
|
||||||
|
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-networks.wadl"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
||||||
|
</section>
|
||||||
|
<section xml:id="subnets">
|
||||||
|
<title>Subnets</title>
|
||||||
|
<para>Lists, shows information for, creates, updates, and
|
||||||
|
deletes subnet resources.</para>
|
||||||
|
<wadl:resources
|
||||||
|
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-subnets.wadl"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
||||||
|
</section>
|
||||||
|
<section xml:id="ports">
|
||||||
|
<title>Ports</title>
|
||||||
|
<para>Lists, shows information for, creates, updates, and
|
||||||
|
deletes ports.</para>
|
||||||
|
<wadl:resources
|
||||||
|
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-ports.wadl"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
||||||
|
</section>
|
||||||
|
</chapter>
|
448
v2.0/ch_neutron_general_info.xml
Normal file
448
v2.0/ch_neutron_general_info.xml
Normal file
@ -0,0 +1,448 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE chapter[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
xml:id="General_API_Information-d1e436">
|
||||||
|
<?dbhtml stop-chunking?>
|
||||||
|
<title>General API Information</title>
|
||||||
|
<para>The &APIv2; is a ReSTful HTTP service that uses all aspects
|
||||||
|
of the HTTP protocol including methods, URIs, media types,
|
||||||
|
response codes, and so on. Providers can use existing features
|
||||||
|
of the protocol including caching, persistent connections, and
|
||||||
|
content compression. For example, providers who employ a
|
||||||
|
caching layer can respond with a <errorcode>203</errorcode>
|
||||||
|
code instead of a <errorcode>200</errorcode> code when a
|
||||||
|
request is served from the cache. Additionally, providers can
|
||||||
|
offer support for conditional &GET; requests by using ETags,
|
||||||
|
or they may send a redirect in response to a &GET; request.
|
||||||
|
Create clients so that these differences are accounted
|
||||||
|
for.</para>
|
||||||
|
<section xml:id="Authentication-d1e444">
|
||||||
|
<title>Authentication and Authorization</title>
|
||||||
|
<para>The &APIv2; uses the <link
|
||||||
|
xlink:href="https://openstack.keystone.org">Keystone
|
||||||
|
Identity Service</link> as the default authentication
|
||||||
|
service. When Keystone is enabled, users that submit
|
||||||
|
requests to the OpenStack Networking service must provide
|
||||||
|
an authentication token in <emphasis role="bold"
|
||||||
|
>X-Auth-Token</emphasis> request header. You obtain
|
||||||
|
the token by authenticating to the Keystone endpoint. For
|
||||||
|
more information about Keystone, see the <link
|
||||||
|
xlink:href="http://docs.openstack.org/api/openstack-identity-service/2.0/content/"
|
||||||
|
><citetitle>OpenStack Identity Service API v2.0
|
||||||
|
Reference</citetitle></link>.</para>
|
||||||
|
<para>When Keystone is enabled, the
|
||||||
|
<literal>tenant_id</literal> attribute is not required
|
||||||
|
in create requests because the tenant ID is derived from
|
||||||
|
the authentication token.</para>
|
||||||
|
<para>The default authorization settings allow only
|
||||||
|
administrative users to create resources on behalf of a
|
||||||
|
different tenant.</para>
|
||||||
|
<para>OpenStack Networking uses information received from
|
||||||
|
Keystone to authorize user requests. OpenStack Networking
|
||||||
|
handles the following types of authorization policies: <itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold">Operation-based
|
||||||
|
policies</emphasis> specify access
|
||||||
|
criteria for specific operations, possibly
|
||||||
|
with fine-grained control over specific
|
||||||
|
attributes.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold">Resource-based
|
||||||
|
policies</emphasis> access a specific
|
||||||
|
resource. Permissions might or might not be
|
||||||
|
granted depending on the permissions
|
||||||
|
configured for the resource. Currently
|
||||||
|
available for only the network
|
||||||
|
resource.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
<para>The actual authorization policies enforced in OpenStack
|
||||||
|
Networking might vary from deployment to
|
||||||
|
deployment.</para>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="Request_Response_Types">
|
||||||
|
<title>Request/Response Types</title>
|
||||||
|
<para>The &APIv2; supports the JSON data serialization
|
||||||
|
format.</para>
|
||||||
|
<para>The format for both the request and the response can be
|
||||||
|
specified by using the <code>Content-Type</code> header,
|
||||||
|
the <code>Accept</code> header or adding the
|
||||||
|
<code>.json</code> extension to the request
|
||||||
|
URI.</para>
|
||||||
|
<example>
|
||||||
|
<title>JSON Request with Headers</title>
|
||||||
|
<literallayout class="monospaced">POST /v1.0/tenants/tenantX/networks HTTP/1.1
|
||||||
|
Host 127.0.0.1:9696
|
||||||
|
Content-Type application/json
|
||||||
|
Accept application/json
|
||||||
|
Content-Length 57</literallayout>
|
||||||
|
<programlisting language="json"><xi:include href="samples/networks-post-req.json" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>JSON Response with Headers</title>
|
||||||
|
<literallayout class="monospaced">HTTP/1.1 201 Created
|
||||||
|
Content-Type application/json
|
||||||
|
Content-Length 204</literallayout>
|
||||||
|
<programlisting language="json"><xi:include href="samples/networks-post-res.json" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
</section>
|
||||||
|
<section xml:id="filtering">
|
||||||
|
<title>Filtering and Column Selection</title>
|
||||||
|
<para>The &APIv2; supports filtering based on all top level
|
||||||
|
attributes of a resource. Filters are applicable to all
|
||||||
|
list requests.</para>
|
||||||
|
<para>For example, the following request returns all networks
|
||||||
|
named <literal>foobar</literal>:</para>
|
||||||
|
<programlisting language="bash" role="gutter: false">GET /v2.0/networks?name=foobar</programlisting>
|
||||||
|
<para>When you specify multiple filters, the &APIv2; returns
|
||||||
|
only objects that meet all filtering criteria. The
|
||||||
|
operation applies an AND condition among the
|
||||||
|
filters.</para>
|
||||||
|
<note>
|
||||||
|
<para>OpenStack Networking does not offer an OR mechanism
|
||||||
|
for filters.</para>
|
||||||
|
</note>
|
||||||
|
<para>Alternatively, you can issue a distinct request for each
|
||||||
|
filter and build a response set from the received
|
||||||
|
responses on the client-side.</para>
|
||||||
|
<para>By default, OpenStack Networking returns all attributes
|
||||||
|
for any show or list call. The &APIv2; has a mechanism to
|
||||||
|
limit the set of attributes returned. For example, return
|
||||||
|
<literal>id</literal>.</para>
|
||||||
|
<para>You can use the <literal>fields</literal> query
|
||||||
|
parameter to control the attributes returned from the
|
||||||
|
&APIv2;.</para>
|
||||||
|
<para>For example, the following request returns only
|
||||||
|
<literal>id</literal> and <literal>name</literal> for
|
||||||
|
each network:</para>
|
||||||
|
<programlisting language="bash" role="gutter: false">GET /v2.0/networks.json?fields=id&fields=name</programlisting>
|
||||||
|
</section>
|
||||||
|
<section xml:id="Async_behaviour">
|
||||||
|
<title>Synchronous versus Asynchronous Plug-in
|
||||||
|
Behavior</title>
|
||||||
|
<para>The &APIv2; presents a logical model of network
|
||||||
|
connectivity consisting of networks, ports, and subnets.
|
||||||
|
It is up to the OpenStack Networking plug-in to
|
||||||
|
communicate with the underlying infrastructure to ensure
|
||||||
|
packet forwarding is consistent with the logical model. A
|
||||||
|
plug-in might perform these operations
|
||||||
|
asynchronously.</para>
|
||||||
|
<para>When an API client modifies the logical model by issuing
|
||||||
|
an HTTP &POST;, &PUT;, or &DELETE; request, the API call
|
||||||
|
might return before the plug-in modifies underlying
|
||||||
|
virtual and physical switching devices. However, an API
|
||||||
|
client is guaranteed that all subsequent API calls
|
||||||
|
properly reflect the changed logical model.</para>
|
||||||
|
<para>For example, if a client issues an HTTP &PUT; request to
|
||||||
|
set the attachment for a port, there is no guarantee that
|
||||||
|
packets sent by the interface named in the attachment are
|
||||||
|
forwarded immediately when the HTTP call returns. However,
|
||||||
|
it is guaranteed that a subsequent HTTP &GET; request to
|
||||||
|
view the attachment on that port returns the new
|
||||||
|
attachment value.</para>
|
||||||
|
<para>You can use the <literal>status</literal> attribute with
|
||||||
|
the network and port resources to determine whether the
|
||||||
|
OpenStack Networking plug-in has successfully completed
|
||||||
|
the configuration of the resource.</para>
|
||||||
|
</section>
|
||||||
|
<section xml:id="bulk_create_operations">
|
||||||
|
<title>Bulk Create Operations</title>
|
||||||
|
<para>The &APIv2; enables you to create several objects of the
|
||||||
|
same type in the same API request. Bulk create operations
|
||||||
|
use exactly the same API syntax as single create
|
||||||
|
operations except that you specify a list of objects
|
||||||
|
rather than a single object in the request body.</para>
|
||||||
|
<para>Bulk operations are always performed atomically, meaning
|
||||||
|
that either all or none of the objects in the request body
|
||||||
|
are created. If a particular plug-in does not support
|
||||||
|
atomic operations, the &APIv2; emulates the atomic
|
||||||
|
behavior so that users can expect the same behavior
|
||||||
|
regardless of the particular plug-in running in the
|
||||||
|
background.</para>
|
||||||
|
<para>OpenStack Networking might be deployed without support
|
||||||
|
for bulk operations and when the client attempts a bulk
|
||||||
|
create operation, a <errorcode>400</errorcode>
|
||||||
|
<errortext>Bad Request</errortext> error is
|
||||||
|
returned.</para>
|
||||||
|
<!-- <para>For information about how to submit bulk requests to the
|
||||||
|
&APIv2; see <xref linkend="bulk_create_networks"/>, <xref
|
||||||
|
linkend="bulK_create_subnets"/>, and <xref
|
||||||
|
linkend="bulk_create_ports"/>.</para> -->
|
||||||
|
</section>
|
||||||
|
<section xml:id="pagination">
|
||||||
|
<title>Pagination</title>
|
||||||
|
<para>To reduce load on the service, list operations will
|
||||||
|
return a maximum number of items at a time. To navigate
|
||||||
|
the collection, the parameters limit, marker and
|
||||||
|
page_reverse can be set in the URI. For example:</para>
|
||||||
|
<programlisting language="bash">?limit=100&marker=1234&page_reverse=False</programlisting>
|
||||||
|
<para>The <parameter>marker</parameter> parameter is the ID of
|
||||||
|
the last item in the previous list. The
|
||||||
|
<parameter>limit</parameter> parameter sets the page
|
||||||
|
size. The <parameter>page_reverse</parameter> parameter
|
||||||
|
sets the page direction. These parameters are optional. If
|
||||||
|
the client requests a limit beyond the maximum limit
|
||||||
|
configured by the deployment, the server returns the
|
||||||
|
maximum limit number of items.</para>
|
||||||
|
<para>For convenience, list responses contain atom "next"
|
||||||
|
links and "previous" links. The last page in the list
|
||||||
|
requested with 'page_reverse=False' will not contain
|
||||||
|
"next" link, and the last page in the list requested with
|
||||||
|
'page_reverse=True' will not contain "previous" link. The
|
||||||
|
following examples illustrate two pages with three items.
|
||||||
|
The first page was retrieved through:</para>
|
||||||
|
<programlisting language="bash">&GET; http://127.0.0.1:9696/v2.0/networks.json?limit=2</programlisting>
|
||||||
|
<para>Pagination is an optional feature of OpenStack
|
||||||
|
Networking API, and it might be disabled. If pagination is
|
||||||
|
disabled, the pagination parameters will be ignored and
|
||||||
|
return all the items.</para>
|
||||||
|
<para>If a particular plug-in does not support pagination
|
||||||
|
operations, and pagination is enabled, the &APIv2; will
|
||||||
|
emulate the pagination behavior so that users can expect
|
||||||
|
the same behavior regardless of the particular plug-in
|
||||||
|
running in the background.</para>
|
||||||
|
<para>Unfortunately OpenStack Networking does not expose any
|
||||||
|
mechanism to tell user if pagination is supported by
|
||||||
|
particular plug-in or enabled.</para>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, First Page: JSON
|
||||||
|
Request</title>
|
||||||
|
|
||||||
|
<literallayout class="monospaced">GET /v2.0/networks.json?limit=2 HTTP/1.1
|
||||||
|
Host: 127.0.0.1:9696
|
||||||
|
Content-Type: application/json
|
||||||
|
Accept: application/json</literallayout>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, First Page: JSON
|
||||||
|
Response</title>
|
||||||
|
<programlisting language="json"><xi:include href="samples/networks-get-first-page-res.json" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, First Page: XML Request</title>
|
||||||
|
<literallayout class="monospaced">
|
||||||
|
GET /v2.0/networks.xml?limit=2 HTTP/1.1
|
||||||
|
Host: 127.0.0.1:9696
|
||||||
|
Content-Type: application/xml
|
||||||
|
Accept: application/xml
|
||||||
|
</literallayout>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, First Page: XML
|
||||||
|
Response</title>
|
||||||
|
<programlisting language="xml"><xi:include href="samples/networks-get-first-page-res.xml" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
<para>The last page won't show the "next" links</para>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, Last Page: JSON Request</title>
|
||||||
|
<literallayout class="monospaced">
|
||||||
|
GET /v2.0/networks.json?limit=2&marker=71c1e68c-171a-4aa2-aca5-50ea153a3718 HTTP/1.1
|
||||||
|
Host: 127.0.0.1:9696
|
||||||
|
Content-Type: application/json
|
||||||
|
Accept: application/json
|
||||||
|
</literallayout>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, Last Page: JSON
|
||||||
|
Response</title>
|
||||||
|
<programlisting language="json"><xi:include href="samples/networks-get-last-page-res.json" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, Last Page: XML Request</title>
|
||||||
|
<literallayout class="monospaced">
|
||||||
|
GET /v2.0/networks.xml?limit=2&marker=71c1e68c-171a-4aa2-aca5-50ea153a3718 HTTP/1.1
|
||||||
|
Host: 127.0.0.1:9696
|
||||||
|
Content-Type: application/xml
|
||||||
|
Accept: application/xml
|
||||||
|
</literallayout>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Network Collection, Last Page: XML Response</title>
|
||||||
|
<programlisting language="json"><xi:include href="samples/networks-get-last-page-res.xml" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
</section>
|
||||||
|
<section xml:id="Sorting">
|
||||||
|
<title>Sorting</title>
|
||||||
|
<para>The results of list operations can be ordered using the
|
||||||
|
'sort_key' and 'sort_dir' parameters. Currently sorting
|
||||||
|
doesn't work with extended attributes of resource. The
|
||||||
|
'sort_key' and 'sort_dir' can be repeated, and the number
|
||||||
|
of 'sort_key' and 'sort_dir' provided must be same. The
|
||||||
|
sort_dir parameter indicates in which direction to sort.
|
||||||
|
Acceptable values are 'asc' (ascending) and 'desc'
|
||||||
|
(descending).</para>
|
||||||
|
<para>Sorting is optional feature of OpenStack Networking API,
|
||||||
|
and it might be disabled. If sorting is disabled, the
|
||||||
|
sorting parameters will be ignored.</para>
|
||||||
|
<para>If a particular plug-in does not support sorting
|
||||||
|
operations, and sorting is enabled, the &APIv2; will
|
||||||
|
emulate the sorting behavior so that users can expect the
|
||||||
|
same behavior regardless of the particular plug-in running
|
||||||
|
in the background.</para>
|
||||||
|
<para>Unfortunately OpenStack Networking does provide a
|
||||||
|
mechanism to tell users if specific plug-ins support or
|
||||||
|
have enabled sorting.</para>
|
||||||
|
</section>
|
||||||
|
<section xml:id="extensions">
|
||||||
|
<title>Extensions</title>
|
||||||
|
<para>The &APIv2; is extensible.</para>
|
||||||
|
<para>The purpose of &APIv2; extensions is to:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Introduce new features in the API without
|
||||||
|
requiring a version change.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Introduce vendor-specific niche
|
||||||
|
functionality.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Act as a proving ground for experimental
|
||||||
|
functionalities that might be included in a future
|
||||||
|
version of the API.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>To programmatically determine which extensions are
|
||||||
|
available, issue a &GET; request on the
|
||||||
|
<command>v2.0/extensions</command> URI.</para>
|
||||||
|
<para>To query extensions individually by unique alias, issue
|
||||||
|
a &GET; request on the
|
||||||
|
<command>/v2.0/extensions/<replaceable>alias_name</replaceable></command>
|
||||||
|
URI. Use this method to easily determine if an extension
|
||||||
|
is available. If the extension is not available, a
|
||||||
|
<errorcode>404</errorcode>
|
||||||
|
<errortext>Not Found</errortext> response is
|
||||||
|
returned.</para>
|
||||||
|
<para>You can extend existing core API resources with new
|
||||||
|
actions or extra attributes. Also, you can add new
|
||||||
|
resources as extensions. Extensions usually have tags that
|
||||||
|
prevent conflicts with other extensions that define
|
||||||
|
attributes or resources with the same names, and with core
|
||||||
|
resources and attributes. Because an extension might not
|
||||||
|
be supported by all plug-ins, the availability of an
|
||||||
|
extension varies with deployments and the specific plug-in
|
||||||
|
in use.</para>
|
||||||
|
<para>For more information regarding specific extensions, see
|
||||||
|
<xref linkend="API_extensions"/></para>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="faults">
|
||||||
|
<title>Faults</title>
|
||||||
|
<para>The &APIv2; returns an error response if a failure
|
||||||
|
occurs while processing a request. OpenStack Networking
|
||||||
|
uses only standard HTTP error codes.
|
||||||
|
4<varname>xx</varname> errors indicate problems in the
|
||||||
|
particular request being sent from the client.</para>
|
||||||
|
<informaltable rules="all">
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="70%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Error</th>
|
||||||
|
<th colspan="2">Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td rowspan="6">400</td>
|
||||||
|
<td rowspan="6">Bad Request</td>
|
||||||
|
<td>Malformed request URI or body</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Requested admin state invalid</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Invalid values entered</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Bulk operations disallowed</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Validation failed</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Method not allowed for request body (such as
|
||||||
|
trying to update attributes that can be
|
||||||
|
specified at create-time only)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td rowspan="2">404</td>
|
||||||
|
<td rowspan="2">Not Found</td>
|
||||||
|
<td>Non existent URI</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Resource not found</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td rowspan="3">409</td>
|
||||||
|
<td rowspan="3">Conflict</td>
|
||||||
|
<td>Port configured on network</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>IP allocated on subnet</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Conflicting IP allocation pools for
|
||||||
|
subnet</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>500</td>
|
||||||
|
<td>Internal server error</td>
|
||||||
|
<td>Internal OpenStack Networking error</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>503</td>
|
||||||
|
<td>Service unavailable</td>
|
||||||
|
<td>Failure in Mac address generation</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
<para>Users submitting requests to the &APIv2; might also
|
||||||
|
receive the following errors:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><errorcode>401</errorcode> Unauthorized - If
|
||||||
|
invalid credentials are provided.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><errorcode>403</errorcode> Forbidden - If the
|
||||||
|
user cannot access a specific resource or perform
|
||||||
|
the requested operation.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
</chapter>
|
270
v2.0/ch_neutron_overview.xml
Normal file
270
v2.0/ch_neutron_overview.xml
Normal file
@ -0,0 +1,270 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE chapter[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
xml:id="Overview-d1e71">
|
||||||
|
<?dbhtml stop-chunking?>
|
||||||
|
<title>Overview</title>
|
||||||
|
<para>The Neutron project provides virtual networking services
|
||||||
|
among devices that are managed by the <link
|
||||||
|
xlink:href="http://wiki.openstack.org/OpenStack"
|
||||||
|
>OpenStack</link> compute service.</para>
|
||||||
|
<para>The &APIv2; combines the <link
|
||||||
|
xlink:href="http://docs.openstack.org/api/openstack-network/1.0/content/"
|
||||||
|
>Quantum API v1.1</link> with some essential Internet
|
||||||
|
Protocol Address Management (IPAM) capabilities from the <link
|
||||||
|
xlink:href="http://melange.readthedocs.org/en/latest/apidoc.html"
|
||||||
|
>Melange API</link>. </para>
|
||||||
|
<para>These IPAM capabilities enable you to:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Associate IP address blocks and other network
|
||||||
|
configuration settings required by a network device,
|
||||||
|
such as a default gateway and dns-servers settings,
|
||||||
|
with an OpenStack Networking network.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Allocate an IP address from a block and associate it
|
||||||
|
with a device that is attached to the network through
|
||||||
|
an OpenStack Networking port.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>To do this, the &APIv2; introduces the subnet entity. A
|
||||||
|
subnet can represent either an IP version 4 or version 6
|
||||||
|
address block. Each OpenStack Networking network commonly has
|
||||||
|
one or more subnets. When you create a port on the network, an
|
||||||
|
available fixed IP address is allocated to it from one the
|
||||||
|
designated subnets for each IP version. When you delete the
|
||||||
|
port, the allocated addresses return to the pool of available
|
||||||
|
IPs on the subnet. &APIv2; users can choose a specific IP
|
||||||
|
address from the block or let OpenStack Networking choose the
|
||||||
|
first available IP address.</para>
|
||||||
|
<note>
|
||||||
|
<para>The Quantum API v1.<varname>x</varname> was removed from
|
||||||
|
the source code tree. To use the Quantum API
|
||||||
|
v1.<varname>x</varname>, install the Quantum Essex
|
||||||
|
release.</para>
|
||||||
|
</note>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="Glossary">
|
||||||
|
<title>Glossary</title>
|
||||||
|
<informaltable rules="all">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td align="left">Term</td>
|
||||||
|
<td colspan="4" align="left">Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td align="left">CRUD</td>
|
||||||
|
<td colspan="4">Create, read, update, and delete
|
||||||
|
(CRUD) are the basic functions of persistent
|
||||||
|
storage in computer programming.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">entity</td>
|
||||||
|
<td colspan="4">Any piece of hardware or software
|
||||||
|
that can connect to the network services
|
||||||
|
provided by OpenStack Networking. An entity
|
||||||
|
can use OpenStack Networking services by
|
||||||
|
implementing a VIF.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">IPAM</td>
|
||||||
|
<td colspan="4">Internet Protocol Address
|
||||||
|
Management (IPAM) is a means of planning,
|
||||||
|
tracking, and managing the Internet Protocol
|
||||||
|
(IP) address space that is used in a
|
||||||
|
network.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<!-- <td align="left" bgcolor="#4F91BD"> -->
|
||||||
|
<td align="left">layer-2 network</td>
|
||||||
|
<!-- <td colspan="4" bgcolor="#4F91BD"> -->
|
||||||
|
<td colspan="4">A virtual Ethernet network that is
|
||||||
|
managed by the OpenStack Networking service.
|
||||||
|
Currently, OpenStack Networking manages only
|
||||||
|
Ethernet networks. </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">network</td>
|
||||||
|
<td colspan="4">An isolated virtual layer-2
|
||||||
|
broadcast domain that is typically reserved
|
||||||
|
for the tenant who created it unless the
|
||||||
|
network is configured to be shared. Tenants
|
||||||
|
can create multiple networks until they reach
|
||||||
|
the thresholds specified by per-tenant
|
||||||
|
quotas.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<!-- <td align="left" bgcolor="#4F91BD"> -->
|
||||||
|
<td align="left">plug-in</td>
|
||||||
|
<!-- <td colspan="4" bgcolor="#4F91BD"> -->
|
||||||
|
<td colspan="4">A software component that
|
||||||
|
implements &APIv2;.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">port</td>
|
||||||
|
<td colspan="4">A virtual switch port on a logical
|
||||||
|
network switch. Virtual instances attach their
|
||||||
|
interfaces into ports. The logical port also
|
||||||
|
defines the MAC address and the IP addresses
|
||||||
|
to be assigned to the interfaces plugged into
|
||||||
|
them. When IP addresses are associated to a
|
||||||
|
port, this also implies the port is associated
|
||||||
|
with a subnet, as the IP address was taken
|
||||||
|
from the allocation pool for a specific
|
||||||
|
subnet. </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">subnet</td>
|
||||||
|
<td colspan="4">An IP address block that can be
|
||||||
|
used to assign IP addresses to virtual
|
||||||
|
instances. Each subnet must have a CIDR and
|
||||||
|
must be associated with a network. IPs can be
|
||||||
|
either selected from the whole subnet CIDR or
|
||||||
|
from allocation pools that can be specified by
|
||||||
|
the user.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">VM</td>
|
||||||
|
<td colspan="4">A virtual machine (VM) is a
|
||||||
|
completely isolated guest operating system
|
||||||
|
installation within a normal host operating
|
||||||
|
system.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<xi:include href="section_neutron_concepts.xml"/>
|
||||||
|
<section xml:id="Theory">
|
||||||
|
<title>High-Level Task Flow</title>
|
||||||
|
<para>The high-level task flow for OpenStack Networking
|
||||||
|
involves creating a network, associating a subnet with
|
||||||
|
that network, and booting a VM that is attached to the
|
||||||
|
network. Clean-up includes deleting the VM, deleting any
|
||||||
|
ports associated with the network, and deleting the
|
||||||
|
networks. OpenStack Networking deletes any subnets
|
||||||
|
associated with the deleted network.</para>
|
||||||
|
<procedure>
|
||||||
|
<title>To use OpenStack Networking - high-level task
|
||||||
|
flow</title>
|
||||||
|
<step>
|
||||||
|
<title>Create a network</title>
|
||||||
|
<para>The tenant creates a network.</para>
|
||||||
|
<para>For example, the tenant creates the
|
||||||
|
<literal>net1</literal> network. Its ID is
|
||||||
|
<emphasis role="italic"
|
||||||
|
>net1_id</emphasis>.</para>
|
||||||
|
<!-- <para>See <xref linkend="Create_Network"/>.</para> -->
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>Associate a subnet with the network</title>
|
||||||
|
<para>The tenant associates a subnet with that
|
||||||
|
network.</para>
|
||||||
|
<para>For example, the tenant associates the
|
||||||
|
<literal>10.0.0.0/24</literal> subnet with the
|
||||||
|
<literal>net1</literal> network.</para>
|
||||||
|
<!-- <para>See <xref linkend="create_subnet"/>.</para> -->
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>Boot a VM and attach it to the network</title>
|
||||||
|
<para>The tenant boots a virtual machine (VM) and
|
||||||
|
specifies a single NIC that connects to the
|
||||||
|
network.</para>
|
||||||
|
<para>The following examples use the nova client to
|
||||||
|
boot a VM.</para>
|
||||||
|
<para>In the first example, Nova contacts OpenStack
|
||||||
|
Networking to create the NIC and attach it to the
|
||||||
|
<literal>net1</literal> network, with the ID
|
||||||
|
<emphasis role="italic"
|
||||||
|
>net1_id</emphasis>:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova boot <server_name> --image <image> --flavor <flavor> --nic net-id=<net1_id></userinput></screen>
|
||||||
|
<para>In a second example, you first create the
|
||||||
|
<literal>port1</literal>, port and then you
|
||||||
|
boot the VM with a specified port. OpenStack
|
||||||
|
Networking creates a NIC and attaches it to the
|
||||||
|
<literal>port1</literal> port, with the ID
|
||||||
|
<emphasis role="italic"
|
||||||
|
>port1_id</emphasis>:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova boot <server_name> --image <image> --flavor <flavor> --nic port-id=<port1_id></userinput></screen>
|
||||||
|
<para>OpenStack Networking chooses and assigns an IP
|
||||||
|
address to the <literal>port1</literal>
|
||||||
|
port.</para>
|
||||||
|
<para>For more information about the <command>nova
|
||||||
|
boot</command> command, enter:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova help boot</userinput></screen>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>Delete the VM</title>
|
||||||
|
<para>The tenant deletes the VM.</para>
|
||||||
|
<para>Nova contacts OpenStack Networking and deletes
|
||||||
|
the <literal>port1</literal> port.</para>
|
||||||
|
<para>The allocated IP address is returned to the pool
|
||||||
|
of available IP addresses.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>Delete any ports</title>
|
||||||
|
<para>If the tenant created any ports and associated
|
||||||
|
them with the network, the tenant deletes the
|
||||||
|
ports.</para>
|
||||||
|
<!-- <para>See <xref linkend="Delete_Port"/>.</para>-->
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>Delete the network</title>
|
||||||
|
<para>The tenant deletes the network. This operation
|
||||||
|
deletes an OpenStack Networking network and its
|
||||||
|
associated subnets provided that no port is
|
||||||
|
currently configured on the network.</para>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="plugin">
|
||||||
|
<title>Plug-ins</title>
|
||||||
|
<para>Virtual networking services are implemented through a
|
||||||
|
plug-in. A plug-in can use different techniques and
|
||||||
|
technologies to provide isolated virtual networks to
|
||||||
|
tenants. A plug-in also provides other services, such as
|
||||||
|
IP address management. Because each plug-in implements all
|
||||||
|
the operations included in &APIv2;, do not be concerned
|
||||||
|
about which plug-in is used.</para>
|
||||||
|
<para>However, some plug-ins might expose additional
|
||||||
|
capabilities through API extensions, which this document
|
||||||
|
discusses. For more information about the extensions
|
||||||
|
exposed by a particular plug-in, see the plug-in
|
||||||
|
documentation.</para>
|
||||||
|
</section>
|
||||||
|
</chapter>
|
File diff suppressed because it is too large
Load Diff
@ -1,207 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section[
|
|
||||||
<!-- Some useful entities borrowed from HTML -->
|
|
||||||
<!ENTITY ndash "–">
|
|
||||||
<!ENTITY mdash "—">
|
|
||||||
<!ENTITY hellip "…">
|
|
||||||
<!ENTITY plusmn "±">
|
|
||||||
|
|
||||||
<!-- Useful for describing APIs -->
|
|
||||||
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
|
||||||
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
|
||||||
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
|
||||||
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
|
||||||
|
|
||||||
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
|
||||||
<imageobject>
|
|
||||||
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
|
||||||
format="SVG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
</inlinemediaobject>'>
|
|
||||||
|
|
||||||
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
|
||||||
<imageobject>
|
|
||||||
<imagedata fileref="figures/Arrow_east.svg"
|
|
||||||
format="SVG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
</inlinemediaobject>'>
|
|
||||||
]>
|
|
||||||
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0" status="final" xml:id="extgwmodes-ext">
|
|
||||||
<title>Configurable external gateway modes extension</title>
|
|
||||||
<para>By default, when a gateway is attached to a router using the Neutron L3 extension, Network
|
|
||||||
Address Translation (NAT) is enabled for traffic generated by subnets attached to the
|
|
||||||
router. With this extension, the user will have the option of choosing whether SNAT
|
|
||||||
should be enabled or not on a router basis.</para>
|
|
||||||
<para>This is achieved simply by specifying a boolean attribute, <literal>enable_snat</literal>,
|
|
||||||
in the <literal>external_gateway_info</literal> attribute of the <literal>router</literal>
|
|
||||||
resource. </para>
|
|
||||||
<para>This extension redefines the external_gateway_info attribute as depicted in the following
|
|
||||||
table. </para>
|
|
||||||
<table rules="all">
|
|
||||||
<caption>external_gateway_info attributes</caption>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="8%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="32%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Attribute </th>
|
|
||||||
<th>Type </th>
|
|
||||||
<th>Required </th>
|
|
||||||
<th>Default Value </th>
|
|
||||||
<th>Validation Constraints </th>
|
|
||||||
<th>Notes</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>network_id</td>
|
|
||||||
<td>UUID</td>
|
|
||||||
<td>Yes</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Must be a valid uuid representative of an external network.</td>
|
|
||||||
<td/>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>enable_snat</td>
|
|
||||||
<td>Boolean</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>True</td>
|
|
||||||
<td>{True|False}</td>
|
|
||||||
<td>The default setting is <literal>True</literal> to ensure backward compatibility
|
|
||||||
for plugins supporting this extension.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<para>SNAT can be enabled or disabled at any time on a Neutron router regardless of the
|
|
||||||
current status of floating IPs. Floating IPs will continue working even when SNAT is
|
|
||||||
disabled.</para>
|
|
||||||
<section xml:id="list_routers_extgwmodes">
|
|
||||||
<title>List Routers</title>
|
|
||||||
<para>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/routers</td>
|
|
||||||
<td>Retrieve Neutron routers</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<simpara>Success and error response codes are not changed with regards to the operation as
|
|
||||||
introduced by the L3 API extension.</simpara>
|
|
||||||
<simpara>When this extension is enabled, this operation will also return the current Source
|
|
||||||
NAT status for configured routers, as shown in the sample below.</simpara>
|
|
||||||
<simpara>The response for the <emphasis>show router</emphasis> operation is the same, with
|
|
||||||
the obvious exception that a single router is returned.</simpara>
|
|
||||||
<example>
|
|
||||||
<title>Router list with configurable external gateway modes enabled</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/routers-get-enablesnat-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="create_router_extgwmodes">
|
|
||||||
<title>Create Router with external gateway</title>
|
|
||||||
<para>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&POST;</td>
|
|
||||||
<td>/routers</td>
|
|
||||||
<td>Create a new Neutron router</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
<para>Success and error response codes are not changed with regards to the operation as
|
|
||||||
introduced by the L3 API extension.</para>
|
|
||||||
<para>Neutron API users can specify whether SNAT should be performed on the network
|
|
||||||
specifed as the router's external gateway by setting <literal>enable_snat</literal> in
|
|
||||||
<literal>external_gateway_info</literal> to either <literal>True</literal> or
|
|
||||||
<literal>False</literal>; the default value is <literal>True</literal>.</para>
|
|
||||||
<example>
|
|
||||||
<title>Create router with SNAT disabled</title>
|
|
||||||
<programlisting><xi:include href="samples/router-create-enablesnat.sample" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="update_router_extgwmodes">
|
|
||||||
<title>Update Router's external gateway info</title>
|
|
||||||
<para>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&PUT;</td>
|
|
||||||
<td>/routers/<literal>router_id</literal></td>
|
|
||||||
<td>Create a new Neutron router</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Success and error response codes are not changed with regards to the operation as
|
|
||||||
introduced by the L3 API extension.</para>
|
|
||||||
<para>Neutron API users can enable or disable SNAT on a router specifying the
|
|
||||||
<literal>enable_snat</literal> attribute in the
|
|
||||||
<literal>external_gateway_info</literal> attribute for the router resource. This
|
|
||||||
operation can be either used for updating the SNAT status only, the
|
|
||||||
external network, or both attributes at the same time. In any case, if
|
|
||||||
the <literal>enable_snat</literal> attribute is not specified, it will default to
|
|
||||||
<literal>True</literal>. For instance, if the current SNAT status is disabled, and
|
|
||||||
the router's gateway is updated to a different external network without specifying
|
|
||||||
<literal>enable_snat</literal>, SNAT will be enabled for the new network.</para>
|
|
||||||
<para>It is important to note that whenever updating a router's external gateway
|
|
||||||
information, the <literal>network_id </literal>parameter must be specified always, even
|
|
||||||
if the final goal is just to enable or disable SNAT for the router on the same
|
|
||||||
external network.</para>
|
|
||||||
<para>The rest of this section provides some samples for updating a router's external gateway
|
|
||||||
info with SNAT mode.</para>
|
|
||||||
<para>
|
|
||||||
<example>
|
|
||||||
<title>Disable SNAT for the current external network</title>
|
|
||||||
<programlisting><xi:include href="samples/router-update-enablesnat-1.sample" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Change external network and enable SNAT</title>
|
|
||||||
<programlisting><xi:include href="samples/router-update-enablesnat-2.sample" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Change external network and keep SNAT disabled</title>
|
|
||||||
<programlisting><xi:include href="samples/router-update-enablesnat-3.sample" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
|
|
||||||
</section>
|
|
@ -1,262 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section [
|
|
||||||
<!-- Some useful entities borrowed from HTML -->
|
|
||||||
<!ENTITY ndash "–">
|
|
||||||
<!ENTITY mdash "—">
|
|
||||||
<!ENTITY hellip "…">
|
|
||||||
<!ENTITY plusmn "±">
|
|
||||||
|
|
||||||
<!-- Useful for describing APIs -->
|
|
||||||
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
|
||||||
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
|
||||||
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
|
||||||
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
|
||||||
|
|
||||||
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
|
||||||
<imageobject>
|
|
||||||
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
|
||||||
format="SVG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
</inlinemediaobject>'>
|
|
||||||
|
|
||||||
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
|
||||||
<imageobject>
|
|
||||||
<imagedata fileref="figures/Arrow_east.svg"
|
|
||||||
format="SVG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
</inlinemediaobject>'>
|
|
||||||
<!ENTITY APIv2 'Networking API v2.0'>
|
|
||||||
]>
|
|
||||||
<section xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
|
||||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
|
||||||
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
|
||||||
status="final" xml:id="quotas_ext">
|
|
||||||
<title>Quotas</title>
|
|
||||||
<para>The <db:filename>neutron.conf</db:filename> configuration file defines default quota
|
|
||||||
values that are applied identically to all tenants. This extension enables an admin user to
|
|
||||||
define quotas values on a per-tenant basis. For example, an admin user can permit tenant A
|
|
||||||
to create at most X networks, and permit tenant B to create at most Y networks.</para>
|
|
||||||
<para>If quotas per tenant is needed, you must enable the Quotas
|
|
||||||
extension. For information, see the <citetitle>OpenStack
|
|
||||||
Cloud Administrator Guide</citetitle>.</para>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr align="center">
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/quotas</td>
|
|
||||||
<td>Lists quotas for tenants who have non-default
|
|
||||||
quota values.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/quotas/<parameter>tenant_id</parameter></td>
|
|
||||||
<td>Shows quotas for a specified tenant.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&PUT;</td>
|
|
||||||
<td>/quotas/<parameter>tenant_id</parameter></td>
|
|
||||||
<td>Updates quotas for a specified tenant. Use when
|
|
||||||
non-default quotas are desired.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&DELETE;</td>
|
|
||||||
<td>/quotas/<parameter>tenant_id</parameter></td>
|
|
||||||
<td>Resets quotas to default values for a specified
|
|
||||||
tenant.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
<section xml:id="List_Quotas">
|
|
||||||
<title>List Quotas</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/quotas</td>
|
|
||||||
<td> Lists quotas for tenants who have non-default
|
|
||||||
quota values.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error Response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation does not require a request body. </para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>List Quotas: JSON Request</title>
|
|
||||||
<programlisting>GET /v2.0/quotas HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: c52a1b304fec4ca0ac85dc1741eec6e2</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List Quotas: JSON Response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/quotas-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
<section xml:id="Show_Quotas">
|
|
||||||
<title>Show Quotas</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/quotas/<parameter>tenant_id</parameter></td>
|
|
||||||
<td>Shows quotas for a specified tenant.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error Response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation returns information for the quotas of the
|
|
||||||
tenant specified in the request URI. </para>
|
|
||||||
<para>This operation does not require a request body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Show Quotas: JSON Request</title>
|
|
||||||
<programlisting>GET /v2.0/quotas/5fcfbc3283a142a5bb6978b549a511ac.json HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: a54d6fdda41341f892150e2aaf648f0d</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Show Quotas: JSON Response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/quotas-show-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
<section xml:id="Update_Quotas">
|
|
||||||
<title>Update Quotas</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&PUT;</td>
|
|
||||||
<td>/quotas/<parameter>tenant_id</parameter></td>
|
|
||||||
<td>Updates quotas for a specified tenant. Use
|
|
||||||
when non-default quotas are desired.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error Response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation updates quotas for a given tenant.</para>
|
|
||||||
<para>This operation requires a request body. The body
|
|
||||||
contains the resource names and their new quota values. </para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Update Quotas: JSON Request</title>
|
|
||||||
<programlisting>PUT /v2.0/quotas/5fcfbc3283a142a5bb6978b549a511ac.json HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 4cbb09e780434b249ff596d6979fd8fc
|
|
||||||
Content-Length: 88
|
|
||||||
<xi:include href="samples/quotas-put-req.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Update Quotas: JSON Response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/quotas-put-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
<section xml:id="Reset_Quotas">
|
|
||||||
<title>Reset Quotas</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&DELETE;</td>
|
|
||||||
<td>/quotas/<parameter>tenant_id</parameter></td>
|
|
||||||
<td>Resets quotas to default values for a
|
|
||||||
specified tenant.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>204</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error Response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation resets quotas of a given tenant to
|
|
||||||
default values.</para>
|
|
||||||
<para>This operation does not require a request body.</para>
|
|
||||||
<para>This operation does not return a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Reset Quotas: JSON Request</title>
|
|
||||||
<programlisting>DELETE /v2.0/quotas/5fcfbc3283a142a5bb6978b549a511ac.json HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 903857de62274690911c364b60582440</programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,2 +1,3 @@
|
|||||||
<network
|
<network>
|
||||||
name="test_create_network"/>
|
<name>sample_network</name>
|
||||||
|
</network>
|
||||||
|
15
v2.0/samples/network-post-resp.json
Normal file
15
v2.0/samples/network-post-resp.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
'status': '201'
|
||||||
|
'content-length': '194'
|
||||||
|
'content-type': 'application/json;
|
||||||
|
|
||||||
|
{
|
||||||
|
"network": {
|
||||||
|
"admin_state_up": true,
|
||||||
|
"id": "850d3f2c-f0a5-4f8b-b1cf-5836fc0be940",
|
||||||
|
"name": "sample_network",
|
||||||
|
"shared": false,
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": [],
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
}
|
||||||
|
}
|
13
v2.0/samples/network-post-resp.xml
Normal file
13
v2.0/samples/network-post-resp.xml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets quantum:type="list" />
|
||||||
|
<name>sample_network</name>
|
||||||
|
<tenant_id>4be6b806faa0491eb358018bbe9f0d4e</tenant_id>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>0657ef52-d3f6-4320-9c26-015a3e9badea</id>
|
||||||
|
</network>
|
12
v2.0/samples/network-put-update-resp.json
Normal file
12
v2.0/samples/network-put-update-resp.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"network":
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": ["e12f0c45-46e3-446a-b207-9474b27687a6"],
|
||||||
|
"name": "private",
|
||||||
|
"admin_state_up": true,
|
||||||
|
"tenant_id": "625887121e364204873d362b553ab171",
|
||||||
|
"id": "9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"shared": false
|
||||||
|
}
|
||||||
|
}
|
16
v2.0/samples/network-put-update-resp.xml
Normal file
16
v2.0/samples/network-put-update-resp.xml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0" xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets>
|
||||||
|
<subnet>e12f0c45-46e3-446a-b207-9474b27687a6</subnet>
|
||||||
|
</subnets>
|
||||||
|
<name>private</name>
|
||||||
|
<provider:physical_network xsi:nil="true" />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>9d83c053-b0a4-4682-ae80-c00df269ce0a</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true" />
|
||||||
|
</network>
|
6
v2.0/samples/network-put-update.req.json
Normal file
6
v2.0/samples/network-put-update.req.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"network":
|
||||||
|
{
|
||||||
|
"name": "updated_name"
|
||||||
|
}
|
||||||
|
}
|
3
v2.0/samples/network-put-update.req.xml
Normal file
3
v2.0/samples/network-put-update.req.xml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0" xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<name>nova2</name>
|
||||||
|
</network>
|
28
v2.0/samples/networks-create-bulk-resp.json
Normal file
28
v2.0/samples/networks-create-bulk-resp.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"networks": [
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": [],
|
||||||
|
"name": "sample_network_1",
|
||||||
|
"provider:physical_network": null,
|
||||||
|
"admin_state_up": false,
|
||||||
|
"tenant_id": "60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"provider:network_type": "local",
|
||||||
|
"router:external": false,
|
||||||
|
"shared": false,
|
||||||
|
"id": "e9330b1f-a2ef-4160-a951-169ee6ab17f5",
|
||||||
|
"provider:segmentation_id": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": [],
|
||||||
|
"name": "sample_network_2",
|
||||||
|
"provider:physical_network": null,
|
||||||
|
"admin_state_up": false,
|
||||||
|
"tenant_id": "60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"provider:network_type": "local",
|
||||||
|
"router:external": false,
|
||||||
|
"shared": false,
|
||||||
|
"id": "cfb5f52c-dfe2-4357-a10d-a225693e2b84",
|
||||||
|
"provider:segmentation_id": null}]
|
||||||
|
}
|
33
v2.0/samples/networks-create-bulk-resp.xml
Normal file
33
v2.0/samples/networks-create-bulk-resp.xml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<networks xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:router="http://docs.openstack.org/ext/neutron/router/api/v1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<network>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets quantum:type="list" />
|
||||||
|
<name>sample_network_1</name>
|
||||||
|
<provider:physical_network xsi:nil="true" />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>9eb3ce34-183b-4a75-b08f-d6a3d241e68b</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true" />
|
||||||
|
</network>
|
||||||
|
<network>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets quantum:type="list" />
|
||||||
|
<name>sample_network_2</name>
|
||||||
|
<provider:physical_network xsi:nil="true" />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>df679a25-915d-41ed-b5ec-721481ddfd56</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true" />
|
||||||
|
</network>
|
||||||
|
</networks>
|
12
v2.0/samples/networks-get-detail-resp.json
Normal file
12
v2.0/samples/networks-get-detail-resp.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"network":
|
||||||
|
{
|
||||||
|
"status": "ACTIVE",
|
||||||
|
"subnets": ["e12f0c45-46e3-446a-b207-9474b27687a6"],
|
||||||
|
"name": "private",
|
||||||
|
"admin_state_up": true,
|
||||||
|
"tenant_id": "625887121e364204873d362b553ab171",
|
||||||
|
"id": "9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"shared": false
|
||||||
|
}
|
||||||
|
}
|
16
v2.0/samples/networks-get-detail-resp.xml
Normal file
16
v2.0/samples/networks-get-detail-resp.xml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<network xmlns="http://openstack.org/quantum/api/v2.0" xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<subnets>
|
||||||
|
<subnet>e12f0c45-46e3-446a-b207-9474b27687a6</subnet>
|
||||||
|
</subnets>
|
||||||
|
<name>private</name>
|
||||||
|
<provider:physical_network xsi:nil="true" />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
|
<router:external quantum:type="bool">False</router:external>
|
||||||
|
<shared quantum:type="bool">False</shared>
|
||||||
|
<id>9d83c053-b0a4-4682-ae80-c00df269ce0a</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true" />
|
||||||
|
</network>
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<networks xmlns="http://openstack.org/quantum/api/v2.0"
|
<networks xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:provider="http://docs.openstack.org/ext/provider/api/v1.0"
|
||||||
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0"
|
xmlns:router="http://docs.openstack.org/ext/quantum/router/api/v1.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
@ -9,11 +10,14 @@
|
|||||||
<subnet>a318fcb4-9ff0-4485-b78c-9e6738c21b26</subnet>
|
<subnet>a318fcb4-9ff0-4485-b78c-9e6738c21b26</subnet>
|
||||||
</subnets>
|
</subnets>
|
||||||
<name>private</name>
|
<name>private</name>
|
||||||
|
<provider:physical_network xsi:nil="true"/>
|
||||||
<admin_state_up quantum:type="bool">True</admin_state_up>
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
<router:external quantum:type="bool">False</router:external>
|
<router:external quantum:type="bool">False</router:external>
|
||||||
<shared quantum:type="bool">False</shared>
|
<shared quantum:type="bool">False</shared>
|
||||||
<id>9d83c053-b0a4-4682-ae80-c00df269ce0a</id>
|
<id>9d83c053-b0a4-4682-ae80-c00df269ce0a</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true"/>
|
||||||
</network>
|
</network>
|
||||||
<network>
|
<network>
|
||||||
<status>ACTIVE</status>
|
<status>ACTIVE</status>
|
||||||
@ -21,10 +25,13 @@
|
|||||||
<subnet>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet>
|
<subnet>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet>
|
||||||
</subnets>
|
</subnets>
|
||||||
<name>nova</name>
|
<name>nova</name>
|
||||||
|
<provider:physical_network xsi:nil="true"/>
|
||||||
<admin_state_up quantum:type="bool">True</admin_state_up>
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
<tenant_id>63878e4c5dd649d2a980e37aefddfa87</tenant_id>
|
<tenant_id>63878e4c5dd649d2a980e37aefddfa87</tenant_id>
|
||||||
|
<provider:network_type>local</provider:network_type>
|
||||||
<router:external quantum:type="bool">True</router:external>
|
<router:external quantum:type="bool">True</router:external>
|
||||||
<shared quantum:type="bool">False</shared>
|
<shared quantum:type="bool">False</shared>
|
||||||
<id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</id>
|
<id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</id>
|
||||||
|
<provider:segmentation_id xsi:nil="true"/>
|
||||||
</network>
|
</network>
|
||||||
</networks>
|
</networks>
|
||||||
|
11
v2.0/samples/networks-post-create-bulk-req.json
Normal file
11
v2.0/samples/networks-post-create-bulk-req.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"networks": [
|
||||||
|
{
|
||||||
|
"name": "sample_network_1",
|
||||||
|
"admin_state_up": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sample_network_2",
|
||||||
|
"admin_state_up": false
|
||||||
|
}]
|
||||||
|
}
|
8
v2.0/samples/networks-post-create-bulk-req.xml
Normal file
8
v2.0/samples/networks-post-create-bulk-req.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<networks>
|
||||||
|
<network>
|
||||||
|
<name>sample_network_1</name>
|
||||||
|
</network>
|
||||||
|
<network>
|
||||||
|
<name>sample_network_2</name>
|
||||||
|
</network>
|
||||||
|
</networks>
|
8
v2.0/samples/port-post-create-req.json
Normal file
8
v2.0/samples/port-post-create-req.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"port": {
|
||||||
|
"admin_state_up": true,
|
||||||
|
"device_id": "d6b4d3a5-c700-476f-b609-1493dd9dadc0",
|
||||||
|
"name": "port1",
|
||||||
|
"network_id": "6aeaf34a-c482-4bd3-9dc3-7faf36412f12"
|
||||||
|
}
|
||||||
|
}
|
49
v2.0/samples/ports-create-bulk-resp.json
Normal file
49
v2.0/samples/ports-create-bulk-resp.json
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"status":"DOWN",
|
||||||
|
"binding:host_id":null,
|
||||||
|
"name":"sample_port_1",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id":"60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":true
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:2e:7c:8a",
|
||||||
|
"fixed_ips":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"id":"8fb361d8-bab0-418d-b1b8-7204a230fb06",
|
||||||
|
"security_groups":[
|
||||||
|
"99f465bc-0d7c-4142-8829-7ae0179f2fa8"
|
||||||
|
],
|
||||||
|
"device_id":""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"DOWN",
|
||||||
|
"binding:host_id":null,
|
||||||
|
"name":"sample_port_2",
|
||||||
|
"admin_state_up":false,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id":"60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":true
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:0a:4e:13",
|
||||||
|
"fixed_ips":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"id":"d4c93b0b-f593-424e-a199-d648478a5a3c",
|
||||||
|
"security_groups":[
|
||||||
|
"99f465bc-0d7c-4142-8829-7ae0179f2fa8"
|
||||||
|
],
|
||||||
|
"device_id":""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
46
v2.0/samples/ports-create-bulk-resp.xml
Normal file
46
v2.0/samples/ports-create-bulk-resp.xml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<ports xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:binding="http://docs.openstack.org/ext/binding/api/v1.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<port>
|
||||||
|
<status>DOWN</status>
|
||||||
|
<binding:host_id xsi:nil="true" />
|
||||||
|
<name>test_port_1</name>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner />
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">True</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:c9:8d:cf</mac_address>
|
||||||
|
<fixed_ips quantum:type="list" />
|
||||||
|
<id>7f0aa3f1-883a-43b2-8d1b-e85fac52b417</id>
|
||||||
|
<security_groups>
|
||||||
|
<security_group>99f465bc-0d7c-4142-8829-7ae0179f2fa8</security_group>
|
||||||
|
</security_groups>
|
||||||
|
<device_id />
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>DOWN</status>
|
||||||
|
<binding:host_id xsi:nil="true" />
|
||||||
|
<name>test_port_2</name>
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner />
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">True</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:79:90:81</mac_address>
|
||||||
|
<fixed_ips quantum:type="list" />
|
||||||
|
<id>a4a81484-c1c4-4b2b-95bc-f8c4484241d0</id>
|
||||||
|
<security_groups>
|
||||||
|
<security_group>99f465bc-0d7c-4142-8829-7ae0179f2fa8</security_group>
|
||||||
|
</security_groups>
|
||||||
|
<device_id />
|
||||||
|
</port>
|
||||||
|
</ports>
|
88
v2.0/samples/ports-get-resp.json
Normal file
88
v2.0/samples/ports-get-resp.json
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"ebda9658-093b-41ba-80ce-0cf8cb8365d4",
|
||||||
|
"tenant_id":"63878e4c5dd649d2a980e37aefddfa87",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"compute:None",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:b9:ef:05",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"aca4d43c-c48c-4a2c-9bb6-ba374ef7e135",
|
||||||
|
"ip_address":"172.24.4.227"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"664ebd1a-facd-4c20-948c-07a784475ab0",
|
||||||
|
"device_id":"f288bb5f-920d-4276-8345-2c0319c16f58"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"DOWN",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"ebda9658-093b-41ba-80ce-0cf8cb8365d4",
|
||||||
|
"tenant_id":"",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"network:router_gateway",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:4a:3a:a2",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"aca4d43c-c48c-4a2c-9bb6-ba374ef7e135",
|
||||||
|
"ip_address":"172.24.4.226"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"c5ca7017-c390-4ccc-8cd7-333747e57fef",
|
||||||
|
"device_id":"0dc517bf-9169-4aa6-88b7-569219962881"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"tenant_id":"625887121e364204873d362b553ab171",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"network:router_interface",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:2d:dc:7e",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"a318fcb4-9ff0-4485-b78c-9e6738c21b26",
|
||||||
|
"ip_address":"10.0.0.1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"d7815f5b-a228-47bb-a5e5-f139c4e476f6",
|
||||||
|
"device_id":"0dc517bf-9169-4aa6-88b7-569219962881"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status":"ACTIVE",
|
||||||
|
"name":"",
|
||||||
|
"admin_state_up":true,
|
||||||
|
"network_id":"9d83c053-b0a4-4682-ae80-c00df269ce0a",
|
||||||
|
"tenant_id":"625887121e364204873d362b553ab171",
|
||||||
|
"binding:vif_type":"ovs",
|
||||||
|
"device_owner":"network:dhcp",
|
||||||
|
"binding:capabilities":{
|
||||||
|
"port_filter":false
|
||||||
|
},
|
||||||
|
"mac_address":"fa:16:3e:73:6d:1c",
|
||||||
|
"fixed_ips":[
|
||||||
|
{
|
||||||
|
"subnet_id":"a318fcb4-9ff0-4485-b78c-9e6738c21b26",
|
||||||
|
"ip_address":"10.0.0.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id":"f8639521-fab2-4879-94b2-83a47bee8a26",
|
||||||
|
"device_id":"dhcpe1b8334f-9be9-5e49-aeee-b31e6df6c847-9d83c053-b0a4-4682-ae80-c00df269ce0a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
87
v2.0/samples/ports-get-resp.xml
Normal file
87
v2.0/samples/ports-get-resp.xml
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<ports xmlns="http://openstack.org/quantum/api/v2.0" xmlns:binding="http://docs.openstack.org/ext/binding/api/v1.0" xmlns:quantum="http://openstack.org/quantum/api/v2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<port>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</network_id>
|
||||||
|
<tenant_id>63878e4c5dd649d2a980e37aefddfa87</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>compute:None</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:b9:ef:05</mac_address>
|
||||||
|
<fixed_ips>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet_id>
|
||||||
|
<ip_address>172.24.4.227</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>664ebd1a-facd-4c20-948c-07a784475ab0</id>
|
||||||
|
<device_id>f288bb5f-920d-4276-8345-2c0319c16f58</device_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>DOWN</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>ebda9658-093b-41ba-80ce-0cf8cb8365d4</network_id>
|
||||||
|
<tenant_id />
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>network:router_gateway</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:4a:3a:a2</mac_address>
|
||||||
|
<fixed_ips>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>aca4d43c-c48c-4a2c-9bb6-ba374ef7e135</subnet_id>
|
||||||
|
<ip_address>172.24.4.226</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>c5ca7017-c390-4ccc-8cd7-333747e57fef</id>
|
||||||
|
<device_id>0dc517bf-9169-4aa6-88b7-569219962881</device_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>9d83c053-b0a4-4682-ae80-c00df269ce0a</network_id>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>network:router_interface</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:2d:dc:7e</mac_address>
|
||||||
|
<fixed_ip>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>a318fcb4-9ff0-4485-b78c-9e6738c21b26</subnet_id>
|
||||||
|
<ip_address>10.0.0.1</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>d7815f5b-a228-47bb-a5e5-f139c4e476f6</id>
|
||||||
|
<device_id>0dc517bf-9169-4aa6-88b7-569219962881</device_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<status>ACTIVE</status>
|
||||||
|
<name />
|
||||||
|
<admin_state_up quantum:type="bool">True</admin_state_up>
|
||||||
|
<network_id>9d83c053-b0a4-4682-ae80-c00df269ce0a</network_id>
|
||||||
|
<tenant_id>625887121e364204873d362b553ab171</tenant_id>
|
||||||
|
<binding:vif_type>ovs</binding:vif_type>
|
||||||
|
<device_owner>network:dhcp</device_owner>
|
||||||
|
<binding:capabilities>
|
||||||
|
<port_filter quantum:type="bool">False</port_filter>
|
||||||
|
</binding:capabilities>
|
||||||
|
<mac_address>fa:16:3e:73:6d:1c</mac_address>
|
||||||
|
<fixed_ips>
|
||||||
|
<fixed_ip>
|
||||||
|
<subnet_id>a318fcb4-9ff0-4485-b78c-9e6738c21b26</subnet_id>
|
||||||
|
<ip_address>10.0.0.2</ip_address>
|
||||||
|
</fixed_ip>
|
||||||
|
</fixed_ips>
|
||||||
|
<id>f8639521-fab2-4879-94b2-83a47bee8a26</id>
|
||||||
|
<device_id>dhcpe1b8334f-9be9-5e49-aeee-b31e6df6c847-9d83c053-b0a4-4682-ae80-c00df269ce0a</device_id>
|
||||||
|
</port>
|
||||||
|
</ports>
|
14
v2.0/samples/ports-post-create-bulk-req.json
Normal file
14
v2.0/samples/ports-post-create-bulk-req.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"name":"sample_port_1",
|
||||||
|
"admin_state_up":false,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"sample_port_2",
|
||||||
|
"admin_state_up":false,
|
||||||
|
"network_id":"a3775a7d-9f8b-4148-be81-c84bbd0837ce"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
11
v2.0/samples/ports-post-create-bulk-req.xml
Normal file
11
v2.0/samples/ports-post-create-bulk-req.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ports>
|
||||||
|
<port>
|
||||||
|
<name>test_port_1</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<name>test_port_2</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
</port>
|
||||||
|
</ports>
|
28
v2.0/samples/subnets-create-bulk-resp.json
Normal file
28
v2.0/samples/subnets-create-bulk-resp.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{
|
||||||
|
"name": "sample_subnet_1",
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id": "60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"allocation_pools":[{"start": "10.100.0.2", "end": "10.100.255.254"}],
|
||||||
|
"host_routes": [],
|
||||||
|
"ip_version": 4,
|
||||||
|
"gateway_ip": "10.100.0.1",
|
||||||
|
"cidr": "10.100.0.0/16",
|
||||||
|
"id": "70ffbaeb-4b43-4605-abe6-4c5bdbb8236b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sample_subnet_2",
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"tenant_id": "60cd4f6dbc2f491982a284e7b83b5be3",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"allocation_pools": [{"start": "172.16.0.2", "end": "172.31.255.254"}],
|
||||||
|
"host_routes": [],
|
||||||
|
"ip_version": 4,
|
||||||
|
"gateway_ip": "172.16.0.1",
|
||||||
|
"cidr": "172.16.0.0/12",
|
||||||
|
"id": "d849e3fc-557d-4b27-8f1c-aceca1daa410"}]
|
||||||
|
}
|
41
v2.0/samples/subnets-create-bulk-resp.xml
Normal file
41
v2.0/samples/subnets-create-bulk-resp.xml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<subnets xmlns="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:quantum="http://openstack.org/quantum/api/v2.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_1</name>
|
||||||
|
<enable_dhcp quantum:type="bool">True</enable_dhcp>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<dns_nameservers quantum:type="list" />
|
||||||
|
<allocation_pools>
|
||||||
|
<allocation_pool>
|
||||||
|
<start>10.0.0.2</start>
|
||||||
|
<end>10.255.255.254</end>
|
||||||
|
</allocation_pool>
|
||||||
|
</allocation_pools>
|
||||||
|
<host_routes quantum:type="list" />
|
||||||
|
<ip_version quantum:type="int">4</ip_version>
|
||||||
|
<gateway_ip>10.0.0.1</gateway_ip>
|
||||||
|
<cidr>10.0.0.0/8</cidr>
|
||||||
|
<id>bd3fd365-fe19-431a-be63-07017a09316c</id>
|
||||||
|
</subnet>
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_2</name>
|
||||||
|
<enable_dhcp quantum:type="bool">True</enable_dhcp>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
|
||||||
|
<dns_nameservers quantum:type="list" />
|
||||||
|
<allocation_pools>
|
||||||
|
<allocation_pool>
|
||||||
|
<start>192.168.0.2</start>
|
||||||
|
<end>192.168.255.254</end>
|
||||||
|
</allocation_pool>
|
||||||
|
</allocation_pools>
|
||||||
|
<host_routes quantum:type="list" />
|
||||||
|
<ip_version quantum:type="int">4</ip_version>
|
||||||
|
<gateway_ip>192.168.0.1</gateway_ip>
|
||||||
|
<cidr>192.168.0.0/16</cidr>
|
||||||
|
<id>86e7c838-fb75-402b-9dbf-d68166e3f5fe</id>
|
||||||
|
</subnet>
|
||||||
|
</subnets>
|
40
v2.0/samples/subnets-get-resp.json
Normal file
40
v2.0/samples/subnets-get-resp.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{
|
||||||
|
"allocation_pools": [
|
||||||
|
{
|
||||||
|
"end": "10.0.3.254",
|
||||||
|
"start": "10.0.3.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cidr": "10.0.3.0/24",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"gateway_ip": "10.0.3.1",
|
||||||
|
"host_routes": [],
|
||||||
|
"id": "91e47a57-7508-46fe-afc9-fc454e8580e1",
|
||||||
|
"ip_version": 4,
|
||||||
|
"name": "",
|
||||||
|
"network_id": "1a6f6006-9e0b-4f99-984c-96787ae66363",
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allocation_pools": [
|
||||||
|
{
|
||||||
|
"end": "10.0.2.254",
|
||||||
|
"start": "10.0.2.2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cidr": "10.0.2.0/24",
|
||||||
|
"dns_nameservers": [],
|
||||||
|
"enable_dhcp": true,
|
||||||
|
"gateway_ip": "10.0.2.1",
|
||||||
|
"host_routes": [],
|
||||||
|
"id": "e3c3620c-9d24-4470-b226-739da2f617c0",
|
||||||
|
"ip_version": 4,
|
||||||
|
"name": "",
|
||||||
|
"network_id": "1a6f6006-9e0b-4f99-984c-96787ae66363",
|
||||||
|
"tenant_id": "f667b69e4d6749749ef3bcba7251d9ce"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
14
v2.0/samples/subnets-post-create-bulk-req.json
Normal file
14
v2.0/samples/subnets-post-create-bulk-req.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"subnets": [
|
||||||
|
{"name": "sample_subnet_1",
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"cidr": "10.100.0.0/16",
|
||||||
|
"ip_version": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sample_subnet_2",
|
||||||
|
"network_id": "a3775a7d-9f8b-4148-be81-c84bbd0837ce",
|
||||||
|
"cidr": "172.16.0.0/12",
|
||||||
|
"ip_version": 4
|
||||||
|
}]
|
||||||
|
}
|
14
v2.0/samples/subnets-post-create-bulk-req.xml
Normal file
14
v2.0/samples/subnets-post-create-bulk-req.xml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<subnets>
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_1</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<cidr>10.0.0.0/8</cidr>
|
||||||
|
<ip_version>4</ip_version>
|
||||||
|
</subnet>
|
||||||
|
<subnet>
|
||||||
|
<name>test_subnet_2</name>
|
||||||
|
<network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
|
||||||
|
<cidr>192.168.0.0/16</cidr>
|
||||||
|
<ip_version>4</ip_version>
|
||||||
|
</subnet>
|
||||||
|
</subnets>
|
@ -35,17 +35,23 @@
|
|||||||
</inlinemediaobject>'>
|
</inlinemediaobject>'>
|
||||||
<!ENTITY APIv2 'Networking API v2.0'>
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
]>
|
]>
|
||||||
<section xml:id="allowed_address_pair_ext" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
<section xml:id="allowed_address_pair_ext"
|
||||||
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
<title>The Allowed Address Pair Extension</title>
|
<title>The Allowed Address Pair Extension</title>
|
||||||
<para>The Allowed Address Pair extension extends the port attribute to
|
<para>The Allowed Address Pair extension extends the port
|
||||||
allow one to specify arbitrary mac_address/ip_address(cidr) pairs
|
attribute to allow one to specify arbitrary
|
||||||
that are allowed to pass through a port regardness of the subnet
|
mac_address/ip_address(cidr) pairs that are allowed to pass
|
||||||
associated with the network. </para>
|
through a port regardness of the subnet associated with the
|
||||||
|
network. </para>
|
||||||
<?hard-pagebreak?>
|
<?hard-pagebreak?>
|
||||||
<section xml:id="allowed_address_pair_ext_ops">
|
<section xml:id="allowed_address_pair_ext_ops">
|
||||||
<title>Port API operations with allowed address pair extension</title>
|
<title>Port API operations with allowed address pair
|
||||||
<para>This section discusses operations for setting and retrieving the allowed address pair
|
extension</title>
|
||||||
extension attributes for port objects.</para>
|
<para>This section discusses operations for setting and
|
||||||
|
retrieving the allowed address pair extension attributes
|
||||||
|
for port objects.</para>
|
||||||
<section xml:id="allowed_address_pair_ext_port_list">
|
<section xml:id="allowed_address_pair_ext_port_list">
|
||||||
<title>List Ports</title>
|
<title>List Ports</title>
|
||||||
<para>
|
<para>
|
||||||
@ -64,22 +70,25 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&GET;</td>
|
<td>&GET;</td>
|
||||||
<td>/ports</td>
|
<td>/ports</td>
|
||||||
<td>Returns a list of ports with their allowed address pair
|
<td>Returns a list of ports with their
|
||||||
attributes.</td>
|
allowed address pair attributes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
</para>
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Codes: 401 Unauthorized</para>
|
<para>Error Response Codes: 401 Unauthorized</para>
|
||||||
<para>This operation returns, for each port, its allowed address pair attributes as well as
|
<para>This operation returns, for each port, its allowed
|
||||||
all the attributes normally returned by the list port operation.</para>
|
address pair attributes as well as all the attributes
|
||||||
|
normally returned by the list port operation.</para>
|
||||||
<example>
|
<example>
|
||||||
<title>List Ports with allowed address pair attributes: JSON Response</title>
|
<title>List Ports with allowed address pair
|
||||||
|
attributes: JSON Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/ports-get-res-addr-pairs.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/ports-get-res-addr-pairs.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
<example>
|
<example>
|
||||||
<title>List Ports with allowed address pair attributes: XML Response</title>
|
<title>List Ports with allowed address pair
|
||||||
|
attributes: XML Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/ports-get-res-addr-pairs.xml" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/ports-get-res-addr-pairs.xml" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
||||||
@ -101,20 +110,24 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&GET;</td>
|
<td>&GET;</td>
|
||||||
<td>/ports/<parameter>port_id</parameter></td>
|
<td>/ports/<parameter>port_id</parameter></td>
|
||||||
<td>Returns details about a specific port, including allowed address
|
<td>Returns details about a specific port,
|
||||||
pair attributes.</td>
|
including allowed address pair
|
||||||
|
attributes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
</para>
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Code: 401 Unauthorized, 404 Not Found</para>
|
<para>Error Response Code: 401 Unauthorized, 404 Not
|
||||||
|
Found</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Show port with allowed address pair atributes: JSON Response</title>
|
<title>Show port with allowed address pair attributes:
|
||||||
|
JSON Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/ports-show-addr-pair.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/ports-show-addr-pair.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
<example>
|
<example>
|
||||||
<title>Show port with allowed address pair attributes: XML Response</title>
|
<title>Show port with allowed address pair attributes:
|
||||||
|
XML Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/ports-show-addr-pair.xml" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/ports-show-addr-pair.xml" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
||||||
@ -136,17 +149,24 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&POST;</td>
|
<td>&POST;</td>
|
||||||
<td>/ports</td>
|
<td>/ports</td>
|
||||||
<td>Creates a new port and explicitly specify the allowed address pair attributes.</td>
|
<td>Creates a new port and explicitly
|
||||||
|
specify the allowed address pair
|
||||||
|
attributes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
</para>
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Code: 400 Bad Request, 401 Unauthorized, 403 Forbidden</para>
|
<para>Error Response Code: 400 Bad Request, 401
|
||||||
<para>Bad request is returned if an allowed address pair matches the mac_address and ip_address on port.</para>
|
Unauthorized, 403 Forbidden</para>
|
||||||
<para>Note: If the mac_address field is left out of the body of the request the mac_address assigned to the port will be used.</para>
|
<para>Bad request is returned if an allowed address pair
|
||||||
|
matches the mac_address and ip_address on port.</para>
|
||||||
|
<para>Note: If the mac_address field is left out of the
|
||||||
|
body of the request the mac_address assigned to the
|
||||||
|
port will be used.</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Create Port with allowed address pair attributes: JSON Request</title>
|
<title>Create Port with allowed address pair
|
||||||
|
attributes: JSON Request</title>
|
||||||
<programlisting language="json"><xi:include href="samples/ports-post-req-addr-pairs.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/ports-post-req-addr-pairs.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
||||||
@ -168,16 +188,18 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&PUT;</td>
|
<td>&PUT;</td>
|
||||||
<td>/ports/<parameter>port_id</parameter></td>
|
<td>/ports/<parameter>port_id</parameter></td>
|
||||||
<td>Updates a port, with new allowed address pair values.</td>
|
<td>Updates a port, with new allowed
|
||||||
|
address pair values.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
</para>
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Code: 400 Bad Request, 401 Unauthorized, 404 Not Found, 403
|
<para>Error Response Code: 400 Bad Request, 401
|
||||||
Forbidden</para>
|
Unauthorized, 404 Not Found, 403 Forbidden</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Update allowed address pair attributes for a port: JSON Request</title>
|
<title>Update allowed address pair attributes for a
|
||||||
|
port: JSON Request</title>
|
||||||
<programlisting language="json"><xi:include href="samples/ports-put-req-addr-pair.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/ports-put-req-addr-pair.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
235
v2.0/section_neutron-extgwmodes-ext.xml
Normal file
235
v2.0/section_neutron-extgwmodes-ext.xml
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE section[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
]>
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
status="final" xml:id="extgwmodes-ext">
|
||||||
|
<title>Configurable external gateway modes extension</title>
|
||||||
|
<para>By default, when a gateway is attached to a router using the
|
||||||
|
Neutron L3 extension, Network Address Translation (NAT) is
|
||||||
|
enabled for traffic generated by subnets attached to the
|
||||||
|
router. With this extension, the user will have the option of
|
||||||
|
choosing whether SNAT should be enabled or not on a router
|
||||||
|
basis.</para>
|
||||||
|
<para>This is achieved simply by specifying a boolean attribute,
|
||||||
|
<literal>enable_snat</literal>, in the
|
||||||
|
<literal>external_gateway_info</literal> attribute of the
|
||||||
|
<literal>router</literal> resource. </para>
|
||||||
|
<para>This extension redefines the external_gateway_info attribute
|
||||||
|
as depicted in the following table. </para>
|
||||||
|
<table rules="all">
|
||||||
|
<caption>external_gateway_info attributes</caption>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="8%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="15%"/>
|
||||||
|
<col width="15%"/>
|
||||||
|
<col width="32%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Attribute </th>
|
||||||
|
<th>Type </th>
|
||||||
|
<th>Required </th>
|
||||||
|
<th>Default Value </th>
|
||||||
|
<th>Validation Constraints </th>
|
||||||
|
<th>Notes</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>network_id</td>
|
||||||
|
<td>UUID</td>
|
||||||
|
<td>Yes</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>Must be a valid uuid representative of an external
|
||||||
|
network.</td>
|
||||||
|
<td/>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>enable_snat</td>
|
||||||
|
<td>Boolean</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>True</td>
|
||||||
|
<td>{True|False}</td>
|
||||||
|
<td>The default setting is <literal>True</literal> to
|
||||||
|
ensure backward compatibility for plugins
|
||||||
|
supporting this extension.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<para>SNAT can be enabled or disabled at any time on a Neutron
|
||||||
|
router regardless of the current status of floating IPs.
|
||||||
|
Floating IPs will continue working even when SNAT is
|
||||||
|
disabled.</para>
|
||||||
|
<section xml:id="list_routers_extgwmodes">
|
||||||
|
<title>List Routers</title>
|
||||||
|
<para>
|
||||||
|
<informaltable rules="all" width="100%">
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="60%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Verb</td>
|
||||||
|
<td>URI</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>&GET;</td>
|
||||||
|
<td>/routers</td>
|
||||||
|
<td>Retrieve Neutron routers</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</para>
|
||||||
|
<simpara>Success and error response codes are not changed with
|
||||||
|
regards to the operation as introduced by the L3 API
|
||||||
|
extension.</simpara>
|
||||||
|
<simpara>When this extension is enabled, this operation will
|
||||||
|
also return the current Source NAT status for configured
|
||||||
|
routers, as shown in the sample below.</simpara>
|
||||||
|
<simpara>The response for the <emphasis>show router</emphasis>
|
||||||
|
operation is the same, with the obvious exception that a
|
||||||
|
single router is returned.</simpara>
|
||||||
|
<example>
|
||||||
|
<title>Router list with configurable external gateway
|
||||||
|
modes enabled</title>
|
||||||
|
<programlisting language="json"><xi:include href="samples/routers-get-enablesnat-res.json" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
</section>
|
||||||
|
<section xml:id="create_router_extgwmodes">
|
||||||
|
<title>Create Router with external gateway</title>
|
||||||
|
<para>
|
||||||
|
<informaltable rules="all" width="100%">
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="60%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Verb</td>
|
||||||
|
<td>URI</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>&POST;</td>
|
||||||
|
<td>/routers</td>
|
||||||
|
<td>Create a new Neutron router</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</para>
|
||||||
|
<para>Success and error response codes are not changed with
|
||||||
|
regards to the operation as introduced by the L3 API
|
||||||
|
extension.</para>
|
||||||
|
<para>Neutron API users can specify whether SNAT should be
|
||||||
|
performed on the network specified as the router's
|
||||||
|
external gateway by setting <literal>enable_snat</literal>
|
||||||
|
in <literal>external_gateway_info</literal> to either
|
||||||
|
<literal>True</literal> or <literal>False</literal>;
|
||||||
|
the default value is <literal>True</literal>.</para>
|
||||||
|
<example>
|
||||||
|
<title>Create router with SNAT disabled</title>
|
||||||
|
<programlisting><xi:include href="samples/router-create-enablesnat.sample" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
</section>
|
||||||
|
<section xml:id="update_router_extgwmodes">
|
||||||
|
<title>Update Router's external gateway info</title>
|
||||||
|
<para>
|
||||||
|
<informaltable rules="all" width="100%">
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="60%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Verb</td>
|
||||||
|
<td>URI</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>&PUT;</td>
|
||||||
|
<td>/routers/<literal>router_id</literal></td>
|
||||||
|
<td>Create a new Neutron router</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</para>
|
||||||
|
<para>Success and error response codes are not changed with
|
||||||
|
regards to the operation as introduced by the L3 API
|
||||||
|
extension.</para>
|
||||||
|
<para>Neutron API users can enable or disable SNAT on a router
|
||||||
|
specifying the <literal>enable_snat</literal> attribute in
|
||||||
|
the <literal>external_gateway_info</literal> attribute for
|
||||||
|
the router resource. This operation can be either used for
|
||||||
|
updating the SNAT status only, the external network, or
|
||||||
|
both attributes at the same time. In any case, if the
|
||||||
|
<literal>enable_snat</literal> attribute is not
|
||||||
|
specified, it will default to <literal>True</literal>. For
|
||||||
|
instance, if the current SNAT status is disabled, and the
|
||||||
|
router's gateway is updated to a different external
|
||||||
|
network without specifying <literal>enable_snat</literal>,
|
||||||
|
SNAT will be enabled for the new network.</para>
|
||||||
|
<para>It is important to note that whenever updating a
|
||||||
|
router's external gateway information, the
|
||||||
|
<literal>network_id </literal>parameter must be
|
||||||
|
specified always, even if the final goal is just to enable
|
||||||
|
or disable SNAT for the router on the same external
|
||||||
|
network.</para>
|
||||||
|
<para>The rest of this section provides some samples for
|
||||||
|
updating a router's external gateway info with SNAT
|
||||||
|
mode.</para>
|
||||||
|
<para>
|
||||||
|
<example>
|
||||||
|
<title>Disable SNAT for the current external
|
||||||
|
network</title>
|
||||||
|
<programlisting><xi:include href="samples/router-update-enablesnat-1.sample" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Change external network and enable SNAT</title>
|
||||||
|
<programlisting><xi:include href="samples/router-update-enablesnat-2.sample" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>Change external network and keep SNAT
|
||||||
|
disabled</title>
|
||||||
|
<programlisting><xi:include href="samples/router-update-enablesnat-3.sample" parse="text"/></programlisting>
|
||||||
|
</example>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
|
||||||
|
</section>
|
@ -35,67 +35,98 @@
|
|||||||
</inlinemediaobject>'>
|
</inlinemediaobject>'>
|
||||||
<!ENTITY APIv2 'Networking API v2.0'>
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
]>
|
]>
|
||||||
<section xml:id="provider_ext" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
<section xml:id="provider_ext" xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
<title>The Provider Networks Extension
|
<title>The Provider Networks Extension
|
||||||
(<literal>provider</literal>)</title>
|
(<literal>provider</literal>)</title>
|
||||||
<para>The provider networks extension allows OpenStack Networking API users with the appropriate rights, to
|
<para>The provider networks extension allows OpenStack Networking
|
||||||
specify how an OpenStack Networking network object is mapped to the underlying networking infrastructure.
|
API users with the appropriate rights, to specify how an
|
||||||
It also allows users with the appropriate rights to view such attributes when networks are
|
OpenStack Networking network object is mapped to the
|
||||||
queried.</para>
|
underlying networking infrastructure. It also allows users
|
||||||
<para>To this aim, it extends the <emphasis role="bold">network</emphasis> resource by defining
|
with the appropriate rights to view such attributes when
|
||||||
a set of attributes prependend by the <emphasis role="italic">provider</emphasis> prefix,
|
networks are queried.</para>
|
||||||
which specify these attributes. </para>
|
<para>To this aim, it extends the <emphasis role="bold"
|
||||||
|
>network</emphasis> resource by defining a set of
|
||||||
|
attributes prefixed with the <emphasis role="italic"
|
||||||
|
>provider</emphasis> prefix, which specify these
|
||||||
|
attributes.</para>
|
||||||
<?hard-pagebreak?>
|
<?hard-pagebreak?>
|
||||||
<section xml:id="provider_ext_concepts">
|
<section xml:id="provider_ext_concepts">
|
||||||
<title>Concepts</title>
|
<title>Concepts</title>
|
||||||
<para>The provider networks extension is an attribute extension which adds the following set
|
<para>The provider networks extension is an attribute
|
||||||
of attributes to the <emphasis role="bold">network</emphasis> resource:</para>
|
extension which adds the following set of attributes to
|
||||||
|
the <emphasis role="bold">network</emphasis>
|
||||||
|
resource:</para>
|
||||||
<para>
|
<para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis role="italic"> provider:network_type</emphasis> - Specifies the
|
<para><emphasis role="italic">
|
||||||
nature of the physical network mapped to this network resource. Examples are
|
provider:network_type</emphasis> -
|
||||||
<literal>flat</literal>, <literal>vlan</literal>, or
|
Specifies the nature of the physical network
|
||||||
|
mapped to this network resource. Examples are
|
||||||
|
<literal>flat</literal>,
|
||||||
|
<literal>vlan</literal>, or
|
||||||
<literal>gre</literal>.</para>
|
<literal>gre</literal>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis role="italic"> provider:physical_network</emphasis> - Identifies
|
<para><emphasis role="italic">
|
||||||
the physical network on top of which this network object is being
|
provider:physical_network</emphasis> -
|
||||||
implemented. The OpenStack Networking API does not expose any facility for retrieving the
|
Identifies the physical network on top of
|
||||||
list of available physical networks. As an example, in the Open vSwitch
|
which this network object is being
|
||||||
plug-in this is a symbolic name which is then mapped to specific bridges on
|
implemented. The OpenStack Networking API does
|
||||||
each compute host through the Open vSwitch plug-in configuration file.</para>
|
not expose any facility for retrieving the
|
||||||
|
list of available physical networks. As an
|
||||||
|
example, in the Open vSwitch plug-in this is a
|
||||||
|
symbolic name which is then mapped to specific
|
||||||
|
bridges on each compute host through the Open
|
||||||
|
vSwitch plug-in configuration file.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis role="italic"> provider:segmentation_id</emphasis> - Identifies
|
<para><emphasis role="italic">
|
||||||
an isolated segment on the physical network; the nature of the segment
|
provider:segmentation_id</emphasis> -
|
||||||
depends on the segmentation model defined by
|
Identifies an isolated segment on the physical
|
||||||
<literal>network_type</literal>. For instance, if
|
network; the nature of the segment depends on
|
||||||
<literal>network_type</literal> is <literal>vlan</literal>, then this is
|
the segmentation model defined by
|
||||||
a <literal>vlan</literal> identifier; otherwise, if
|
<literal>network_type</literal>. For
|
||||||
<literal>network_type</literal> is <literal>gre</literal>, then this
|
instance, if <literal>network_type</literal>
|
||||||
will be a <literal>gre</literal> key. </para>
|
is <literal>vlan</literal>, then this is a
|
||||||
|
<literal>vlan</literal> identifier;
|
||||||
|
otherwise, if <literal>network_type</literal>
|
||||||
|
is <literal>gre</literal>, then this will be a
|
||||||
|
<literal>gre</literal> key.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
<para>The actual semantics of these attributes depend on the technology back end of the
|
<para>The actual semantics of these attributes depend on the
|
||||||
particular plug-in. See the plug-in documentation and the
|
technology back end of the particular plug-in. See the
|
||||||
<citetitle>OpenStack Cloud Administrator Guide</citetitle> to understand which values should be specific for
|
plug-in documentation and the <citetitle>OpenStack Cloud
|
||||||
each of these attributes when OpenStack Networking is deployed with a particular plug-in. The examples
|
Administrator Guide</citetitle> to understand which
|
||||||
shown in this chapter refer to the Open vSwitch plug-in.</para>
|
values should be specific for each of these attributes
|
||||||
<para>It is also worth noting that the default policy settings allow only users with
|
when OpenStack Networking is deployed with a particular
|
||||||
administrative rights to specify these parameters in requests, and to see their values
|
plug-in. The examples shown in this chapter refer to the
|
||||||
in responses. By default, the provider network extension attributes are completely
|
Open vSwitch plug-in.</para>
|
||||||
hidden from regular tenants. As a rule of thumb, if these attributes are not visible in
|
<para>It is also worth noting that the default policy settings
|
||||||
a <emphasis role="italic">GET /networks/<network-id></emphasis> operation, this
|
allow only users with administrative rights to specify
|
||||||
implies the user submitting the request is not authorized to view or manipulate provider
|
these parameters in requests, and to see their values in
|
||||||
network attributes.</para>
|
responses. By default, the provider network extension
|
||||||
|
attributes are completely hidden from regular tenants. As
|
||||||
|
a rule of thumb, if these attributes are not visible in a
|
||||||
|
<emphasis role="italic">GET
|
||||||
|
/networks/<network-id></emphasis> operation, this
|
||||||
|
implies the user submitting the request is not authorized
|
||||||
|
to view or manipulate provider network attributes.</para>
|
||||||
</section>
|
</section>
|
||||||
<?hard-pagebreak?>
|
<?hard-pagebreak?>
|
||||||
<section xml:id="provider_ext_ops">
|
<section xml:id="provider_ext_ops">
|
||||||
<title>Network API operations with provider network extension</title>
|
<title>Network API operations with provider network
|
||||||
<para>This section discusses operations for setting and retrieving the provider networks
|
extension</title>
|
||||||
extension attributes for network objects.</para>
|
<para>This section discusses operations for setting and
|
||||||
|
retrieving the provider networks extension attributes for
|
||||||
|
network objects.</para>
|
||||||
|
<!-- <wadl:resources
|
||||||
|
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-networks-provider-ext.wadl"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"/> -->
|
||||||
<section xml:id="provider_network_list">
|
<section xml:id="provider_network_list">
|
||||||
<title>List Networks</title>
|
<title>List Networks</title>
|
||||||
<para>
|
<para>
|
||||||
@ -114,24 +145,28 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&GET;</td>
|
<td>&GET;</td>
|
||||||
<td>/networks</td>
|
<td>/networks</td>
|
||||||
<td>Returns a list of networks with their provider networks
|
<td>Returns a list of networks with their
|
||||||
attributes.</td>
|
provider networks attributes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
</para>
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Codes: 401 Unauthorized</para>
|
<para>Error Response Codes: 401 Unauthorized</para>
|
||||||
<para>This operation returns, for each network, its provider network attributes as well as
|
<para>This operation returns, for each network, its
|
||||||
all the attributes normally returned by the list networks operation. Please note
|
provider network attributes as well as all the
|
||||||
that provider networks attribute are returned only if the user is authorized to view
|
attributes normally returned by the list networks
|
||||||
them.</para>
|
operation. Provider networks
|
||||||
|
attribute are returned only if the user is authorized
|
||||||
|
to view them.</para>
|
||||||
<example>
|
<example>
|
||||||
<title>List Networks with provider attributes: JSON Response</title>
|
<title>List Networks with provider attributes: JSON
|
||||||
|
Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-get-res-prov.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-get-res-prov.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
<example>
|
<example>
|
||||||
<title>List Networks with provider attributes: XML Response</title>
|
<title>List Networks with provider attributes: XML
|
||||||
|
Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-get-res-prov.xml" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-get-res-prov.xml" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
||||||
@ -153,24 +188,31 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&GET;</td>
|
<td>&GET;</td>
|
||||||
<td>/networks/<parameter>network_id</parameter></td>
|
<td>/networks/<parameter>network_id</parameter></td>
|
||||||
<td>Returns details about a specific network, including provider
|
<td>Returns details about a specific
|
||||||
networks attributes.</td>
|
network, including provider networks
|
||||||
|
attributes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
</para>
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Code: 401 Unauthorized, 404 Not Found</para>
|
<para>Error Response Code: 401 Unauthorized, 404 Not
|
||||||
<para>When the provider networks extension is enabled, and the user submitting the
|
Found</para>
|
||||||
request is authorized to see provider networks mapping, this operation returns, for
|
<para>When the provider networks extension is enabled, and
|
||||||
the network specified in the request URI, its provider network attributes, as well as
|
the user submitting the request is authorized to see
|
||||||
all the attributes normally retuned by the show networks operation.</para>
|
provider networks mapping, this operation returns, for
|
||||||
|
the network specified in the request URI, its provider
|
||||||
|
network attributes, as well as all the attributes
|
||||||
|
normally retuned by the show networks
|
||||||
|
operation.</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Show network with provider attributes: JSON Response</title>
|
<title>Show network with provider attributes: JSON
|
||||||
|
Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-show-res-prov.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-show-res-prov.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
<example>
|
<example>
|
||||||
<title>Show network with provider attributes: XML Response</title>
|
<title>Show network with provider attributes: XML
|
||||||
|
Response</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-show-res-prov.xml" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-show-res-prov.xml" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
||||||
@ -192,37 +234,45 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&POST;</td>
|
<td>&POST;</td>
|
||||||
<td>/networks</td>
|
<td>/networks</td>
|
||||||
<td>Creates a new network and explicitly specify attributes with the
|
<td>Creates a new network and explicitly
|
||||||
underlying infrastructure using the provider network extension
|
specify attributes with the underlying
|
||||||
attributes.</td>
|
infrastructure using the provider
|
||||||
|
network extension attributes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
</para>
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Code: 400 Bad Request, 401 Unauthorized, 403 Forbidden</para>
|
<para>Error Response Code: 400 Bad Request, 401
|
||||||
<para>When the provider networks extension is enabled, and the user submitting the
|
Unauthorized, 403 Forbidden</para>
|
||||||
request is authorized to set provider networks mapping, this operation allows for
|
<para>When the provider networks extension is enabled, and
|
||||||
specifying how a new network should be mapped on the underlying network
|
the user submitting the request is authorized to set
|
||||||
infrastructure.</para>
|
provider networks mapping, this operation allows for
|
||||||
<para>If the user submitting the request is not allowed to set provider networks
|
specifying how a new network should be mapped on the
|
||||||
attributes, a 403 Forbidden response will be returned.</para>
|
underlying network infrastructure.</para>
|
||||||
<para>As stated earlier in this chapter, the semantics of the various provider networks
|
<para>If the user submitting the request is not allowed to
|
||||||
attribute vary with the particular plug-in employed. The following example shows how
|
set provider networks attributes, a 403 Forbidden
|
||||||
to create a network mapped to a specific vlan tag (the example refers to an OpenStack Networking
|
response will be returned.</para>
|
||||||
deployment which uses the Open vSwitch plug-in).</para>
|
<para>As stated earlier in this chapter, the semantics of
|
||||||
|
the various provider networks attribute vary with the
|
||||||
|
particular plug-in employed. The following example
|
||||||
|
shows how to create a network mapped to a specific
|
||||||
|
vlan tag (the example refers to an OpenStack
|
||||||
|
Networking deployment which uses the Open vSwitch
|
||||||
|
plug-in).</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Create Network with provider attributes: JSON Request</title>
|
<title>Create Network with provider attributes: JSON
|
||||||
|
Request</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-post-req-prov.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-post-req-prov.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
<example>
|
<example>
|
||||||
<title>Create Network with provider attributes: XML Request</title>
|
<title>Create Network with provider attributes: XML
|
||||||
|
Request</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-post-req-prov.xml" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-post-req-prov.xml" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="provider_network_update">
|
<section xml:id="provider_network_update">
|
||||||
<title>Update Network</title>
|
<title>Update Network</title>
|
||||||
<para>
|
|
||||||
<informaltable rules="all" width="100%">
|
<informaltable rules="all" width="100%">
|
||||||
<col width="10%"/>
|
<col width="10%"/>
|
||||||
<col width="30%"/>
|
<col width="30%"/>
|
||||||
@ -238,31 +288,39 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>&PUT;</td>
|
<td>&PUT;</td>
|
||||||
<td>/networks/<parameter>network_id</parameter></td>
|
<td>/networks/<parameter>network_id</parameter></td>
|
||||||
<td>Updates a network, including its mapping with the underlying
|
<td>Updates a network, including its mapping
|
||||||
infrastructure using the provider network extension attributes.</td>
|
with the underlying infrastructure using
|
||||||
|
the provider network extension
|
||||||
|
attributes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
</para>
|
|
||||||
<para>Normal Response Code: 200 OK</para>
|
<para>Normal Response Code: 200 OK</para>
|
||||||
<para>Error Response Code: 400 Bad Request, 401 Unauthorized, 404 Not Found, 403
|
<para>Error Response Code: 400 Bad Request, 401
|
||||||
Forbidden</para>
|
Unauthorized, 404 Not Found, 403 Forbidden</para>
|
||||||
<para>When the provider networks extension is enabled, and the user submitting the
|
<para>When the provider networks extension is enabled, and
|
||||||
request is authorized to see provider networks mapping, this operation allows for
|
the user submitting the request is authorized to see
|
||||||
specifying how an existing network should be mapped on the underlying network
|
provider networks mapping, this operation allows for
|
||||||
infrastructure. </para>
|
specifying how an existing network should be mapped on
|
||||||
<para>If the user submitting the request is not allowed to set provider networks
|
the underlying network infrastructure.</para>
|
||||||
attributes, a 403 Forbidden response will be returned.</para>
|
<para>If the user submitting the request is not allowed to
|
||||||
<para>As stated earlier in this chapter, the semantics of the various provider networks
|
set provider networks attributes, a 403 Forbidden
|
||||||
attribute vary with the particular plug-in employed. The following example shows how
|
response will be returned.</para>
|
||||||
to update a network in order to map it to a flat network (such as, no vlan tag); the
|
<para>As stated earlier in this chapter, the semantics of
|
||||||
example refers to an OpenStack Networking deployment that uses the Open vSwitch plug-in.</para>
|
the various provider networks attribute vary with the
|
||||||
|
particular plug-in employed. The following example
|
||||||
|
shows how to update a network in order to map it to a
|
||||||
|
flat network (such as, no vlan tag); the example
|
||||||
|
refers to an OpenStack Networking deployment that uses
|
||||||
|
the Open vSwitch plug-in.</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Update provider attributes for a network: JSON Request</title>
|
<title>Update provider attributes for a network: JSON
|
||||||
|
Request</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-put-req-prov.json" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-put-req-prov.json" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
<example>
|
<example>
|
||||||
<title>Update provider attributes for a network: XML Request</title>
|
<title>Update provider attributes for a network: XML
|
||||||
|
Request</title>
|
||||||
<programlisting language="json"><xi:include href="samples/networks-put-req-prov.xml" parse="text"/></programlisting>
|
<programlisting language="json"><xi:include href="samples/networks-put-req-prov.xml" parse="text"/></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
47
v2.0/section_neutron-quotas-ext.xml
Normal file
47
v2.0/section_neutron-quotas-ext.xml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE section [
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
status="final" xml:id="quotas_ext">
|
||||||
|
<title>Quotas</title>
|
||||||
|
<para>The <filename>neutron.conf</filename> configuration file
|
||||||
|
defines default quota values that are applied to all tenants.
|
||||||
|
This extension enables an administrative user to define quotas
|
||||||
|
values on a per-tenant basis. For example, an administrative
|
||||||
|
user can permit tenant A to create at most X networks and
|
||||||
|
tenant B to create at most Y networks.</para>
|
||||||
|
<wadl:resources
|
||||||
|
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-quotas.wadl"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
||||||
|
</section>
|
@ -40,5 +40,5 @@
|
|||||||
<title>Security Groups and Rules</title>
|
<title>Security Groups and Rules</title>
|
||||||
<para>Creates, modifies, and deletes OpenStack Networking security groups and
|
<para>Creates, modifies, and deletes OpenStack Networking security groups and
|
||||||
rules. </para>
|
rules. </para>
|
||||||
<wadl:resources href="wadl/security-groups.wadl"/>
|
<wadl:resources href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/security-groups.wadl"/>
|
||||||
</section>
|
</section>
|
469
v2.0/section_neutron_binding_ext_ports.xml
Normal file
469
v2.0/section_neutron_binding_ext_ports.xml
Normal file
@ -0,0 +1,469 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE book[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata fileref="../figures/Check_mark_23x20_02.png"
|
||||||
|
format="PNG" />
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata fileref="../figures/Arrow_east.png"
|
||||||
|
format="PNG" />
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<section xml:id="binding_ext_ports"
|
||||||
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
|
<title>The <literal>binding</literal> Extended Attributes for
|
||||||
|
Ports</title>
|
||||||
|
<para>Use the &APIv2; with the <parameter>binding</parameter>
|
||||||
|
extended attributes to get information about, create, and
|
||||||
|
update port objects.</para>
|
||||||
|
<para>The <parameter>binding</parameter>-prefixed extended
|
||||||
|
attributes for ports are:</para>
|
||||||
|
<table rules="all" width="95%">
|
||||||
|
<caption><parameter>binding</parameter> Extended Attributes
|
||||||
|
for Ports</caption>
|
||||||
|
<col width="30%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Attribute </th>
|
||||||
|
<th>Type </th>
|
||||||
|
<th>Required </th>
|
||||||
|
<th>CRUD<footnote xml:id="crud_network">
|
||||||
|
<para><itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>C</emphasis>. Use the attribute in
|
||||||
|
create operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>R</emphasis>. This attribute is
|
||||||
|
returned in response to show and
|
||||||
|
list operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>U</emphasis>. You can update the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>D</emphasis>. You can delete the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
</footnote></th>
|
||||||
|
<th>Default Value</th>
|
||||||
|
<th>Validation Constraints</th>
|
||||||
|
<th>Notes</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><para><parameter>binding:vif_type</parameter></para></td>
|
||||||
|
<td><para>String</para></td>
|
||||||
|
<td><para>N/A</para></td>
|
||||||
|
<td><para>R</para></td>
|
||||||
|
<td><para>None</para></td>
|
||||||
|
<td><para>N/A</para></td>
|
||||||
|
<td><para>Read-only. The vif type for the specified
|
||||||
|
port.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:host_id</parameter></para></td>
|
||||||
|
<td><para>uuid-str</para></td>
|
||||||
|
<td><para>N/A</para></td>
|
||||||
|
<td><para>CRU</para></td>
|
||||||
|
<td><para>None</para></td>
|
||||||
|
<td><para>N/A</para></td>
|
||||||
|
<td><para>The ID of the host where the port is
|
||||||
|
allocated. In some cases different
|
||||||
|
implementations can run on different
|
||||||
|
hosts.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:profile</parameter></para></td>
|
||||||
|
<td>list(dict)</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td><para>A dictionary that enables the application
|
||||||
|
running on the specified host to pass and
|
||||||
|
receive vif port-specific information to the
|
||||||
|
plug-in.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:capabilities</parameter></para></td>
|
||||||
|
<td>list(dict)</td>
|
||||||
|
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>R</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td><para>Read-only. A dictionary that enables the
|
||||||
|
application to pass information about
|
||||||
|
functions that &APIv2; provides. Specify the
|
||||||
|
following value: port_filter : Boolean to
|
||||||
|
define whether &APIv2; provides port filtering
|
||||||
|
features such as security group and
|
||||||
|
anti-MAC/IP spoofing.</para></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<!-- <wadl:resources
|
||||||
|
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-ports-binding-ext.wadl"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>-->
|
||||||
|
<section xml:id="List_Ports_binding">
|
||||||
|
<title>List Ports</title>
|
||||||
|
<informaltable rules="all" width="100%">
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="60%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Verb</td>
|
||||||
|
<td>URI</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>&GET;</td>
|
||||||
|
<td>/ports</td>
|
||||||
|
<td>Lists ports to which the tenant has access.
|
||||||
|
The <parameter>binding</parameter> extended
|
||||||
|
attributes are visible to only administrative
|
||||||
|
users.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
||||||
|
</simpara>
|
||||||
|
<simpara>Error Response Codes: Unauthorized
|
||||||
|
(<errorcode>401</errorcode>)</simpara>
|
||||||
|
<para>This operation lists ports to which the tenant has
|
||||||
|
access.</para>
|
||||||
|
<para>This operation does not require a request body.</para>
|
||||||
|
<para>This operation returns a response body.</para>
|
||||||
|
<para>In addition to any other fields returned in the list
|
||||||
|
port response, the following
|
||||||
|
<parameter>binding</parameter>-prefixed fields are
|
||||||
|
visible to administrative users:</para>
|
||||||
|
<informaltable rules="all">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Field</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><para><parameter>binding:vif_type</parameter></para></td>
|
||||||
|
|
||||||
|
<td><para>Read-only. The vif type for the
|
||||||
|
specified port.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:host_id</parameter></para></td>
|
||||||
|
<td><para>The ID of the host where the port is
|
||||||
|
allocated. In some cases different
|
||||||
|
implementations can run on different
|
||||||
|
hosts.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:profile</parameter></para></td>
|
||||||
|
<td><para>A dictionary that enables the
|
||||||
|
application running on the specified host
|
||||||
|
to pass and receive vif port-specific
|
||||||
|
information to the plug-in.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:capabilities</parameter></para></td>
|
||||||
|
<td><para>Read-only. A dictionary that enables the
|
||||||
|
application to pass information about
|
||||||
|
functions that &APIv2; provides. Specify
|
||||||
|
the following value: port_filter : Boolean
|
||||||
|
to define whether &APIv2; provides port
|
||||||
|
filtering features such as security group
|
||||||
|
and anti-MAC/IP spoofing.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="Show_port_binding">
|
||||||
|
<title>Show Port</title>
|
||||||
|
<informaltable rules="all" width="100%">
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="60%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Verb</td>
|
||||||
|
<td>URI</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>&GET;</td>
|
||||||
|
<td>/ports/<parameter>port-id</parameter></td>
|
||||||
|
<td>Shows information for a specified port. The
|
||||||
|
<parameter>binding</parameter> extended
|
||||||
|
attributes are visible to only administrative
|
||||||
|
users.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
||||||
|
</simpara>
|
||||||
|
<simpara>Error Response Codes: Unauthorized
|
||||||
|
(<errorcode>401</errorcode>), Not Found
|
||||||
|
(<errorcode>404</errorcode>)</simpara>
|
||||||
|
<para>This operation returns information for the port
|
||||||
|
specified in the request URI. </para>
|
||||||
|
<para>This operation does not require a request body.</para>
|
||||||
|
<para>This operation returns a response body.</para>
|
||||||
|
<para>In addition to any fields returned in the show port
|
||||||
|
response, the following
|
||||||
|
<parameter>binding</parameter>-prefixed extended
|
||||||
|
attributes are visible to administrative users:</para>
|
||||||
|
<informaltable rules="all">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Field</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><para><parameter>binding:vif_type</parameter></para></td>
|
||||||
|
|
||||||
|
<td><para>Read-only. The vif type for the
|
||||||
|
specified port.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:host_id</parameter></para></td>
|
||||||
|
<td><para>The ID of the host where the port is
|
||||||
|
allocated. In some cases different
|
||||||
|
implementations can run on different
|
||||||
|
hosts.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:profile</parameter></para></td>
|
||||||
|
<td><para>A dictionary that enables the
|
||||||
|
application running on the specified host
|
||||||
|
to pass and receive vif port-specific
|
||||||
|
information to the plug-in.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:capabilities</parameter></para></td>
|
||||||
|
<td><para>Read-only. A dictionary that enables the
|
||||||
|
application to pass information about
|
||||||
|
functions that &APIv2; provides. Specify
|
||||||
|
the following value: port_filter : Boolean
|
||||||
|
to define whether &APIv2; provides port
|
||||||
|
filtering features such as security group
|
||||||
|
and anti-MAC/IP spoofing.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section xml:id="Create_Port_binding">
|
||||||
|
<title>Create Port</title>
|
||||||
|
<informaltable rules="all" width="100%">
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="60%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Verb</td>
|
||||||
|
<td>URI</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>&POST;</td>
|
||||||
|
<td>/ports</td>
|
||||||
|
<td>Creates a port on a specified network. Only
|
||||||
|
administrative users can add the
|
||||||
|
<parameter>binding</parameter> extended
|
||||||
|
attributes.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
<simpara>Normal Response Code: <returnvalue>201</returnvalue>
|
||||||
|
</simpara>
|
||||||
|
<simpara>Error Response Codes: Bad Request
|
||||||
|
(<errorcode>400</errorcode>), Unauthorized
|
||||||
|
(<errorcode>401</errorcode>), Forbidden
|
||||||
|
(<errorcode>403</errorcode>), Not Found
|
||||||
|
(<errorcode>404</errorcode>), Conflict
|
||||||
|
(<errorcode>409</errorcode>), MAC generation failure
|
||||||
|
(<errorcode>503</errorcode>) </simpara>
|
||||||
|
<para>This operation creates an OpenStack Networking port. You
|
||||||
|
must specify the network where the port is to created on
|
||||||
|
the <parameter>network_id</parameter> attribute in the
|
||||||
|
request body.</para>
|
||||||
|
<para>This operation requires a request body.</para>
|
||||||
|
<para>This operation returns a response body.</para>
|
||||||
|
<para>In addition to any attributes that can be set in a
|
||||||
|
create port operation, administrative users can also set
|
||||||
|
the following <parameter>binding</parameter>-prefixed
|
||||||
|
extended attributes:</para>
|
||||||
|
<informaltable rules="all">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Field</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:host_id</parameter></para></td>
|
||||||
|
<td><para>The ID of the host where the port is
|
||||||
|
allocated. In some cases different
|
||||||
|
implementations can run on different
|
||||||
|
hosts.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:profile</parameter></para></td>
|
||||||
|
<td><para>A dictionary that enables the
|
||||||
|
application running on the specified host
|
||||||
|
to pass and receive vif port-specific
|
||||||
|
information to the plug-in.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</section>
|
||||||
|
<section xml:id="Update_Port_binding">
|
||||||
|
<title>Update Port</title>
|
||||||
|
<informaltable rules="all" width="100%">
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="60%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Verb</td>
|
||||||
|
<td>URI</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>&PUT;</td>
|
||||||
|
<td>/ports/<parameter>port-id</parameter></td>
|
||||||
|
<td>Updates a specified port. Only administrative
|
||||||
|
users can update the
|
||||||
|
<parameter>binding</parameter> extended
|
||||||
|
attributes.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
||||||
|
</simpara>
|
||||||
|
<simpara>Error Response Codes: Bad Request
|
||||||
|
(<errorcode>400</errorcode>), Unauthorized
|
||||||
|
(<errorcode>401</errorcode>), Forbidden
|
||||||
|
(<errorcode>403</errorcode>), Not Found
|
||||||
|
(<errorcode>404</errorcode>), Conflict
|
||||||
|
(<errorcode>409</errorcode>) </simpara>
|
||||||
|
<para>Use this operation to update information for a
|
||||||
|
port.</para>
|
||||||
|
<para>This operation requires a request body.</para>
|
||||||
|
<para>This operation returns a response body.</para>
|
||||||
|
<para>In addition to any attributes that can be updated in the
|
||||||
|
update port operation, administrative users can also
|
||||||
|
update the following
|
||||||
|
<parameter>binding</parameter>-prefixed extended
|
||||||
|
attributes:</para>
|
||||||
|
<informaltable rules="all">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Field</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:host_id</parameter></para></td>
|
||||||
|
<td><para>The ID of the host where the port is
|
||||||
|
allocated. In some cases different
|
||||||
|
implementations can run on different
|
||||||
|
hosts.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para><parameter>binding:profile</parameter></para></td>
|
||||||
|
<td><para>A dictionary that enables the
|
||||||
|
application running on the specified host
|
||||||
|
to pass and receive vif port-specific
|
||||||
|
information to the plug-in.</para>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</informaltable>
|
||||||
|
</section>
|
||||||
|
</section>
|
594
v2.0/section_neutron_concepts.xml
Normal file
594
v2.0/section_neutron_concepts.xml
Normal file
@ -0,0 +1,594 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE section[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
xml:id="Concepts-d1e369">
|
||||||
|
<?dbhtml stop-chunking?>
|
||||||
|
<title>Concepts</title>
|
||||||
|
<para>Use the &APIv2; to manage the following entities:<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold">Network</emphasis>. An
|
||||||
|
isolated virtual layer-2 domain. A network can
|
||||||
|
also be a virtual, or logical, switch. See <xref
|
||||||
|
linkend="Network"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold">Subnet</emphasis>. An IP
|
||||||
|
version 4 or version 6 address block from which IP
|
||||||
|
addresses that are assigned to VMs on a specified
|
||||||
|
network are selected. See <xref linkend="subnet"
|
||||||
|
/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold">Port</emphasis>. A
|
||||||
|
virtual, or logical, switch port on a specified
|
||||||
|
network. See <xref linkend="Port"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
<para>These entities have auto-generated unique identifiers and
|
||||||
|
support basic create, read, update, and delete (CRUD)
|
||||||
|
functions with the &POST;, &GET;, &PUT;, and &DELETE;
|
||||||
|
verbs.</para>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="Network">
|
||||||
|
<title>Network</title>
|
||||||
|
<para>A network is an isolated virtual layer-2 broadcast
|
||||||
|
domain that is typically reserved for the tenant who
|
||||||
|
created it unless you configure the network to be shared.
|
||||||
|
Tenants can create multiple networks until the thresholds
|
||||||
|
per-tenant quota is reached.</para>
|
||||||
|
<para>In the &APIv2;, the network is the main entity. Ports
|
||||||
|
and subnets are always associated with a network.</para>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<para>The following table describes the attributes for network
|
||||||
|
objects:</para>
|
||||||
|
<table rules="all" width="95%">
|
||||||
|
<caption>Network Attributes</caption>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="15%"/>
|
||||||
|
<col width="17%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Attribute </th>
|
||||||
|
<th>Type </th>
|
||||||
|
<th>Required </th>
|
||||||
|
<th>CRUD<footnote xml:id="crud">
|
||||||
|
<para><itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>C</emphasis>. Use the attribute in
|
||||||
|
create operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>R</emphasis>. This attribute is
|
||||||
|
returned in response to show and
|
||||||
|
list operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>U</emphasis>. You can update the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>D</emphasis>. You can delete the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
</footnote></th>
|
||||||
|
<th>Default Value </th>
|
||||||
|
<th>Validation Constraints </th>
|
||||||
|
<th>Notes</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>R</td>
|
||||||
|
<td>generated</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>UUID for the network.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>name</td>
|
||||||
|
<td>String</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>Human-readable name for the network. Might not
|
||||||
|
be unique.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>admin_state_up</td>
|
||||||
|
<td>Bool</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>true</td>
|
||||||
|
<td>{true|false}</td>
|
||||||
|
<td>The administrative state of network. If false
|
||||||
|
(down), the network does not forward
|
||||||
|
packets.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>status</td>
|
||||||
|
<td>String</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>R</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td><para>Indicates whether network is currently
|
||||||
|
operational. Possible values include: <itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>ACTIVE</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>DOWN</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>BUILD</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>ERROR</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para><para>Plug-ins might define additional
|
||||||
|
values.</para></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>subnets</td>
|
||||||
|
<td>list(uuid-str)</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>R</td>
|
||||||
|
<td>Empty List</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>subnets associated with this network. </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>shared</td>
|
||||||
|
<td>Bool</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>False</td>
|
||||||
|
<td>{ True | False }</td>
|
||||||
|
<td>Specifies whether the network resource can be
|
||||||
|
accessed by any tenant or not.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>tenant_id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>No<footnote xml:id="tenant">
|
||||||
|
<para>If OpenStack Networking is not
|
||||||
|
running with the Keystone Identity
|
||||||
|
service, the
|
||||||
|
<literal>tenant_id</literal>
|
||||||
|
attribute is required.</para>
|
||||||
|
</footnote>
|
||||||
|
</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>No constraint</td>
|
||||||
|
<td>Owner of network. Only admin users can specify
|
||||||
|
a tenant_id other than its own. </td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="subnet">
|
||||||
|
<title>Subnet</title>
|
||||||
|
<para>A subnet represents an IP address block that can be used
|
||||||
|
to assign IP addresses to virtual instances. Each subnet
|
||||||
|
must have a CIDR and must be associated with a network.
|
||||||
|
IPs can be either selected from the whole subnet CIDR or
|
||||||
|
from allocation pools that can be specified by the
|
||||||
|
user.</para>
|
||||||
|
<para>A subnet can also optionally have a gateway, a list of
|
||||||
|
dns name servers, and host routes. This information is
|
||||||
|
pushed to instances whose interfaces are associated with
|
||||||
|
the subnet.</para>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<table rules="all" width="95%">
|
||||||
|
<caption>Subnet Attributes</caption>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="15%"/>
|
||||||
|
<col width="17%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Attribute </th>
|
||||||
|
<th>Type </th>
|
||||||
|
<th>Required </th>
|
||||||
|
<th>CRUD<footnote xml:id="crud2">
|
||||||
|
<para><itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>C</emphasis>. Use the attribute in
|
||||||
|
create operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>R</emphasis>. This attribute is
|
||||||
|
returned in response to show and
|
||||||
|
list operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>U</emphasis>. You can update the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>D</emphasis>. You can delete the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
</footnote>
|
||||||
|
</th>
|
||||||
|
<th>Default Value </th>
|
||||||
|
<th>Validation Constraints </th>
|
||||||
|
<th>Notes</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>R</td>
|
||||||
|
<td>generated</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>UUID representing the subnet</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>network_id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>Yes</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>network this subnet is associated with.</td>
|
||||||
|
<td/>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>name</td>
|
||||||
|
<td>String</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>Human-readable name for the subnet. Might not
|
||||||
|
be unique.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ip_version</td>
|
||||||
|
<td>int</td>
|
||||||
|
<td>Yes</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>4</td>
|
||||||
|
<td>{ 4 | 6 }</td>
|
||||||
|
<td>IP version</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>cidr</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>Yes</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>valid cidr in the form
|
||||||
|
<network_address>/<prefix></td>
|
||||||
|
<td>cidr representing IP range for this subnet,
|
||||||
|
based on IP version</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>gateway_ip</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRUD</td>
|
||||||
|
<td>first address in <emphasis role="italic"
|
||||||
|
>cidr</emphasis>
|
||||||
|
</td>
|
||||||
|
<td>Valid IP address or null</td>
|
||||||
|
<td>default gateway used by devices in this
|
||||||
|
subnet</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>dns_nameservers</td>
|
||||||
|
<td>list(str)</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>Empty list</td>
|
||||||
|
<td>No constraint</td>
|
||||||
|
<td>DNS name servers used by hosts in this
|
||||||
|
subnet.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>allocation_pools</td>
|
||||||
|
<td>list(dict)</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>Every address in <emphasis role="italic"
|
||||||
|
>cidr</emphasis>, excluding <emphasis
|
||||||
|
role="italic">gateway_ip</emphasis> if
|
||||||
|
configured</td>
|
||||||
|
<td>star/end of range must be valid ip</td>
|
||||||
|
<td>Sub-ranges of cidr available for dynamic
|
||||||
|
allocation to ports [ { "start": "10.0.0.2",
|
||||||
|
"end": "10.0.0.254"} ]</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>host_routes</td>
|
||||||
|
<td>list(dict)</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>Empty List</td>
|
||||||
|
<td>
|
||||||
|
<emphasis role="italic">[]</emphasis>
|
||||||
|
</td>
|
||||||
|
<td>Routes that should be used by devices with IPs
|
||||||
|
from this subnet (not including local subnet
|
||||||
|
route).</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>enable_dhcp</td>
|
||||||
|
<td>Bool</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>True</td>
|
||||||
|
<td>{ True | False }</td>
|
||||||
|
<td>Specifies whether DHCP is enabled for this
|
||||||
|
subnet or not.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>tenant_id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>No<footnote xml:id="tenant2">
|
||||||
|
<para>If OpenStack Networking is not
|
||||||
|
running with the Keystone Identity
|
||||||
|
service, the
|
||||||
|
<literal>tenant_id</literal>
|
||||||
|
attribute is required.</para>
|
||||||
|
</footnote></td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>No constraint</td>
|
||||||
|
<td>Owner of network. Only admin users can specify
|
||||||
|
a tenant_id other than its own. </td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<section xml:id="Port">
|
||||||
|
<title>Port</title>
|
||||||
|
<para>A port represents a virtual switch port on a logical
|
||||||
|
network switch. Virtual instances attach their interfaces
|
||||||
|
into ports. The logical port also defines the MAC address
|
||||||
|
and the IP address(es) to be assigned to the interfaces
|
||||||
|
plugged into them. When IP addresses are associated to a
|
||||||
|
port, this also implies the port is associated with a
|
||||||
|
subnet, as the IP address was taken from the allocation
|
||||||
|
pool for a specific subnet.</para>
|
||||||
|
<?hard-pagebreak?>
|
||||||
|
<table rules="all" width="95%">
|
||||||
|
<caption>Port Attributes</caption>
|
||||||
|
<col width="20%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="10%"/>
|
||||||
|
<col width="15%"/>
|
||||||
|
<col width="17%"/>
|
||||||
|
<col width="20%"/>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Attribute </th>
|
||||||
|
<th>Type </th>
|
||||||
|
<th>Required </th>
|
||||||
|
<th>CRUD<footnote xml:id="crud3">
|
||||||
|
<para><itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>C</emphasis>. Use the attribute in
|
||||||
|
create operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>R</emphasis>. This attribute is
|
||||||
|
returned in response to show and
|
||||||
|
list operations.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>U</emphasis>. You can update the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold"
|
||||||
|
>D</emphasis>. You can delete the
|
||||||
|
value of this attribute.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
</footnote>
|
||||||
|
</th>
|
||||||
|
<th>Default Value </th>
|
||||||
|
<th>Validation Constraints </th>
|
||||||
|
<th>Notes</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>R</td>
|
||||||
|
<td>generated</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>UUID for the port.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>network_id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>Yes</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>existing network identifier</td>
|
||||||
|
<td>Network that this port is associated with.
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>name</td>
|
||||||
|
<td>String</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>Human-readable name for the port. Might not be
|
||||||
|
unique.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>admin_state_up</td>
|
||||||
|
<td>bool</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>true</td>
|
||||||
|
<td>{true|false}</td>
|
||||||
|
<td>Administrative state of port. If false (down),
|
||||||
|
port does not forward packets. </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>status</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>R</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td><para>Indicates whether network is currently
|
||||||
|
operational. Possible values include: <itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>ACTIVE</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>DOWN</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>BUILD</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>ERROR</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para><para>Plug-ins might define additional
|
||||||
|
values.</para></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>mac_address</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>generated</td>
|
||||||
|
<td>valid MAC in 6-octet form separated by
|
||||||
|
colons</td>
|
||||||
|
<td>Mac address to use on this port.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>fixed_ips</td>
|
||||||
|
<td>list(dict)</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRU</td>
|
||||||
|
<td>automatically allocated from pool</td>
|
||||||
|
<td>Valid IP address and existing subnet
|
||||||
|
identifier</td>
|
||||||
|
<td>Specifies IP addresses for the port thus
|
||||||
|
associating the port itself with the subnets
|
||||||
|
where the IP addresses are picked from</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>device_id</td>
|
||||||
|
<td>str</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRUD</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>No constraint</td>
|
||||||
|
<td>identifies the device (e.g., virtual server)
|
||||||
|
using this port.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>device_owner</td>
|
||||||
|
<td>str</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRUD</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>No constraint</td>
|
||||||
|
<td>Identifies the entity (e.g.: dhcp agent) using
|
||||||
|
this port.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>tenant_id</td>
|
||||||
|
<td>uuid-str</td>
|
||||||
|
<td>No<footnote xml:id="tenant3">
|
||||||
|
<para>If OpenStack Networking is not
|
||||||
|
running with the Keystone Identity
|
||||||
|
service, the
|
||||||
|
<literal>tenant_id</literal>
|
||||||
|
attribute is required.</para>
|
||||||
|
</footnote>
|
||||||
|
</td>
|
||||||
|
<td>CR</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>No constraint</td>
|
||||||
|
<td>Owner of network. Only admin users can specify
|
||||||
|
a tenant_id other than its own. </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>security_groups</td>
|
||||||
|
<td>list(dict)</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>CRUD</td>
|
||||||
|
<td>None</td>
|
||||||
|
<td>Existing security group IDs</td>
|
||||||
|
<td>Specifies the IDs of any security groups
|
||||||
|
associated with a port.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
</section>
|
61
v2.0/section_neutron_list-extensions.xml
Normal file
61
v2.0/section_neutron_list-extensions.xml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE section[
|
||||||
|
<!-- Some useful entities borrowed from HTML -->
|
||||||
|
<!ENTITY ndash "–">
|
||||||
|
<!ENTITY mdash "—">
|
||||||
|
<!ENTITY hellip "…">
|
||||||
|
<!ENTITY plusmn "±">
|
||||||
|
<!-- Useful for describing APIs -->
|
||||||
|
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
|
||||||
|
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
|
||||||
|
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
|
||||||
|
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
|
||||||
|
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/Arrow_east.svg"
|
||||||
|
format="SVG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
</inlinemediaobject>'>
|
||||||
|
<!ENTITY APIv2 'Networking API v2.0'>
|
||||||
|
]>
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
||||||
|
xml:id="retrieve_extensions">
|
||||||
|
<title>List Available Extensions</title>
|
||||||
|
<para>You can list available extensions through the <filename
|
||||||
|
role="bold">/v2.0/extensions</filename> URI.</para>
|
||||||
|
<note>
|
||||||
|
<para>You must authenticate these requests just like any other
|
||||||
|
API request.</para>
|
||||||
|
</note>
|
||||||
|
<para>The following example response shows a list of
|
||||||
|
extensions:</para>
|
||||||
|
<literallayout class="monospaced">Status Code: 200 OK
|
||||||
|
Connection: keep-alive
|
||||||
|
Content-Length: 654
|
||||||
|
Content-Type: application/xml; charset=UTF-8
|
||||||
|
Date: Wed, 12 Sep 2012 11:32:56 GMT</literallayout>
|
||||||
|
<programlisting language="xml"><xi:include href="samples/extensionsv2.xml" parse="text"/></programlisting>
|
||||||
|
<para>Also, you can query for specific extension using the
|
||||||
|
extension alias. For instance, querying
|
||||||
|
<literal>/v2.0/extensions/router</literal>, results in the
|
||||||
|
following response:</para>
|
||||||
|
<literallayout class="monospaced">Status Code: 200 OK
|
||||||
|
Connection: keep-alive
|
||||||
|
Content-Length: 350
|
||||||
|
Content-Type: application/xml; charset=UTF-8
|
||||||
|
Date: Wed, 12 Sep 2012 11:36:20 GMT</literallayout>
|
||||||
|
<programlisting language="xml"><xi:include href="samples/extension.xml" parse="text"/></programlisting>
|
||||||
|
</section>
|
256
v2.0/wadl/os-networks-provider-ext.wadl
Normal file
256
v2.0/wadl/os-networks-provider-ext.wadl
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- (C) 2013 OpenStack Foundation, All Rights Reserved -->
|
||||||
|
|
||||||
|
<!--*******************************************************-->
|
||||||
|
<!-- Import Common XML Entities -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- You can resolve the entites with xmllint -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- xmllint -noent os-networks-provider-ext.wadl -->
|
||||||
|
<!--*******************************************************-->
|
||||||
|
|
||||||
|
<!DOCTYPE application [<!ENTITY % common SYSTEM "common.ent">
|
||||||
|
%common;]>
|
||||||
|
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns="http://wadl.dev.java.net/2009/02"
|
||||||
|
xmlns:common="http://docs.openstack.org/common/api/v1.0"
|
||||||
|
xmlns:csapi="http://docs.openstack.org/compute/api/v2"
|
||||||
|
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||||
|
xsi:schemaLocation="http://docs.openstack.org/compute/api/v1.1
|
||||||
|
xsd/api.xsd
|
||||||
|
http://docs.openstack.org/common/api/v1.0
|
||||||
|
xsd/api-common.xsd
|
||||||
|
http://wadl.dev.java.net/2009/02
|
||||||
|
http://www.w3.org/Submission/wadl/wadl.xsd">
|
||||||
|
|
||||||
|
<!--*******************************************************-->
|
||||||
|
<!-- All Resources -->
|
||||||
|
<!--*******************************************************-->
|
||||||
|
|
||||||
|
<resources base="https://neutron.example.com/">
|
||||||
|
<resource id="version" type="#VersionDetails" path="v2.0">
|
||||||
|
<resource id="Networks" type="#NetworkList"
|
||||||
|
path="networks">
|
||||||
|
<method href="#listNetworks"/>
|
||||||
|
<param name="name" style="plain" type="xsd:string">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">The
|
||||||
|
network name.</p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<param name="admin_state_up" style="plain"
|
||||||
|
type="xsd:bool">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
>Indicates the administrative status of
|
||||||
|
the network.</p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<param name="shared" style="plain" type="xsd:bool">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
>Indicates whether this network is shared
|
||||||
|
across all tenants. By default, only
|
||||||
|
administrative users can change this
|
||||||
|
value.</p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<param name="tenant_id" style="plain"
|
||||||
|
type="csapi:uuid">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">The ID
|
||||||
|
of the tenant that owns the network. Only
|
||||||
|
administrative users can set the tenant
|
||||||
|
ID. You cannot change this value through
|
||||||
|
authorization policies.</p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<param name="provider:network_type" style="plain"
|
||||||
|
type="xsd:string">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">The
|
||||||
|
type of physical network that maps to this
|
||||||
|
networks resource. Examples are flat,
|
||||||
|
vlan, and gre.</p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<param name="provider:physical_network" style="plain"
|
||||||
|
type="xsd:string">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">The
|
||||||
|
physical network on which this network
|
||||||
|
object is implemented. The Networking API
|
||||||
|
v2.0 does not provide a way to list
|
||||||
|
available physical networks. For example,
|
||||||
|
the Open vSwitch plug-in configuration
|
||||||
|
file defines a symbolic name that maps to
|
||||||
|
specific bridges on each Compute host.</p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<param name="provider:segmentation_id" style="plain"
|
||||||
|
type="csapi:uuid">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">An
|
||||||
|
isolated segment on the physical network.
|
||||||
|
The network_type attribute defines the
|
||||||
|
segmentation model. For example, if
|
||||||
|
network_type is vlan, this ID is a vlan
|
||||||
|
identifier. If network_type is gre, this
|
||||||
|
ID is a gre key.</p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<method href="#createNetwork"/>
|
||||||
|
<resource path="{network_id}">
|
||||||
|
<param name="network_id" style="template"
|
||||||
|
type="csapi:UUID">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
xml:lang="EN" title="Network ID">
|
||||||
|
<p>The UUID for the network of interest to
|
||||||
|
you.</p>
|
||||||
|
</wadl:doc>
|
||||||
|
</param>
|
||||||
|
<method href="#showNetwork"/>
|
||||||
|
<method href="#updateNetwork"/>
|
||||||
|
<method href="#deleteNetwork"/>
|
||||||
|
</resource>
|
||||||
|
</resource>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<!--*******************************************************-->
|
||||||
|
<!-- All Methods -->
|
||||||
|
<!--*******************************************************-->
|
||||||
|
|
||||||
|
<method name="GET" id="listNetworks">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN"
|
||||||
|
title="List Networks">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Lists networks
|
||||||
|
that are accessible to the tenant who submits the
|
||||||
|
request.</p>
|
||||||
|
</wadl:doc>
|
||||||
|
<response status="200"> &networkListParameters;
|
||||||
|
&networkProviderParameters; <representation
|
||||||
|
mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/networks-get-detail-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/networks-get-detail-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<method name="POST" id="createNetwork">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN"
|
||||||
|
title="Create Network">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Creates a
|
||||||
|
network.</p>
|
||||||
|
</wadl:doc>
|
||||||
|
<request> &networkCreateParameters; <representation
|
||||||
|
mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-post-req.json"/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-post-req.xml"/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</request>
|
||||||
|
<response status="201"> &networkListParameters;
|
||||||
|
&networkProviderParameters; <representation
|
||||||
|
mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-post-resp.json"/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-post-resp.xml"/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<method name="GET" id="showNetwork">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN"
|
||||||
|
title="Show Networks">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Shows information
|
||||||
|
for the specified network.</p>
|
||||||
|
</wadl:doc>
|
||||||
|
<response status="200"> &networkListParameters;
|
||||||
|
&networkProviderParameters; <representation
|
||||||
|
mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/networks-get-detail-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/networks-get-detail-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
<method name="PUT" id="updateNetwork">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN"
|
||||||
|
title="Update Network">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Updates the
|
||||||
|
specified network.</p>
|
||||||
|
</wadl:doc>
|
||||||
|
<request> &networkCreateParameters;
|
||||||
|
&networkProviderParameters; <representation
|
||||||
|
mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-put-update.req.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-put-update.req.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</request>
|
||||||
|
<response status="201"> &networkListParameters;
|
||||||
|
&networkProviderParameters; <representation
|
||||||
|
mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-put-update-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="api_samples/network-put-update-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
</application>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user