Compute API

For details on how to use compute, see Using OpenStack Compute

The Compute Class

The compute high-level interface is available through the compute member of a Connection object. The compute member will only be added if the service is detected.

class openstack.compute.v2._proxy.Proxy(session)
find_extension(name_or_id, ignore_missing=True)

Find a single extension

Parameters:
  • name_or_id – The name or ID of an extension.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One Extension or None

extensions(**query)

Retrieve a generator of extensions

Parameters:**query (kwargs) – Optional query parameters to be sent to limit the resources being returned.
Returns:A generator of extension instances.
Return type:Extension
find_flavor(name_or_id, ignore_missing=True)

Find a single flavor

Parameters:
  • name_or_id – The name or ID of a flavor.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One Flavor or None

create_flavor(**attrs)

Create a new flavor from attributes

Parameters:attrs (dict) – Keyword arguments which will be used to create a Flavor, comprised of the properties on the Flavor class.
Returns:The results of flavor creation
Return type:Flavor
delete_flavor(flavor, ignore_missing=True)

Delete a flavor

Parameters:
  • flavor – The value can be either the ID of a flavor or a Flavor instance.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the flavor does not exist. When set to True, no exception will be set when attempting to delete a nonexistent flavor.
Returns:

None

get_flavor(flavor)

Get a single flavor

Parameters:flavor – The value can be the ID of a flavor or a Flavor instance.
Returns:One Flavor
Raises:ResourceNotFound when no resource can be found.
flavors(details=True, **query)

Return a generator of flavors

Parameters:
  • details (bool) – When True, returns FlavorDetail objects, otherwise Flavor. Default: ``True``
  • **query (kwargs) – Optional query parameters to be sent to limit the flavors being returned.
Returns:

A generator of flavor objects

update_flavor(flavor, **attrs)

Update a flavor

Parameters:flavor – Either the ID of a flavor or a Flavor instance.
Attrs kwargs:The attributes to update on the flavor represented by value.
Returns:The updated flavor
Return type:Flavor
delete_image(image, ignore_missing=True)

Delete an image

Parameters:
  • image – The value can be either the ID of an image or a Image instance.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the image does not exist. When set to True, no exception will be set when attempting to delete a nonexistent image.
Returns:

None

find_image(name_or_id, ignore_missing=True)

Find a single image

Parameters:
  • name_or_id – The name or ID of a image.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One Image or None

get_image(image)

Get a single image

Parameters:image – The value can be the ID of an image or a Image instance.
Returns:One Image
Raises:ResourceNotFound when no resource can be found.
images(details=True, **query)

Return a generator of images

Parameters:
  • details (bool) – When True, returns ImageDetail objects, otherwise Image. Default: ``True``
  • **query (kwargs) – Optional query parameters to be sent to limit the resources being returned.
Returns:

A generator of image objects

get_image_metadata(image)

Return a dictionary of metadata for an image

Parameters:image – Either the ID of an image or a Image or ImageDetail instance.
Returns:A Image with only the image’s metadata. All keys and values are Unicode text.
Return type:Image
set_image_metadata(image, **metadata)

Update metadata for an image

Parameters:
  • image – Either the ID of an image or a Image or ImageDetail instance.
  • metadata (kwargs) – Key/value pairs to be updated in the image’s metadata. No other metadata is modified by this call. All keys and values are stored as Unicode.
Returns:

A Image with only the image’s metadata. All keys and values are Unicode text.

Return type:

Image

delete_image_metadata(image, keys)

Delete metadata for an image

Note: This method will do a HTTP DELETE request for every key in keys.

Parameters:
  • image – Either the ID of an image or a Image or ImageDetail instance.
  • keys (list) – The keys to delete.
Return type:

None

create_keypair(**attrs)

Create a new keypair from attributes

Parameters:attrs (dict) – Keyword arguments which will be used to create a Keypair, comprised of the properties on the Keypair class.
Returns:The results of keypair creation
Return type:Keypair
delete_keypair(keypair, ignore_missing=True)

Delete a keypair

Parameters:
  • keypair – The value can be either the ID of a keypair or a Keypair instance.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the keypair does not exist. When set to True, no exception will be set when attempting to delete a nonexistent keypair.
Returns:

None

get_keypair(keypair)

Get a single keypair

