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
-
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 thevalue
. Ifproperty_field
is given, it will look inside that field (if it exists and is a dict) for a matchingvalue
.