troveclient.apiclient.client module¶
OpenStack Client interface. Handles the REST calls and responses.
- class troveclient.apiclient.client.BaseClient(http_client, extensions=None)¶
- Bases: - object- Top-level object to access the OpenStack API. - This client uses - HTTPClientto send requests.- HTTPClientwill handle a bunch of issues such as authentication.- cached_endpoint = None¶
 - client_request(method, url, **kwargs)¶
 - delete(url, **kwargs)¶
 - endpoint_type = None¶
 - get(url, **kwargs)¶
 - static get_class(api_name, version, version_map)¶
- Returns the client class for the requested API version - Parameters:
- api_name – the name of the API, e.g. ‘compute’, ‘image’, etc 
- version – the requested API version 
- version_map – a dict of client classes keyed by version 
 
- Return type:
- a client class for the requested API version 
 
 - head(url, **kwargs)¶
 - patch(url, **kwargs)¶
 - post(url, **kwargs)¶
 - put(url, **kwargs)¶
 - service_type = None¶
 
- class troveclient.apiclient.client.HTTPClient(auth_plugin, region_name=None, endpoint_type='publicURL', original_ip=None, verify=True, cert=None, timeout=None, timings=False, keyring_saver=None, debug=False, user_agent=None, http=None)¶
- Bases: - object- This client handles sending HTTP requests to OpenStack servers. - Features: - share authentication information between several clients to different services (e.g., for compute and image clients); 
- reissue authentication request for expired tokens; 
- encode/decode JSON bodies; 
- raise exceptions on HTTP errors; 
- pluggable authentication; 
- store authentication information in a keyring; 
- store time spent for requests; 
- register clients for particular services, so one can use http_client.identity or http_client.compute; 
- log requests and responses in a format that is easy to copy-and-paste into terminal and send the same request with curl. 
 - add_client(base_client_instance)¶
- Add a new instance of - BaseClientdescendant.- self will store a reference to base_client_instance. - Example: - >>> def test_clients(): ... from keystoneclient.auth import keystone ... from openstack.common.apiclient import client ... auth = keystone.KeystoneAuthPlugin( ... username="user", password="pass", tenant_name="tenant", ... auth_url="http://auth:5000/v2.0") ... openstack_client = client.HTTPClient(auth) ... # create nova client ... from novaclient.v1_1 import client ... client.Client(openstack_client) ... # create keystone client ... from keystoneclient.v2_0 import client ... client.Client(openstack_client) ... # use them ... openstack_client.identity.tenants.list() ... openstack_client.compute.servers.list() 
 - authenticate()¶
 - client_request(client, method, url, **kwargs)¶
- Send an http request using client’s endpoint and specified url. - If request was rejected as unauthorized (possibly because the token is expired), issue one authorization attempt and send the request once again. - Parameters:
- client – instance of BaseClient descendant 
- method – method of HTTP request 
- url – URL of HTTP request 
- kwargs – any other parameter that can be passed to HTTPClient.request 
 
 
 - static concat_url(endpoint, url)¶
- Concatenate endpoint and final URL. - E.g., “http://keystone/v2.0/” and “/tokens” are concatenated to “http://keystone/v2.0/tokens”. - Parameters:
- endpoint – the base URL 
- url – the final URL 
 
 
 - get_timings()¶
 - request(method, url, **kwargs)¶
- Send an http request with the specified characteristics. - Wrapper around requests.Session.request to handle tasks such as setting headers, JSON encoding/decoding, and error handling. - Parameters:
- method – method of HTTP request 
- url – URL of HTTP request 
- kwargs – any other parameter that can be passed to requests.Session.request (such as headers) or json that will be encoded as JSON and used as data argument 
 
 
 - reset_timings()¶
 - serialize(kwargs)¶
 - user_agent = 'troveclient.apiclient'¶
 
