openstackclient.api package

Submodules

openstackclient.api.api module

Base API Library

class openstackclient.api.api.BaseAPI(session=None, service_type=None, endpoint=None, **kwargs)

Bases: KeystoneSession

Base API

create(url, session=None, method=None, **params)

Create a new resource

Parameters:
  • url (string) – The API-specific portion of the URL path

  • session (Session) – HTTP client session

  • method (string) – HTTP method (default POST)

delete(url, session=None, **params)

Delete a resource

Parameters:
  • url (string) – The API-specific portion of the URL path

  • session (Session) – HTTP client session

find(path, value=None, attr=None)

Find a single resource by name or ID

Parameters:
  • path (string) – The API-specific portion of the URL path

  • value (string) – search expression

  • attr (string) – name of attribute for secondary search

find_attr(path, value=None, attr=None, resource=None)

Find a resource via attribute or ID

Most APIs return a list wrapped by a dict with the resource name as key. Some APIs (Identity) return a dict when a query string is present and there is one return value. Take steps to unwrap these bodies and return a single dict without any resource wrappers.

Parameters:
  • path (string) – The API-specific portion of the URL path

  • value (string) – value to search for

  • attr (string) – attribute to use for resource search

  • resource (string) – plural of the object resource name; defaults to path

For example:

n = find(netclient, ‘network’, ‘networks’, ‘matrix’)

find_bulk(path, **kwargs)

Bulk load and filter locally

Parameters:
  • path (string) – The API-specific portion of the URL path

  • kwargs – A dict of AVPs to match - logical AND

Returns:

list of resource dicts

find_one(path, **kwargs)

Find a resource by name or ID

Parameters:

path (string) – The API-specific portion of the URL path

Returns:

resource dict

list(path, session=None, body=None, detailed=False, **params)

Return a list of resources

GET ${ENDPOINT}/${PATH}?${PARAMS}

path is often the object’s plural resource type

Parameters:
  • path (string) – The API-specific portion of the URL path

  • session (Session) – HTTP client session

  • body – data that will be encoded as JSON and passed in POST request (GET will be sent by default)

  • detailed (bool) – Adds ‘/details’ to path for some APIs to return extended attributes

Returns:

JSON-decoded response, could be a list or a dict-wrapped-list

class openstackclient.api.api.KeystoneSession(session=None, endpoint=None, **kwargs)

Bases: object

Wrapper for the Keystone Session

Restore some requests.session.Session compatibility; keystoneauth1.session.Session.request() has the method and url arguments swapped from the rest of the requests-using world.

openstackclient.api.compute_v2 module

Compute v2 API Library

A collection of wrappers for deprecated Compute v2 APIs that are not intentionally supported by SDK. Most of these are proxy APIs.

openstackclient.api.compute_v2.create_floating_ip(compute_client, network)

Create a new floating ip

https://docs.openstack.org/api-ref/compute/#create-allocate-floating-ip-address

Parameters:

network – Name of floating IP pool

Returns:

A floating IP object

openstackclient.api.compute_v2.create_network(compute_client, name, subnet, share_subnet=None)

Create a new network

https://docs.openstack.org/api-ref/compute/#create-network

Parameters:
  • compute_client – A compute client

  • name (str) – Network label

  • subnet (int) – Subnet for IPv4 fixed addresses in CIDR notation

  • share_subnet (bool) – Shared subnet between projects

Returns:

A network object

openstackclient.api.compute_v2.create_security_group(compute_client, name=None, description=None)

Create a new security group

https://docs.openstack.org/api-ref/compute/#create-security-group

Parameters:
  • compute_client – A compute client

  • name (str) – Security group name

  • description (str) – Security group description

Returns:

A security group object

openstackclient.api.compute_v2.create_security_group_rule(compute_client, security_group_id=None, ip_protocol=None, from_port=None, to_port=None, remote_ip=None, remote_group=None)

Create a new security group rule

https://docs.openstack.org/api-ref/compute/#create-security-group-rule

Parameters:
  • compute_client – A compute client

  • security_group_id (str) – Security group ID

  • ip_protocol (str) – IP protocol, ‘tcp’, ‘udp’ or ‘icmp’

  • from_port (int) – Source port

  • to_port (int) – Destination port

  • remote_ip (str) – Source IP address in CIDR notation

  • remote_group (str) – Remote security group

