Compute API

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, key=None)

Return a dictionary of metadata for an image

Parameters:
  • server – Either the ID of an image or a Image or ImageDetail instance.
  • key – An optional key to retrieve from the image’s metadata. When no key is specified, all metadata is retrieved.
Returns:

A dictionary of the image’s metadata. All keys and values are Unicode text.

Return type:

dict

create_image_metadata(image, **metadata)

Create metadata for an image

Parameters:
  • server – Either the ID of an image or a Image or ImageDetail instance.
  • metadata (kwargs) – Key/value pairs to be added as metadata on the image. All keys and values are stored as Unicode.
Returns:

A dictionary of the metadata that was created on the image. All keys and values are Unicode text.

Return type:

dict

replace_image_metadata(image, **metadata)

Replace metadata for an image

Parameters:
  • server – Either the ID of a image or a Image or ImageDetail instance.
  • metadata (kwargs) – Key/value pairs to be added as metadata on the image. Any other existing metadata is removed. All keys and values are stored as Unicode.
Returns:

A dictionary of the metadata for the image. All keys and values are Unicode text.

Return type:

dict

update_image_metadata(image, **metadata)

Update metadata for an image

Parameters:
  • server – 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 dictionary of the metadata for the image. All keys and values are Unicode text.

Return type:

dict

delete_image_metadata(image, key)

Delete metadata for an image

Parameters:
  • server – Either the ID of an image or a Image or ImageDetail instance.
  • key – The key 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, key=None)

Return a dictionary of metadata for a server

Parameters:
  • server – Either the ID of a server or a Server or ServerDetail instance.
  • key – An optional key to retrieve from the server’s metadata. When no key is specified, all metadata is retrieved.
Returns:

A dictionary of the server’s metadata. All keys and values are Unicode text.

Return type:

dict

create_server_metadata(server, **metadata)

Create 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 added as metadata on the server. All keys and values are stored as Unicode.
Returns:

A dictionary of the metadata that was created on the server. All keys and values are Unicode text.

Return type:

dict

replace_server_metadata(server, **metadata)

Replace 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 added as metadata on the server. Any other existing metadata is removed. All keys and values are stored as Unicode.
Returns:

A dictionary of the metadata for the server. All keys and values are Unicode text.

Return type:

dict

update_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 dictionary of the metadata for the server. All keys and values are Unicode text.

Return type:

dict

delete_server_metadata(server, key)

Delete metadata for a server

Parameters:
  • server – Either the ID of a server or a Server or ServerDetail instance.
  • key – The key 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.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.