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