Returns:

A security group object

openstackclient.api.compute_v2.delete_floating_ip(compute_client, floating_ip_id)

Delete a floating IP

https://docs.openstack.org/api-ref/compute/#delete-deallocate-floating-ip-address

Parameters:

floating_ip_id (string) – The floating IP address

Returns:

None

openstackclient.api.compute_v2.delete_network(compute_client, network_id)

Delete a network

https://docs.openstack.org/api-ref/compute/#delete-network

Parameters:
  • compute_client – A compute client

  • network_id (string) – The network ID

Returns:

None

openstackclient.api.compute_v2.delete_security_group(compute_client, security_group_id=None)

Delete a security group

https://docs.openstack.org/api-ref/compute/#delete-security-group

Parameters:
  • compute_client – A compute client

  • security_group_id (str) – Security group ID

Returns:

None

openstackclient.api.compute_v2.delete_security_group_rule(compute_client, security_group_rule_id=None)

Delete a security group rule

https://docs.openstack.org/api-ref/compute/#delete-security-group-rule

Parameters:
  • compute_client – A compute client

  • security_group_rule_id (str) – Security group rule ID

Returns:

None

openstackclient.api.compute_v2.find_network(compute_client, name_or_id)

Find the ID for a given network name or ID

https://docs.openstack.org/api-ref/compute/#show-network-details

Parameters:
  • compute_client – A compute client

  • name_or_id – The name or ID of the network to look up

Returns:

A network object

Raises:

exception.NotFound – If a matching network could not be found or more than one match was found

openstackclient.api.compute_v2.find_security_group(compute_client, name_or_id)

Find the name for a given security group name or ID

https://docs.openstack.org/api-ref/compute/#show-security-group-details

Parameters:
  • compute_client – A compute client

  • name_or_id – The name or ID of the security group to look up

Returns:

A security group object

Raises:

exception.NotFound – If a matching security group could not be found or more than one match was found

openstackclient.api.compute_v2.get_floating_ip(compute_client, floating_ip_id)

Get a floating IP

https://docs.openstack.org/api-ref/compute/#show-floating-ip-address-details

Parameters:

floating_ip_id (string) – The floating IP address

Returns:

A floating IP object

openstackclient.api.compute_v2.list_floating_ip_pools(compute_client)

Get all floating IP pools

https://docs.openstack.org/api-ref/compute/#list-floating-ip-pools

Parameters:

compute_client – A compute client

Returns:

A list of floating IP pool objects

openstackclient.api.compute_v2.list_floating_ips(compute_client)

Get all floating IPs

https://docs.openstack.org/api-ref/compute/#list-floating-ip-addresses

Returns:

A list of floating IP objects

openstackclient.api.compute_v2.list_networks(compute_client)

Get all networks

https://docs.openstack.org/api-ref/compute/#list-networks

Parameters:

compute_client – A compute client

Returns:

A list of network objects

openstackclient.api.compute_v2.list_security_groups(compute_client, all_projects=None)

Get all security groups

https://docs.openstack.org/api-ref/compute/#list-security-groups

Parameters:
  • compute_client – A compute client

  • all_projects (bool) – If true, list from all projects

Returns:

A list of security group objects

openstackclient.api.compute_v2.update_security_group(compute_client, security_group_id, name=None, description=None)

Update an existing security group

https://docs.openstack.org/api-ref/compute/#update-security-group

Parameters:
  • compute_client – A compute client

  • security_group_id (str) – The ID of the security group to update

  • name (str) – Security group name

  • description (str) – Security group description

Returns:

A security group object

openstackclient.api.image_v1 module

Image v1 API Library

class openstackclient.api.image_v1.APIv1(endpoint=None, **kwargs)

Bases: BaseAPI

Image v1 API

image_list(detailed=False, public=False, private=False, **filter)

Get available images

Parameters:
  • detailed – Retrieve detailed response from server if True

  • public – Return public images if True

  • private – Return private images if True

If public and private are both True or both False then all images are returned. Both arguments False is equivalent to no filter and all images are returned. Both arguments True is a filter that includes both public and private images which is the same set as all images.

