API du service de serveurs Cloud v2 - Extensions

Les extensions rajoutent des fonctionnalités, des types MIME, des actions, des états, des headers, des paramètres et des ressources à l'API du service de serveurs Cloud.

Dans l'API du service de serveurs Cloud v2, le support du XML dans les requêtes et les réponses à été déprécié.

Server admin actions (action)

Administrator only. Perform actions on a server. Specify the action in the request body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Pause server

Pauses a server. Changes its status to PAUSED.

 

This operation stores the state of the VM in RAM. A paused instance continues to run in a frozen state.

Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

pause plain xsd:string

Specify the pause action in the request body.

{
    "pause": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <pause/>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Unpause server

Unpauses a PAUSED server. Changes its status to ACTIVE.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

unpause plain xsd:string

Specify the unpause action in the request body.

{
    "unpause": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <unpause />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Suspend server

Suspends a server. Changes its status to SUSPENDED.

 

This operation stores the VM state on disk, writes all memory to disk, and stops the virtual machine.

Administrative users might suspend an infrequently used instance or suspend an instance to perform system maintenance. Suspending an instance is similar to placing a device in hibernation; memory and vCPUs become available to create other instances.

Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

suspend plain xsd:string

Specify the suspend action in the request body.

{
    "suspend": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <suspend />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Resume server

Resumes a SUSPENDED server. Changes its status to ACTIVE.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

resume plain xsd:string

Specify the resume action in the request body.

{
    "resume": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <resume />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Migrate server

Migrates a server to a host. The scheduler chooses the host.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

migrate plain xsd:string

Specify the migrate action in the request body.

{
    "migrate": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <migrate />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Reset networking on server

Resets networking on a server.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

resetNetwork plain xsd:string

Specify the resetNetwork action in the request body.

{
    "resetNetwork": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <resetNetwork />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Inject network information

Injects network information into a server.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

injectNetworkInfo plain xsd:string

Specify the injectNetworkInfo action in the request body.

{
    "injectNetworkInfo": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <injectNetworkInfo />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Lock server

Locks a server.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

lock plain xsd:string

Specify the lock action in the request body.

{
    "lock": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <lock />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Unlock server

Unlocks a server.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

unlock plain xsd:string

Specify the unlock action in the request body.

{
    "unlock": null
}
<?xml version="1.0" encoding="UTF-8"?>
    <unlock />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Create server backup

Backs up a server instance.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

createBackup plain xsd:string

Specify the createBackup action in the request body.

name plain xsd:string

Name of the backup image.

backup_type plain xsd:string

The backup type. Either 'daily' or 'weekly.'

rotation plain xsd:int

An integer value that represents the number of backups to maintain.

{
    "createBackup": {
        "name": "Backup 1",
        "backup_type": "daily",
        "rotation": 1
    }
}
<?xml version="1.0" encoding="UTF-8"?>
    <createBackup>
        <name>Backup 1</name>
        <backup_type>daily</backup_type>
        <rotation>1</rotation>
    </createBackup>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Live-migrate server

Live-migrates a server to a new host without rebooting.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

os-migrateLive plain xsd:string

Specify the os-migrateLive action in the request body.

host plain xsd:string

Name of the new host.

block_migration plain xsd:boolean

If true, block migration is allowed.

disk_over_commit plain xsd:boolean

If true, disk over commit is allowed.

{
    "os-migrateLive": {
        "host": "0443e9a1254044d8b99f35eace132080",
        "block_migration": false,
        "disk_over_commit": false
    }
}
<?xml version="1.0" encoding="UTF-8" ?>
    <os-migrateLive>
        <host>6217bf142bb3491995f966af999f9f23</host>
        <block_migration>false</block_migration>
        <disk_over_commit>false</disk_over_commit>
    </os-migrateLive>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Reset server state

Resets the state of a server to a specified state.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

resetState plain xsd:string

Specify the resetState action in the request body.

state plain xsd:string

The desired state of a server.

{
    "os-resetState": {
        "state": "active"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
    <os-resetState>
        <state>active</state>
    </os-resetState>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Evacuate server

Evacuates a server from failed host.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

evacuate plain xsd:string

Specify the evacuate action in the request body.

host (Optional) plain xsd:string

The name or ID of the host where the server is evacuated.

adminPass (Optional) plain xsd:string

Specifies a new admin password for the evacuated instance.

onSharedStorage plain xsd:string

If server is on shared storage, set to True. Otherwise, set to False.

{
    "evacuate": {
        "host": "TargetHost",
        "adminPass": "MySecretPass",
        "onSharedStorage": "True"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<evacuate xmlns="http://docs.openstack.org/compute/api/v2"
    host="TargetHost"
    adminPass="MySecretPass"
    onSharedStorage="True"/>
{
    "adminPass": "MySecretPass"
}
<?xml version='1.0' encoding='UTF-8'?>
<adminPass>MySecretPass</adminPass>
POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Add security group

Assigns a specified security group to a specified server.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

addSecurityGroup plain xsd:string

Specify the addSecurityGroup action in the request body.

name plain xsd:string

The name of the security group to assign to the server.

{
    "security_group": {
        "name": "test"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<addSecurityGroup>
  <name>test</name>
</addSecurityGroup>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Remove security group

Removes a specified security group from a specified server.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

removeSecurityGroup plain xsd:string

Specify the removeSecurityGroup action in the request body.

name plain xsd:string

The name of the security group to remove from the server.

{
    "removeSecurityGroup": {
        "name": "test"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<removeSecurityGroup>
  <name>test</name>
</removeSecurityGroup>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Add floating IP address

Adds a floating IP address to an instance.

 

You can optionally associate a fixed IP address with the floating IP address.

Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

addFloatingIp plain xsd:string

Specify the addFloatingIP action in the request body.

fixed_address (Optional) plain xsd:string

A fixed IP address that you want to associate with the floating IP address.

address plain xsd:string

A floating IP address to associate with the instance.

{
    "addFloatingIp": {
        "fixed_address": "166.78.185.201",
        "address": "172.24.4.225"
    }
}

This operation does not return a response body.

Server diagnostics (diagnostics)

Get the usage data for a server.

GET
/v2/​{tenant_id}​/servers/​{server_id}​/diagnostics
Get server diagnostics

Gets basic usage data for a specified server.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

{
    "vnet0_tx_errors": 0,
    "vda_errors": -1,
    "vda_read": 4447232,
    "vda_write": 4347904,
    "vnet0_tx_packets": 1259,
    "vda_write_req": 3523,
    "memory-actual": 524288,
    "cpu0_time": 195230000000,
    "vnet0_tx": 364840,
    "vnet0_rx_drop": 0,
    "vnet0_rx_packets": 1423,
    "vnet0_rx_errors": 0,
    "memory": 524288,
    "memory-rss": 243188,
    "vda_read_req": 291,
    "vnet0_rx": 363725,
    "vnet0_tx_drop": 0
}

This operation does not accept a request body.

Flavor access (flavors)

Create and get details for private flavors. Also, list, add, and remove tenants' access to private flavors.

GET
/v2/​{tenant_id}​/flavors
List flavors with access type

Lists flavors and includes the access type, which is public or private.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

Response parameters
Parameter Style Type Description
disk plain xsd:int

Integer value for the minimum disk space in GB.

id plain xsd:int

The flavor ID.

links plain xsd:string

Flavor links.

name plain xsd:string

The flavor name.

ram plain xsd:int

Amount of RAM.

vcpus plain xsd:int

Number of VCPUs.

os-flavor-access:is_public plain xsd:Boolean

Set to true if access is public.

{
    "flavors": [
        {
            "disk": 1,
            "id": "1",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny",
            "os-flavor-access:is_public": true,
            "ram": 512,
            "vcpus": 1
        },
        {
            "disk": 20,
            "id": "2",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small",
            "os-flavor-access:is_public": true,
            "ram": 2048,
            "vcpus": 1
        },
        {
            "disk": 40,
            "id": "3",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium",
            "os-flavor-access:is_public": true,
            "ram": 4096,
            "vcpus": 2
        },
        {
            "disk": 80,
            "id": "4",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large",
            "os-flavor-access:is_public": true,
            "ram": 8192,
            "vcpus": 4
        },
        {
            "disk": 160,
            "id": "5",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge",
            "os-flavor-access:is_public": true,
            "ram": 16384,
            "vcpus": 8
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" os-flavor-access:is_public="True">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" os-flavor-access:is_public="True">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" os-flavor-access:is_public="True">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" os-flavor-access:is_public="True">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" os-flavor-access:is_public="True">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/flavors
Create private flavor

Creates a private flavor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

disk plain xsd:int

Integer value for the minimum disk space in GB.

id plain xsd:int

The flavor ID.

name plain xsd:string

The flavor name.

ram plain xsd:int

Amount of RAM.

vcpus plain xsd:int

Number of VCPUs.

os-flavor-access:is_public plain xsd:Boolean

Set to true if access is public. Set to false if access is private.

Response parameters
Parameter Style Type Description
disk plain xsd:int

Integer value for the minimum disk space in GB.

id plain xsd:int

The flavor ID.

links plain xsd:string

Flavor links.

name plain xsd:string

The flavor name.

ram plain xsd:int

Amount of RAM.

vcpus plain xsd:int

Number of VCPUs.

os-flavor-access:is_public plain xsd:Boolean

Set to true if access is public.

{
    "flavor": {
        "name": "test_flavor",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": "10",
        "os-flavor-access:is_public": false
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns="http://docs.openstack.org/compute/api/v1.1"
   xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v1.1"
   name="test_flavor"
   ram="1024"
   vcpus="2"
   disk="10"
   id="10"
   os-flavor-access:is_public="False"
/>
{
    "flavor": {
        "disk": 10,
        "id": "10",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/10",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/10",
                "rel": "bookmark"
            }
        ],
        "name": "test_flavor",
        "os-flavor-access:is_public": false,
        "ram": 1024,
        "vcpus": 2
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="test_flavor" id="10" os-flavor-access:is_public="False">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/10" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/10" rel="bookmark"/>
</flavor>
GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​
Show flavor access type

Gets the flavor access type, which is public or private.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI csapi:uuid

The ID of the flavor of interest to you.

Response parameters
Parameter Style Type Description
disk plain xsd:int

Integer value for the minimum disk space in GB.

id plain xsd:int

The flavor ID.

links plain xsd:string

Flavor links.

name plain xsd:string

The flavor name.

ram plain xsd:int

Amount of RAM.

vcpus plain xsd:int

Number of VCPUs.

os-flavor-access:is_public plain xsd:Boolean

Set to true if access is public.

{
    "flavor": {
        "disk": 1,
        "id": "1",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                "rel": "bookmark"
            }
        ],
        "name": "m1.tiny",
        "os-flavor-access:is_public": true,
        "ram": 512,
        "vcpus": 1
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" os-flavor-access:is_public="True">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
</flavor>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​/os-flavor-access
List tenants with access to private flavor

Lists tenants with access to the specified private flavor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI csapi:uuid

The ID of the flavor of interest to you.

Response parameters
Parameter Style Type Description
flavor_id plain xsd:int

The flavor ID.

tenant_id plain xsd:string

The tenant ID.

{
    "flavor_access": [
        {
            "flavor_id": "10",
            "tenant_id": "fake_tenant"
        },
        {
            "flavor_id": "10",
            "tenant_id": "openstack"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor_access>
  <access tenant_id="fake_tenant" flavor_id="10"/>
  <access tenant_id="openstack" flavor_id="10"/>
</flavor_access>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/flavors/​{flavor_id}​/action
Add access to private flavor

Gives a specified tenant access to the specified private flavor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI csapi:uuid

The ID of the flavor of interest to you.

addTenantAccess plain xsd:string

Specify the addTenantAccess action.

tenant plain xsd:string

The name of the tenant to which to give access.

Response parameters
Parameter Style Type Description
flavor_id plain xsd:int

The flavor ID.

tenant_id plain xsd:string

The tenant ID.

{
    "addTenantAccess": {
        "tenant": "fake_tenant"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<addTenantAccess>
   <tenant>fake_tenant</tenant>
</addTenantAccess>
{
    "flavor_access": [
        {
            "flavor_id": "10",
            "tenant_id": "fake_tenant"
        },
        {
            "flavor_id": "10",
            "tenant_id": "openstack"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor_access>
  <access tenant_id="fake_tenant" flavor_id="10"/>
  <access tenant_id="openstack" flavor_id="10"/>
</flavor_access>
DELETE
/v2/​{tenant_id}​/flavors/​{flavor_id}​/action
Delete access from private flavor

Revokes access from the specified tenant for the specified private flavor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI csapi:uuid

The ID of the flavor of interest to you.

removeTenantAccess plain xsd:string

Specify the removeTenantAccess action.

tenant plain xsd:string

The name of the tenant from which to revoke access.

Response parameters
Parameter Style Type Description
flavor_id plain xsd:int

The flavor ID.

tenant_id plain xsd:string

The tenant ID.

{
    "removeTenantAccess": {
        "tenant": "fake_tenant"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<removeTenantAccess>
   <tenant>fake_tenant</tenant>
</removeTenantAccess>
{
    "flavor_access": [
        {
            "flavor_id": "10",
            "tenant_id": "openstack"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor_access>
    <access tenant_id="openstack" flavor_id="10"/>
</flavor_access>

Flavors with FlavorDisabled attribute (flavors)

Get details for a flavor, and list details for available flavors. Includes the OS-FLV-DISABLED:disabled extended attribute.

GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​
Get flavor disabled status details

Gets details for a specified flavor. Includes the OS-FLV-DISABLED:disabled attribute.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI csapi:uuid

The ID of the flavor of interest to you.

{
    "flavor": {
        "OS-FLV-DISABLED:disabled": false,
        "disk": 1,
        "id": "1",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                "rel": "bookmark"
            }
        ],
        "name": "m1.tiny",
        "ram": 512,
        "vcpus": 1
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:OS-FLV-DISABLED="http://docs.openstack.org/compute/ext/flavor_disabled/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" OS-FLV-DISABLED:disabled="False">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
</flavor>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/flavors/detail
List flavors with flavor disabled status

Lists available flavors. Includes the OS-FLV-DISABLED:disabled attribute.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "flavors": [
        {
            "OS-FLV-DISABLED:disabled": false,
            "disk": 1,
            "id": "1",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny",
            "ram": 512,
            "vcpus": 1
        },
        {
            "OS-FLV-DISABLED:disabled": false,
            "disk": 20,
            "id": "2",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small",
            "ram": 2048,
            "vcpus": 1
        },
        {
            "OS-FLV-DISABLED:disabled": false,
            "disk": 40,
            "id": "3",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium",
            "ram": 4096,
            "vcpus": 2
        },
        {
            "OS-FLV-DISABLED:disabled": false,
            "disk": 80,
            "id": "4",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large",
            "ram": 8192,
            "vcpus": 4
        },
        {
            "OS-FLV-DISABLED:disabled": false,
            "disk": 160,
            "id": "5",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge",
            "ram": 16384,
            "vcpus": 8
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:OS-FLV-DISABLED="http://docs.openstack.org/compute/ext/flavor_disabled/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" OS-FLV-DISABLED:disabled="False">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" OS-FLV-DISABLED:disabled="False">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" OS-FLV-DISABLED:disabled="False">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" OS-FLV-DISABLED:disabled="False">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" OS-FLV-DISABLED:disabled="False">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>

This operation does not accept a request body.

Flavor extra-specs (os-extra-specs)

List, create, and update the extra-specs or keys for a flavor.

GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​/os-extra_specs
List flavor extra specs

Lists the extra-specs or keys for the specified flavor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI String

The ID of the flavor of interest to you.

{
    "extra_specs": {
        "key1": "value1",
        "key2": "value2"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<extra_specs>
  <key2>value2</key2>
  <key1>value1</key1>
</extra_specs>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/flavors/​{flavor_id}​/os-extra_specs
Create flavor extra specs

Creates extra-specs or keys for the specified flavor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI String

The ID of the flavor of interest to you.

{
    "extra_specs": {
        "key1": "value1",
        "key2": "value2"
    }
}
<?xml version="1.0" encoding="UTF-8" ?>
<extra_specs>
    <key1>value1</key1>
    <key2>value2</key2>
</extra_specs>
{
    "extra_specs": {
        "key1": "value1",
        "key2": "value2"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<extra_specs>
  <key2>value2</key2>
  <key1>value1</key1>
</extra_specs>
GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​/os-extra_specs/​{key_id}​
Get flavor extra spec details

Gets the value of the specified key.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI String

The ID of the flavor of interest to you.

{
    "key1": "value1"
}
<?xml version='1.0' encoding='UTF-8'?>
<extra_spec key="key1">value1</extra_spec>

This operation does not accept a request body.

DELETE
/v2/​{tenant_id}​/flavors/​{flavor_id}​/os-extra_specs/​{key_id}​
Delete flavor extra specs

Deletes a specified extra-spec by key.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI String

The ID of the flavor of interest to you.

This operation does not return a response body.

Flavors with rxtx_factor extended attribute (flavors)

Create, get details for, and list details for flavors. Includes the rxtx_factor extended attribute, related to configured bandwidth cap values.

POST
/v2/​{tenant_id}​/flavors
Create flavor with rxtx_factor

Creates a flavor. Includes the rxtx_factor extended attribute.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "flavor": {
        "name": "flavortest",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": "100",
        "rxtx_factor": 2.0
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<flavor xmlns="http://docs.openstack.org/compute/api/v1.1"
    xmlns:OS-FLV-EXT-DATA="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1"
    name="flavortest"
    ram="1024"
    vcpus="2"
    disk="10"
    id="100"
    rxtx_factor="2.0" />
{
    "flavor": {
        "disk": 10,
        "id": "100",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/100",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/100",
                "rel": "bookmark"
            }
        ],
        "name": "flavortest",
        "ram": 1024,
        "rxtx_factor": 2.0,
        "vcpus": 2
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="flavortest" id="100" rxtx_factor="2.0">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/100" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/100" rel="bookmark"/>
</flavor>
GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​
Get flavor with rxtx_factor

Gets details for a specified flavor. Includes the rxtx_factor extended attribute.

 
Normal response codes
200 200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI String

The flavor ID.

{
    "flavor": {
        "disk": 1,
        "id": "1",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                "rel": "bookmark"
            }
        ],
        "name": "m1.tiny",
        "ram": 512,
        "rxtx_factor": 1.0,
        "vcpus": 1
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" rxtx_factor="1.0">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
</flavor>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/flavors/detail
Get flavor Details with rxtx_factor

Lists details for available flavors and includes the rxtx_factor extended attribute.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "flavors": [
        {
            "disk": 1,
            "id": "1",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny",
            "ram": 512,
            "rxtx_factor": 1.0,
            "vcpus": 1
        },
        {
            "disk": 20,
            "id": "2",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small",
            "ram": 2048,
            "rxtx_factor": 1.0,
            "vcpus": 1
        },
        {
            "disk": 40,
            "id": "3",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium",
            "ram": 4096,
            "rxtx_factor": 1.0,
            "vcpus": 2
        },
        {
            "disk": 80,
            "id": "4",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large",
            "ram": 8192,
            "rxtx_factor": 1.0,
            "vcpus": 4
        },
        {
            "disk": 160,
            "id": "5",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge",
            "ram": 16384,
            "rxtx_factor": 1.0,
            "vcpus": 8
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" rxtx_factor="1.0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" rxtx_factor="1.0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" rxtx_factor="1.0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" rxtx_factor="1.0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" rxtx_factor="1.0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>

This operation does not accept a request body.

Flavors with extended attributes (flavors)

Create, get details for, and list details for flavors. Includes the rxtx_factor, OS-FLV-EXT-DATA:ephemeral, and swap extended attributes.

POST
/v2/​{tenant_id}​/flavors
Create flavor with extra data

Creates a flavor. Includes the rxtx_factor, OS-FLV-EXT-DATA:ephemeral, and swap extended attributes.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

name plain String

The name for the flavor.

ram plain String

The amount of RAM, in MBs, for the flavor.

vcpus plain String

The virtual CPUs, in a whole integer amount, for the flavor.

disk plain String

The amount of disk space, in GBs, for the flavor.

id plain String

The ID, a unique integer value, for the flavor.

rxtx_factor plain String

Enables you to override the bandwidth cap value, which defaults to the bandwidth cap value for the network to which the flavor is attached. The new bandwidth cap is calculated by multiplying the rxtx_factor valued that you specify by the rxtx_base property for the network.

OS-FLV-EXT-DATA:ephemeral plain String

The size of secondary drive, in GBs, to attach to a server.

swap plain String

The amount of swap disk space, in GBs, to allocate to a server.

{
    "flavor": {
        "name": "flavortest",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": "666",
        "rxtx_factor": 2.0,
        "OS-FLV-EXT-DATA:ephemeral": 30,
        "swap": 5
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<flavor xmlns="http://docs.openstack.org/compute/api/v1.1"
    xmlns:OS-FLV-EXT-DATA="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1"
    name="flavortest"
    ram="1024"
    vcpus="2"
    disk="10"
    id="666"
    swap="5"
    rxtx_factor="2.0"
    OS-FLV-EXT-DATA:ephemeral="30" />
{
    "flavor": {
        "OS-FLV-EXT-DATA:ephemeral": 30,
        "disk": 10,
        "id": "666",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/666",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/666",
                "rel": "bookmark"
            }
        ],
        "name": "flavortest",
        "ram": 1024,
        "vcpus": 2
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:OS-FLV-EXT-DATA="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="flavortest" id="666" OS-FLV-EXT-DATA:ephemeral="30">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/666" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/666" rel="bookmark"/>
</flavor>
GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​
Get flavor extra data details

Gets details for a specified flavor. Includes the rxtx_factor, OS-FLV-EXT-DATA:ephemeral, and swap extended attributes.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI String

The ID of the flavor of interest to you.

{
    "flavor": {
        "OS-FLV-EXT-DATA:ephemeral": 0,
        "disk": 1,
        "id": "1",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                "rel": "bookmark"
            }
        ],
        "name": "m1.tiny",
        "ram": 512,
        "vcpus": 1
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:OS-FLV-EXT-DATA="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" OS-FLV-EXT-DATA:ephemeral="0">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
</flavor>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/flavors/detail
List flavors with extra data

Lists available flavors. Includes the rxtx_factor, OS-FLV-EXT-DATA:ephemeral, and swap extended attributes.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "flavors": [
        {
            "OS-FLV-EXT-DATA:ephemeral": 0,
            "disk": 1,
            "id": "1",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny",
            "ram": 512,
            "vcpus": 1
        },
        {
            "OS-FLV-EXT-DATA:ephemeral": 0,
            "disk": 20,
            "id": "2",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small",
            "ram": 2048,
            "vcpus": 1
        },
        {
            "OS-FLV-EXT-DATA:ephemeral": 0,
            "disk": 40,
            "id": "3",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium",
            "ram": 4096,
            "vcpus": 2
        },
        {
            "OS-FLV-EXT-DATA:ephemeral": 0,
            "disk": 80,
            "id": "4",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large",
            "ram": 8192,
            "vcpus": 4
        },
        {
            "OS-FLV-EXT-DATA:ephemeral": 0,
            "disk": 160,
            "id": "5",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge",
            "ram": 16384,
            "vcpus": 8
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:OS-FLV-EXT-DATA="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" OS-FLV-EXT-DATA:ephemeral="0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" OS-FLV-EXT-DATA:ephemeral="0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" OS-FLV-EXT-DATA:ephemeral="0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" OS-FLV-EXT-DATA:ephemeral="0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" OS-FLV-EXT-DATA:ephemeral="0">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>

This operation does not accept a request body.

Flavors create or delete (flavors)

Create or delete flavors.

POST
/v2/​{tenant_id}​/flavors
Create flavor

Creates a flavor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique ID of the tenant or account.

name plain String

The name for the new flavor.

ram plain String

The amount of RAM, in MBs, for this flavor.

vcpus plain String

The virtual CPUs, in a whole integer amount, for the new flavor.

disk plain String

The amount of disk space, in GBs.

id plain String

The ID for the new flavor, which is a unique integer value.

{
    "flavor": {
        "name": "test_flavor",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": "10"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<flavor>
    <name>test_flavor</name>
    <ram>1024</ram>
    <vcpus>2</vcpus>
    <disk>10</disk>
    <id>10</id>
</flavor>
{
    "flavor": {
        "disk": 10,
        "id": "10",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/10",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/10",
                "rel": "bookmark"
            }
        ],
        "name": "test_flavor",
        "ram": 1024,
        "vcpus": 2
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="test_flavor" id="10">
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/10" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/10" rel="bookmark"/>
</flavor>
DELETE
/v2/​{tenant_id}​/flavors/​{flavor_id}​
Delete flavor

Deletes a flavor.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique ID of the tenant or account.

flavor_id URI String

The flavor ID.

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

Flavors swap value

Create or list flavors with a swap value. Requires the os-flavormanage extension. The swap value is the amount of swap disk space, in GBs, to allocate to a server.

GET
/v2/​{tenant_id}​/flavors/​{flavor_id}​/os-flavor-swap
List flavor extra specs

Lists the flavor specs including swap value for the specified flavor. The swap value is the amount of swap disk space, in GBs, to allocate to a server.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id URI String

The ID of the flavor of interest to you.

{
    "flavors": [
        {
            "disk": 1,
            "id": "1",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny",
            "ram": 512,
            "swap": "",
            "vcpus": 1
        },
        {
            "disk": 20,
            "id": "2",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small",
            "ram": 2048,
            "swap": "",
            "vcpus": 1
        },
        {
            "disk": 40,
            "id": "3",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium",
            "ram": 4096,
            "swap": "",
            "vcpus": 2
        },
        {
            "disk": 80,
            "id": "4",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large",
            "ram": 8192,
            "swap": "",
            "vcpus": 4
        },
        {
            "disk": 160,
            "id": "5",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge",
            "ram": 16384,
            "swap": "",
            "vcpus": 8
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor disk="1" vcpus="1" ram="512" name="m1.tiny" id="1" swap="">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" swap="">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" swap="">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" swap="">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" swap="">
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>

This operation does not accept a request body.

Images with size attribute (images)

List details for available images or get details for a specified image. Includes the OS-EXT-IMG-SIZE:size extended attribute, which shows the image size.

GET
/v2/​{tenant_id}​/images/detail
List details for images

Lists details for available images. Includes the image size.

 
Normal response codes
200 200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "images": [
        {
            "OS-EXT-IMG-SIZE:size": "74185822",
            "created": "2011-01-01T01:02:03Z",
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                },
                {
                    "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "auto_disk_config": "True",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage7",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "25165824",
            "created": "2011-01-01T01:02:03Z",
            "id": "155d900f-4e14-4e4c-a73d-069cbf4541e6",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "bookmark"
                },
                {
                    "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "58145823",
            "created": "2011-01-01T01:02:03Z",
            "id": "a2459075-d96c-40d5-893e-577ff92e721c",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "bookmark"
                },
                {
                    "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "49163826",
            "created": "2011-01-01T01:02:03Z",
            "id": "a440c04b-79fa-479c-bed1-0b816eaec379",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "bookmark"
                },
                {
                    "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "auto_disk_config": "False",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage6",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "26360814",
            "created": "2011-01-01T01:02:03Z",
            "id": "c905cedb-7281-47e4-8a62-f26bc5fc4c77",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "bookmark"
                },
                {
                    "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "155d900f-4e14-4e4c-a73d-069cbf4541e6",
                "ramdisk_id": null
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "84035174",
            "created": "2011-01-01T01:02:03Z",
            "id": "cedef40a-ed67-4d10-800e-17455edce175",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "bookmark"
                },
                {
                    "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "83594576",
            "created": "2011-01-01T01:02:03Z",
            "id": "76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
            "links": [
                {
                    "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "self"
                },
                {
                    "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "bookmark"
                },
                {
                    "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<images xmlns:OS-EXT-IMG-SIZE="http://docs.openstack.org/compute/ext/image_size/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage7" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="70a599e0-31e7-49b7-b260-868f441e862b" OS-EXT-IMG-SIZE:size="74185822">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="auto_disk_config">True</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
    <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="155d900f-4e14-4e4c-a73d-069cbf4541e6" OS-EXT-IMG-SIZE:size="25165824">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" rel="bookmark"/>
    <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="a2459075-d96c-40d5-893e-577ff92e721c" OS-EXT-IMG-SIZE:size="58145823">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/a2459075-d96c-40d5-893e-577ff92e721c" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/a2459075-d96c-40d5-893e-577ff92e721c" rel="bookmark"/>
    <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/a2459075-d96c-40d5-893e-577ff92e721c" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage6" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="a440c04b-79fa-479c-bed1-0b816eaec379" OS-EXT-IMG-SIZE:size="49163826">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="auto_disk_config">False</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/a440c04b-79fa-479c-bed1-0b816eaec379" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/a440c04b-79fa-479c-bed1-0b816eaec379" rel="bookmark"/>
    <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/a440c04b-79fa-479c-bed1-0b816eaec379" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="c905cedb-7281-47e4-8a62-f26bc5fc4c77" OS-EXT-IMG-SIZE:size="26360814">
    <metadata>
      <meta key="kernel_id">155d900f-4e14-4e4c-a73d-069cbf4541e6</meta>
      <meta key="ramdisk_id">None</meta>
    </metadata>
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" rel="bookmark"/>
    <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="cedef40a-ed67-4d10-800e-17455edce175" OS-EXT-IMG-SIZE:size="84035174">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/cedef40a-ed67-4d10-800e-17455edce175" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/cedef40a-ed67-4d10-800e-17455edce175" rel="bookmark"/>
    <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/cedef40a-ed67-4d10-800e-17455edce175" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" OS-EXT-IMG-SIZE:size="83594576">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" rel="self"/>
    <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" rel="bookmark"/>
    <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
</images>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/images/​{image_id}​
Get image details

Gets details for a specified image. Includes the image size.

 
Normal response codes
200 200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

image_id URI xsd:string

Image ID stored through the image API. Typically a UUID.

{
    "image": {
        "OS-EXT-IMG-SIZE:size": "74185822",
        "created": "2011-01-01T01:02:03Z",
        "id": "70a599e0-31e7-49b7-b260-868f441e862b",
        "links": [
            {
                "href": "https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "self"
            },
            {
                "href": "https://compute.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "bookmark"
            },
            {
                "href": "https://image.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "alternate",
                "type": "application/vnd.openstack.image"
            }
        ],
        "metadata": {
            "architecture": "x86_64",
            "auto_disk_config": "True",
            "kernel_id": "nokernel",
            "ramdisk_id": "nokernel"
        },
        "minDisk": 0,
        "minRam": 0,
        "name": "fakeimage7",
        "progress": 100,
        "status": "ACTIVE",
        "updated": "2011-01-01T01:02:03Z"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<image xmlns:OS-EXT-IMG-SIZE="http://docs.openstack.org/compute/ext/image_size/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage7" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="70a599e0-31e7-49b7-b260-868f441e862b" OS-EXT-IMG-SIZE:size="74185822">
  <metadata>
    <meta key="kernel_id">nokernel</meta>
    <meta key="auto_disk_config">True</meta>
    <meta key="ramdisk_id">nokernel</meta>
    <meta key="architecture">x86_64</meta>
  </metadata>
  <atom:link href="https://compute.fr1.cloudwatt.com/v2/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="self"/>
  <atom:link href="https://compute.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  <atom:link href="https://image.fr1.cloudwatt.com/{tenant_id}​/images/70a599e0-31e7-49b7-b260-868f441e862b" type="application/vnd.openstack.image" rel="alternate"/>
</image>

This operation does not accept a request body.

Limits with project usage (limits)

Extend limits to show the project usage. Show information such as RAM or instance quotas usage.

GET
/v2/​{tenant_id}​/limits
Get limits

Gets absolute and rate limit information, including information on currently used absolute limits.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "limits": {
        "absolute": {
            "maxImageMeta": 128,
            "maxPersonality": 5,
            "maxPersonalitySize": 10240,
            "maxSecurityGroupRules": 20,
            "maxSecurityGroups": 10,
            "maxServerMeta": 128,
            "maxTotalCores": 20,
            "maxTotalFloatingIps": 10,
            "maxTotalInstances": 10,
            "maxTotalKeypairs": 100,
            "maxTotalRAMSize": 51200,
            "maxServerGroups": 10,
            "maxServerGroupMembers": 10,
            "totalCoresUsed": 0,
            "totalInstancesUsed": 0,
            "totalRAMUsed": 0,
            "totalSecurityGroupsUsed": 0,
            "totalFloatingIpsUsed": 0,
            "totalServerGroupsUsed": 0
        },
        "rate": [
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "POST"
                    },
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "PUT"
                    },
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "DELETE"
                    }
                ],
                "regex": ".*",
                "uri": "*"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "POST"
                    }
                ],
                "regex": "^/servers",
                "uri": "*/servers"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "GET"
                    }
                ],
                "regex": ".*changes-since.*",
                "uri": "*changes-since*"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 12,
                        "unit": "MINUTE",
                        "value": 12,
                        "verb": "GET"
                    }
                ],
                "regex": "^/os-fping",
                "uri": "*/os-fping"
            }
        ]
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<limits xmlns:os-used-limits="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
  <rates>
    <rate regex=".*" uri="*">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="POST" remaining="120" value="120"/>
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="PUT" remaining="120" value="120"/>
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="DELETE" remaining="120" value="120"/>
    </rate>
    <rate regex="^/servers" uri="*/servers">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="POST" remaining="120" value="120"/>
    </rate>
    <rate regex=".*changes-since.*" uri="*changes-since*">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="GET" remaining="120" value="120"/>
    </rate>
    <rate regex="^/os-fping" uri="*/os-fping">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="GET" remaining="12" value="12"/>
    </rate>
  </rates>
  <absolute>
    <limit name="maxServerMeta" value="128"/>
    <limit name="maxPersonality" value="5"/>
    <limit name="maxImageMeta" value="128"/>
    <limit name="maxPersonalitySize" value="10240"/>
    <limit name="maxSecurityGroupRules" value="20"/>
    <limit name="maxTotalKeypairs" value="100"/>
    <limit name="totalRAMUsed" value="0"/>
    <limit name="totalInstancesUsed" value="0"/>
    <limit name="maxSecurityGroups" value="10"/>
    <limit name="totalFloatingIpsUsed" value="0"/>
    <limit name="maxTotalCores" value="20"/>
    <limit name="totalSecurityGroupsUsed" value="0"/>
    <limit name="maxTotalFloatingIps" value="10"/>
    <limit name="maxTotalInstances" value="10"/>
    <limit name="totalCoresUsed" value="0"/>
    <limit name="maxTotalRAMSize" value="51200"/>
    <limit name="maxServerGroups" value="10"/>
    <limit name="maxServerGroupMembers" value="10"/>
    <limit name="totalServerGroupsUsed" value="0"/>
  </absolute>
</limits>

This operation does not accept a request body.

Limits with project usage for administrators (limits)

Extend limits to enable administrators to show the project usage for a specified customer project ID. Show information such as RAM or instance quotas usage.

GET
/v2/​{tenant_id}​/limits/​{tenant_id}​
Get customer limits

Enables administrators to get absolute and rate limit information, including information about currently used absolute limits, for a specified customer tenant ID.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

tenant_id URI csapi:uuid

The ID for the tenant for which an administrator wants to get quota information. Specify the customer tenant ID in the URI as tenant_id={tenant_id}.

{
    "limits": {
        "absolute": {
            "maxImageMeta": 128,
            "maxPersonality": 5,
            "maxPersonalitySize": 10240,
            "maxSecurityGroupRules": 20,
            "maxSecurityGroups": 10,
            "maxServerMeta": 128,
            "maxTotalCores": 20,
            "maxTotalFloatingIps": 10,
            "maxTotalInstances": 10,
            "maxTotalKeypairs": 100,
            "maxTotalRAMSize": 51200,
            "totalCoresUsed": 0,
            "totalInstancesUsed": 0,
            "totalRAMUsed": 0,
            "totalSecurityGroupsUsed": 0,
            "totalFloatingIpsUsed": 0
        },
        "rate": [
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "POST"
                    },
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "PUT"
                    },
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "DELETE"
                    }
                ],
                "regex": ".*",
                "uri": "*"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "POST"
                    }
                ],
                "regex": "^/servers",
                "uri": "*/servers"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 120,
                        "unit": "MINUTE",
                        "value": 120,
                        "verb": "GET"
                    }
                ],
                "regex": ".*changes-since.*",
                "uri": "*changes-since*"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:24:52Z",
                        "remaining": 12,
                        "unit": "MINUTE",
                        "value": 12,
                        "verb": "GET"
                    }
                ],
                "regex": "^/os-fping",
                "uri": "*/os-fping"
            }
        ]
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<limits xmlns:os-used-limits="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
  <rates>
    <rate regex=".*" uri="*">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="POST" remaining="120" value="120"/>
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="PUT" remaining="120" value="120"/>
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="DELETE" remaining="120" value="120"/>
    </rate>
    <rate regex="^/servers" uri="*/servers">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="POST" remaining="120" value="120"/>
    </rate>
    <rate regex=".*changes-since.*" uri="*changes-since*">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="GET" remaining="120" value="120"/>
    </rate>
    <rate regex="^/os-fping" uri="*/os-fping">
      <limit next-available="2012-11-27T17:24:53Z" unit="MINUTE" verb="GET" remaining="12" value="12"/>
    </rate>
  </rates>
  <absolute>
    <limit name="maxServerMeta" value="128"/>
    <limit name="maxPersonality" value="5"/>
    <limit name="maxImageMeta" value="128"/>
    <limit name="maxPersonalitySize" value="10240"/>
    <limit name="maxSecurityGroupRules" value="20"/>
    <limit name="maxTotalKeypairs" value="100"/>
    <limit name="totalRAMUsed" value="0"/>
    <limit name="totalInstancesUsed" value="0"/>
    <limit name="maxSecurityGroups" value="10"/>
    <limit name="totalFloatingIpsUsed" value="0"/>
    <limit name="maxTotalCores" value="20"/>
    <limit name="totalSecurityGroupsUsed" value="0"/>
    <limit name="maxTotalFloatingIps" value="10"/>
    <limit name="maxTotalInstances" value="10"/>
    <limit name="totalCoresUsed" value="0"/>
    <limit name="maxTotalRAMSize" value="51200"/>
  </absolute>
</limits>

This operation does not accept a request body.

Guest agents (os-agents)

Create, update, and delete guest agents. Use guest agents to access files on the disk, configure networking, or run other applications or scripts in the guest while it runs. This hypervisor-specific extension is not currently enabled for KVM. Use of guest agents is possible only if the underlying service provider uses the Xen driver.

GET
/v2/​{tenant_id}​/os-agents
List agents

Lists all agent builds.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique ID of the tenant or account.

{
    "agents": [
        {
            "agent_id": "1",
            "architecture": "x86",
            "hypervisor": "hypervisor",
            "md5hash": "add6bb58e139be103324d04d82d8f545",
            "os": "os",
            "url": "xxxxxxxxxxxx",
            "version": "8.0"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<agents>
  <agent url="xxxxxxxxxxxx" hypervisor="hypervisor" md5hash="add6bb58e139be103324d04d82d8f545" version="8.0" architecture="x86" os="os" agent_id="1"/>
</agents>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-agents
Create agent

Creates an agent build.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique ID of the tenant or account.

{
    "agent": {
        "hypervisor": "hypervisor",
        "os": "os",
        "architecture": "x86",
        "version": "8.0",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "url": "xxxxxxxxxxxx"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<agent>
  <hypervisor>hypervisor</hypervisor>
  <os>os</os>
  <architecture>x86</architecture>
  <version>8.0</version>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
  <url>xxxxxxxxxxxx</url>
</agent>
{
    "agent": {
        "agent_id": "1",
        "architecture": "x86",
        "hypervisor": "hypervisor",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "os": "os",
        "url": "xxxxxxxxxxxx",
        "version": "8.0"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<agent>
  <url>xxxxxxxxxxxx</url>
  <hypervisor>hypervisor</hypervisor>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
  <version>8.0</version>
  <architecture>x86</architecture>
  <os>os</os>
  <agent_id>1</agent_id>
</agent>
DELETE
/v2/​{tenant_id}​/os-agents
Delete agent

Deletes an existing agent build.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique ID of the tenant or account.

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

PUT
/v2/​{tenant_id}​/os-agents/​{id}​
Update agent

Updates an agent build.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique ID of the tenant or account.

id URI csapi:UUID

The unique ID associated with the agent.

{
    "para": {
        "url": "xxx://xxxx/xxx/xxx",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "version": "7.0"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<para>
  <version>7.0</version>
  <url>xxx://xxxx/xxx/xxx</url>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
</para>
{
    "agent": {
        "agent_id": "1",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "url": "xxx://xxxx/xxx/xxx",
        "version": "7.0"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<agent>
  <url>xxx://xxxx/xxx/xxx</url>
  <version>7.0</version>
  <agent_id>1</agent_id>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
</agent>

Host aggregates (os-aggregates)

Create and manage host aggregates. An aggregate assigns metadata to groups of compute nodes. Aggregates are only visible to the cloud provider.

GET
/v2/​{tenant_id}​/os-aggregates
List aggregates

Lists all aggregates.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "aggregates": [
        {
            "availability_zone": "nova",
            "created_at": "2012-11-16T06:22:23.361359",
            "deleted": false,
            "deleted_at": null,
            "hosts": [],
            "id": 1,
            "metadata": {
                "availability_zone": "nova"
            },
            "name": "name",
            "updated_at": null
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<aggregates>
  <aggregate>
    <name>name</name>
    <availability_zone>nova</availability_zone>
    <deleted>False</deleted>
    <created_at>2012-11-16 06:22:25.935099</created_at>
    <updated_at>None</updated_at>
    <hosts/>
    <deleted_at>None</deleted_at>
    <id>1</id>
    <metadata>
      <availability_zone>nova</availability_zone>
    </metadata>
  </aggregate>
</aggregates>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-aggregates
Create aggregate

Creates an aggregate.

 
Normal response codes
200 200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

name plain csapi:string

Name of aggregate

availability_zone plain csapi:string

Availability zone of aggregate

{
    "aggregate": {
        "name": "name",
        "availability_zone": "nova"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<aggregate name="name" availability_zone="nova" />
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-10-01T18:50:27.781065",
        "deleted": false,
        "deleted_at": null,
        "id": 1,
        "name": "name",
        "updated_at": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-10-01 18:50:35.506667</created_at>
  <updated_at>None</updated_at>
  <deleted_at>None</deleted_at>
  <id>1</id>
</aggregate>
DELETE
/v2/​{tenant_id}​/os-aggregates/​{aggregate_id}​
Delete aggregate

Deletes an aggregate.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id URI csapi:UUID

The ID associated with an aggregate.

This operation does not return a response body.

GET
/v2/​{tenant_id}​/os-aggregates/​{aggregate_id}​
Get aggregate details

Gets details about a specified aggregate.

 
Normal response codes
200 200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id URI csapi:UUID

The ID associated with an aggregate.

{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-11-16T06:22:23.032493",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova"
        },
        "name": "name",
        "updated_at": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-11-16 06:22:25.587739</created_at>
  <updated_at>None</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>
PUT
/v2/​{tenant_id}​/os-aggregates/​{aggregate_id}​
Update aggregate

Updates the name, and optionally the availability zone, for a specified aggregate.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id URI csapi:UUID

The ID associated with an aggregate.

name plain csapi:string

Name of aggregate.

availability_zone plain csapi:string

Availability zone of aggregate.

{
    "aggregate": {
        "name": "newname",
        "availability_zone": "nova2"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<aggregate name="newname" availability_zone="nova2" />
{
    "aggregate": {
        "availability_zone": "nova2",
        "created_at": "2012-12-04T12:04:27.075065",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova2"
        },
        "name": "newname",
        "updated_at": "2012-12-04T12:04:27.242597"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>newname</name>
  <availability_zone>nova2</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-12-04 12:04:30.245284</created_at>
  <updated_at>2012-12-04 12:04:30.357795</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova2</availability_zone>
  </metadata>
</aggregate>
POST
/v2/​{tenant_id}​/os-aggregates/​{aggregate_id}​/action
Set aggregate metadata

Sets metadata for an aggregate.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id URI csapi:UUID

The ID associated with an aggregate.

metadata plain csapi:string

Metadata value to be set.

{
    "set_metadata": {
        "metadata": {
            "key": "value"
        }
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<set_metadata>
    <metadata>
        <key>value</key>
    </metadata>
</set_metadata>
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-11-16T06:22:22.342791",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova",
            "key": "value"
        },
        "name": "name",
        "updated_at": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-11-16 06:22:24.864471</created_at>
  <updated_at>None</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <key>value</key>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>
POST
/v2/​{tenant_id}​/os-aggregates/​{aggregate_id}​/action
Add host to aggregate

Adds a host to an aggregate.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id URI csapi:UUID

The ID associated with an aggregate.

host plain csapi:UUID

Host ID to add to an aggregate, which is a collection of multiple groups of hosts that share common resources like storage and network.

{
    "add_host": {
        "host": "581d29b9e3504d8a895caddb13839b15"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<add_host host="7c9e00dbca5e4fb88538b021c0f933a5" />
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-12-04T12:04:24.399784",
        "deleted": false,
        "deleted_at": null,
        "hosts": [
            "0438c6a4e8d841ad823b801d681f4680"
        ],
        "id": 1,
        "metadata": {
            "availability_zone": "nova"
        },
        "name": "name",
        "updated_at": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-12-04 12:04:27.574038</created_at>
  <updated_at>None</updated_at>
  <hosts>
    <host>392adba19dd449179804eaff16ff4a97</host>
  </hosts>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>
POST
/v2/​{tenant_id}​/os-aggregates/​{aggregate_id}​/action
Remove host from aggregate

Removes a host from an aggregate.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id URI csapi:UUID

The ID associated with an aggregate.

host plain csapi:UUID

Host ID to add to an aggregate.

{
    "remove_host": {
        "host": "581d29b9e3504d8a895caddb13839b15"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<remove_host host="7c9e00dbca5e4fb88538b021c0f933a5" />
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-12-04T12:04:26.557909",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova"
        },
        "name": "name",
        "updated_at": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-12-04 12:04:29.722109</created_at>
  <updated_at>None</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>

Attach interfaces (os-interface)

Create, list, get details for, and delete port interfaces.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/os-interface
Create interface

Creates and uses a port interface to attach the port to a server instance.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

interfaceAttachment plain xsd:string

Specify the interfaceAttachment action in the request body.

port_id plain csapi:uuid

The ID of the port for which you want to create an interface.

Response parameters
Parameter Style Type Description
fixed_ips plain xsd:string

Fixed IP addresses with subnet IDs.

mac_addr plain xsd:string

The MAC address.

net_id plain csapi:uuid

The network ID.

port_id plain csapi:uuid

The port ID.

port_state plain xsd:string

The port state.

{
    "interfaceAttachment": {
        "port_id": "ce531f90-199f-48c0-816c-13e38010b442"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<interfaceAttachment>
   <port_id>ce531f90-199f-48c0-816c-13e38010b442</port_id>
</interfaceAttachment>
{
    "interfaceAttachment": {
        "fixed_ips": [
            {
                "ip_address": "192.168.1.1",
                "subnet_id": "f8a6e8f8-c2ec-497c-9f23-da9616de54ef"
            }
        ],
        "mac_addr": "fa:16:3e:4c:2c:30",
        "net_id": "3cb9bc59-5699-4588-a4b1-b87f96708bc6",
        "port_id": "ce531f90-199f-48c0-816c-13e38010b442",
        "port_state": "ACTIVE"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<interfaceAttachment>
  <net_id>3cb9bc59-5699-4588-a4b1-b87f96708bc6</net_id>
  <port_id>ce531f90-199f-48c0-816c-13e38010b442</port_id>
  <fixed_ips>
    <fixed_ip>
      <subnet_id>f8a6e8f8-c2ec-497c-9f23-da9616de54ef</subnet_id>
      <ip_address>192.168.1.3</ip_address>
    </fixed_ip>
  </fixed_ips>
  <port_state>ACTIVE</port_state>
  <mac_addr>fa:16:3e:4c:2c:30</mac_addr>
</interfaceAttachment>
GET
/v2/​{tenant_id}​/servers/​{server_id}​/os-interface
List interfaces

Lists port interfaces.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

Response parameters
Parameter Style Type Description
port_state plain xsd:string

The port state.

fixed_ips plain xsd:string

Fixed IP addresses with subnet IDs.

mac_addr plain xsd:string

The MAC address.

net_id plain csapi:uuid

The network ID.

port_id plain csapi:uuid

The port ID.

{
    "interfaceAttachments": [
        {
            "port_state": "ACTIVE",
            "fixed_ips": [
                {
                    "subnet_id": "f8a6e8f8-c2ec-497c-9f23-da9616de54ef",
                    "ip_address": "192.168.1.3"
                }
            ],
            "net_id": "3cb9bc59-5699-4588-a4b1-b87f96708bc6",
            "port_id": "ce531f90-199f-48c0-816c-13e38010b442",
            "mac_addr": "fa:16:3e:4c:2c:30"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<interfaceAttachments>
  <interfaceAttachment>
    <port_state>ACTIVE</port_state>
    <fixed_ips>
      <fixed_ip>
        <subnet_id>f8a6e8f8-c2ec-497c-9f23-da9616de54ef</subnet_id>
        <ip_address>192.168.1.3</ip_address>
      </fixed_ip>
    </fixed_ips>
    <port_id>ce531f90-199f-48c0-816c-13e38010b442</port_id>
    <net_id>3cb9bc59-5699-4588-a4b1-b87f96708bc6</net_id>
    <mac_addr>fa:16:3e:4c:2c:30</mac_addr>
  </interfaceAttachment>
</interfaceAttachments>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/servers/​{server_id}​/os-interface/​{attachment_id}​
Show attached interface information

Shows information about a specified port interface.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

attachment_id URI csapi:UUID

The interface ID.

{
    "interfaceAttachment": {
        "port_state": "ACTIVE",
        "fixed_ips": [
            {
                "subnet_id": "f8a6e8f8-c2ec-497c-9f23-da9616de54ef",
                "ip_address": "192.168.1.3"
            }
        ],
        "net_id": "3cb9bc59-5699-4588-a4b1-b87f96708bc6",
        "port_id": "ce531f90-199f-48c0-816c-13e38010b442",
        "mac_addr": "fa:16:3e:4c:2c:30"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<interfaceAttachment>
  <port_state>ACTIVE</port_state>
  <fixed_ips>
    <fixed_ip>
      <subnet_id>b6e47749-6bf0-4d6e-ae4b-ba6b5e238510</subnet_id>
      <ip_address>192.168.123.131</ip_address>
    </fixed_ip>
  </fixed_ips>
  <port_id>89e64f2e-86bd-4c19-9155-4548b36fdcb2</port_id>
  <net_id>a9efd207-2c1a-4cdd-a296-d3c7c3211302</net_id>
  <mac_addr>fa:16:3e:a4:1c:12</mac_addr>
</interfaceAttachment>

This operation does not accept a request body.

DELETE
/v2/​{tenant_id}​/servers/​{server_id}​/os-interface/​{attachment_id}​
Detach interface

Detaches a specified port interface.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

attachment_id URI csapi:UUID

The interface ID.

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

Root certificates (os-certificates)

Create and show details for a root certificate.

POST
/v2/​{tenant_id}​/os-certificates
Create root certificate

Creates a root certificate.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "certificate": {
        "data": "Certificate:\n    Data:\n        Version: 1 (0x0)\n        Serial Number: 23 (0x17)\n        Signature Algorithm: md5WithRSAEncryption\n        Issuer: O=NOVA ROOT, L=Mountain View, ST=California, C=US\n        Validity\n            Not Before: Oct  2 19:31:45 2012 GMT\n            Not After : Oct  2 19:31:45 2013 GMT\n        Subject: C=US, ST=California, O=OpenStack, OU=NovaDev, CN=openstack-fake-2012-10-02T19:31:45Z\n        Subject Public Key Info:\n            Public Key Algorithm: rsaEncryption\n            RSA Public Key: (1024 bit)\n                Modulus (1024 bit):\n                    00:b8:87:67:7a:de:28:ed:f6:5d:1f:20:14:58:df:\n                    b0:f7:62:3d:85:61:a8:c2:31:49:5f:b5:2a:07:34:\n                    0e:25:13:0d:2e:4d:79:c7:26:36:dd:d2:3e:c7:36:\n                    54:80:0d:67:80:32:e6:a8:48:33:69:ec:22:2c:5c:\n                    cb:7a:88:0f:c0:48:de:67:14:54:d9:94:b4:6a:23:\n                    36:28:23:44:47:8a:24:89:8e:f4:86:77:59:f8:62:\n                    b6:ab:d5:e0:bc:b4:ad:d1:95:dd:59:a3:aa:e3:ea:\n                    d3:ae:23:17:c5:54:96:a3:25:56:72:90:20:07:8c:\n                    63:4d:be:e9:60:7e:10:57:17\n                Exponent: 65537 (0x10001)\n    Signature Algorithm: md5WithRSAEncryption\n        32:82:ff:8b:92:0e:8d:9c:6b:ce:7e:fe:34:16:2a:4c:47:4f:\n        c7:28:a2:33:1e:48:56:2e:4b:e8:e8:e3:48:b1:3d:a3:43:21:\n        ef:83:e7:df:e2:10:91:7e:9a:c0:4d:1e:96:68:2b:b9:f7:84:\n        7f:ec:84:8a:bf:bc:5e:50:05:d9:ce:4a:1a:bf:d2:bf:0c:d1:\n        7e:ec:64:c3:a5:37:78:a3:a6:2b:a1:b7:1c:cc:c8:b9:78:61:\n        98:50:3c:e6:28:34:f1:0e:62:bb:b5:d7:a1:dd:1f:38:c6:0d:\n        58:9f:81:67:ff:9c:32:fc:52:7e:6d:8c:91:43:49:fe:e3:48:\n        bb:40\n-----BEGIN CERTIFICATE-----\nMIICMzCCAZwCARcwDQYJKoZIhvcNAQEEBQAwTjESMBAGA1UEChMJTk9WQSBST09U\nMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQIEwpDYWxpZm9ybmlhMQsw\nCQYDVQQGEwJVUzAeFw0xMjEwMDIxOTMxNDVaFw0xMzEwMDIxOTMxNDVaMHYxCzAJ\nBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQKEwlPcGVuU3Rh\nY2sxEDAOBgNVBAsTB05vdmFEZXYxLDAqBgNVBAMTI29wZW5zdGFjay1mYWtlLTIw\nMTItMTAtMDJUMTk6MzE6NDVaMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4\nh2d63ijt9l0fIBRY37D3Yj2FYajCMUlftSoHNA4lEw0uTXnHJjbd0j7HNlSADWeA\nMuaoSDNp7CIsXMt6iA/ASN5nFFTZlLRqIzYoI0RHiiSJjvSGd1n4Yrar1eC8tK3R\nld1Zo6rj6tOuIxfFVJajJVZykCAHjGNNvulgfhBXFwIDAQABMA0GCSqGSIb3DQEB\nBAUAA4GBADKC/4uSDo2ca85+/jQWKkxHT8coojMeSFYuS+jo40ixPaNDIe+D59/i\nEJF+msBNHpZoK7n3hH/shIq/vF5QBdnOShq/0r8M0X7sZMOlN3ijpiuhtxzMyLl4\nYZhQPOYoNPEOYru116HdHzjGDVifgWf/nDL8Un5tjJFDSf7jSLtA\n-----END CERTIFICATE-----\n",
        "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC4h2d63ijt9l0fIBRY37D3Yj2FYajCMUlftSoHNA4lEw0uTXnH\nJjbd0j7HNlSADWeAMuaoSDNp7CIsXMt6iA/ASN5nFFTZlLRqIzYoI0RHiiSJjvSG\nd1n4Yrar1eC8tK3Rld1Zo6rj6tOuIxfFVJajJVZykCAHjGNNvulgfhBXFwIDAQAB\nAoGBAIjfxx4YU/vO1lwUC4OwyS92q3OYcPk6XdakJryZHDTb4NcLmNzjt6bqIK7b\n2enyB2fMWdNRWvGiueZ2HmiRLDyOGsAVdEsHvL4qbr9EZGTqC8Qxx+zTevWWf6pB\nF1zxzbXNQDFZDf9kVsSLCkbMHITnW1k4MrM++9gfCO3WrfehAkEA4nd8TyCCZazq\nKMOQwFLTNaiVLeTXCtvGopl4ZNiKYZ1qI3KDXb2wbAyArFuERlotxFlylXpwtlMo\nSlI/C/sYqwJBANCX1sdfRJq8DpdP44ThWqOkWFLB9rBiwyyBt8746fX8amwr8eyz\nH44/z5GT/Vyp8qFsjkuDzeP93eeDnr2qE0UCP1zipRnPO6x4P5J4o+Y+EmLvwkAQ\nnCLYAaCvUbILHrbq2Z2wWjEYnEO03RHUd2xjkGH4TgcBMTmW4e+ZzEIduwJACnIw\nLVfWBbG5QVac3EC021EVoz9XbUnk4Eu2usS4Yrs7USN6QBJQWD1V1cKFg6h3ICJh\nleKJ4wsJm9h5kKH9yQJBAN8CaX223MlTSuBOVuIOwNA+09iLfx4UCLiH1fGMKDpe\nxVcmkM3qCnTqNxrAPSFdT9IyB3IXiaLWbvzl7MfiOwQ=\n-----END RSA PRIVATE KEY-----\n"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<certificate
    private_key="-----BEGIN RSA PRIVATE KEY-----&#10;MIICXAIBAAKBgQC4h2d63ijt9l0fIBRY37D3Yj2FYajCMUlftSoHNA4lEw0uTXnH&#10;Jjbd0j7HNlSADWeAMuaoSDNp7CIsXMt6iA/ASN5nFFTZlLRqIzYoI0RHiiSJjvSG&#10;d1n4Yrar1eC8tK3Rld1Zo6rj6tOuIxfFVJajJVZykCAHjGNNvulgfhBXFwIDAQAB&#10;AoGBAIjfxx4YU/vO1lwUC4OwyS92q3OYcPk6XdakJryZHDTb4NcLmNzjt6bqIK7b&#10;2enyB2fMWdNRWvGiueZ2HmiRLDyOGsAVdEsHvL4qbr9EZGTqC8Qxx+zTevWWf6pB&#10;F1zxzbXNQDFZDf9kVsSLCkbMHITnW1k4MrM++9gfCO3WrfehAkEA4nd8TyCCZazq&#10;KMOQwFLTNaiVLeTXCtvGopl4ZNiKYZ1qI3KDXb2wbAyArFuERlotxFlylXpwtlMo&#10;SlI/C/sYqwJBANCX1sdfRJq8DpdP44ThWqOkWFLB9rBiwyyBt8746fX8amwr8eyz&#10;H44/z5GT/Vyp8qFsjkuDzeP93eeDnr2qE0UCP1zipRnPO6x4P5J4o+Y+EmLvwkAQ&#10;nCLYAaCvUbILHrbq2Z2wWjEYnEO03RHUd2xjkGH4TgcBMTmW4e+ZzEIduwJACnIw&#10;LVfWBbG5QVac3EC021EVoz9XbUnk4Eu2usS4Yrs7USN6QBJQWD1V1cKFg6h3ICJh&#10;leKJ4wsJm9h5kKH9yQJBAN8CaX223MlTSuBOVuIOwNA+09iLfx4UCLiH1fGMKDpe&#10;xVcmkM3qCnTqNxrAPSFdT9IyB3IXiaLWbvzl7MfiOwQ=&#10;-----END RSA PRIVATE KEY-----&#10;"
    data="Certificate:&#10;    Data:&#10;        Version: 1 (0x0)&#10;        Serial Number: 23 (0x17)&#10;        Signature Algorithm: md5WithRSAEncryption&#10;        Issuer: O=NOVA ROOT, L=Mountain View, ST=California, C=US&#10;        Validity&#10;            Not Before: Oct  2 19:31:45 2012 GMT&#10;            Not After : Oct  2 19:31:45 2013 GMT&#10;        Subject: C=US, ST=California, O=OpenStack, OU=NovaDev, CN=openstack-fake-2012-10-02T19:31:45Z&#10;        Subject Public Key Info:&#10;            Public Key Algorithm: rsaEncryption&#10;            RSA Public Key: (1024 bit)&#10;                Modulus (1024 bit):&#10;                    00:b8:87:67:7a:de:28:ed:f6:5d:1f:20:14:58:df:&#10;                    b0:f7:62:3d:85:61:a8:c2:31:49:5f:b5:2a:07:34:&#10;                    0e:25:13:0d:2e:4d:79:c7:26:36:dd:d2:3e:c7:36:&#10;                    54:80:0d:67:80:32:e6:a8:48:33:69:ec:22:2c:5c:&#10;                    cb:7a:88:0f:c0:48:de:67:14:54:d9:94:b4:6a:23:&#10;                    36:28:23:44:47:8a:24:89:8e:f4:86:77:59:f8:62:&#10;                    b6:ab:d5:e0:bc:b4:ad:d1:95:dd:59:a3:aa:e3:ea:&#10;                    d3:ae:23:17:c5:54:96:a3:25:56:72:90:20:07:8c:&#10;                    63:4d:be:e9:60:7e:10:57:17&#10;                Exponent: 65537 (0x10001)&#10;    Signature Algorithm: md5WithRSAEncryption&#10;        32:82:ff:8b:92:0e:8d:9c:6b:ce:7e:fe:34:16:2a:4c:47:4f:&#10;        c7:28:a2:33:1e:48:56:2e:4b:e8:e8:e3:48:b1:3d:a3:43:21:&#10;        ef:83:e7:df:e2:10:91:7e:9a:c0:4d:1e:96:68:2b:b9:f7:84:&#10;        7f:ec:84:8a:bf:bc:5e:50:05:d9:ce:4a:1a:bf:d2:bf:0c:d1:&#10;        7e:ec:64:c3:a5:37:78:a3:a6:2b:a1:b7:1c:cc:c8:b9:78:61:&#10;        98:50:3c:e6:28:34:f1:0e:62:bb:b5:d7:a1:dd:1f:38:c6:0d:&#10;        58:9f:81:67:ff:9c:32:fc:52:7e:6d:8c:91:43:49:fe:e3:48:&#10;        bb:40&#10;-----BEGIN CERTIFICATE-----&#10;MIICMzCCAZwCARcwDQYJKoZIhvcNAQEEBQAwTjESMBAGA1UEChMJTk9WQSBST09U&#10;MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQIEwpDYWxpZm9ybmlhMQsw&#10;CQYDVQQGEwJVUzAeFw0xMjEwMDIxOTMxNDVaFw0xMzEwMDIxOTMxNDVaMHYxCzAJ&#10;BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQKEwlPcGVuU3Rh&#10;Y2sxEDAOBgNVBAsTB05vdmFEZXYxLDAqBgNVBAMTI29wZW5zdGFjay1mYWtlLTIw&#10;MTItMTAtMDJUMTk6MzE6NDVaMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4&#10;h2d63ijt9l0fIBRY37D3Yj2FYajCMUlftSoHNA4lEw0uTXnHJjbd0j7HNlSADWeA&#10;MuaoSDNp7CIsXMt6iA/ASN5nFFTZlLRqIzYoI0RHiiSJjvSGd1n4Yrar1eC8tK3R&#10;ld1Zo6rj6tOuIxfFVJajJVZykCAHjGNNvulgfhBXFwIDAQABMA0GCSqGSIb3DQEB&#10;BAUAA4GBADKC/4uSDo2ca85+/jQWKkxHT8coojMeSFYuS+jo40ixPaNDIe+D59/i&#10;EJF+msBNHpZoK7n3hH/shIq/vF5QBdnOShq/0r8M0X7sZMOlN3ijpiuhtxzMyLl4&#10;YZhQPOYoNPEOYru116HdHzjGDVifgWf/nDL8Un5tjJFDSf7jSLtA&#10;-----END CERTIFICATE-----&#10;"/>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-certificates
Show root certificate details

Shows details for a root certificate owned by a specified tenant ID.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "certificate": {
        "data": "-----BEGIN CERTIFICATE-----\nMIICyzCCAjSgAwIBAgIJAIJ/UoFWKoOUMA0GCSqGSIb3DQEBBAUAME4xEjAQBgNV\nBAoTCU5PVkEgUk9PVDEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTELMAkGA1UEBhMCVVMwHhcNMTIxMDAyMTg1NzQ1WhcNMTMxMDAy\nMTg1NzQ1WjBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWlu\nIFZpZXcxEzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqG\nSIb3DQEBAQUAA4GNADCBiQKBgQCg0Bn8WSqbJF3QNTZUxo1TzmFBxuqvhjZLKbnQ\nIiShdVIWUK7RC8frq8FJI7dgJNmvkIBn9njABWDoZmurQRCzD65yCSbUc4R2ea5H\nIK4wQIui0CJykvMBNjAe3bzztVVs8/ccDTsjtqq3F/KeQkKzQVfSWBrJSmYtG5tO\nG+dOSwIDAQABo4GwMIGtMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFCljRfaNOsA/\n9mHuq0io7Lt83FtaMH4GA1UdIwR3MHWAFCljRfaNOsA/9mHuq0io7Lt83FtaoVKk\nUDBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx\nEzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTggkAgn9SgVYqg5QwDQYJ\nKoZIhvcNAQEEBQADgYEAEbpJOOlpKCh5omwfAwAfFg1ml4h/FJiCH3PETmOCc+3l\nCtWTBd4MG8AoH7A3PU2JKAGVQ5XWo6+ihpW1RgfQpCnloI6vIeGcws+rSLnlzULt\nIvfCJpRg7iQdR3jZGt3295behtP1GsCqipJEulOkOaEIs8iLlXgSOG94Mkwlb4Q=\n-----END CERTIFICATE-----\n",
        "private_key": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<certificate private_key="None"
    data="-----BEGIN CERTIFICATE-----&#10;MIICyzCCAjSgAwIBAgIJAIJ/UoFWKoOUMA0GCSqGSIb3DQEBBAUAME4xEjAQBgNV&#10;BAoTCU5PVkEgUk9PVDEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzETMBEGA1UECBMK&#10;Q2FsaWZvcm5pYTELMAkGA1UEBhMCVVMwHhcNMTIxMDAyMTg1NzQ1WhcNMTMxMDAy&#10;MTg1NzQ1WjBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWlu&#10;IFZpZXcxEzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqG&#10;SIb3DQEBAQUAA4GNADCBiQKBgQCg0Bn8WSqbJF3QNTZUxo1TzmFBxuqvhjZLKbnQ&#10;IiShdVIWUK7RC8frq8FJI7dgJNmvkIBn9njABWDoZmurQRCzD65yCSbUc4R2ea5H&#10;IK4wQIui0CJykvMBNjAe3bzztVVs8/ccDTsjtqq3F/KeQkKzQVfSWBrJSmYtG5tO&#10;G+dOSwIDAQABo4GwMIGtMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFCljRfaNOsA/&#10;9mHuq0io7Lt83FtaMH4GA1UdIwR3MHWAFCljRfaNOsA/9mHuq0io7Lt83FtaoVKk&#10;UDBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx&#10;EzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTggkAgn9SgVYqg5QwDQYJ&#10;KoZIhvcNAQEEBQADgYEAEbpJOOlpKCh5omwfAwAfFg1ml4h/FJiCH3PETmOCc+3l&#10;CtWTBd4MG8AoH7A3PU2JKAGVQ5XWo6+ihpW1RgfQpCnloI6vIeGcws+rSLnlzULt&#10;IvfCJpRg7iQdR3jZGt3295behtP1GsCqipJEulOkOaEIs8iLlXgSOG94Mkwlb4Q=&#10;-----END CERTIFICATE-----&#10;"/>

This operation does not accept a request body.

Cloudpipe (os-cloudpipe)

Manage virtual VPNs for projects.

GET
/v2/​{tenant_id}​/os-cloudpipe
List cloudpipes

Lists cloudpipes.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "cloudpipes": [
        {
            "created_at": "2012-11-27T17:18:01Z",
            "instance_id": "27deecdb-baa3-4a26-9c82-32994b815b01",
            "internal_ip": "192.168.0.3",
            "project_id": "cloudpipe-fa1765bd-a352-49c7-a6b7-8ee108a3cb0c",
            "public_ip": "127.0.0.1",
            "public_port": 22,
            "state": "down"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<cloudpipes>
  <cloudpipe>
    <public_ip>127.0.0.1</public_ip>
    <created_at>2012-09-25T18:18:49Z</created_at>
    <public_port>22</public_port>
    <state>down</state>
    <instance_id>1a17f615-343b-430f-976a-457c029eddb7</instance_id>
    <internal_ip>192.168.0.3</internal_ip>
    <project_id>cloudpipe-6405f2ca-caf9-493b-a1f6-e55f595d75ab</project_id>
  </cloudpipe>
</cloudpipes>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-cloudpipe
Create cloudpipe

Creates a cloudpipe.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

project_id (Optional) query xsd:string

Creates the cloudpipe for the specified project ID. If omitted, the project ID defaults to the calling tenant.

{
    "cloudpipe": {
        "project_id": "cloudpipe-059f21e3-c20e-4efc-9e7a-eba2ab3c6f9a"
    }
}
<cloudpipe
    project_id="cloudpipe-6405f2ca-caf9-493b-a1f6-e55f595d75ab"
/>
{
    "instance_id": "1e9b8425-34af-488e-b969-4d46f4a6382e"
}
<?xml version='1.0' encoding='UTF-8'?>
<cloudpipe>
  <instance_id>1a17f615-343b-430f-976a-457c029eddb7</instance_id>
</cloudpipe>
POST
/v2/​{tenant_id}​/os-cloudpipe/configure-project
Update cloudpipe

Updates the virtual private network (VPN) IP address and port for a specified cloudpipe instance.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

vpn_ip header xsd:string

The VPN IP address.

vpn_port header xsd:string

The VPN port.

{
    "configure_project": {
        "vpn_ip": "192.168.1.1",
        "vpn_port": "2000"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<configure_project>
  <vpn_ip>192.168.1.1</vpn_ip>
  <vpn_port>2000</vpn_port>
</configure_project>

This operation does not return a response body.

Server console output (os-console-output)

Get console output for a server instance.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Get console output for an instance

Gets console output for a server instance.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

os-getConsoleOutput plain xsd:string

Specify the os-getConsoleOutput action in the request body.

length (Optional) plain String

Number of lines to fetch from the end of console log.

{
    "os-getConsoleOutput": {
        "length": 50
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<os-getConsoleOutput length="50" />
{
    "output": "FAKE CONSOLE OUTPUT\nANOTHER\nLAST LINE"
}
<?xml version='1.0' encoding='UTF-8'?>
<output>FAKE CONSOLE OUTPUT
ANOTHER
LAST LINE</output>

Server console (os-consoles)

Get a console for a server instance.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Get console

Gets a console for a server instance.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

getConsole plain xsd:string

Specify the getConsole action in the request body.

type plain csapi:string

Valid values are novnc and xvpvnc.

{
    "os-getVNCConsole": {
        "type": "novnc"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<os-getVNCConsole type="novnc" />
{
    "console": {
        "type": "novnc",
        "url": "http://example.com:6080/vnc_auto.html?token=f9906a48-b71e-4f18-baca-c987da3ebdb3&title=dafa(75ecef58-3b8e-4659-ab3b-5501454188e9)"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<console>
  <type>novnc</type>
  <url>http://example.com:6080/vnc_auto.html?token=f9906a48-b71e-4f18-baca-c987da3ebdb3</url>
</console>

Coverage reports (os-coverage)

POST
/v2/​{tenant_id}​/os-coverage/action
Get coverage report

Generates a coverage report.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

file plain csapi:string

The file name for the report.

xml (Optional) plain csapi:bool

Set to true to generate the report in XML format.

html (Optional) plain csapi:bool

Set to true to generate the report in HTML format.

Response parameters
Parameter Style Type Description
path plain xsd:string

The path to the report file.

{
    "report": {
        "xml": true,
        "file": "report"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<report>
    <file>report</file>
    <xml>True</xml>
</report>
{
    "path": "/tmp/tmp6kdYaa/nova-coverage_TOTUbz/report"
}
<?xml version='1.0' encoding='UTF-8'?>
<path>/tmp/tmp4j87bp/nova-coverage_7ViTA7/report</path>
POST
/v2/​{tenant_id}​/os-coverage/action
Start coverage report

Starts Nova coverage reporting.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

start plain csapi:string

Specify start in the request body.

{
    "start": {}
}
<?xml version="1.0" encoding="UTF-8"?>
<start></start>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/os-coverage/action
Start combined coverage report

Starts coverage reporting for all services.

 

All reports are combined into a single report.

Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

start plain csapi:string

Specify start in the request body.

combine plain csapi:bool

Set to true to generate a combined report for all services.

{
    "start": {
        "combine": true
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<start>
    <combine>True</combine>
</start>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/os-coverage/action
Stop coverage report

Stops coverage reporting.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

stop plain csapi:string

Specify stop in the request body.

{
    "stop": {}
}
<?xml version="1.0" encoding="UTF-8"?>
<stop></stop>
{
    "path": "/tmp/tmpua9HvB/nova-coverage_rs2CaS"
}
<?xml version='1.0' encoding='UTF-8'?>
<path>/tmp/tmpCLve38/nova-coverage_GJ4BZ_</path>

Server deferred delete (os-deferred-delete)

Force-delete a server or restore a deleted server.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Force delete server

Force-deletes a server.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

forceDelete plain xsd:string

Specify the forceDelete action in the request body.

{
    "forceDelete": null
}
<?xml version="1.0" encoding="UTF-8"?>
<forceDelete />

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Restore server

Restores a deleted server.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID for the server of interest to you.

restore plain xsd:string

Specify the restore action in the request body.

{
    "restore": null
}
<?xml version="1.0" encoding="UTF-8"?>
<restore />

This operation does not return a response body.

Fixed IPs (os-fixed-ips)

Show data for a specified fixed IP, such as host name, CIDR, and address. Also, reserve or free a fixed IP.

GET
/v2/​{tenant_id}​/os-fixed-ips/​{fixed_ip}​
Show fixed IP information

Shows information for a specified fixed IP address.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

fixed_ip URI xsd:string

The fixed IP of interest to you.

{
    "fixed_ip": {
        "address": "192.168.1.1",
        "cidr": "192.168.1.0/24",
        "host": "host",
        "hostname": "openstack"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<fixed_ip>
  <cidr>192.168.1.0/24</cidr>
  <hostname>openstack</hostname>
  <host>host</host>
  <address>192.168.1.1</address>
</fixed_ip>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-fixed-ips/​{fixed_ip}​/action
Reserve or release a fixed IP

Reserves or releases a fixed IP.

 

To reserve a fixed IP address, specify reserve in the request body. To release a fixed IP address, specify unreserve in the request body.

Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

fixed_ip URI xsd:string

The fixed IP of interest to you.

{
    "reserve": "None"
}
<?xml version="1.0" encoding="UTF-8"?>
<reserve>None</reserve>

This operation does not return a response body.

Floating IP DNS records (os-floating-ip-dns)

Manage DNS records associated with IP addresses allocated by the floating IPs extension. Requests are dispatched to a DNS driver selected at startup.

GET
/v2/​{tenant_id}​/os-floating-ip-dns
List DNS domains

Lists registered DNS domains published by the DNS drivers.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

{
    "domain_entries": [
        {
            "availability_zone": null,
            "domain": "domain1.example.org",
            "project": "project1",
            "scope": "public"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<domain_entries>
  <domain_entry project="project1" scope="public" domain="domain1.example.org" availability_zone="None"/>
</domain_entries>

This operation does not accept a request body.

PUT
/v2/​{tenant_id}​/os-floating-ip-dns/​{domain}​
Create or update DNS domain

Creates or updates a DNS domain.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

domain URI xsd:string

Registered DNS domain published by the DNS drivers.

{
    "domain_entry": {
        "domain": "domain1.example.org",
        "scope": "public",
        "project": "project1"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<domain_entry>
  <domain>domain1.example.org</domain>
  <scope>public</scope>
  <project>project1</project>
</domain_entry>
{
    "domain_entry": {
        "availability_zone": null,
        "domain": "domain1.example.org",
        "project": "project1",
        "scope": "public"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<domain_entry project="project1" scope="public" domain="domain1.example.org" availability_zone="None"/>
DELETE
/v2/​{tenant_id}​/os-floating-ip-dns/​{domain}​
Delete DNS domain

Deletes a DNS domain and all associated host entries.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

domain URI xsd:string

Registered DNS domain published by the DNS drivers.

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

PUT
/v2/​{tenant_id}​/os-floating-ip-dns/​{domain}​/entries/​{name}​
Create or update DNS entry

Creates or updates a DNS entry.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

domain URI xsd:string

Registered DNS domain published by the DNS drivers.

name URI xsd:string

DNS entry name assigned under a domain.

{
    "dns_entry": {
        "ip": "192.168.53.11",
        "dns_type": "A"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<dns_entry>
  <ip>192.168.53.11</ip>
  <dns_type>A</dns_type>
</dns_entry>
{
    "dns_entry": {
        "domain": "domain1.example.org",
        "id": null,
        "ip": "192.168.1.1",
        "name": "instance1",
        "type": "A"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<dns_entry ip="192.168.1.1" domain="domain1.example.org" type="A" id="None" name="instance1"/>
GET
/v2/​{tenant_id}​/os-floating-ip-dns/​{domain}​/entries/​{name}​
Find unique DNS entry

Finds a unique DNS entry for a specified domain and name.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

domain URI xsd:string

Registered DNS domain published by the DNS drivers.

name URI xsd:string

DNS entry name assigned under a domain.

{
    "dns_entry": {
        "domain": "domain1.example.org",
        "id": null,
        "ip": "192.168.1.1",
        "name": "instance1",
        "type": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<dns_entry ip="192.168.1.1" domain="domain1.example.org" type="None" id="None" name="instance1"/>

This operation does not accept a request body.

DELETE
/v2/​{tenant_id}​/os-floating-ip-dns/​{domain}​/entries/​{name}​
Delete DNS entry

Deletes a specified DNS entry.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

domain URI xsd:string

Registered DNS domain published by the DNS drivers.

name URI xsd:string

DNS entry name assigned under a domain.

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

GET
/v2/​{tenant_id}​/os-floating-ip-dns/​{domain}​/entries/​{ip}​
List DNS entries

Lists DNS entries for a specified domain and IP.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

domain URI xsd:string

Registered DNS domain published by the DNS drivers.

{
    "dns_entries": [
        {
            "domain": "domain1.example.org",
            "id": null,
            "ip": "192.168.1.1",
            "name": "instance1",
            "type": null
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<dns_entries>
  <dns_entry ip="192.168.1.1" domain="domain1.example.org" type="None" id="None" name="instance1"/>
</dns_entries>

This operation does not accept a request body.

Floating IP pools (os-floating-ip-pools)

Manage groups of floating IPs.

GET
/v2/​{tenant_id}​/os-floating-ip-pools
List floating IP pools

Lists floating IP pools.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

{
    "floating_ip_pools": [
        {
            "name": "pool1"
        },
        {
            "name": "pool2"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ip_pools>
  <floating_ip_pool name="pool1"/>
  <floating_ip_pool name="pool2"/>
</floating_ip_pools>

This operation does not accept a request body.

Floating IPs (os-floating-ips)

Assign and allocate floating IP addresses to instances that run in an OpenStack cloud.

GET
/v2/​{tenant_id}​/os-floating-ips
List floating IPs

Lists floating IP addresses associated with the tenant or account.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

{
    "floating_ips": [
        {
            "fixed_ip": null,
            "id": 1,
            "instance_id": null,
            "ip": "10.10.10.1",
            "pool": "nova"
        },
        {
            "fixed_ip": null,
            "id": 2,
            "instance_id": null,
            "ip": "10.10.10.2",
            "pool": "nova"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ips>
  <floating_ip instance_id="None" ip="10.10.10.1" fixed_ip="None" id="1" pool="nova"/>
  <floating_ip instance_id="None" ip="10.10.10.2" fixed_ip="None" id="2" pool="nova"/>
</floating_ips>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-floating-ips
Allocate floating IP

Allocates a new floating IP address to a tenant or account.

 
Normal response codes
200
Error response codes
400
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

pool (Optional) plain String

Pool to allocate IP address from. Will use default pool if not specified.

{
    "pool": "nova"
}
<?xml version='1.0' encoding='UTF-8'?>
<pool>nova</pool>
{
    "floating_ip": {
        "fixed_ip": null,
        "id": 1,
        "instance_id": null,
        "ip": "10.10.10.1",
        "pool": "nova"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ip instance_id="None" ip="10.10.10.1" fixed_ip="None" id="1" pool="nova"/>
GET
/v2/​{tenant_id}​/os-floating-ips/​{id}​
Show floating IP information

Shows information for a specified floating IP address.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI String

The unique identifier associated with allocated floating IP address.

{
    "floating_ip": {
        "fixed_ip": null,
        "id": 1,
        "instance_id": null,
        "ip": "10.10.10.1",
        "pool": "nova"
    }
}
<floating_ip instance_id="None" ip="10.10.10.1" fixed_ip="None" id="1" pool="nova"/>

This operation does not accept a request body.

DELETE
/v2/​{tenant_id}​/os-floating-ips/​{id}​
Deallocate floating IP

Deallocates the floating IP address associated with floating_IP_address_ID.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI String

The unique identifier associated with allocated floating IP address.

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

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Add floating IP

Adds a floating IP address to an instance.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

server_id URI csapi:UUID

The UUID for the server of interest to you.

pool plain xsd:string

The pool to which to add the floating IP address.

{
    "addFloatingIp": {
        "address": "10.10.10.1"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<addFloatingIp>
    <address>10.10.10.1</address>
</addFloatingIp>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/servers/​{server_id}​/action
Remove floating IP

Removes a floating IP from an instance.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

server_id URI csapi:UUID

The UUID for the server of interest to you.

removeFloatingIp plain xsd:string

Specify the removeFloatingIp action in the request body.

address plain xsd:string

The floating IP address that you want to remove.

{
    "removeFloatingIp": {
        "address": "10.10.10.1"
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<removeFloatingIp>
    <address>10.10.10.1</address>
</removeFloatingIp>

This operation does not return a response body.

Floating IPs bulk (os-floating-ips-bulk)

Bulk-create, delete, and list floating IPs. By default, the pool is named nova. Use the os-floating-ip-pools extension to view available pools.

GET
/v2/​{tenant_id}​/os-floating-ips-bulk
List floating IPs

Lists all floating IPs.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

{
    "floating_ip_info": [
        {
            "address": "10.10.10.1",
            "instance_uuid": null,
            "interface": "eth0",
            "pool": "nova",
            "project_id": null
        },
        {
            "address": "10.10.10.2",
            "instance_uuid": null,
            "interface": "eth0",
            "pool": "nova",
            "project_id": null
        },
        {
            "address": "10.10.10.3",
            "instance_uuid": null,
            "interface": "eth0",
            "pool": "nova",
            "project_id": null
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ip_info>
  <item>
    <interface>eth0</interface>
    <instance_uuid>None</instance_uuid>
    <project_id>None</project_id>
    <pool>nova</pool>
    <address>10.10.10.1</address>
  </item>
  <item>
    <interface>eth0</interface>
    <instance_uuid>None</instance_uuid>
    <project_id>None</project_id>
    <pool>nova</pool>
    <address>10.10.10.2</address>
  </item>
  <item>
    <interface>eth0</interface>
    <instance_uuid>None</instance_uuid>
    <project_id>None</project_id>
    <pool>nova</pool>
    <address>10.10.10.3</address>
  </item>
</floating_ip_info>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-floating-ips-bulk
Create floating IPs

Bulk-creates floating IPs.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

ip_range plain xsd:int

The range of IP addresses to use for creating floating IPs.

{
    "floating_ips_bulk_create": {
        "ip_range": "192.168.1.0/24",
        "pool": "nova",
        "interface": "eth0"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ips_bulk_create>
<ip_range>192.168.1.0/24</ip_range>
<pool>nova</pool>
<interface>eth0</interface>
</floating_ips_bulk_create>
{
    "floating_ips_bulk_create": {
        "interface": "eth0",
        "ip_range": "192.168.1.0/24",
        "pool": "nova"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ips_bulk_create>
  <interface>eth0</interface>
  <ip_range>192.168.1.0/24</ip_range>
  <pool>nova</pool>
</floating_ips_bulk_create>
POST
/v2/​{tenant_id}​/os-floating-ips-bulk/delete
Bulk-delete floating IPs

Bulk-deletes floating IPs.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

ip_range plain xsd:int

The range of IP addresses from which to bulk-delete floating IPs.

{
    "ip_range": "192.168.1.0/24"
}
<?xml version='1.0' encoding='UTF-8'?>
<ip_range>192.168.1.0/24</ip_range>
{
    "floating_ips_bulk_delete": "192.168.1.0/24"
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ips_bulk_delete>192.168.1.0/24</floating_ips_bulk_delete>
GET
/v2/​{tenant_id}​/os-floating-ips-bulk/​{host_name}​
List floating IPs by host

Lists all floating IPs for a specified host.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

host_name URI xsd:string

The name of the host of interest to you.

{
    "floating_ip_info": [
        {
            "address": "10.10.10.3",
            "instance_uuid": null,
            "interface": "eth0",
            "pool": "nova",
            "project_id": null
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<floating_ip_info>
  <item>
    <interface>eth0</interface>
    <instance_uuid>None</instance_uuid>
    <project_id>None</project_id>
    <pool>nova</pool>
    <address>10.10.10.3</address>
  </item>
</floating_ip_info>

This operation does not accept a request body.

Hosts (os-hosts)

Manage physical hosts.

GET
/v2/​{tenant_id}​/os-hosts
List hosts

Lists hosts.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

service (Optional) query xsd:string

The service name. To filter the returned list by service name, specify ?service={service} in the URI.

zone (Optional) query xsd:string

The zone. To filter the returned list by zone, specify ?zone={zone} in the URI.

{
    "hosts": [
        {
            "host_name": "787f4f6dda1b409bb8b2f9082349690e",
            "service": "compute",
            "zone": "nova"
        },
        {
            "host_name": "a98b433151084aee8b1a986e28823b36",
            "service": "cert",
            "zone": "internal"
        },
        {
            "host_name": "c56158d13a884a87abf9171efb7de9d8",
            "service": "network",
            "zone": "internal"
        },
        {
            "host_name": "81d5cdcda0014918b3ebd3503a2e5c9a",
            "service": "scheduler",
            "zone": "internal"
        },
        {
            "host_name": "6e48bfe1a3304b7b86154326328750ae",
            "service": "conductor",
            "zone": "internal"
        },
        {
            "host_name": "39f55087a1024d1380755951c945ca69",
            "service": "cells",
            "zone": "internal"
        },
        {
            "host_name": "7a9a6cb4701f4dee9048fe0bc25d0ee5",
            "service": "consoleauth",
            "zone": "internal"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<hosts>
  <host zone="internal" host_name="02ff30050a0d4ce486e60e946a97d28f" service="conductor"/>
  <host zone="nova" host_name="69dd365b9eae459883a50d1fe7b3c40b" service="compute"/>
  <host zone="internal" host_name="059ca4da76cf49e8a3d08d2303542157" service="cert"/>
  <host zone="internal" host_name="ea70b9f0c530497fba8571deb4835ab0" service="network"/>
  <host zone="internal" host_name="7d52ad3988504fb18b0cdfd94dbd267b" service="scheduler"/>
  <host zone="internal" host_name="dc36bce962cc49c2ab916287bcf6c9d3" service="cells"/>
  <host zone="internal" host_name="4bd7bbcc80064d21a5fd0bd53318c6fa" service="consoleauth"/>
</hosts>
GET
/v2/​{tenant_id}​/os-hosts/​{host_name}​
Show host information

Shows information for a specified host.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

host_name URI xsd:string

The name of the host of interest to you.

{
    "host": [
        {
            "resource": {
                "cpu": 1,
                "disk_gb": 1028,
                "host": "5ca60c6792a1442f9471ff575443f94d",
                "memory_mb": 8192,
                "project": "(total)"
            }
        },
        {
            "resource": {
                "cpu": 0,
                "disk_gb": 0,
                "host": "5ca60c6792a1442f9471ff575443f94d",
                "memory_mb": 512,
                "project": "(used_now)"
            }
        },
        {
            "resource": {
                "cpu": 0,
                "disk_gb": 0,
                "host": "5ca60c6792a1442f9471ff575443f94d",
                "memory_mb": 0,
                "project": "(used_max)"
            }
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<host>
  <resource>
    <project>(total)</project>
    <memory_mb>8192</memory_mb>
    <host>ecf3458ac6bf4a299cc2e0efa740f426</host>
    <cpu>1</cpu>
    <disk_gb>1028</disk_gb>
  </resource>
  <resource>
    <project>(used_now)</project>
    <memory_mb>512</memory_mb>
    <host>ecf3458ac6bf4a299cc2e0efa740f426</host>
    <cpu>0</cpu>
    <disk_gb>0</disk_gb>
  </resource>
  <resource>
    <project>(used_max)</project>
    <memory_mb>0</memory_mb>
    <host>ecf3458ac6bf4a299cc2e0efa740f426</host>
    <cpu>0</cpu>
    <disk_gb>0</disk_gb>
  </resource>
</host>

This operation does not accept a request body.

PUT
/v2/​{tenant_id}​/os-hosts/​{host_name}​
Update host

Enables a host or puts it in maintenance mode.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

host_name URI xsd:string

The name of the host of interest to you.

status plain xsd:string

Valid values are enable or disable.

maintenance_mode plain xsd:string

Valid values are enable or disable.

{
    "status": "enable",
    "maintenance_mode": "disable"
}
<?xml version="1.0" encoding="UTF-8" ?>
<updates>
    <status>enable</status>
    <maintenance_mode>disable</maintenance_mode>
</updates>
{
    "host": "0738dca90a8c43fdadd0be28715520e2",
    "maintenance_mode": "off_maintenance",
    "status": "enabled"
}
<?xml version='1.0' encoding='UTF-8'?>
<host status="enabled" maintenance_mode="off_maintenance" host="d85f05519b57457c83da18c39fa8e00d"/>
GET
/v2/​{tenant_id}​/os-hosts/​{host_name}​/startup
Start host

Starts a host.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

host_name URI xsd:string

The name of the host of interest to you.

{
    "host": "57f5de2fa5b44f14974a4f50b9ffcbf8",
    "power_action": "startup"
}
<?xml version='1.0' encoding='UTF-8'?>
<host host="7fae168ed18140d5a785ade2ac1bd420" power_action="startup"/>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-hosts/​{host_name}​/shutdown
Shut down host

Shuts down a host.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

host_name URI xsd:string

The name of the host of interest to you.

{
    "host": "d2576862a2144ee6ad37d9e1938460a2",
    "power_action": "shutdown"
}
<?xml version='1.0' encoding='UTF-8'?>
<host host="c82ca6da579440ac930ddee0e6530176" power_action="shutdown"/>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-hosts/​{host_name}​/reboot
Reboot host

Reboots a host.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

host_name URI xsd:string

The name of the host of interest to you.

{
    "host": "066bf157ab50481d8c607cfe584b2230",
    "power_action": "reboot"
}
<?xml version='1.0' encoding='UTF-8'?>
<host host="ce8c5f8cde4a46ffb01dec0788ad4dfc" power_action="reboot"/>

This operation does not accept a request body.

Hypervisors (os-hypervisors)

Display extra statistical information from the machine that hosts the hypervisor through the API for the hypervisor (XenAPI or KVM/libvirt).

GET
/v2/​{tenant_id}​/os-hypervisors
List hypervisors

Lists hypervisors information for each server obtained through the hypervisor-specific API, such as libvirt or XenAPI.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

Response parameters
Parameter Style Type Description
hypervisor_hostname plain xsd:string

Hypervisor host name, retrieved from the per-server listing.

id plain xsd:string

Hypervisor ID.

{
    "hypervisors": [
        {
            "hypervisor_hostname": "fake-mini",
            "id": 1
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
  <hypervisor id="1" hypervisor_hostname="fake-mini"/>
</hypervisors>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-hypervisors/detail
Show hypervisor information

Shows information for a specified hypervisor. Typically configured as an admin-only extension by using policy.json settings.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "hypervisors": [
        {
            "cpu_info": "?",
            "current_workload": 0,
            "disk_available_least": null,
            "free_disk_gb": 1028,
            "free_ram_mb": 7680,
            "hypervisor_hostname": "fake-mini",
            "hypervisor_type": "fake",
            "hypervisor_version": 1,
            "id": 1,
            "local_gb": 1028,
            "local_gb_used": 0,
            "memory_mb": 8192,
            "memory_mb_used": 512,
            "running_vms": 0,
            "service": {
                "host": "1e0d7892083548cfb347e782d3b20342",
                "id": 2
            },
            "vcpus": 1,
            "vcpus_used": 0
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
  <hypervisor vcpus_used="0" hypervisor_type="fake" local_gb_used="0" hypervisor_hostname="fake-mini" memory_mb_used="512" memory_mb="8192" current_workload="0" vcpus="1" cpu_info="?" running_vms="0" free_disk_gb="1028" hypervisor_version="1" disk_available_least="None" local_gb="1028" free_ram_mb="7680" id="1">
    <service host="4400f556a66d44ce95dfa61e75a23aaf" id="2"/>
  </hypervisor>
</hypervisors>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-hypervisors/statistics
Show statistics for hypervisors

Shows hypervisor statistics over all compute nodes.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "hypervisor_statistics": {
        "count": 1,
        "current_workload": 0,
        "disk_available_least": 0,
        "free_disk_gb": 1028,
        "free_ram_mb": 7680,
        "local_gb": 1028,
        "local_gb_used": 0,
        "memory_mb": 8192,
        "memory_mb_used": 512,
        "running_vms": 0,
        "vcpus": 1,
        "vcpus_used": 0
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor_statistics count="1" vcpus_used="0" local_gb_used="0" memory_mb="8192" current_workload="0" vcpus="1" running_vms="0" free_disk_gb="1028" disk_available_least="0" local_gb="1028" free_ram_mb="7680" memory_mb_used="512"/>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-hypervisors/​{hypervisor_hostname}​
Show hypervisor up time

Shows the up time for a specified hypervisor.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

hypervisor_hostname URI xsd:string

The name of the host that runs the hypervisor.

{
    "hypervisor": {
        "hypervisor_hostname": "fake-mini",
        "id": 1,
        "uptime": " 08:32:11 up 93 days, 18:25, 12 users,  load average: 0.20, 0.12, 0.14"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<hypervisor uptime=" 08:32:11 up 93 days, 18:25, 12 users,  load average: 0.20, 0.12, 0.14" id="1" hypervisor_hostname="fake-mini"/>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-hypervisors/​{hypervisor_hostname}​/servers
List instances for hypervisors

Lists instances that belong to specific hypervisors.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

hypervisor_hostname URI xsd:string

The name of the host that runs the hypervisor.

{
    "hypervisors": [
        {
            "hypervisor_hostname": "fake-mini",
            "id": 1
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<hypervisors>
  <hypervisor id="1" hypervisor_hostname="fake-mini">
    <servers/>
  </hypervisor>
</hypervisors>

This operation does not accept a request body.

Server actions (os-instance-actions)

List available actions for a specified server. Administrators can get details for a specified action for a specified server.

GET
/v2/​{tenant_id}​/servers/​{server_id}​/os-instance-actions
List server actions

Lists history of successful actions for a specified server. Deployers set permissions for this request in the policy.json file. By default, all users can list actions.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID of the server instance for which you want to list actions.

{
    "instanceActions": [
        {
            "action": "resize",
            "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
            "message": "",
            "project_id": "842",
            "request_id": "req-25517360-b757-47d3-be45-0e8d2a01b36a",
            "start_time": "2012-12-05 01:00:00.000000",
            "user_id": "789"
        },
        {
            "action": "reboot",
            "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
            "message": "",
            "project_id": "147",
            "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8",
            "start_time": "2012-12-05 00:00:00.000000",
            "user_id": "789"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<instanceActions>
  <instanceAction instance_uuid="b48316c5-71e8-45e4-9884-6c78055b9b13" user_id="789" start_time="2012-12-05 01:00:00.000000" request_id="req-25517360-b757-47d3-be45-0e8d2a01b36a" action="resize" message="" project_id="842"/>
  <instanceAction instance_uuid="b48316c5-71e8-45e4-9884-6c78055b9b13" user_id="789" start_time="2012-12-05 00:00:00.000000" request_id="req-3293a3f1-b44c-4609-b8d2-d81b105636b8" action="reboot" message="" project_id="147"/>
</instanceActions>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/servers/​{server_id}​/os-instance-actions/​{action_id}​
Get action details

Gets details for a specified action for a specified server instance. Deployers set permissions for this request in the policy.json file. By default, only administrators can get details for an action.

 
Normal response codes
200, 203
Error response codes
computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

server_id URI csapi:UUID

The UUID of the server instance for which you want to list actions.

action_id URI csapi:UUID

The UUID of the action for which you want to get details.

{
    "instanceAction": {
        "action": "reboot",
        "events": [
            {
                "event": "schedule",
                "finish_time": "2012-12-05 01:02:00.000000",
                "result": "Success",
                "start_time": "2012-12-05 01:00:02.000000",
                "traceback": ""
            },
            {
                "event": "compute_create",
                "finish_time": "2012-12-05 01:04:00.000000",
                "result": "Success",
                "start_time": "2012-12-05 01:03:00.000000",
                "traceback": ""
            }
        ],
        "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
        "message": "",
        "project_id": "147",
        "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8",
        "start_time": "2012-12-05 00:00:00.000000",
        "user_id": "789"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<instanceAction instance_uuid="b48316c5-71e8-45e4-9884-6c78055b9b13" user_id="789" start_time="2012-12-05T00:00:00.000000" request_id="req-3293a3f1-b44c-4609-b8d2-d81b105636b8" action="reboot" message="" project_id="147">
  <events finish_time="2012-12-05 01:02:00.000000" start_time="2012-12-05 01:00:02.000000" traceback="" event="schedule" result="Success"/>
  <events finish_time="2012-12-05 01:04:00.000000" start_time="2012-12-05 01:03:00.000000" traceback="" event="compute_create" result="Success"/>
</instanceAction>

This operation does not accept a request body.

Keypairs (os-keypairs)

Generate, import, and delete SSH keys.

GET
/v2/​{tenant_id}​/os-keypairs
List keypairs

Lists keypairs that are associated with the account.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

{
    "keypairs": [
        {
            "keypair": {
                "fingerprint": "15:b0:f8:b3:f9:48:63:71:cf:7b:5b:38:6d:44:2d:4a",
                "name": "keypair-601a2305-4f25-41ed-89c6-2a966fc8027a",
                "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC+Eo/RZRngaGTkFs7I62ZjsIlO79KklKbMXi8F+KITD4bVQHHn+kV+4gRgkgCRbdoDqoGfpaDFs877DYX9n4z6FrAIZ4PES8TNKhatifpn9NdQYWA+IkU8CuvlEKGuFpKRi/k7JLos/gHi2hy7QUwgtRvcefvD/vgQZOVw/mGR9Q== Generated by Nova\n"
            }
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<keypairs>
  <keypair>
    <public_key>ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCWdUoGD7qz9kjbLoY2L0S5CdhUS8RvQ1g62OTgvmWE/bEKDLwaTIFEEpN/0huGk/nxvVZ6VOhv1eSKC3o9dZ2NDk0C4sBsrvJ41uWd1hbq72sDGzVEkJ+925CraioSAbMpRK5Ea7UPWbR8laqrY1TsKtcuxiGJ936bOPIXW12h6Q== Generated by Nova
</public_key>
    <name>keypair-a4c7d228-218b-4c4c-9d99-62e7878ebb1b</name>
    <fingerprint>62:32:23:67:56:ee:6f:51:4c:03:ce:b8:00:f9:41:ff</fingerprint>
  </keypair>
</keypairs>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-keypairs
Create or import keypair

Generates or imports a keypair.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

name plain xsd:string

The name to associate with the keypair.

public_key (Optional) plain xsd:string

The public ssh key to import. If not provided, a key is generated.

{
    "keypair": {
        "name": "keypair-dab428fe-6186-4a14-b3de-92131f76cd39",
        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova"
    }
}
<keypair>
    <name>keypair-96bbe50e-05e1-4d59-9115-4779a3ebcc2e</name>
    <public_key>ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova</public_key>
</keypair>
{
    "keypair": {
        "fingerprint": "1e:2c:9b:56:79:4b:45:77:f9:ca:7a:98:2c:b0:d5:3c",
        "name": "keypair-dab428fe-6186-4a14-b3de-92131f76cd39",
        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova",
        "user_id": "fake"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<keypair>
  <public_key>ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova</public_key>
  <user_id>fake</user_id>
  <name>keypair-96bbe50e-05e1-4d59-9115-4779a3ebcc2e</name>
  <fingerprint>1e:2c:9b:56:79:4b:45:77:f9:ca:7a:98:2c:b0:d5:3c</fingerprint>
</keypair>
DELETE
/v2/​{tenant_id}​/os-keypairs/​{keypair_name}​
Delete keypair

Deletes a keypair.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

keypair_name URI xsd:string

The name associated with a keypair.

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

GET
/v2/​{tenant_id}​/os-keypairs/​{keypair_name}​
Show keypair information

Shows a keypair associated with the account.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

keypair_name URI xsd:string

The name associated with a keypair.

{
    "keypair": {
        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDCSLxfzqB+e5yHdUSXvbxKkajjlfuhV+GArdseqPjfkKJ6no5echpin7dJp0FLXMJKxJZE3WWIRu25CQrJntmi7no27RkDfAGaTFbjz3DWY4A1HLeKAB5tFTwYQlr7CjMdoC/DY7UvKaatwLhH4Wvh5vMmXgF7AFzdkI28urwo+Q== nova@use03147k5-eth0\n",
        "name": "hpdefault",
        "fingerprint": "8b:2f:aa:b0:b8:97:dc:c8:50:aa:d4:8e:d0:34:61:d9"
    }
}

This operation does not accept a request body.

Migrations (os-migrations)

Administrators only. Fetch in-progress migrations for a region or a specified cell in a region.

GET
/v2/​{tenant_id}​/os-migrations
Get migrations

Enables an administrative user to fetch in-progress migrations for a region or specified cell in a region.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or account in a multi-tenancy cloud.

host (Optional) query xsd:string

Filters the response by host name. Include the host name in the URI as follows: host={host}.

status (Optional) query xsd:string

Filters the response by status. Include the status in the URI as follows: status={status}.

cell_name (Optional) query xsd:string

Filters the response by cell name. Include the cell name in the URI as follows: cell_name={cell}.

Response parameters
Parameter Style Type Description
created_at plain xsd:string

The created at time stamp.

dest_compute plain xsd:string

The destination compute node.

dest_host plain xsd:string

The destination host.

id plain xsd:string

The migration ID.

instance_uuid plain csapi:uuid

The ID of the instance being migrated.

new_instance_type_id plain xsd:string

The ID of the new instance type.

old_instance_type_id plain xsd:string

The ID of the old instance type.

source_compute plain xsd:string

The source compute node.

source_node plain xsd:string

The source node.

status plain xsd:string

The migration status.

updated_at plain xsd:string

The updated at time stamp.

{
    "migrations": [
        {
            "created_at": "2012-10-29T13:42:02.000000",
            "dest_compute": "compute2",
            "dest_host": "1.2.3.4",
            "dest_node": "node2",
            "id": 1234,
            "instance_uuid": "instance_id_123",
            "new_instance_type_id": 2,
            "old_instance_type_id": 1,
            "source_compute": "compute1",
            "source_node": "node1",
            "status": "Done",
            "updated_at": "2012-10-29T13:42:02.000000"
        },
        {
            "created_at": "2013-10-22T13:42:02.000000",
            "dest_compute": "compute20",
            "dest_host": "5.6.7.8",
            "dest_node": "node20",
            "id": 5678,
            "instance_uuid": "instance_id_456",
            "new_instance_type_id": 6,
            "old_instance_type_id": 5,
            "source_compute": "compute10",
            "source_node": "node10",
            "status": "Done",
            "updated_at": "2013-10-22T13:42:02.000000"
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<migrations>
  <migration dest_host="1.2.3.4" status="Done" old_instance_type_id="1" updated_at="2012-10-29 13:42:02" dest_compute="compute2" created_at="2012-10-29 13:42:02" source_node="node1" instance_uuid="instance_id_123" dest_node="node2" id="1234" new_instance_type_id="2" source_compute="compute1"/>
  <migration dest_host="5.6.7.8" status="Done" old_instance_type_id="5" updated_at="2013-10-22 13:42:02" dest_compute="compute20" created_at="2013-10-22 13:42:02" source_node="node10" instance_uuid="instance_id_456" dest_node="node20" id="5678" new_instance_type_id="6" source_compute="compute10"/>
</migrations>

This operation does not accept a request body.

Networks (os-networks)

Show network information for or delete networks. Also, disassociate a network from a project if you use vlan mode.

POST
/v2/​{tenant_id}​
Create network

Creates a network.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

network plain csapi:dict

A dictionary representation of a network.

label plain xsd:string

Network label.

bridge (Optional) plain xsd:string

VIFs on this network are connected to this bridge.

bridge_interface (Optional) plain xsd:string

The bridge is connected to this interface.

cidr (Optional) plain xsd:string

IPv4 subnet.

multi_host (Optional) plain xsd:string

Multi host.

vlan (Optional) plain csapi:UUID

Vlan id.

cidr_v6 (Optional) plain xsd:string

IPv6 subnet.

dns1 (Optional) plain xsd:string

First DNS.

dns2 (Optional) plain xsd:string

Second DNS.

gateway (Optional) plain xsd:string

IPv4 gateway.

gateway_v6 (Optional) plain xsd:string

IPv6 gateway.

project_id (Optional) plain xsd:string

Project id.

{
    "network": {
        "label": "new net 111",
        "cidr": "10.20.105.0/24"
    }
}
<network>
    <label>new net 111</label>
    <cidr>10.20.105.0/24</cidr>
</network>
{
    "network": {
        "bridge": null,
        "bridge_interface": null,
        "broadcast": "10.20.105.255",
        "cidr": "10.20.105.0/24",
        "cidr_v6": null,
        "created_at": null,
        "deleted": null,
        "deleted_at": null,
        "dhcp_start": "10.20.105.2",
        "dns1": null,
        "dns2": null,
        "gateway": "10.20.105.1",
        "gateway_v6": null,
        "host": null,
        "id": "668687f9-d724-4976-a6f4-a6fd3ad83da3",
        "injected": null,
        "label": "new net 111",
        "multi_host": null,
        "netmask": "255.255.255.0",
        "netmask_v6": null,
        "priority": null,
        "project_id": null,
        "rxtx_base": null,
        "updated_at": null,
        "vlan": null,
        "vpn_private_address": null,
        "vpn_public_address": null,
        "vpn_public_port": null
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<network>
  <bridge>None</bridge>
  <vpn_public_port>None</vpn_public_port>
  <dhcp_start>10.20.105.2</dhcp_start>
  <bridge_interface>None</bridge_interface>
  <updated_at>None</updated_at>
  <id>1bbbed2b-0daa-47a1-b869-1981c29150b1</id>
  <cidr_v6>None</cidr_v6>
  <deleted_at>None</deleted_at>
  <gateway>10.20.105.1</gateway>
  <rxtx_base>None</rxtx_base>
  <label>new net 111</label>
  <priority>None</priority>
  <project_id>None</project_id>
  <vpn_private_address>None</vpn_private_address>
  <deleted>False</deleted>
  <vlan>None</vlan>
  <broadcast>10.20.105.255</broadcast>
  <netmask>255.255.255.0</netmask>
  <injected>None</injected>
  <cidr>10.20.105.0/24</cidr>
  <vpn_public_address>None</vpn_public_address>
  <multi_host>None</multi_host>
  <dns2>None</dns2>
  <created_at>None</created_at>
  <host>None</host>
  <gateway_v6>None</gateway_v6>
  <netmask_v6>None</netmask_v6>
  <dns1>None</dns1>
</network>
GET
/v2/​{tenant_id}​/os-networks
List networks

Lists networks that are available to the tenant.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

{
    "networks": [
        {
            "bridge": "br100",
            "bridge_interface": "eth0",
            "broadcast": "10.0.0.7",
            "cidr": "10.0.0.0/29",
            "cidr_v6": null,
            "created_at": "2011-08-15 06:19:19.387525",
            "deleted": false,
            "deleted_at": null,
            "dhcp_start": "10.0.0.3",
            "dns1": null,
            "dns2": null,
            "gateway": "10.0.0.1",
            "gateway_v6": null,
            "host": "nsokolov-desktop",
            "id": "20c8acc0-f747-4d71-a389-46d078ebf047",
            "injected": false,
            "label": "mynet_0",
            "multi_host": false,
            "netmask": "255.255.255.248",
            "netmask_v6": null,
            "priority": null,
            "project_id": "1234",
            "rxtx_base": null,
            "updated_at": "2011-08-16 09:26:13.048257",
            "vlan": 100,
            "vpn_private_address": "10.0.0.2",
            "vpn_public_address": "127.0.0.1",
            "vpn_public_port": 1000
        },
        {
            "bridge": "br101",
            "bridge_interface": "eth0",
            "broadcast": "10.0.0.15",
            "cidr": "10.0.0.10/29",
            "cidr_v6": null,
            "created_at": "2011-08-15 06:19:19.885495",
            "deleted": false,
            "deleted_at": null,
            "dhcp_start": "10.0.0.11",
            "dns1": null,
            "dns2": null,
            "gateway": "10.0.0.9",
            "gateway_v6": null,
            "host": null,
            "id": "20c8acc0-f747-4d71-a389-46d078ebf000",
            "injected": false,
            "label": "mynet_1",
            "multi_host": false,
            "netmask": "255.255.255.248",
            "netmask_v6": null,
            "priority": null,
            "project_id": null,
            "rxtx_base": null,
            "updated_at": null,
            "vlan": 101,
            "vpn_private_address": "10.0.0.10",
            "vpn_public_address": null,
            "vpn_public_port": 1001
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<networks>
  <network>
    <bridge>br100</bridge>
    <vpn_public_port>1000</vpn_public_port>
    <dhcp_start>10.0.0.3</dhcp_start>
    <bridge_interface>eth0</bridge_interface>
    <updated_at>2011-08-16 09:26:13.048257</updated_at>
    <id>20c8acc0-f747-4d71-a389-46d078ebf047</id>
    <cidr_v6>None</cidr_v6>
    <deleted_at>None</deleted_at>
    <gateway>10.0.0.1</gateway>
    <rxtx_base>None</rxtx_base>
    <label>mynet_0</label>
    <priority>None</priority>
    <project_id>1234</project_id>
    <vpn_private_address>10.0.0.2</vpn_private_address>
    <deleted>False</deleted>
    <vlan>100</vlan>
    <broadcast>10.0.0.7</broadcast>
    <netmask>255.255.255.248</netmask>
    <injected>False</injected>
    <cidr>10.0.0.0/29</cidr>
    <vpn_public_address>127.0.0.1</vpn_public_address>
    <multi_host>False</multi_host>
    <dns2>None</dns2>
    <created_at>2011-08-15 06:19:19.387525</created_at>
    <host>nsokolov-desktop</host>
    <gateway_v6>None</gateway_v6>
    <netmask_v6>None</netmask_v6>
    <dns1>None</dns1>
  </network>
  <network>
    <bridge>br101</bridge>
    <vpn_public_port>1001</vpn_public_port>
    <dhcp_start>10.0.0.11</dhcp_start>
    <bridge_interface>eth0</bridge_interface>
    <updated_at>None</updated_at>
    <id>20c8acc0-f747-4d71-a389-46d078ebf000</id>
    <cidr_v6>None</cidr_v6>
    <deleted_at>None</deleted_at>
    <gateway>10.0.0.9</gateway>
    <rxtx_base>None</rxtx_base>
    <label>mynet_1</label>
    <priority>None</priority>
    <project_id>None</project_id>
    <vpn_private_address>10.0.0.10</vpn_private_address>
    <deleted>False</deleted>
    <vlan>101</vlan>
    <broadcast>10.0.0.15</broadcast>
    <netmask>255.255.255.248</netmask>
    <injected>False</injected>
    <cidr>10.0.0.10/29</cidr>
    <vpn_public_address>None</vpn_public_address>
    <multi_host>False</multi_host>
    <dns2>None</dns2>
    <created_at>2011-08-15 06:19:19.885495</created_at>
    <host>None</host>
    <gateway_v6>None</gateway_v6>
    <netmask_v6>None</netmask_v6>
    <dns1>None</dns1>
  </network>
</networks>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-networks/add
Add network

Adds a specified network to a project.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI csapi:uuid

The UUID of the network to add to the project. Specify None to choose a random available network.

{
    "id": "1"
}
<id>1</id>

This operation does not return a response body.

GET
/v2/​{tenant_id}​/os-networks/​{id}​
Show network information

Shows information for a specified network.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI csapi:UUID

The unique identifier associated with the network.

{
    "network": {
        "bridge": "br100",
        "bridge_interface": "eth0",
        "broadcast": "10.0.0.7",
        "cidr": "10.0.0.0/29",
        "cidr_v6": null,
        "created_at": "2011-08-15 06:19:19.387525",
        "deleted": false,
        "deleted_at": null,
        "dhcp_start": "10.0.0.3",
        "dns1": null,
        "dns2": null,
        "gateway": "10.0.0.1",
        "gateway_v6": null,
        "host": "nsokolov-desktop",
        "id": "20c8acc0-f747-4d71-a389-46d078ebf047",
        "injected": false,
        "label": "mynet_0",
        "multi_host": false,
        "netmask": "255.255.255.248",
        "netmask_v6": null,
        "priority": null,
        "project_id": "1234",
        "rxtx_base": null,
        "updated_at": "2011-08-16 09:26:13.048257",
        "vlan": 100,
        "vpn_private_address": "10.0.0.2",
        "vpn_public_address": "127.0.0.1",
        "vpn_public_port": 1000
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<network>
  <bridge>br100</bridge>
  <vpn_public_port>1000</vpn_public_port>
  <dhcp_start>10.0.0.3</dhcp_start>
  <bridge_interface>eth0</bridge_interface>
  <updated_at>2011-08-16 09:26:13.048257</updated_at>
  <id>20c8acc0-f747-4d71-a389-46d078ebf047</id>
  <cidr_v6>None</cidr_v6>
  <deleted_at>None</deleted_at>
  <gateway>10.0.0.1</gateway>
  <rxtx_base>None</rxtx_base>
  <label>mynet_0</label>
  <priority>None</priority>
  <project_id>1234</project_id>
  <vpn_private_address>10.0.0.2</vpn_private_address>
  <deleted>False</deleted>
  <vlan>100</vlan>
  <broadcast>10.0.0.7</broadcast>
  <netmask>255.255.255.248</netmask>
  <injected>False</injected>
  <cidr>10.0.0.0/29</cidr>
  <vpn_public_address>127.0.0.1</vpn_public_address>
  <multi_host>False</multi_host>
  <dns2>None</dns2>
  <created_at>2011-08-15 06:19:19.387525</created_at>
  <host>nsokolov-desktop</host>
  <gateway_v6>None</gateway_v6>
  <netmask_v6>None</netmask_v6>
  <dns1>None</dns1>
</network>

This operation does not accept a request body.

DELETE
/v2/​{tenant_id}​/os-networks/​{id}​
Delete network

Deletes a specified network.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI csapi:UUID

The unique identifier associated with the network.

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

POST
/v2/​{tenant_id}​/os-networks/​{id}​/action
Associate host

Associates a specified network with a host.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI csapi:UUID

The unique identifier associated with the network.

{
    "associate_host": "testHost"
}
<?xml version='1.0' encoding='UTF-8'?>
<associate_host>testHost</associate_host>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/os-networks/​{id}​/action
Disassociate host

Disassociates the host from a specified network.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI csapi:UUID

The unique identifier associated with the network.

{
    "disassociate_host": null
}
<disassociate_host/>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/os-networks/​{id}​/action
Disassociate network

Disassociates a specified network from a project so that the network can be reused.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI csapi:UUID

The unique identifier associated with the network.

{
    "disassociate": null
}
<disassociate/>

This operation does not return a response body.

POST
/v2/​{tenant_id}​/os-networks/​{id}​/action
Disassociate project

Disassociates the project from a specified network.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id URI csapi:UUID

The unique identifier associated with the network.

{
    "disassociate_project": null
}
<disassociate_project/>

This operation does not return a response body.

Quota sets (os-quota-sets)

Administrators only, depending on policy settings. View quotas for a tenant and view and update default quotas.

GET
/v2/​{tenant_id}​/os-quota-sets/​{tenant_id}​
Show quotas

Shows quotas for a tenant.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

tenant_id URI xsd:string

The ID for the tenant for which you want to show, update, or delete quotas. This ID is different from the first tenant ID that you specify in the URI: That ID is for the admin tenant.

Response parameters
Parameter Style Type Description
quota_set plain xsd:string

A quota_set object.

cores plain xsd:int

The number of instance cores allowed for each tenant.

fixed_ips plain xsd:int

The number of fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of allowed instances.

floating_ips plain xsd:int

The number of floating IP addresses allowed for each tenant.

id plain xsd:int

The ID for the quota set.

injected_file_content_bytes plain xsd:int

The number of bytes of content allowed for each injected file.

injected_file_path_bytes plain xsd:int

The number of bytes allowed for each injected file path.

injected_files plain xsd:int

The number of injected files allowed for each tenant.

instances plain xsd:int

The number of instances allowed for each tenant.

key_pairs plain xsd:int

The number of key pairs allowed for each user.

metadata_items plain xsd:int

The number of metadata items allowed for each instance.

ram plain xsd:int

The amount of instance RAM in megabytes allowed for each tenant.

security_group_rules (Optional) plain xsd:int

The number of rules allowed for each security group.

security_groups plain xsd:int

The number of security groups allowed for each tenant.

server_groups plain xsd:int

The number of server groups allowed for each tenant.

server_group_members plain xsd:int

The number of members allowed for each server group.

{
    "quota_set": {
        "cores": 20,
        "fixed_ips": -1,
        "floating_ips": 10,
        "id": "fake_tenant",
        "injected_file_content_bytes": 10240,
        "injected_file_path_bytes": 255,
        "injected_files": 5,
        "instances": 10,
        "key_pairs": 100,
        "metadata_items": 128,
        "ram": 51200,
        "security_group_rules": 20,
        "security_groups": 10,
        "server_group_members": 10,
        "server_groups": 10
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
  <cores>20</cores>
  <fixed_ips>-1</fixed_ips>
  <floating_ips>10</floating_ips>
  <injected_file_content_bytes>10240</injected_file_content_bytes>
  <injected_file_path_bytes>255</injected_file_path_bytes>
  <injected_files>5</injected_files>
  <instances>10</instances>
  <key_pairs>100</key_pairs>
  <metadata_items>128</metadata_items>
  <ram>51200</ram>
  <security_group_rules>20</security_group_rules>
  <security_groups>10</security_groups>
  <server_groups>10</server_groups>
  <server_group_members>10</server_group_members>
</quota_set>

This operation does not accept a request body.

PUT
/v2/​{tenant_id}​/os-quota-sets/​{tenant_id}​
Update quotas

Updates quotas for a tenant.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

tenant_id URI xsd:string

The ID for the tenant for which you want to show, update, or delete quotas. This ID is different from the first tenant ID that you specify in the URI: That ID is for the admin tenant.

quota_set plain xsd:string

A quota_set object.

cores (Optional) plain xsd:int

The number of instance cores allowed for each tenant.

fixed_ips (Optional) plain xsd:int

The number of fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of allowed instances.

floating_ips (Optional) plain xsd:int

The number of floating IP addresses allowed for each tenant.

id (Optional) plain xsd:int

The ID for the quota set.

injected_file_content_bytes (Optional) plain xsd:int

The number of bytes of content allowed for each injected file.

injected_file_path_bytes (Optional) plain xsd:int

The number of bytes allowed for each injected file path.

injected_files (Optional) plain xsd:int

The number of injected files allowed for each tenant.

instances (Optional) plain xsd:int

The number of instances allowed for each tenant.

key_pairs (Optional) plain xsd:int

The number of key pairs allowed for each user.

metadata_items (Optional) plain xsd:int

The number of metadata items allowed for each instance.

ram (Optional) plain xsd:int

The amount of instance RAM in megabytes allowed for each tenant.

security_group_rules (Optional) plain xsd:int

The number of rules allowed for each security group.

security_groups (Optional) plain xsd:int

The number of security groups allowed for each tenant.

server_groups (Optional) plain xsd:int

The number of server groups allowed for each tenant.

server_group_members (Optional) plain xsd:int

The number of members allowed for each server group.

Response parameters
Parameter Style Type Description
quota_set plain xsd:string

A quota_set object.

cores plain xsd:int

The number of instance cores allowed for each tenant.

fixed_ips plain xsd:int

The number of fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of allowed instances.

floating_ips plain xsd:int

The number of floating IP addresses allowed for each tenant.

id plain xsd:int

The ID for the quota set.

injected_file_content_bytes plain xsd:int

The number of bytes of content allowed for each injected file.

injected_file_path_bytes plain xsd:int

The number of bytes allowed for each injected file path.

injected_files plain xsd:int

The number of injected files allowed for each tenant.

instances plain xsd:int

The number of instances allowed for each tenant.

key_pairs plain xsd:int

The number of key pairs allowed for each user.

metadata_items plain xsd:int

The number of metadata items allowed for each instance.

ram plain xsd:int

The amount of instance RAM in megabytes allowed for each tenant.

security_group_rules (Optional) plain xsd:int

The number of rules allowed for each security group.

security_groups plain xsd:int

The number of security groups allowed for each tenant.

server_groups plain xsd:int

The number of server groups allowed for each tenant.

server_group_members plain xsd:int

The number of members allowed for each server group.

{
    "quota_set": {
        "security_groups": 45
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
  <security_groups>45</security_groups>
</quota_set>
{
    "quota_set": {
        "cores": 20,
        "fixed_ips": -1,
        "floating_ips": 10,
        "injected_file_content_bytes": 10240,
        "injected_file_path_bytes": 255,
        "injected_files": 5,
        "instances": 10,
        "key_pairs": 100,
        "metadata_items": 128,
        "ram": 51200,
        "security_group_rules": 20,
        "security_groups": 45,
        "server_group_members": 10,
        "server_groups": 10
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<quota_set>
  <cores>20</cores>
  <fixed_ips>-1</fixed_ips>
  <floating_ips>10</floating_ips>
  <injected_file_content_bytes>10240</injected_file_content_bytes>
  <injected_file_path_bytes>255</injected_file_path_bytes>
  <injected_files>5</injected_files>
  <instances>10</instances>
  <key_pairs>100</key_pairs>
  <metadata_items>128</metadata_items>
  <ram>51200</ram>
  <security_group_rules>20</security_group_rules>
  <security_groups>45</security_groups>
  <server_groups>10</server_groups>
  <server_group_members>10</server_group_members>
</quota_set>
DELETE
/v2/​{tenant_id}​/os-quota-sets/​{tenant_id}​
Delete quotas

Deletes quotas for a tenant so the quotas revert to default values.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

tenant_id URI xsd:string

The ID for the tenant for which you want to show, update, or delete quotas. This ID is different from the first tenant ID that you specify in the URI: That ID is for the admin tenant.

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

GET
/v2/​{tenant_id}​/os-quota-sets/defaults
Get default quotas

Gets default quotas for a tenant.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

Response parameters
Parameter Style Type Description
quota_set plain xsd:string

A quota_set object.

cores plain xsd:int

The number of instance cores allowed for each tenant.

fixed_ips plain xsd:int

The number of fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of allowed instances.

floating_ips plain xsd:int

The number of floating IP addresses allowed for each tenant.

id plain xsd:int

The ID for the quota set.

injected_file_content_bytes plain xsd:int

The number of bytes of content allowed for each injected file.

injected_file_path_bytes plain xsd:int

The number of bytes allowed for each injected file path.

injected_files plain xsd:int

The number of injected files allowed for each tenant.

instances plain xsd:int

The number of instances allowed for each tenant.

key_pairs plain xsd:int

The number of key pairs allowed for each user.

metadata_items plain xsd:int

The number of metadata items allowed for each instance.

ram plain xsd:int

The amount of instance RAM in megabytes allowed for each tenant.

security_group_rules (Optional) plain xsd:int

The number of rules allowed for each security group.

security_groups plain xsd:int

The number of security groups allowed for each tenant.

server_groups plain xsd:int

The number of server groups allowed for each tenant.

server_group_members plain xsd:int

The number of members allowed for each server group.

{
    "quota_set": {
        "cores": 20,
        "fixed_ips": -1,
        "floating_ips": 10,
        "id": "fake_tenant",
        "injected_file_content_bytes": 10240,
        "injected_file_path_bytes": 255,
        "injected_files": 5,
        "instances": 10,
        "key_pairs": 100,
        "metadata_items": 128,
        "ram": 51200,
        "security_group_rules": 20,
        "security_groups": 10,
        "server_group_members": 10,
        "server_groups": 10
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
  <cores>20</cores>
  <fixed_ips>-1</fixed_ips>
  <floating_ips>10</floating_ips>
  <injected_file_content_bytes>10240</injected_file_content_bytes>
  <injected_file_path_bytes>255</injected_file_path_bytes>
  <injected_files>5</injected_files>
  <instances>10</instances>
  <key_pairs>100</key_pairs>
  <metadata_items>128</metadata_items>
  <ram>51200</ram>
  <security_group_rules>20</security_group_rules>
  <security_groups>10</security_groups>
  <server_groups>10</server_groups>
  <server_group_members>10</server_group_members>
</quota_set>

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/os-quota-sets/​{tenant_id}​/​{user_id}​
Show quotas for user

Enables an admin user to show quotas for a specified tenant and user.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

tenant_id URI xsd:string

The ID for the tenant for which you want to show or update quotas. This ID is different from the first tenant ID that you specify in the URI: That ID is for the admin tenant.

user_id URI xsd:string

The user ID. Specify in the URI as a query string: user_id={user_id}.

Response parameters
Parameter Style Type Description
quota_set plain xsd:string

A quota_set object.

cores plain xsd:int

The number of instance cores allowed for each tenant.

fixed_ips plain xsd:int

The number of fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of allowed instances.

floating_ips plain xsd:int

The number of floating IP addresses allowed for each tenant.

id plain xsd:int

The ID for the quota set.

injected_file_content_bytes plain xsd:int

The number of bytes of content allowed for each injected file.

injected_file_path_bytes plain xsd:int

The number of bytes allowed for each injected file path.

injected_files plain xsd:int

The number of injected files allowed for each tenant.

instances plain xsd:int

The number of instances allowed for each tenant.

key_pairs plain xsd:int

The number of key pairs allowed for each user.

metadata_items plain xsd:int

The number of metadata items allowed for each instance.

ram plain xsd:int

The amount of instance RAM in megabytes allowed for each tenant.

security_group_rules (Optional) plain xsd:int

The number of rules allowed for each security group.

security_groups plain xsd:int

The number of security groups allowed for each tenant.

server_groups plain xsd:int

The number of server groups allowed for each tenant.

server_group_members plain xsd:int

The number of members allowed for each server group.

{
    "quota_set": {
        "cores": 20,
        "fixed_ips": -1,
        "floating_ips": 10,
        "id": "fake_tenant",
        "injected_file_content_bytes": 10240,
        "injected_file_path_bytes": 255,
        "injected_files": 5,
        "instances": 10,
        "key_pairs": 100,
        "metadata_items": 128,
        "ram": 51200,
        "security_group_rules": 20,
        "security_groups": 10,
        "server_group_members": 10,
        "server_groups": 10
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
  <cores>20</cores>
  <fixed_ips>-1</fixed_ips>
  <floating_ips>10</floating_ips>
  <injected_file_content_bytes>10240</injected_file_content_bytes>
  <injected_file_path_bytes>255</injected_file_path_bytes>
  <injected_files>5</injected_files>
  <instances>10</instances>
  <key_pairs>100</key_pairs>
  <metadata_items>128</metadata_items>
  <ram>51200</ram>
  <security_group_rules>20</security_group_rules>
  <security_groups>10</security_groups>
  <server_groups>10</server_groups>
  <server_group_members>10</server_group_members>
</quota_set>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-quota-sets/​{tenant_id}​/​{user_id}​
Update quotas for user

Updates quotas for a specified tenant/project and user.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

tenant_id URI xsd:string

The ID for the tenant for which you want to show or update quotas. This ID is different from the first tenant ID that you specify in the URI: That ID is for the admin tenant.

user_id URI xsd:string

The user ID. Specify in the URI as a query string: user_id={user_id}.

quota_set plain xsd:string

A quota_set object.

cores (Optional) plain xsd:int

The number of instance cores allowed for each tenant.

fixed_ips (Optional) plain xsd:int

The number of fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of allowed instances.

floating_ips (Optional) plain xsd:int

The number of floating IP addresses allowed for each tenant.

id (Optional) plain xsd:int

The ID for the quota set.

injected_file_content_bytes (Optional) plain xsd:int

The number of bytes of content allowed for each injected file.

injected_file_path_bytes (Optional) plain xsd:int

The number of bytes allowed for each injected file path.

injected_files (Optional) plain xsd:int

The number of injected files allowed for each tenant.

instances (Optional) plain xsd:int

The number of instances allowed for each tenant.

key_pairs (Optional) plain xsd:int

The number of key pairs allowed for each user.

metadata_items (Optional) plain xsd:int

The number of metadata items allowed for each instance.

ram (Optional) plain xsd:int

The amount of instance RAM in megabytes allowed for each tenant.

security_group_rules (Optional) plain xsd:int

The number of rules allowed for each security group.

security_groups (Optional) plain xsd:int

The number of security groups allowed for each tenant.

server_groups (Optional) plain xsd:int

The number of server groups allowed for each tenant.

server_group_members (Optional) plain xsd:int

The number of members allowed for each server group.

Response parameters
Parameter Style Type Description
quota_set plain xsd:string

A quota_set object.

cores plain xsd:int

The number of instance cores allowed for each tenant.

fixed_ips plain xsd:int

The number of fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of allowed instances.

floating_ips plain xsd:int

The number of floating IP addresses allowed for each tenant.

id plain xsd:int

The ID for the quota set.

injected_file_content_bytes plain xsd:int

The number of bytes of content allowed for each injected file.

injected_file_path_bytes plain xsd:int

The number of bytes allowed for each injected file path.

injected_files plain xsd:int

The number of injected files allowed for each tenant.

instances plain xsd:int

The number of instances allowed for each tenant.

key_pairs plain xsd:int

The number of key pairs allowed for each user.

metadata_items plain xsd:int

The number of metadata items allowed for each instance.

ram plain xsd:int

The amount of instance RAM in megabytes allowed for each tenant.

security_group_rules (Optional) plain xsd:int

The number of rules allowed for each security group.

security_groups plain xsd:int

The number of security groups allowed for each tenant.

server_groups plain xsd:int

The number of server groups allowed for each tenant.

server_group_members plain xsd:int

The number of members allowed for each server group.

{
    "quota_set": {
        "force": "True",
        "instances": 9
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
  <force>True</force>
  <instances>9</instances>
</quota_set>
{
    "quota_set": {
        "cores": 20,
        "floating_ips": 10,
        "fixed_ips": -1,
        "injected_file_content_bytes": 10240,
        "injected_file_path_bytes": 255,
        "injected_files": 5,
        "instances": 9,
        "key_pairs": 100,
        "metadata_items": 128,
        "ram": 51200,
        "security_group_rules": 20,
        "security_groups": 10,
        "server_group_members": 10,
        "server_groups": 10
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<quota_set>
  <cores>20</cores>
  <floating_ips>10</floating_ips>
  <fixed_ips>-1</fixed_ips>
  <injected_file_content_bytes>10240</injected_file_content_bytes>
  <injected_file_path_bytes>255</injected_file_path_bytes>
  <injected_files>5</injected_files>
  <instances>9</instances>
  <key_pairs>100</key_pairs>
  <metadata_items>128</metadata_items>
  <ram>51200</ram>
  <security_group_rules>20</security_group_rules>
  <security_groups>10</security_groups>
  <server_groups>10</server_groups>
  <server_group_members>10</server_group_members>
</quota_set>
DELETE
/v2/​{tenant_id}​/os-quota-sets/​{tenant_id}​/​{user_id}​
Delete quotas for user

Deletes quotas for a user so that the quotas revert to default values.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

tenant_id URI xsd:string

The ID for the tenant for which you want to show or update quotas. This ID is different from the first tenant ID that you specify in the URI: That ID is for the admin tenant.

user_id URI xsd:string

The user ID. Specify in the URI as a query string: user_id={user_id}.

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

GET
/v2/​{tenant_id}​/os-quota-sets/​{tenant_id}​/detail/​{user_id}​
Show quota details for user

Shows details for quotas for a specified tenant and user.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The ID for the tenant or project in a multi-tenancy cloud.

tenant_id URI xsd:string

The ID for the tenant for which you want to show or update quotas. This ID is different from the first tenant ID that you specify in the URI: That ID is for the admin tenant.

user_id URI xsd:string

The user ID. Specify in the URI as a query string: user_id={user_id}.

Response parameters
Parameter Style Type Description
quota_set plain xsd:string

A quota_set object.

cores plain xsd:string

A cores object.

fixed_ips plain xsd:string

A fixed_ips object.

floating_ips plain xsd:string

A floating_ips object.

id plain csapi:UUID

The ID for the quota set.

injected_file_content_bytes plain xsd:string

An injected_file_content_bytes object.

injected_file_path_bytes plain xsd:string

An injected_file_path_bytes object.

injected_files plain xsd:string

An injected_files object.

instances plain xsd:string

An instances object.

key_pairs plain xsd:string

A key_pairs object.

metadata_items plain xsd:string

A metadata_items object.

ram plain xsd:string

A ram object.

security_group_rules plain xsd:string

A security_group_rules object.

security_groups plain xsd:string

A security_groups object.

in_use plain xsd:int

The number of items in use.

limit plain xsd:int

The number of items permitted for this tenant.

reserved plain xsd:int

The number of reserved items.

{
    "quota_set": {
        "cores": {
            "in_use": 0,
            "limit": 20,
            "reserved": 0
        },
        "fixed_ips": {
            "in_use": 0,
            "limit": -1,
            "reserved": 0
        },
        "floating_ips": {
            "in_use": 0,
            "limit": 10,
            "reserved": 0
        },
        "injected_files": {
            "in_use": 0,
            "limit": 5,
            "reserved": 0
        },
        "instances": {
            "in_use": 0,
            "limit": 10,
            "reserved": 0
        },
        "key_pairs": {
            "in_use": 0,
            "limit": 100,
            "reserved": 0
        },
        "metadata_items": {
            "in_use": 0,
            "limit": 128,
            "reserved": 0
        },
        "ram": {
            "in_use": 0,
            "limit": 51200,
            "reserved": 0
        },
        "security_groups": {
            "in_use": 0,
            "limit": 10,
            "reserved": 0
        },
        "injected_file_content_bytes": {
            "in_use": 0,
            "limit": 10240,
            "reserved": 0
        },
        "injected_file_path_bytes": {
            "in_use": 0,
            "limit": 255,
            "reserved": 0
        },
        "security_group_rules": {
            "in_use": 0,
            "limit": 20,
            "reserved": 0
        }
    }
}

This operation does not accept a request body.

Rules for default security group (os-security-group-default-rules)

List, show information for, and create default security group rules.

GET
/v2/​{tenant_id}​/os-security-group-default-rules
List default security group rules

Lists default security group rules.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

Response parameters
Parameter Style Type Description
from_port plain xsd:int

Port at start of range.

id plain csapi:UUID

Security group ID.

ip_protocol plain xsd:string

The IP protocol: ICMP, TCP, or UDP.

ip_range plain xsd:string

An IP range object.

cidr plain xsd:string

The CIDR for address range.

to_port plain xsd:int

Port at end of range.

{
    "security_group_default_rules": [
        {
            "from_port": 80,
            "id": 1,
            "ip_protocol": "TCP",
            "ip_range": {
                "cidr": "10.10.10.0/24"
            },
            "to_port": 80
        }
    ]
}
<?xml version='1.0' encoding='UTF-8'?>
<security_group_default_rules xmlns="http://docs.openstack.org/compute/api/v1.1">
  <security_group_default_rule id="1">
    <ip_protocol>TCP</ip_protocol>
    <from_port>80</from_port>
    <to_port>80</to_port>
    <ip_range>
      <cidr>10.10.10.0/24</cidr>
    </ip_range>
  </security_group_default_rule>
</security_group_default_rules>

This operation does not accept a request body.

POST
/v2/​{tenant_id}​/os-security-group-default-rules
Create default security group rule

Creates a default security group rule.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

id plain csapi:UUID

Security group name or ID.

ip_protocol plain xsd:string

The IP protocol: ICMP, TCP, or UDP.

from_port plain xsd:int

Port at start of range.

to_port plain xsd:int

Port at end of range.

cidr plain xsd:string

The CIDR for address range.

Response parameters
Parameter Style Type Description
from_port plain xsd:int

Port at start of range.

id plain csapi:UUID

Security group ID.

ip_protocol plain xsd:string

The IP protocol: ICMP, TCP, or UDP.

ip_range plain xsd:string

An IP range object.

cidr plain xsd:string

The CIDR for address range.

to_port plain xsd:int

Port at end of range.

{
    "security_group_default_rule": {
        "ip_protocol": "TCP",
        "from_port": "80",
        "to_port": "80",
        "cidr": "10.10.12.0/24"
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<security_group_default_rule>
  <ip_protocol>TCP</ip_protocol>
  <from_port>80</from_port>
  <to_port>80</to_port>
  <cidr>10.10.12.0/24</cidr>
</security_group_default_rule>
{
    "security_group_default_rule": {
        "from_port": 80,
        "id": 1,
        "ip_protocol": "TCP",
        "ip_range": {
            "cidr": "10.10.10.0/24"
        },
        "to_port": 80
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<security_group_default_rule xmlns="http://docs.openstack.org/compute/api/v1.1"  id="1">
  <ip_protocol>TCP</ip_protocol>
  <from_port>80</from_port>
  <to_port>80</to_port>
  <ip_range>
    <cidr>10.10.10.0/24</cidr>
  </ip_range>
</security_group_default_rule>
GET
/v2/​{tenant_id}​/os-security-group-default-rules/​{security_group_default_rule_id}​
Show default security group rule information

Shows information for a specified security group rule.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

security_group_default_rule_id URI csapi:uuid

The unique identifier of the security group rule.

Response parameters
Parameter Style Type Description
from_port plain xsd:int

Port at start of range.

id plain csapi:UUID

Security group ID.

ip_protocol plain xsd:string

The IP protocol: ICMP, TCP, or UDP.

ip_range plain xsd:string

An IP range object.

cidr plain xsd:string

The CIDR for address range.

to_port plain xsd:int

Port at end of range.

{
    "security_group_default_rule": {
        "id": 1,
        "from_port": 80,
        "to_port": 80,
        "ip_protocol": "TCP",
        "ip_range": {
            "cidr": "10.10.10.0/24"
        }
    }
}
<?xml version='1.0' encoding='UTF-8'?>
<security_group_default_rule xmlns="http://docs.openstack.org/compute/api/v1.1" id="1">
  <from_port>80</from_port>
  <to_port>80</to_port>
  <ip_protocol>TCP</ip_protocol>
  <ip_range>
    <cidr>10.10.10.0/24</cidr>
  </ip_range>
</security_group_default_rule>

This operation does not accept a request body.

DELETE
/v2/​{tenant_id}​/os-security-group-default-rules/​{security_group_default_rule_id}​
Delete default security group rule

Deletes a specified security group rule.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

security_group_default_rule_id URI csapi:uuid

The unique identifier of the security group rule.

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

Security groups (os-security-groups)

List, show information for, create, and delete security groups.

GET
/v2/​{tenant_id}​/os-security-groups
List security groups

Lists security groups.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:string

The unique identifier of the tenant or account.

Response parameters
Parameter Style Type Description
security_groups plain xsd:string

Security groups object.

description plain xsd:string

Security group description.

id plain xsd:int

The security group ID.

name plain xsd:string

The security group name.

rules plain xsd:string

A rules object.

tenant_id (Optional) plain xsd:string