Base GCP client which uses the discovery API.
BaseRepositoryClient
(api_name, versions=None, credentials=None, quota_max_calls=None, quota_period=None, use_rate_limiter=False, read_only=False, use_versioned_discovery_doc=False, **kwargs)[source]¶Bases: object
Base class for API repository for a specified Cloud API.
GCPRepository
(gcp_service, credentials, component, num_retries=5, key_field='project', entity_field=None, list_key_field=None, get_key_field=None, max_results_field='maxResults', search_query_field='query', resource_path_template=None, rate_limiter=None, use_cached_http=True, read_only=False)[source]¶Bases: object
Base class for GCP APIs.
_build_next_request
(verb, prior_request, prior_response)[source]¶Builds pagination-aware request object.
Parameters: |
|
---|---|
Returns: |
|
Return type: | httplib2.HttpRequest |
_build_request
(verb, verb_arguments)[source]¶Builds HttpRequest object.
Parameters: |
|
---|---|
Returns: | HttpRequest to be sent to the API. |
Return type: | httplib2.HttpRequest |
_build_resource_link
(**kwargs)[source]¶Build a full URI for a specific resource.
Parameters: | **kwargs – The args to expand in the URI template. |
---|---|
Returns: | The Resource URI |
Return type: | str |
Raises: | ValueError – Raised if the resource_path_template parameter was
undefined when the repository was created. |
_execute
(request)[source]¶Run execute with retries and rate limiting.
Parameters: | request (object) – The HttpRequest object to execute. |
---|---|
Returns: | The response from the API. |
Return type: | dict |
_request_supports_pagination
(verb)[source]¶Determines if the API action supports pagination.
Parameters: | verb (str) – Request verb (ex. insert, update, delete). |
---|---|
Returns: | True when API supports pagination, False otherwise. |
Return type: | bool |
execute_command
(verb, verb_arguments)[source]¶Executes command (ex. add) via a dedicated http object.
Async APIs may take minutes to complete. Therefore, callers are encouraged to leverage concurrent.futures (or similar) to place long running commands on a separate threads.
Parameters: |
|
---|---|
Returns: | An async operation Service Response. |
Return type: | dict |
execute_paged_query
(verb, verb_arguments)[source]¶Executes query (ex. list) via a dedicated http object.
Parameters: |
|
---|---|
Yields: | dict – Service Response. |
Raises: |
|
execute_query
(verb, verb_arguments)[source]¶Executes query (ex. get) via a dedicated http object.
Parameters: |
|
---|---|
Returns: | Service Response. |
Return type: | dict |
execute_search_query
(verb, verb_arguments)[source]¶Executes query (ex. search) via a dedicated http object.
Parameters: |
|
---|---|
Yields: | dict – Service Response. |
http
¶A thread local instance of httplib2.Http.
Returns: |
|
---|---|
Return type: | google_auth_httplib2.AuthorizedHttp |
_build_service_from_document
(credentials, document_path)[source]¶Builds an API client from a local discovery document
Parameters: |
|
---|---|
Returns: | A Resource object with methods for interacting with the service. |
Return type: | object |
_create_service_api
(credentials, service_name, version, is_private_api, developer_key=None, cache_discovery=False, use_versioned_discovery_doc=False)[source]¶Builds and returns a cloud API service object.
Parameters: |
|
---|---|
Returns: | A Resource object with methods for interacting with the service. |
Return type: | object |