http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-a-list-of-public-vm-images.html http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-detailed-metadata-on-public-vm-images.html http://docs.openstack.org/api/openstack-image-service/1.1/content/filtering-images-returned-via-get-images-and-get-imagesdetail.html

openstackclient.api.image_v2 module

Image v2 API Library

class openstackclient.api.image_v2.APIv2(endpoint=None, **kwargs)

Bases: APIv1

Image v2 API

image_list(detailed=False, public=False, private=False, community=False, shared=False, **filter)

Get available images

can add limit/marker

Parameters:
  • detailed – For v1 compatibility only, ignored as v2 is always ‘detailed’

  • public – Return public images if True

  • private – Return private images if True

  • community – Return commuity images if True

  • shared – Return shared images if True

If public, private, community and shared are all True or all False then all images are returned. All arguments False is equivalent to no filter and all images are returned. All arguments True is a filter that includes all public, private, community and shared images which is the same set as all images.

http://docs.openstack.org/api/openstack-image-service/2.0/content/list-images.html

openstackclient.api.object_store_v1 module

Object Store v1 API Library

class openstackclient.api.object_store_v1.APIv1(**kwargs)

Bases: BaseAPI

Object Store v1 API

account_set(properties)

Set account properties

Parameters:

properties (dict) – properties to add or update for the account

account_show()

Show account details

account_unset(properties)

Unset account properties

Parameters:

properties (dict) – properties to remove from the account

container_create(container=None, public=False, storage_policy=None)

Create a container

Parameters:
  • container (string) – name of container to create

  • public (bool) – Boolean value indicating if the container should be publicly readable. Defaults to False.

  • storage_policy (string) – Name of the a specific storage policy to use. If not specified swift will use its default storage policy.

Returns:

dict of returned headers

container_delete(container=None)

Delete a container

Parameters:

container (string) – name of container to delete

container_list(full_listing=False, limit=None, marker=None, end_marker=None, prefix=None, **params)

Get containers in an account

Parameters:
  • full_listing (boolean) – if True, return a full listing, else returns a max of 10000 listings

  • limit (integer) – query return count limit

  • marker (string) – query marker

  • end_marker (string) – query end_marker

  • prefix (string) – query prefix

Returns:

list of container names

container_save(container=None)

Save all the content from a container

Parameters:

container (string) – name of container to save

container_set(container, properties)

Set container properties

Parameters:
  • container (string) – name of container to modify

  • properties (dict) – properties to add or update for the container

container_show(container=None)

Get container details

Parameters:

container (string) – name of container to show

Returns:

dict of returned headers

container_unset(container, properties)

Unset container properties

Parameters:
  • container (string) – name of container to modify

  • properties (dict) – properties to remove from the container

object_create(container=None, object=None, name=None)

Create an object inside a container

Parameters:
  • container (string) – name of container to store object

  • object (string) – local path to object

  • name (string) – name of object to create

Returns:

dict of returned headers

object_delete(container=None, object=None)

Delete an object from a container

Parameters:
  • container (string) – name of container that stores object

  • object (string) – name of object to delete

object_list(container=None, full_listing=False, limit=None, marker=None, end_marker=None, delimiter=None, prefix=None, **params)

List objects in a container

Parameters:
  • container (string) – container name to get a listing for

  • full_listing (boolean) – if True, return a full listing, else returns a max of 10000 listings

  • limit (integer) – query return count limit

  • marker (string) – query marker

  • end_marker (string) – query end_marker

  • prefix (string) – query prefix

  • delimiter (string) – string to delimit the queries on

Returns:

a tuple of (response headers, a list of objects) The response headers will be a dict and all header names will be lowercase.

object_save(container=None, object=None, file=None)

Save an object stored in a container

Parameters:
  • container (string) – name of container that stores object

  • object (string) – name of object to save

  • file (string) – local name of object

object_set(container, object, properties)

Set object properties

Parameters:
  • container (string) – container name for object to modify

  • object (string) – name of object to modify

  • properties (dict) – properties to add or update for the container

object_show(container=None, object=None)

Get object details

Parameters:
  • container (string) – container name for object to get

  • object (string) – name of object to get

Returns:

dict of object properties

object_unset(container, object, properties)

Unset object properties

Parameters:
  • container (string) – container name for object to modify

  • object (string) – name of object to modify

  • properties (dict) – properties to remove from the object

Module contents