Networking API v2.0 (CURRENT)

Use virtual networking services among devices that are managed by the OpenStack Compute service. The Networking (neutron) 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 an OpenStack Networking network. You can choose a specific IP address from the block or let OpenStack Networking choose the first available IP address.

API versions

List information for all Networking API versions and show details about API v2.

GET
/
List API versions

Lists information about all Networking API versions.

 
Normal response codes
200, 300
{
    "versions": [
        {
            "status": "CURRENT",
            "id": "v2.0",
            "links": [
                {
                    "href": "http://23.253.228.211:9696/v2.0",
                    "rel": "self"
                }
            ]
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<versions 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">
    <version>
        <status>CURRENT</status>
        <id>v2.0</id>
        <links>
            <link>
                <href>http://23.253.228.211:9696/v2.0</href>
                <rel>self</rel>
            </link>
        </links>
    </version>
</versions>

This operation does not accept a request body.

GET
/v2.0
Show API v2.0 details

Shows details for Networking API v2.0.

 
Normal response codes
200, 203
Response parameters
Parameter Style Type Description
location plain xsd:anyURI

Full URL to a service or server.

{
    "resources": [
        {
            "links": [
                {
                    "href": "http://23.253.228.211:9696/v2.0/subnets",
                    "rel": "self"
                }
            ],
            "name": "subnet",
            "collection": "subnets"
        },
        {
            "links": [
                {
                    "href": "http://23.253.228.211:9696/v2.0/networks",
                    "rel": "self"
                }
            ],
            "name": "network",
            "collection": "networks"
        },
        {
            "links": [
                {
                    "href": "http://23.253.228.211:9696/v2.0/ports",
                    "rel": "self"
                }
            ],
            "name": "port",
            "collection": "ports"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<resources 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">
    <resource>
        <links>
            <link>
                <href>http://23.253.228.211:9696/v2.0/subnets</href>
                <rel>self</rel>
            </link>
        </links>
        <name>subnet</name>
        <collection>subnets</collection>
    </resource>
    <resource>
        <links>
            <link>
                <href>http://23.253.228.211:9696/v2.0/networks</href>
                <rel>self</rel>
            </link>
        </links>
        <name>network</name>
        <collection>networks</collection>
    </resource>
    <resource>
        <links>
            <link>
                <href>http://23.253.228.211:9696/v2.0/ports</href>
                <rel>self</rel>
            </link>
        </links>
        <name>port</name>
        <collection>ports</collection>
    </resource>
</resources>

This operation does not accept a request body.

Networks

List, show information for, create, update, and delete networks.

POST
/v2.0/networks
Create network

Creates a network.

 

A request body is optional. An administrative user can specify another tenant ID, which is the tenant who owns the network, in the request body.

Normal response codes
201
Error response codes
badRequest (400), unauthorized (401)
Request parameters
Parameter Style Type Description
admin_state_up (Optional) plain xsd:bool

The administrative state of the network, which is up (true) or down (false).

name (Optional) plain xsd:string

The network name. A request body is optional: If you include it, it can specify this optional attribute.

shared (Optional) plain xsd:bool

Indicates whether this network is shared across all tenants. By default, only administrative users can change this value.

tenant_id (Optional) plain csapi:uuid

Admin-only. The UUID of the tenant that will own the network. This tenant can be different from the tenant that makes the create network request. However, only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

Response parameters
Parameter Style Type Description
admin_state_up plain xsd:bool

The administrative state of the network, which is up (true) or down (false).

id plain csapi:uuid

The network ID.

name plain xsd:string

The network name.

shared plain xsd:bool

Indicates whether this network is shared across all tenants. By default, only administrative users can change this value.

status plain xsd:string

The network status.

subnets plain xsd:dict

The associated subnets.

tenant_id plain csapi:uuid

The tenant ID.

router:external plain xsd:bool

Indicates whether this network is externally accessible.

{
    "network": {
        "name": "sample_network",
        "admin_state_up": true
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<network>
    <name>sample_network2</name>
</network>
{
    "network": {
        "status": "ACTIVE",
        "subnets": [],
        "name": "net1",
        "admin_state_up": true,
        "tenant_id": "9bacb3c5d39d41a79512987f338cf177",
        "router:external": false,
        "segments": [
            {
                "provider:segmentation_id": 2,
                "provider:physical_network": "8bab8453-1bc9-45af-8c70-f83aa9b50453",
                "provider:network_type": "vlan"
            },
            {
                "provider:segmentation_id": null,
                "provider:physical_network": "8bab8453-1bc9-45af-8c70-f83aa9b50453",
                "provider:network_type": "stt"
            }
        ],
        "shared": false,
        "id": "4e8e5957-649f-477b-9e5b-f1f75b21c03c"
    }
}
<?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:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <status>ACTIVE</status>
    <subnets quantum:type="list"/>
    <name>sample_network2</name>
    <provider:physical_network xsi:nil="true"/>
    <admin_state_up quantum:type="bool">True</admin_state_up>
    <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
    <provider:network_type>local</provider:network_type>
    <shared quantum:type="bool">False</shared>
    <id>c220b026-ece1-4ead-873f-83537f4c9f92</id>
    <provider:segmentation_id xsi:nil="true"/>
</network>
POST
/v2.0/networks
Bulk create networks

Creates multiple networks in a single request.

 

In the request body, specify a list of networks.

The bulk create operation is always atomic. Either all or no networks in the request body are created.

Normal response codes
201
Error response codes
badRequest (400), unauthorized (401)
Request parameters
Parameter Style Type Description
admin_state_up (Optional) plain xsd:bool

The administrative state of the network, which is up (true) or down (false).

name (Optional) plain xsd:string The network name.
shared (Optional) plain xsd:bool

Admin-only. Indicates whether this network is shared across all tenants.

tenant_id (Optional) plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

router:external (Optional) plain xsd:bool

Indicates whether this network is externally accessible.

Response parameters
Parameter Style Type Description
admin_state_up plain xsd:bool

The administrative state of the network, which is up (true) or down (false).

id plain csapi:uuid

The network ID.

name plain xsd:string

The network name.

shared plain xsd:bool

Indicates whether this network is shared across all tenants. By default, only administrative users can change this value.

status plain xsd:string

The network status.

subnets plain xsd:dict

The associated subnets.

tenant_id plain csapi:uuid

The tenant ID.

{
    "networks": [
        {
            "name": "sample_network3",
            "admin_state_up": true
        },
        {
            "name": "sample_network4",
            "admin_state_up": true
        }
    ]
}
<?xml version="1.0" encoding="UTF-8"?>
<networks>
    <network>
        <name>sample_network_5</name>
    </network>
    <network>
        <name>sample_network_6</name>
    </network>
</networks>
{
    "networks": [
        {
            "status": "ACTIVE",
            "subnets": [],
            "name": "sample_network3",
            "provider:physical_network": null,
            "admin_state_up": true,
            "tenant_id": "4fd44f30292945e481c7b8a0c8908869",
            "provider:network_type": "local",
            "shared": false,
            "id": "bc1a76cb-8767-4c3a-bb95-018b822f2130",
            "provider:segmentation_id": null
        },
        {
            "status": "ACTIVE",
            "subnets": [],
            "name": "sample_network4",
            "provider:physical_network": null,
            "admin_state_up": true,
            "tenant_id": "4fd44f30292945e481c7b8a0c8908869",
            "provider:network_type": "local",
            "shared": false,
            "id": "af374017-c9ae-4a1d-b799-ab73111476e2",
            "provider:segmentation_id": null
        }
    ]
}
<?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:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <network>
        <status>ACTIVE</status>
        <subnets quantum:type="list"/>
        <name>sample_network_5</name>
        <provider:physical_network xsi:nil="true"/>
        <admin_state_up quantum:type="bool">True</admin_state_up>
        <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
        <provider:network_type>local</provider:network_type>
        <shared quantum:type="bool">False</shared>
        <id>1f370095-98f6-4079-be64-6d3d4a6adcc6</id>
        <provider:segmentation_id xsi:nil="true"/>
    </network>
    <network>
        <status>ACTIVE</status>
        <subnets quantum:type="list"/>
        <name>sample_network_6</name>
        <provider:physical_network xsi:nil="true"/>
        <admin_state_up quantum:type="bool">True</admin_state_up>
        <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
        <provider:network_type>local</provider:network_type>
        <shared quantum:type="bool">False</shared>
        <id>ee2d3158-3e80-4fb3-ba87-c99f515d85e7</id>
        <provider:segmentation_id xsi:nil="true"/>
    </network>
</networks>
GET
/v2.0/networks/​{network_id}​
Show network

Shows information for a specified network.

 

You can control which attributes are returned by using the fields query parameter. For information, see Filtering and Column Selection.

Normal response codes
200
Error response codes
unauthorized (401), itemNotFound (404)
Request parameters
Parameter Style Type Description
network_id URI csapi:UUID The UUID for the network of interest to you.
Response parameters
Parameter Style Type Description
admin_state_up plain xsd:bool

The administrative state of the network, which is up (true) or down (false).

id plain csapi:uuid

The network ID.

name plain xsd:string

The network name.

shared plain xsd:bool

Indicates whether this network is shared across all tenants. By default, only administrative users can change this value.

status plain xsd:string

The network status.

subnets plain xsd:dict

The associated subnets.

tenant_id plain csapi:uuid

The tenant ID.

{
    "network": {
        "status": "ACTIVE",
        "subnets": [
            "54d6f61d-db07-451c-9ab3-b9609b6b6f0b"
        ],
        "name": "private-network",
        "provider:physical_network": null,
        "admin_state_up": true,
        "tenant_id": "4fd44f30292945e481c7b8a0c8908869",
        "provider:network_type": "local",
        "router:external": true,
        "shared": true,
        "id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
        "provider:segmentation_id": null
    }
}
<?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/neutron/router/api/v1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <status>ACTIVE</status>
    <subnets>
        <subnet>54d6f61d-db07-451c-9ab3-b9609b6b6f0b</subnet>
    </subnets>
    <name>private-network</name>
    <provider:physical_network xsi:nil="true"/>
    <admin_state_up quantum:type="bool">True</admin_state_up>
    <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
    <provider:network_type>local</provider:network_type>
    <router:external quantum:type="bool">True</router:external>
    <shared quantum:type="bool">True</shared>
    <id>d32019d3-bc6e-4319-9c1d-6722fc136a22</id>
    <provider:segmentation_id xsi:nil="true"/>
</network>

This operation does not accept a request body.

PUT
/v2.0/networks/​{network_id}​
Update network

Updates a specified network.

 
Normal response codes
200
Error response codes
badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404)
Request parameters
Parameter Style Type Description
network_id URI csapi:UUID The UUID for the network of interest to you.
admin_state_up (Optional) plain xsd:bool

The administrative state of the network, which is up (true) or down (false).

name (Optional) plain xsd:string The network name.
shared (Optional) plain xsd:bool

Admin-only. Indicates whether this network is shared across all tenants.

router:external (Optional) plain xsd:bool

Indicates whether this network is externally accessible.

Response parameters
Parameter Style Type Description
admin_state_up plain xsd:bool

The administrative state of the network, which is up (true) or down (false).

id plain csapi:uuid

The network ID.

name plain xsd:string

The network name.

shared plain xsd:bool

Indicates whether this network is shared across all tenants. By default, only administrative users can change this value.

status plain xsd:string

The network status.

subnets plain xsd:dict

The associated subnets.

tenant_id plain csapi:uuid

The tenant ID.

router:external plain xsd:bool

Indicates whether this network is externally accessible.

{
    "network": {
        "name": "sample_network_5_updated"
    }
}
<?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">
    <name>sample-network-4-updated</name>
</network>
{
    "network": {
        "status": "ACTIVE",
        "subnets": [],
        "name": "sample_network_5_updated",
        "provider:physical_network": null,
        "admin_state_up": true,
        "tenant_id": "4fd44f30292945e481c7b8a0c8908869",
        "provider:network_type": "local",
        "router:external": false,
        "shared": false,
        "id": "1f370095-98f6-4079-be64-6d3d4a6adcc6",
        "provider:segmentation_id": null
    }
}
<?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/neutron/router/api/v1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <status>ACTIVE</status>
    <subnets quantum:type="list"/>
    <name>sample-network-4-updated</name>
    <provider:physical_network xsi:nil="true"/>
    <admin_state_up quantum:type="bool">True</admin_state_up>
    <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
    <provider:network_type>local</provider:network_type>
    <router:external quantum:type="bool">False</router:external>
    <shared quantum:type="bool">False</shared>
    <id>af374017-c9ae-4a1d-b799-ab73111476e2</id>
    <provider:segmentation_id xsi:nil="true"/>
</network>
DELETE
/v2.0/networks/​{network_id}​
Delete network

Deletes a specified network and its associated resources.

 
Normal response codes
204
Error response codes
unauthorized (401), itemNotFound (404), conflict (409)
Request parameters
Parameter Style Type Description
network_id URI csapi:UUID The UUID for the network of interest to you.

This operation does not accept a request body and does not return a response body.

Subnets

List, show information for, create, update, and delete subnet resources.

GET
/v2.0/subnets
List subnets

Lists subnets to which the specified tenant has access.

 

Default policy settings returns exclusively subnets owned by the tenant submitting the request, unless the request is submitted by an user with administrative rights. You can control which attributes are returned by using the fields query parameter. You can filter results by using query string parameters.

Normal response codes
200
Error response codes
unauthorized (401)
Request parameters
Parameter Style Type Description
display_name (Optional) query xsd:string

Name of the network.

network_id (Optional) query csapi:uuid

The ID of the attached network.

tenant_id (Optional) plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

gateway_ip (Optional) query xsd:string

The gateway IP address.

ip_version (Optional) query xsd:string

The IP version, which is 4 or 6.

cidr (Optional) query xsd:bool

The CIDR.

id (Optional) query csapi:uuid

The ID of the subnet.

enable_dhcp (Optional) query xsd:boolean

If true, DHCP is enabled and If false, DHCP is disabled.

ipv6_ra_mode (Optional) query xsd:string

Choose from (constants.IPV6_SLAAC,constants.DHCPV6_STATEFUL,constants.DHCPV6_STATELESS,name='ipv6_address_modes,null).

ipv6_address_mode (Optional) query xsd:string

Choose from (constants.IPV6_SLAAC,constants.DHCPV6_STATEFUL,constants.DHCPV6_STATELESS,name='ipv6_address_modes,null).

Response parameters
Parameter Style Type Description
name plain xsd:string

The subnet name.

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

allocation_pools plain xsd:dict

The start and end addresses for the allocation pools.

start plain xsd:string

The start address for the allocation pools.

end plain xsd:string

The end address for the allocation pools.

gateway_ip plain xsd:string

The gateway IP address.

ip_version plain xsd:string

The IP version, which is 4 or 6.

cidr plain xsd:bool

The CIDR.

id plain csapi:uuid

The ID of the subnet.

enable_dhcp plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers plain xsd:string

DNS server.

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination plain xsd:string

Destination for static route.

nexthop plain xsd:string

Nexthop for the destination.

ipv6_ra_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

ipv6_address_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

{
    "subnets": [
        {
            "name": "private-subnet",
            "enable_dhcp": true,
            "network_id": "db193ab3-96e3-4cb3-8fc5-05f4296d0324",
            "tenant_id": "26a7980765d0414dbc1fc1f88cdb7e6e",
            "dns_nameservers": [],
            "allocation_pools": [
                {
                    "start": "10.0.0.2",
                    "end": "10.0.0.254"
                }
            ],
            "host_routes": [],
            "ip_version": 4,
            "gateway_ip": "10.0.0.1",
            "cidr": "10.0.0.0/24",
            "id": "08eae331-0402-425a-923c-34f7cfe39c1b"
        },
        {
            "name": "my_subnet",
            "enable_dhcp": true,
            "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
            "tenant_id": "4fd44f30292945e481c7b8a0c8908869",
            "dns_nameservers": [],
            "allocation_pools": [
                {
                    "start": "192.0.0.2",
                    "end": "192.255.255.254"
                }
            ],
            "host_routes": [],
            "ip_version": 4,
            "gateway_ip": "192.0.0.1",
            "cidr": "192.0.0.0/8",
            "id": "54d6f61d-db07-451c-9ab3-b9609b6b6f0b"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<subnets>
    <subnet>
        <name>private-subnet</name>
        <enable_dhcp>True</enable_dhcp>
        <network_id>db193ab3-96e3-4cb3-8fc5-05f4296d0324</network_id>
        <tenant_id>26a7980765d0414dbc1fc1f88cdb7e6e</tenant_id>
        <dns_nameservers/>
        <allocation_pools>
            <allocation_pool>
                <start>10.0.0.2</start>
                <end>10.0.0.254</end>
            </allocation_pool>
        </allocation_pools>
        <host_routes/>
        <ip_version>4</ip_version>
        <gateway_ip>10.0.0.1</gateway_ip>
        <cidr>10.0.0.0/24</cidr>
        <id>08eae331-0402-425a-923c-34f7cfe39c1b</id>
    </subnet>
    <subnet>
        <name>my_subnet</name>
        <enable_dhcp>True</enable_dhcp>
        <network_id>d32019d3-bc6e-4319-9c1d-6722fc136a22</network_id>
        <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
        <dns_nameservers/>
        <allocation_pools>
            <allocation_pool>
                <start>192.0.0.2</start>
                <end>192.255.255.254</end>
            </allocation_pool>
        </allocation_pools>
        <host_routes/>
        <ip_version>4</ip_version>
        <gateway_ip>192.0.0.1</gateway_ip>
        <cidr>192.0.0.0/8</cidr>
        <id>54d6f61d-db07-451c-9ab3-b9609b6b6f0b</id>
    </subnet>
</subnets>
POST
/v2.0/subnets
Create subnet

Creates a subnet on a specified network.

 

OpenStack Networking does not try to derive the correct IP version from the specified CIDR. If you do not specify the gateway_ip attribute, OpenStack Networking allocates an address from the CIDR for the gateway for the subnet.

To specify a subnet without a gateway, set the gateway_ip attribute to null in the request body. If you do not specify the allocation_pools attribute, OpenStack Networking automatically allocates pools for covering all IP addresses in the CIDR, excluding the address reserved for the subnet gateway. Otherwise, you can explicitly specify allocation pools as shown in the following example.

When you specify both the allocation_pools and gateway_ip attributes, you must ensure that the gateway IP does not overlap with the specified allocation pools; otherwise a 409 Conflict error occurs.

A subnet can have one or more name servers and host routes. Hosts in this subnet use the specified name servers. Devices with IP addresses from this subnet, not including the local subnet route, use the specified host routes.

Specify the ipv6_ra_mode and ipv6_address_mode attributes to create subnets that support IPv6 configurations, such as Stateless Address Autoconfiguration (SLAAC), DHCPv6 Stateful, and DHCPv6 Stateless configurations.

Normal response codes
201
Error response codes
badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), conflict (409)
Request parameters
Parameter Style Type Description
name (Optional) plain xsd:string

The subnet name.

network_id plain csapi:uuid

The ID of the attached network.

tenant_id (Optional) plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

allocation_pools (Optional) plain xsd:dict

The start and end addresses for the allocation pools.

start (Optional) plain xsd:string

The start address for the allocation pools.

end (Optional) plain xsd:string

The end address for the allocation pools.

gateway_ip (Optional) plain xsd:string

The gateway IP address.

ip_version plain xsd:string

The IP version, which is 4 or 6.

cidr plain xsd:bool

The CIDR.

enable_dhcp (Optional) plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers (Optional) plain xsd:list

A list of DNS name servers for the subnet. Specify each name server as an IP address and separate multiple entries with a space. For example [8.8.8.7 8.8.8.8].

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination (Optional) plain xsd:string

Destination for static route

nexthop (Optional) plain xsd:string

Nexthop for the destination.

ipv6_ra_mode (Optional) plain xsd:string

A valid value is dhcpv6-stateful, dhcpv6-stateless, or slaac.

ipv6_address_mode (Optional) plain xsd:string

A valid value is dhcpv6-stateful, dhcpv6-stateless, or slaac.

Response parameters
Parameter Style Type Description
name plain xsd:string

The subnet name.

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

allocation_pools plain xsd:dict

The start and end addresses for the allocation pools.

start plain xsd:string

The start address for the allocation pools.

end plain xsd:string

The end address for the allocation pools.

gateway_ip plain xsd:string

The gateway IP address.

ip_version plain xsd:string

The IP version, which is 4 or 6.

cidr plain xsd:bool

The CIDR.

id plain csapi:uuid

The ID of the subnet.

enable_dhcp plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers plain xsd:string

DNS server.

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination plain xsd:string

Destination for static route.

nexthop plain xsd:string

Nexthop for the destination.

ipv6_ra_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

ipv6_address_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

{
    "subnet": {
        "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
        "ip_version": 4,
        "cidr": "10.0.0.1"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<subnet>
    <network_id>d32019d3-bc6e-4319-9c1d-6722fc136a22</network_id>
    <ip_version>4</ip_version>
    <cidr>10.0.0.1</cidr>
</subnet>
{
    "subnet": {
        "name": "",
        "enable_dhcp": true,
        "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
        "tenant_id": "4fd44f30292945e481c7b8a0c8908869",
        "dns_nameservers": [],
        "allocation_pools": [
            {
                "start": "192.168.199.2",
                "end": "192.168.199.254"
            }
        ],
        "host_routes": [],
        "ip_version": 4,
        "gateway_ip": "192.168.199.1",
        "cidr": "192.168.199.0/24",
        "id": "3b80198d-4f7b-4f77-9ef5-774d54e17126"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<subnet>
    <name>test_subnet_1</name>
    <enable_dhcp>True</enable_dhcp>
    <network_id>d32019d3-bc6e-4319-9c1d-6722fc136a22</network_id>
    <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
    <dns_nameservers/>
    <allocation_pools>
        <allocation_pool>
            <start>192.0.0.2</start>
            <end>192.255.255.254</end>
        </allocation_pool>
    </allocation_pools>
    <host_routes/>
    <ip_version>4</ip_version>
    <gateway_ip>192.0.0.1</gateway_ip>
    <cidr>192.0.0.0/8</cidr>
    <id>54d6f61d-db07-451c-9ab3-b9609b6b6f0b</id>
</subnet>
POST
/v2.0/subnets
Bulk create subnet

Creates multiple subnets in a single request. Specify a list of subnets in the request body.

 

The bulk create operation is always atomic. Either all or no subnets in the request body are created.

Normal response codes
201
Error response codes
badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), conflict (409)
Request parameters
Parameter Style Type Description
name (Optional) plain xsd:string

The subnet name.

network_id plain csapi:uuid

The ID of the attached network.

tenant_id (Optional) plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

allocation_pools (Optional) plain xsd:dict

The start and end addresses for the allocation pools.

start (Optional) plain xsd:string

The start address for the allocation pools.

end (Optional) plain xsd:string

The end address for the allocation pools.

gateway_ip (Optional) plain xsd:string

The gateway IP address.

ip_version plain xsd:string

The IP version, which is 4 or 6.

cidr plain xsd:bool

The CIDR.

enable_dhcp (Optional) plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers (Optional) plain xsd:list

A list of DNS name servers for the subnet. Specify each name server as an IP address and separate multiple entries with a space. For example [8.8.8.7 8.8.8.8].

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination (Optional) plain xsd:string

Destination for static route

nexthop (Optional) plain xsd:string

Nexthop for the destination.

ipv6_ra_mode (Optional) plain xsd:string

A valid value is dhcpv6-stateful, dhcpv6-stateless, or slaac.

ipv6_address_mode (Optional) plain xsd:string

A valid value is dhcpv6-stateful, dhcpv6-stateless, or slaac.

Response parameters
Parameter Style Type Description
name plain xsd:string

The subnet name.

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

allocation_pools plain xsd:dict

The start and end addresses for the allocation pools.

start plain xsd:string

The start address for the allocation pools.

end plain xsd:string

The end address for the allocation pools.

gateway_ip plain xsd:string

The gateway IP address.

ip_version plain xsd:string

The IP version, which is 4 or 6.

cidr plain xsd:bool

The CIDR.

id plain csapi:uuid

The ID of the subnet.

enable_dhcp plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers plain xsd:string

DNS server.

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination plain xsd:string

Destination for static route.

nexthop plain xsd:string

Nexthop for the destination.

ipv6_ra_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

ipv6_address_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

{
    "subnets": [
        {
            "cidr": "192.168.199.0/24",
            "ip_version": 4,
            "network_id": "e6031bc2-901a-4c66-82da-f4c32ed89406"
        },
        {
            "cidr": "10.56.4.0/22",
            "ip_version": 4,
            "network_id": "64239a54-dcc4-4b39-920b-b37c2144effa"
        }
    ]
}
<?xml version="1.0" encoding="UTF-8"?>
<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>
{
    "subnets": [
        {
            "allocation_pools": [
                {
                    "end": "192.168.199.254",
                    "start": "192.168.199.2"
                }
            ],
            "cidr": "192.168.199.0/24",
            "dns_nameservers": [],
            "enable_dhcp": true,
            "gateway_ip": "192.168.199.1",
            "host_routes": [],
            "id": "0468a7a7-290d-4127-aedd-6c9449775a24",
            "ip_version": 4,
            "name": "",
            "network_id": "e6031bc2-901a-4c66-82da-f4c32ed89406",
            "tenant_id": "d19231fc08ec4bc4829b668040d34512"
        },
        {
            "allocation_pools": [
                {
                    "end": "10.56.7.254",
                    "start": "10.56.4.2"
                }
            ],
            "cidr": "10.56.4.0/22",
            "dns_nameservers": [],
            "enable_dhcp": true,
            "gateway_ip": "10.56.4.1",
            "host_routes": [],
            "id": "b0e7435c-1512-45fb-aa9e-9a7c5932fb30",
            "ip_version": 4,
            "name": "",
            "network_id": "64239a54-dcc4-4b39-920b-b37c2144effa",
            "tenant_id": "d19231fc08ec4bc4829b668040d34512"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<subnets>
    <subnet>
        <name>test_subnet_1</name>
        <enable_dhcp>True</enable_dhcp>
        <network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
        <tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
        <dns_nameservers/>
        <allocation_pools>
            <allocation_pool>
                <start>10.0.0.2</start>
                <end>10.255.255.254</end>
            </allocation_pool>
        </allocation_pools>
        <host_routes/>
        <ip_version>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>True</enable_dhcp>
        <network_id>a3775a7d-9f8b-4148-be81-c84bbd0837ce</network_id>
        <tenant_id>60cd4f6dbc2f491982a284e7b83b5be3</tenant_id>
        <dns_nameservers/>
        <allocation_pools>
            <allocation_pool>
                <start>192.168.0.2</start>
                <end>192.168.255.254</end>
            </allocation_pool>
        </allocation_pools>
        <host_routes/>
        <ip_version>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>
GET
/v2.0/subnets/​{subnet_id}​
Show subnet

Shows information for a specified subnet.

 

Use the fields query parameter to filter the results.

Normal response codes
200
Error response codes
unauthorized (401), itemNotFound (404)
Request parameters
Parameter Style Type Description
subnet_id URI csapi:UUID

The UUID for the subnet of interest to you.

Response parameters
Parameter Style Type Description
name plain xsd:string

The subnet name.

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

allocation_pools plain xsd:dict

The start and end addresses for the allocation pools.

start plain xsd:string

The start address for the allocation pools.

end plain xsd:string

The end address for the allocation pools.

gateway_ip plain xsd:string

The gateway IP address.

ip_version plain xsd:string

The IP version, which is 4 or 6.

cidr plain xsd:bool

The CIDR.

id plain csapi:uuid

The ID of the subnet.

enable_dhcp plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers plain xsd:string

DNS server.

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination plain xsd:string

Destination for static route.

nexthop plain xsd:string

Nexthop for the destination.

ipv6_ra_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

ipv6_address_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

{
    "subnet": {
        "name": "my_subnet",
        "enable_dhcp": true,
        "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
        "tenant_id": "4fd44f30292945e481c7b8a0c8908869",
        "dns_nameservers": [],
        "allocation_pools": [
            {
                "start": "192.0.0.2",
                "end": "192.255.255.254"
            }
        ],
        "host_routes": [],
        "ip_version": 4,
        "gateway_ip": "192.0.0.1",
        "cidr": "192.0.0.0/8",
        "id": "54d6f61d-db07-451c-9ab3-b9609b6b6f0b"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<subnet>
    <name>test_subnet_1</name>
    <enable_dhcp>True</enable_dhcp>
    <network_id>d32019d3-bc6e-4319-9c1d-6722fc136a22</network_id>
    <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
    <dns_nameservers/>
    <allocation_pools>
        <allocation_pool>
            <start>192.0.0.2</start>
            <end>192.255.255.254</end>
        </allocation_pool>
    </allocation_pools>
    <host_routes/>
    <ip_version>4</ip_version>
    <gateway_ip>192.0.0.1</gateway_ip>
    <cidr>192.0.0.0/8</cidr>
    <id>54d6f61d-db07-451c-9ab3-b9609b6b6f0b</id>
</subnet>

This operation does not accept a request body.

PUT
/v2.0/subnets/​{subnet_id}​
Update subnet

Updates a specified subnet.

 

Some attributes, such as IP version (ip_version), and CIDR (cidr) cannot be updated. Attempting to update these attributes results in a 400 Bad Request error.

Normal response codes
200
Error response codes
badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404)
Request parameters
Parameter Style Type Description
subnet_id URI csapi:UUID

The UUID for the subnet of interest to you.

name (Optional) plain xsd:string

The subnet name.

allocation_pools (Optional) plain xsd:dict

The start and end addresses for the allocation pools.

start (Optional) plain xsd:string

The start address for the allocation pools.

end (Optional) plain xsd:string

The end address for the allocation pools.

gateway_ip (Optional) plain xsd:string

The gateway IP address.

enable_dhcp (Optional) plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers (Optional) plain xsd:string

DNS server

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination (Optional) plain xsd:string

Destination for static route

nexthop (Optional) plain xsd:string

Nexthop for the destination

Response parameters
Parameter Style Type Description
name plain xsd:string

The subnet name.

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

allocation_pools plain xsd:dict

The start and end addresses for the allocation pools.

start plain xsd:string

The start address for the allocation pools.

end plain xsd:string

The end address for the allocation pools.

gateway_ip plain xsd:string

The gateway IP address.

ip_version plain xsd:string

The IP version, which is 4 or 6.

cidr plain xsd:bool

The CIDR.

id plain csapi:uuid

The ID of the subnet.

enable_dhcp plain xsd:boolean

Set to true if DHCP is enabled and false if DHCP is disabled.

dns_nameservers plain xsd:string

DNS server.

host_routes (Optional) plain xsd:list

A list of host route dictionaries for the subnet. For example:

"host_routes":[
    {
        "destination":"0.0.0.0/0",
        "nexthop":"123.456.78.9"
    },
    {
        "destination":"192.168.0.0/24",
        "nexthop":"192.168.0.1"
    }
]
destination plain xsd:string

Destination for static route.

nexthop plain xsd:string

Nexthop for the destination.

ipv6_ra_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

ipv6_address_mode plain xsd:string

One of the following values is returned: dhcpv6-stateful, dhcpv6-stateless, or slaac.

{
    "subnet": {
        "name": "my_subnet"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<subnet>
    <name>my_subnet</name>
</subnet>
{
    "subnet": {
        "name": "my_subnet",
        "enable_dhcp": true,
        "network_id": "db193ab3-96e3-4cb3-8fc5-05f4296d0324",
        "tenant_id": "26a7980765d0414dbc1fc1f88cdb7e6e",
        "dns_nameservers": [],
        "allocation_pools": [
            {
                "start": "10.0.0.2",
                "end": "10.0.0.254"
            }
        ],
        "host_routes": [],
        "ip_version": 4,
        "gateway_ip": "10.0.0.1",
        "cidr": "10.0.0.0/24",
        "id": "08eae331-0402-425a-923c-34f7cfe39c1b"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<subnet>
    <name>my_subnet</name>
    <enable_dhcp>True</enable_dhcp>
    <network_id>d32019d3-bc6e-4319-9c1d-6722fc136a22</network_id>
    <tenant_id>4fd44f30292945e481c7b8a0c8908869</tenant_id>
    <dns_nameservers/>
    <allocation_pools>
        <allocation_pool>
            <start>192.0.0.2</start>
            <end>192.255.255.254</end>
        </allocation_pool>
    </allocation_pools>
    <host_routes/>
    <ip_version>4</ip_version>
    <gateway_ip>192.0.0.1</gateway_ip>
    <cidr>192.0.0.0/8</cidr>
    <id>54d6f61d-db07-451c-9ab3-b9609b6b6f0b</id>
</subnet>
DELETE
/v2.0/subnets/​{subnet_id}​
Delete subnet

Deletes a specified subnet.

 

The operation fails if subnet IP addresses are still allocated.

Normal response codes
204
Error response codes
unauthorized (401), itemNotFound (404), conflict (409)
Request parameters
Parameter Style Type Description
subnet_id URI csapi:UUID

The UUID for the subnet of interest to you.

This operation does not accept a request body and does not return a response body.

Ports

List, show information for, create, update, and delete ports.

GET
/v2.0/ports
List ports

Lists ports to which the tenant has access.

 

Default policy settings return only those ports that are owned by the tenant who submits the request, unless the request is submitted by an user with administrative rights. Users can control which attributes are returned by using the fields query parameter. Additionally, you can filter results by using query string parameters. For information, see Filtering and Column Selection.

Normal response codes
200
Error response codes
unauthorized (401)
Request parameters
Parameter Style Type Description
status (Optional) query xsd:string

The port status. Value is ACTIVE or DOWN.

display_name (Optional) query xsd:string

The port name.

admin_state (Optional) query xsd:bool

The administrative state of the router, which is up (true) or down (false).

network_id (Optional) query csapi:uuid

The ID of the attached network.

tenant_id (Optional) plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

device_owner (Optional) query xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

mac_address (Optional) query xsd:string

The MAC address of the port.

port_id (Optional) query csapi:uuid

The ID of the port.

security_groups (Optional) query csapi:uuid

The IDs of any attached security groups.

device_id (Optional) query csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

Response parameters
Parameter Style Type Description
status plain xsd:string

The port status. Value is ACTIVE or DOWN.

name plain xsd:string

The port name.

allowed_address_pairs plain xsd:dict

Allowed address pairs.

ip_address plain xsd:string

IP address.

mac_address plain xsd:string

The MAC address.

admin_state_up plain xsd:bool

The administrative state of the port, which is up (true) or down (false).

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

extra_dhcp_opts plain xsd:dict

Extra DHCP options.

opt_value plain xsd:string

Extra DHCP option (value).

opt_name plain xsd:string

Extra DHCP option (name).

device_owner plain xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

mac_address plain xsd:string

The MAC address of the port.

fixed_ips plain xsd:dict

IP addresses for the port. Includes the IP address and subnet ID.

subnet_id plain csapi:uuid

Subnet ID of the subnet to which the port is attached.

ip_address plain xsd:string

IP address.

id plain csapi:uuid

The ID of the port.

security_groups plain csapi:uuid

The IDs of any attached security groups.

device_id plain csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

{
    "ports": [
        {
            "status": "ACTIVE",
            "name": "",
            "allowed_address_pairs": [],
            "admin_state_up": true,
            "network_id": "70c1db1f-b701-45bd-96e0-a313ee3430b3",
            "tenant_id": "",
            "extra_dhcp_opts": [],
            "device_owner": "network:router_gateway",
            "mac_address": "fa:16:3e:58:42:ed",
            "fixed_ips": [
                {
                    "subnet_id": "008ba151-0b8c-4a67-98b5-0d2b87666062",
                    "ip_address": "172.24.4.2"
                }
            ],
            "id": "d80b1a3b-4fc1-49f3-952e-1e2ab7081d8b",
            "security_groups": [],
            "device_id": "9ae135f4-b6e0-4dad-9e91-3c223e385824"
        },
        {
            "status": "ACTIVE",
            "name": "",
            "allowed_address_pairs": [],
            "admin_state_up": true,
            "network_id": "f27aa545-cbdd-4907-b0c6-c9e8b039dcc2",
            "tenant_id": "d397de8a63f341818f198abb0966f6f3",
            "extra_dhcp_opts": [],
            "device_owner": "network:router_interface",
            "mac_address": "fa:16:3e:bb:3c:e4",
            "fixed_ips": [
                {
                    "subnet_id": "288bf4a1-51ba-43b6-9d0a-520e9005db17",
                    "ip_address": "10.0.0.1"
                }
            ],
            "id": "f71a6703-d6de-4be1-a91a-a570ede1d159",
            "security_groups": [],
            "device_id": "9ae135f4-b6e0-4dad-9e91-3c223e385824"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<ports 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">
    <port>
        <status>ACTIVE</status>
        <name/>
        <allowed_address_pairs quantum:type="list"/>
        <admin_state_up quantum:type="bool">True</admin_state_up>
        <network_id>70c1db1f-b701-45bd-96e0-a313ee3430b3</network_id>
        <tenant_id/>
        <extra_dhcp_opts quantum:type="list"/>
        <device_owner>network:router_gateway</device_owner>
        <mac_address>fa:16:3e:58:42:ed</mac_address>
        <fixed_ips>
            <fixed_ip>
                <subnet_id>008ba151-0b8c-4a67-98b5-0d2b87666062</subnet_id>
                <ip_address>172.24.4.2</ip_address>
            </fixed_ip>
        </fixed_ips>
        <id>d80b1a3b-4fc1-49f3-952e-1e2ab7081d8b</id>
        <security_groups quantum:type="list"/>
        <device_id>9ae135f4-b6e0-4dad-9e91-3c223e385824</device_id>
    </port>
    <port>
        <status>ACTIVE</status>
        <name/>
        <allowed_address_pairs quantum:type="list"/>
        <admin_state_up quantum:type="bool">True</admin_state_up>
        <network_id>f27aa545-cbdd-4907-b0c6-c9e8b039dcc2</network_id>
        <tenant_id>d397de8a63f341818f198abb0966f6f3</tenant_id>
        <extra_dhcp_opts quantum:type="list"/>
        <device_owner>network:router_interface</device_owner>
        <mac_address>fa:16:3e:bb:3c:e4</mac_address>
        <fixed_ips>
            <fixed_ip>
                <subnet_id>288bf4a1-51ba-43b6-9d0a-520e9005db17</subnet_id>
                <ip_address>10.0.0.1</ip_address>
            </fixed_ip>
        </fixed_ips>
        <id>f71a6703-d6de-4be1-a91a-a570ede1d159</id>
        <security_groups quantum:type="list"/>
        <device_id>9ae135f4-b6e0-4dad-9e91-3c223e385824</device_id>
    </port>
</ports>
POST
/v2.0/ports
Create port

Creates a port on a specified network.

 

You must specify the network_id attribute in the request body to define the network where the port is to be created.

Normal response codes
201
Error response codes
badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), macGenerationFailure (503), serviceUnavailable (503)
Request parameters
Parameter Style Type Description
name (Optional) plain xsd:string

A symbolic name for the port.

admin_state_up (Optional) plain xsd:bool

The administrative status of the port, which is up (true) or down (false).

tenant_id (Optional) plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

mac_address (Optional) plain xsd:string

The MAC address. If you specify an address that is not valid, a 400 Bad Request error is returned. If you do not specify a MAC address, OpenStack Networking tries to allocate one. If a failure occurs, a 503 Service Unavailable error is returned.

fixed_ips (Optional) plain xsd:dict

If you specify only a subnet ID, OpenStack Networking allocates an available IP from that subnet to the port. If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the specified address to the port.

subnet_id (Optional) plain csapi:uuid

If you specify only a subnet ID, OpenStack Networking allocates an available IP from that subnet to the port. If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the specified address to the port.

ip_address (Optional) plain xsd:string

If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the specified address to the port.

security_groups (Optional) plain csapi:uuid

Security groups. Specify one or more security group IDs.

network_id plain csapi:uuid

The ID of the network.

allowed_address_pairs (Optional) plain xsd:dict

Allowed address pairs

ip_address (Optional) plain xsd:string

The IP address of Allowed address pair.

mac_address (Optional) plain xsd:string

The MAC address of Allowed address pair.

opt_value (Optional) plain xsd:string

Extra DHCP option (value).

opt_name (Optional) plain xsd:string

Extra DHCP option (name).

device_owner (Optional) plain xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

device_id (Optional) plain csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

Response parameters
Parameter Style Type Description
status plain xsd:string

The port status. Value is ACTIVE or DOWN.

name plain xsd:string

The port name.

allowed_address_pairs plain xsd:dict

Allowed address pairs.

ip_address plain xsd:string

IP address.

mac_address plain xsd:string

The MAC address.

admin_state_up plain xsd:bool

The administrative state of the port, which is up (true) or down (false).

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

extra_dhcp_opts plain xsd:dict

Extra DHCP options.

opt_value plain xsd:string

Extra DHCP option (value).

opt_name plain xsd:string

Extra DHCP option (name).

device_owner plain xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

mac_address plain xsd:string

The MAC address of the port.

fixed_ips plain xsd:dict

IP addresses for the port. Includes the IP address and subnet ID.

subnet_id plain csapi:uuid

Subnet ID of the subnet to which the port is attached.

ip_address plain xsd:string

IP address.

id plain csapi:uuid

The ID of the port.

security_groups plain csapi:uuid

The IDs of any attached security groups.

device_id plain csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

{
    "port": {
        "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7",
        "name": "private-port",
        "admin_state_up": true
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<port>
    <name>test_port_1</name>
    <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
</port>
{
    "port": {
        "status": "DOWN",
        "name": "private-port",
        "allowed_address_pairs": [],
        "admin_state_up": true,
        "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7",
        "tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa",
        "device_owner": "",
        "mac_address": "fa:16:3e:c9:cb:f0",
        "fixed_ips": [
            {
                "subnet_id": "a0304c3a-4f08-4c43-88af-d796509c97d2",
                "ip_address": "10.0.0.2"
            }
        ],
        "id": "65c0ee9f-d634-4522-8954-51021b570b0d",
        "security_groups": [
            "f0ac4394-7e4a-4409-9701-ba8be283dbc3"
        ],
        "device_id": ""
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<port 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">
    <status>DOWN</status>
    <name>test_port_1</name>
    <allowed_address_pairs quantum:type="list"/>
    <admin_state_up quantum:type="bool">True</admin_state_up>
    <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
    <tenant_id>d6700c0c9ffa4f1cb322cd4a1f3906fa</tenant_id>
    <device_owner/>
    <mac_address>fa:16:3e:09:e3:47</mac_address>
    <fixed_ips>
        <fixed_ip>
            <subnet_id>a0304c3a-4f08-4c43-88af-d796509c97d2</subnet_id>
            <ip_address>10.0.0.4</ip_address>
        </fixed_ip>
    </fixed_ips>
    <id>8021790b-4bfd-46ab-bcc7-0ef2f73bff43</id>
    <security_groups>
        <security_group>f0ac4394-7e4a-4409-9701-ba8be283dbc3</security_group>
    </security_groups>
    <device_id/>
</port>
POST
/v2.0/ports
Bulk create ports

Creates multiple ports in a single request. Specify a list of ports in the request body.

 

Guarantees the atomic completion of the bulk operation.

Normal response codes
201
Error response codes
badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), conflict (409), macGenerationFailure (503)
Request parameters
Parameter Style Type Description
name (Optional) plain xsd:string

A symbolic name for the port.

admin_state_up (Optional) plain xsd:bool

The administrative status of the port, which is up (true) or down (false).

tenant_id (Optional) plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own. You cannot change this value through authorization policies.

mac_address (Optional) plain xsd:string

The MAC address. If you specify an address that is not valid, a 400 Bad Request error is returned. If you do not specify a MAC address, OpenStack Networking tries to allocate one. If a failure occurs, a 503 Service Unavailable error is returned.

fixed_ips (Optional) plain xsd:dict

If you specify only a subnet ID, OpenStack Networking allocates an available IP from that subnet to the port. If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the specified address to the port.

subnet_id (Optional) plain csapi:uuid

If you specify only a subnet ID, OpenStack Networking allocates an available IP from that subnet to the port. If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the specified address to the port.

ip_address (Optional) plain xsd:string

If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the specified address to the port.

security_groups (Optional) plain csapi:uuid

Security groups. Specify one or more security group IDs.

network_id plain csapi:uuid

The ID of the network.

allowed_address_pairs (Optional) plain xsd:dict

Allowed address pairs

ip_address (Optional) plain xsd:string

The IP address of Allowed address pair.

mac_address (Optional) plain xsd:string

The MAC address of Allowed address pair.

opt_value (Optional) plain xsd:string

Extra DHCP option (value).

opt_name (Optional) plain xsd:string

Extra DHCP option (name).

device_owner (Optional) plain xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

device_id (Optional) plain csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

Response parameters
Parameter Style Type Description
status plain xsd:string

The port status. Value is ACTIVE or DOWN.

name plain xsd:string

The port name.

allowed_address_pairs plain xsd:dict

Allowed address pairs.

ip_address plain xsd:string

IP address.

mac_address plain xsd:string

The MAC address.

admin_state_up plain xsd:bool

The administrative state of the port, which is up (true) or down (false).

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

extra_dhcp_opts plain xsd:dict

Extra DHCP options.

opt_value plain xsd:string

Extra DHCP option (value).

opt_name plain xsd:string

Extra DHCP option (name).

device_owner plain xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

mac_address plain xsd:string

The MAC address of the port.

fixed_ips plain xsd:dict

IP addresses for the port. Includes the IP address and subnet ID.

subnet_id plain csapi:uuid

Subnet ID of the subnet to which the port is attached.

ip_address plain xsd:string

IP address.

id plain csapi:uuid

The ID of the port.

security_groups plain csapi:uuid

The IDs of any attached security groups.

device_id plain csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

{
    "ports": [
        {
            "name": "sample_port_1",
            "admin_state_up": false,
            "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7"
        },
        {
            "name": "sample_port_2",
            "admin_state_up": false,
            "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7"
        }
    ]
}
<?xml version="1.0" encoding="UTF-8"?>
<ports>
    <port>
        <name>test_port_1-xml</name>
        <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
    </port>
    <port>
        <name>test_port_2-xml</name>
        <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
    </port>
</ports>
{
    "ports": [
        {
            "status": "DOWN",
            "name": "sample_port_1",
            "allowed_address_pairs": [],
            "admin_state_up": false,
            "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7",
            "tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa",
            "device_owner": "",
            "mac_address": "fa:16:3e:48:b8:9f",
            "fixed_ips": [
                {
                    "subnet_id": "a0304c3a-4f08-4c43-88af-d796509c97d2",
                    "ip_address": "10.0.0.5"
                }
            ],
            "id": "94225baa-9d3f-4b93-bf12-b41e7ce49cdb",
            "security_groups": [
                "f0ac4394-7e4a-4409-9701-ba8be283dbc3"
            ],
            "device_id": ""
        },
        {
            "status": "DOWN",
            "name": "sample_port_2",
            "allowed_address_pairs": [],
            "admin_state_up": false,
            "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7",
            "tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa",
            "device_owner": "",
            "mac_address": "fa:16:3e:f4:73:df",
            "fixed_ips": [
                {
                    "subnet_id": "a0304c3a-4f08-4c43-88af-d796509c97d2",
                    "ip_address": "10.0.0.6"
                }
            ],
            "id": "235b09e0-63c4-47f1-b221-66ba54c21760",
            "security_groups": [
                "f0ac4394-7e4a-4409-9701-ba8be283dbc3"
            ],
            "device_id": ""
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<ports 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">
    <port>
        <status>DOWN</status>
        <name>test_port_1-xml</name>
        <allowed_address_pairs quantum:type="list"/>
        <admin_state_up quantum:type="bool">True</admin_state_up>
        <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
        <tenant_id>d6700c0c9ffa4f1cb322cd4a1f3906fa</tenant_id>
        <device_owner/>
        <mac_address>fa:16:3e:fa:e2:34</mac_address>
        <fixed_ips>
            <fixed_ip>
                <subnet_id>a0304c3a-4f08-4c43-88af-d796509c97d2</subnet_id>
                <ip_address>10.0.0.7</ip_address>
            </fixed_ip>
        </fixed_ips>
        <id>054e8f14-4082-400e-afcc-5d6e5b3bcc0c</id>
        <security_groups>
            <security_group>f0ac4394-7e4a-4409-9701-ba8be283dbc3</security_group>
        </security_groups>
        <device_id/>
    </port>
    <port>
        <status>DOWN</status>
        <name>test_port_2-xml</name>
        <allowed_address_pairs quantum:type="list"/>
        <admin_state_up quantum:type="bool">True</admin_state_up>
        <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
        <tenant_id>d6700c0c9ffa4f1cb322cd4a1f3906fa</tenant_id>
        <device_owner/>
        <mac_address>fa:16:3e:e6:cf:d9</mac_address>
        <fixed_ips>
            <fixed_ip>
                <subnet_id>a0304c3a-4f08-4c43-88af-d796509c97d2</subnet_id>
                <ip_address>10.0.0.8</ip_address>
            </fixed_ip>
        </fixed_ips>
        <id>879e96f9-6dd5-4232-bd19-3f39d0ae463b</id>
        <security_groups>
            <security_group>f0ac4394-7e4a-4409-9701-ba8be283dbc3</security_group>
        </security_groups>
        <device_id/>
    </port>
</ports>
GET
/v2.0/ports/​{port_id}​
Show port

Shows information for a specified port.

 
Normal response codes
200
Error response codes
unauthorized (401), itemNotFound (404)
Request parameters
Parameter Style Type Description
port_id URI csapi:UUID The UUID for the port of interest to you.
Response parameters
Parameter Style Type Description
status plain xsd:string

The port status. Value is ACTIVE or DOWN.

name plain xsd:string

The port name.

allowed_address_pairs plain xsd:dict

Allowed address pairs.

ip_address plain xsd:string

IP address.

mac_address plain xsd:string

The MAC address.

admin_state_up plain xsd:bool

The administrative state of the port, which is up (true) or down (false).

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

extra_dhcp_opts plain xsd:dict

Extra DHCP options.

opt_value plain xsd:string

Extra DHCP option (value).

opt_name plain xsd:string

Extra DHCP option (name).

device_owner plain xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

mac_address plain xsd:string

The MAC address of the port.

fixed_ips plain xsd:dict

IP addresses for the port. Includes the IP address and subnet ID.

subnet_id plain csapi:uuid

Subnet ID of the subnet to which the port is attached.

ip_address plain xsd:string

IP address.

id plain csapi:uuid

The ID of the port.

security_groups plain csapi:uuid

The IDs of any attached security groups.

device_id plain csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

{
    "port": {
        "status": "ACTIVE",
        "name": "",
        "allowed_address_pairs": [],
        "admin_state_up": true,
        "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7",
        "tenant_id": "7e02058126cc4950b75f9970368ba177",
        "extra_dhcp_opts": [],
        "device_owner": "network:router_interface",
        "mac_address": "fa:16:3e:23:fd:d7",
        "fixed_ips": [
            {
                "subnet_id": "a0304c3a-4f08-4c43-88af-d796509c97d2",
                "ip_address": "10.0.0.1"
            }
        ],
        "id": "46d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb2",
        "security_groups": [],
        "device_id": "5e3898d7-11be-483e-9732-b2f5eccd2b2e"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<port 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">
    <status>ACTIVE</status>
    <name/>
    <allowed_address_pairs quantum:type="list"/>
    <admin_state_up quantum:type="bool">True</admin_state_up>
    <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
    <tenant_id>7e02058126cc4950b75f9970368ba177</tenant_id>
    <extra_dhcp_opts quantum:type="list"/>
    <device_owner>network:router_interface</device_owner>
    <mac_address>fa:16:3e:23:fd:d7</mac_address>
    <fixed_ips>
        <fixed_ip>
            <subnet_id>a0304c3a-4f08-4c43-88af-d796509c97d2</subnet_id>
            <ip_address>10.0.0.1</ip_address>
        </fixed_ip>
    </fixed_ips>
    <id>46d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb2</id>
    <security_groups quantum:type="list"/>
    <device_id>5e3898d7-11be-483e-9732-b2f5eccd2b2e</device_id>
</port>

This operation does not accept a request body.

PUT
/v2.0/ports/​{port_id}​
Update port

Updates a specified port.

 

You can update information for a port, such as its symbolic name and associated IPs. When you update IPs for a port, any previously associated IPs are removed, returned to the respective subnets allocation pools, and replaced by the IPs specified in the body for the update request. Therefore, this operation replaces the fixed_ip attribute when it is specified in the request body. If the updated IP addresses are not valid or are already in use, the operation fails and the existing IP addresses are not removed from the port.

When you update security groups for a port and the operation succeeds, any associated security groups are removed and replaced by the security groups specified in the body for the update request. Therefore, this operation replaces the security_groups attribute when you specify it in the request body. However, if the specified security groups are not valid, the operation fails and the existing security groups are not removed from the port.

Normal response codes
200
Error response codes
badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), conflict (409)
Request parameters
Parameter Style Type Description
port_id URI csapi:UUID The UUID for the port of interest to you.
name (Optional) plain xsd:string

A symbolic name for the port.

admin_state_up (Optional) plain xsd:bool

The administrative status of the port, which is up (true) or down (false).

fixed_ips (Optional) plain xsd:dict

If you specify only a subnet ID, OpenStack Networking allocates an available IP from that subnet to the port. If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the specified address to the port.

security_groups (Optional) plain csapi:uuid

Security groups. Specify one or more security group IDs.

Response parameters
Parameter Style Type Description
status plain xsd:string

The port status. Value is ACTIVE or DOWN.

name plain xsd:string

The port name.

allowed_address_pairs plain xsd:dict

Allowed address pairs.

ip_address plain xsd:string

IP address.

mac_address plain xsd:string

The MAC address.

admin_state_up plain xsd:bool

The administrative state of the port, which is up (true) or down (false).

network_id plain csapi:uuid

The ID of the attached network.

tenant_id plain csapi:uuid

The ID of the tenant who owns the network. Only administrative users can specify a tenant ID other than their own.

extra_dhcp_opts plain xsd:dict

Extra DHCP options.

opt_value plain xsd:string

Extra DHCP option (value).

opt_name plain xsd:string

Extra DHCP option (name).

device_owner plain xsd:string

The ID of the entity that uses this port. For example, a DHCP agent.

mac_address plain xsd:string

The MAC address of the port.

fixed_ips plain xsd:dict

IP addresses for the port. Includes the IP address and subnet ID.

subnet_id plain csapi:uuid

Subnet ID of the subnet to which the port is attached.

ip_address plain xsd:string

IP address.

id plain csapi:uuid

The ID of the port.

security_groups plain csapi:uuid

The IDs of any attached security groups.

device_id plain csapi:uuid

The ID of the device that uses this port. For example, a virtual server.

{
    "port": {
        "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7",
        "name": "private-port",
        "admin_state_up": true
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<port>
    <name>test_port_1</name>
    <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
</port>
{
    "port": {
        "status": "DOWN",
        "name": "private-port",
        "allowed_address_pairs": [],
        "admin_state_up": true,
        "network_id": "a87cc70a-3e15-4acf-8205-9b711a3531b7",
        "tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa",
        "device_owner": "",
        "mac_address": "fa:16:3e:c9:cb:f0",
        "fixed_ips": [
            {
                "subnet_id": "a0304c3a-4f08-4c43-88af-d796509c97d2",
                "ip_address": "10.0.0.2"
            }
        ],
        "id": "65c0ee9f-d634-4522-8954-51021b570b0d",
        "security_groups": [
            "f0ac4394-7e4a-4409-9701-ba8be283dbc3"
        ],
        "device_id": ""
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<port 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">
    <status>DOWN</status>
    <name>test_port_1</name>
    <allowed_address_pairs quantum:type="list"/>
    <admin_state_up quantum:type="bool">True</admin_state_up>
    <network_id>a87cc70a-3e15-4acf-8205-9b711a3531b7</network_id>
    <tenant_id>d6700c0c9ffa4f1cb322cd4a1f3906fa</tenant_id>
    <device_owner/>
    <mac_address>fa:16:3e:09:e3:47</mac_address>
    <fixed_ips>
        <fixed_ip>
            <subnet_id>a0304c3a-4f08-4c43-88af-d796509c97d2</subnet_id>
            <ip_address>10.0.0.4</ip_address>
        </fixed_ip>
    </fixed_ips>
    <id>8021790b-4bfd-46ab-bcc7-0ef2f73bff43</id>
    <security_groups>
        <security_group>f0ac4394-7e4a-4409-9701-ba8be283dbc3</security_group>
    </security_groups>
    <device_id/>
</port>
DELETE
/v2.0/ports/​{port_id}​
Delete port

Deletes a specified port.

 

Any IP addresses that are associated with the port are returned to the respective subnets allocation pools.

Normal response codes
204
Error response codes
unauthorized (401), forbidden (403), itemNotFound (404)
Request parameters
Parameter Style Type Description
port_id URI csapi:UUID The UUID for the port of interest to you.

This operation does not accept a request body and does not return a response body.