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: openstackclient.api.api.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.auth module

openstackclient.api.auth_plugin module

Authentication Plugin Library

class openstackclient.api.auth_plugin.TokenEndpoint

Bases: keystoneauth1.loading.base.BaseLoader

Auth plugin to handle traditional token/endpoint usage

Keystoneauth contains a Token plugin class that now correctly handles the token/endpoint auth compatible with OSC. However, the AdminToken loader deprecates the ‘url’ argument, which breaks OSC compatibility, so make one that works.

get_options()

Return the legacy options

load_from_options(url, token, **kwargs)

A plugin for static authentication with an existing token

Parameters:
  • url (string) – Service endpoint
  • token (string) – Existing token
plugin_class

openstackclient.api.compute_v2 module

Compute v2 API Library

class openstackclient.api.compute_v2.APIv2(**kwargs)

Bases: osc_lib.api.api.BaseAPI

Compute v2 API

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 (required, really)
  • attr (string) – name of attribute for secondary search
floating_ip_create(pool=None)

Create a new floating ip

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

Parameters:pool – Name of floating IP pool
floating_ip_delete(floating_ip_id=None)

Delete a floating IP

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

Parameters:security_group (string) – Floating IP ID
floating_ip_find(floating_ip=None)

Return a security group given name or ID

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

Parameters:floating_ip (string) – Floating IP address
Returns:A dict of the floating IP attributes
floating_ip_list()

Get floating IPs

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

Returns:list of floating IPs
floating_ip_pool_list()

Get floating IP pools

https://developer.openstack.org/api-ref/compute/?expanded=#list-floating-ip-pools

Returns:list of floating IP pools
network_create(name=None, subnet=None, share_subnet=None)

Create a new network

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

Parameters:
  • name (string) – Network label (required)
  • subnet (integer) – Subnet for IPv4 fixed addresses in CIDR notation (required)
  • share_subnet (integer) – Shared subnet between projects, True or False
Returns:

A dict of the network attributes

network_delete(network=None)

Delete a network

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

Parameters:network (string) – Network name or ID
network_find(network=None)

Return a network given name or ID

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

Parameters:network (string) – Network name or ID
Returns:A dict of the network attributes
network_list()

Get networks

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

Returns:list of networks
security_group_create(name=None, description=None)

Create a new security group

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

Parameters:
  • name (string) – Security group name
  • description (integer) – Security group description
security_group_delete(security_group=None)

Delete a security group

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

Parameters:security_group (string) – Security group name or ID
security_group_find(security_group=None)

Return a security group given name or ID

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

Parameters:security_group (string) – Security group name or ID
Returns:A dict of the security group attributes
security_group_list(limit=None, marker=None, search_opts=None)

Get security groups

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

Parameters:
  • limit (integer) – query return count limit
  • marker (string) – query marker
  • search_opts – (undocumented) Search filter dict all_tenants: True|False - return all projects
Returns:

list of security groups names

security_group_rule_create(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://developer.openstack.org/api-ref/compute/#create-security-group-rule

Parameters:
  • security_group_id (string) – Security group ID
  • ip_protocol – IP protocol, ‘tcp’, ‘udp’ or ‘icmp’
  • from_port – Source port
  • to_port – Destination port
  • remote_ip – Source IP address in CIDR notation
  • remote_group – Remote security group
security_group_rule_delete(security_group_rule_id=None)

Delete a security group rule

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

Parameters:security_group_rule_id (string) – Security group rule ID
security_group_set(security_group=None, **params)

Update a security group

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

Parameters:security_group (string) – Security group name or ID

TODO(dtroyer): Create an update method in osc-lib

exception openstackclient.api.compute_v2.InvalidValue

Bases: exceptions.Exception

An argument value is not valid: wrong type, out of range, etc

message = 'Supplied value is not valid'

openstackclient.api.image_v1 module

Image v1 API Library

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

Bases: openstackclient.api.api.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: openstackclient.api.image_v1.APIv1

Image v2 API

image_list(detailed=False, public=False, private=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
  • shared – Return shared images if True

If public, private 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 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: openstackclient.api.api.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)

Create a container

Parameters:container (string) – name of container to create
Returns:dict of returned headers
container_delete(container=None)

Delete a container

Parameters:container (string) – name of container to delete
container_list(all_data=False, limit=None, marker=None, end_marker=None, prefix=None, **params)

Get containers in an account

Parameters:
  • all_data (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, all_data=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
  • all_data (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

openstackclient.api.utils module

API Utilities Library

openstackclient.api.utils.simple_filter(data=None, attr=None, value=None, property_field=None)

Filter a list of dicts

Parameters:
  • data (list) – The list to be filtered. The list is modified in-place and will be changed if any filtering occurs.
  • attr (string) – The name of the attribute to filter. If attr does not exist no match will succeed and no rows will be returned. If attr is None no filtering will be performed and all rows will be returned.
  • value (string) – The value to filter. None is considered to be a ‘no filter’ value. ‘’ matches against a Python empty string.
  • property_field (string) – The name of the data field containing a property dict to filter. If property_field is None, attr is a field name. If property_field is not None, attr is a property key name inside the named property field.
Returns:

Returns the filtered list

Rtype list:

This simple filter (one attribute, one exact-match value) searches a list of dicts to select items. It first searches the item dict for a matching attr then does an exact-match on the value. If property_field is given, it will look inside that field (if it exists and is a dict) for a matching value.

Module contents