Parameters:keypair – The value can be the ID of a keypair or a Keypair instance.
Returns:One Keypair
Raises:ResourceNotFound when no resource can be found.
find_keypair(name_or_id, ignore_missing=True)

Find a single keypair

Parameters:
  • name_or_id – The name or ID of a keypair.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One Keypair or None

keypairs(**query)

Return a generator of keypairs

Parameters:**query (kwargs) – Optional query parameters to be sent to limit the resources being returned.
Returns:A generator of keypair objects
Return type:Keypair
update_keypair(keypair, **attrs)

Update a keypair

Parameters:keypair – Either the ID of a keypair or a Keypair instance.
Attrs kwargs:The attributes to update on the keypair represented by keypair.
Returns:The updated keypair
Return type:Keypair
get_limits()

Retrieve limits that are applied to the project’s account

Returns:A Limits object, including both AbsoluteLimits and RateLimits
Return type:Limits
create_server(**attrs)

Create a new server from attributes

Parameters:attrs (dict) – Keyword arguments which will be used to create a Server, comprised of the properties on the Server class.
Returns:The results of server creation
Return type:Server
delete_server(server, ignore_missing=True)

Delete a server

Parameters:
  • server – The value can be either the ID of a server or a Server instance.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the server does not exist. When set to True, no exception will be set when attempting to delete a nonexistent server.
Returns:

None

find_server(name_or_id, ignore_missing=True)

Find a single server

Parameters:
  • name_or_id – The name or ID of a server.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One Server or None

get_server(server)

Get a single server

Parameters:server – The value can be the ID of a server or a Server instance.
Returns:One Server
Raises:ResourceNotFound when no resource can be found.
servers(details=True, **query)

Retrieve a generator of servers

Parameters:
  • details (bool) – When set to False Server instances will be returned. The default, True, will cause ServerDetail instances to be returned.
  • **query (kwargs) –

    Optional query parameters to be sent to limit the servers being returned. Available parameters include:

    • changes_since: A time/date stamp for when the server last changed
      status.
    • image: An image resource or ID.
    • flavor: A flavor resource or ID.
    • name: Name of the server as a string. Can be queried with
      regular expressions. The regular expression ?name=bob returns both bob and bobb. If you must match on only bob, you can use a regular expression that matches the syntax of the underlying database server that is implemented for Compute, such as MySQL or PostgreSQL.
    • status: Value of the status of the server so that you can filter
      on “ACTIVE” for example.
    • host: Name of the host as a string.
    • limit: Requests a specified page size of returned items from the
      query. Returns a number of items up to the specified limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
    • marker: Specifies the ID of the last-seen item. Use the limit
      parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
Returns:

A generator of server instances.

update_server(server, **attrs)

Update a server

Parameters:server – Either the ID of a server or a Server instance.
Attrs kwargs:The attributes to update on the server represented by server.
Returns:The updated server
Return type:Server
create_server_interface(server, **attrs)

Create a new server interface from attributes

Parameters:
  • server – The server can be either the ID of a server or a Server instance that the interface belongs to.
  • attrs (dict) – Keyword arguments which will be used to create a ServerInterface, comprised of the properties on the ServerInterface class.
Returns:

The results of server interface creation

Return type:

ServerInterface

delete_server_interface(server_interface, server=None, ignore_missing=True)

Delete a server interface

Parameters:
  • server_interface – The value can be either the ID of a server interface or a ServerInterface instance.
  • server – This parameter need to be specified when ServerInterface ID is given as value. It can be either the ID of a server or a Server instance that the interface belongs to.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the server interface does not exist. When set to True, no exception will be set when attempting to delete a nonexistent server interface.
Returns:

None

get_server_interface(server_interface, server=None)

Get a single server interface

Parameters:
  • server_interface – The value can be the ID of a server interface or a ServerInterface instance.
  • server – This parameter need to be specified when ServerInterface ID is given as value. It can be either the ID of a server or a Server instance that the interface belongs to.
Returns:

One ServerInterface

Raises:

ResourceNotFound when no resource can be found.

server_interfaces(server, **query)

Return a generator of server interfaces

Parameters:
  • server – The server can be either the ID of a server or a Server.
  • **query (kwargs) – Optional query parameters to be sent to limit the resources being returned.
Returns:

A generator of ServerInterface objects

Return type:

ServerInterface

find_server_ip(name_or_id, ignore_missing=True)

Find a single server IP

Parameters:
  • name_or_id – The name or ID of a server IP.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One ServerIP or None

server_ips(**query)

Return a generator of server IPs

Parameters:**query (kwargs) – Optional query parameters to be sent to limit the resources being returned.
Returns:A generator of ServerIP objects
Return type:ServerIP
resize_server(server, flavor)

Resize a server

Parameters:
  • server – Either the ID of a server or a Server instance.
  • falvor – The ID or name of the flavor used to resize the server.
Returns:

None

confirm_resize_server(server)

Confirm a pending resize_server action

Parameters:server – Either the ID of a server or a Server instance.
Returns:None
revert_resize_server(server)

Cancel and revert a pending resize_server action

Parameters:server – Either the ID of a server or a Server instance.
Returns:None
rebuild_server(server, image, name=None, admin_password=None, **attrs)

Rebuild a server

Parameters:
  • server – Either the ID of a server or a Server instance.
  • image – The ID or name or a Image or full URL of the image used to rebuild the server with.
  • name – New name for the server.
  • admin_password – New admin password for the server.
  • **attrs (kwargs) – The attributes to rebuild the server.
Returns:

The rebuilt server

Return type:

Server

availability_zones(**query)

Return a generator of availability zones

Parameters:**query (kwargs) – Optional query parameters to be sent to limit the resources being returned.
Returns:A generator of availability zone
Return type::class:`~openstack.compute.v2.availability_zone.

AvailabilityZone`

get_server_metadata(server)

Return a dictionary of metadata for a server

Parameters:server – Either the ID of a server or a Server or ServerDetail instance.
Returns:A Server with only the server’s metadata. All keys and values are Unicode text.
Return type:Server
set_server_metadata(server, **metadata)

Update metadata for a server

Parameters:
  • server – Either the ID of a server or a Server or ServerDetail instance.
  • metadata (kwargs) – Key/value pairs to be updated in the server’s metadata. No other metadata is modified by this call. All keys and values are stored as Unicode.
Returns:

A Server with only the server’s metadata. All keys and values are Unicode text.

Return type:

Server

delete_server_metadata(server, keys)

Delete metadata for a server

Note: This method will do a HTTP DELETE request for every key in keys.

Parameters:
  • server – Either the ID of a server or a Server or ServerDetail instance.
  • keys (list) – The keys to delete
Return type:

None

create_server_group(**attrs)

Create a new server group from attributes

Parameters:attrs (dict) – Keyword arguments which will be used to create a ServerGroup, comprised of the properties on the ServerGroup class.
Returns:The results of server group creation
Return type:ServerGroup
delete_server_group(server_group, ignore_missing=True)

Delete a server group

Parameters:
  • server_group – The value can be either the ID of a server group or a ServerGroup instance.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the server group does not exist. When set to True, no exception will be set when attempting to delete a nonexistent server group.
Returns:

None

find_server_group(name_or_id, ignore_missing=True)

Find a single server group

Parameters:
  • name_or_id – The name or ID of a server group.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One ServerGroup object or None

get_server_group(server_group)

Get a single server group

Parameters:server_group – The value can be the ID of a server group or a ServerGroup instance.
Returns:A ServerGroup object.
Raises:ResourceNotFound when no resource can be found.
server_groups(**query)

Return a generator of server groups

Parameters:**query (kwargs) – Optional query parameters to be sent to limit the resources being returned.
Returns:A generator of ServerGroup objects
Return type:ServerGroup
hypervisors(**query)

Return a generator of hypervisor

Returns:A generator of hypervisor
Return type:class: ~openstack.compute.v2.hypervisor.Hypervisor
find_hypervisor(name_or_id, ignore_missing=True)

Find a hypervisor from name or id to get the corresponding info

Parameters:name_or_id – The name or id of a hypervisor
Returns:One: class:~openstack.compute.v2.hypervisor.Hypervisor object or None
get_hypervisor(hypervisor)

Get a single hypervisor

Parameters:hypervisor – The value can be the ID of a hypervisor or a Hypervisor instance.
Returns:A Hypervisor object.
Raises:ResourceNotFound when no resource can be found.