Python
GCloud Package#
gcloud#
GCloud API access in idiomatic Python.
Connections#
Shared implementation of connections to API servers.
- class gcloud.connection.Connection(credentials=None)[source]#
Bases: object
A generic connection to Google Cloud Platform.
Subclasses should understand only the basic types in method arguments, however they should be capable of returning advanced types.
Constructor for Connection.
Parameters: credentials (oauth2client.client.OAuth2Credentials or NoneType) – The OAuth2 Credentials to use for this connection. - API_BASE_URL = 'https://www.googleapis.com'#
The base of the API call URL.
- USER_AGENT = 'gcloud-python/0.4.0'#
The user agent for gcloud-python requests.
Credentials#
A simple wrapper around the OAuth2 credentials library.
- gcloud.credentials.generate_signed_url(credentials, resource, expiration, api_access_endpoint='', method='GET', content_md5=None, content_type=None)[source]#
Generate signed URL to provide query-string auth’n to a resource.
Parameters: - credentials (oauth2client.appengine.AppAssertionCredentials) – Credentials object with an associated private key to sign text.
- resource (string) – A pointer to a specific resource (typically, /bucket-name/path/to/blob.txt).
- expiration (int, long, datetime.datetime, datetime.timedelta) – When the signed URL should expire.
- api_access_endpoint (string) – Optional URI base. Defaults to empty string.
- method (string) – The HTTP verb that will be used when requesting the URL.
- content_md5 (string) – The MD5 hash of the object referenced by resource.
- content_type (string) – The content type of the object referenced by resource.
Return type: string
Returns: A signed URL you can use to access the resource until expiration.
- gcloud.credentials.get_credentials()[source]#
Gets credentials implicitly from the current environment.
Note
You should not need to use this function directly. Instead, use the helper method gcloud.datastore.__init__.get_connection() which uses this method under the hood.
Checks environment in order of precedence:
- Google App Engine (production and testing)
- Environment variable GOOGLE_APPLICATION_CREDENTIALS pointing to a file with stored credentials information.
- Stored “well known” file associated with gcloud command line tool.
- Google Compute Engine production environment.
The file referred to in GOOGLE_APPLICATION_CREDENTIALS is expected to contain information about credentials that are ready to use. This means either service account information or user account information with a ready-to-use refresh token:
{ { 'type': 'authorized_user', 'type': 'service_account', 'client_id': '...', 'client_id': '...', 'client_secret': '...', OR 'client_email': '...', 'refresh_token': '..., 'private_key_id': '...', } 'private_key': '...', }
The second of these is simply a JSON key downloaded from the Google APIs console. The first is a close cousin of the “client secrets” JSON file used by oauth2client.clientsecrets but differs in formatting.
Return type: oauth2client.client.GoogleCredentials, oauth2client.appengine.AppAssertionCredentials, oauth2client.gce.AppAssertionCredentials, oauth2client.service_account._ServiceAccountCredentials Returns: A new credentials instance corresponding to the implicit environment.
- gcloud.credentials.get_for_service_account_p12(client_email, private_key_path, scope=None)[source]#
Gets the credentials for a service account.
Note
This method is not used by default, instead get_credentials() is used. This method is intended to be used when the environments is known explicitly and detecting the environment implicitly would be superfluous.
Parameters: - client_email (string) – The e-mail attached to the service account.
- private_key_path (string) – The path to a private key file (this file was given to you when you created the service account). This file must be in P12 format.
- scope (string or tuple of string) – The scope against which to authenticate. (Different services require different scopes, check the documentation for which scope is required for the different levels of access to any particular API.)
Return type: oauth2client.client.SignedJwtAssertionCredentials
Returns: A new SignedJwtAssertionCredentials instance with the needed service account settings.
Exceptions#
Custom exceptions for gcloud.storage package.
See: https://cloud.google.com/storage/docs/json_api/v1/status-codes
- exception gcloud.exceptions.BadRequest(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘400 Bad Request’ response.
- code = 400#
- exception gcloud.exceptions.ClientError(message, errors=())[source]#
Bases: gcloud.exceptions.GCloudError
Base for 4xx responses
This class is abstract
- exception gcloud.exceptions.Conflict(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘409 Conflict’ response.
- code = 409#
- exception gcloud.exceptions.Forbidden(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘403 Forbidden’ response.
- code = 403#
- exception gcloud.exceptions.GCloudError(message, errors=())[source]#
Bases: exceptions.Exception
Base error class for gcloud errors (abstract).
Each subclass represents a single type of HTTP error response.
- code = None#
HTTP status code. Concrete subclasses must define.
- exception gcloud.exceptions.InternalServerError(message, errors=())[source]#
Bases: gcloud.exceptions.ServerError
Exception mapping a ‘500 Internal Server Error’ response.
- code = 500#
- exception gcloud.exceptions.LengthRequired(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘411 Length Required’ response.
- code = 411#
- exception gcloud.exceptions.MethodNotAllowed(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘405 Method Not Allowed’ response.
- code = 405#
- exception gcloud.exceptions.MovedPermanently(message, errors=())[source]#
Bases: gcloud.exceptions.Redirection
Exception mapping a ‘301 Moved Permanently’ response.
- code = 301#
- exception gcloud.exceptions.NotFound(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘404 Not Found’ response.
- code = 404#
- exception gcloud.exceptions.NotImplemented(message, errors=())[source]#
Bases: gcloud.exceptions.ServerError
Exception mapping a ‘501 Not Implemented’ response.
- code = 501#
- exception gcloud.exceptions.NotModified(message, errors=())[source]#
Bases: gcloud.exceptions.Redirection
Exception mapping a ‘304 Not Modified’ response.
- code = 304#
- exception gcloud.exceptions.PreconditionFailed(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘412 Precondition Failed’ response.
- code = 412#
- exception gcloud.exceptions.Redirection(message, errors=())[source]#
Bases: gcloud.exceptions.GCloudError
Base for 3xx responses
This class is abstract.
- exception gcloud.exceptions.RequestRangeNotSatisfiable(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘416 Request Range Not Satisfiable’ response.
- code = 416#
- exception gcloud.exceptions.ResumeIncomplete(message, errors=())[source]#
Bases: gcloud.exceptions.Redirection
Exception mapping a ‘308 Resume Incomplete’ response.
- code = 308#
- exception gcloud.exceptions.ServerError(message, errors=())[source]#
Bases: gcloud.exceptions.GCloudError
Base for 5xx responses: (abstract)
Bases: gcloud.exceptions.ServerError
Exception mapping a ‘503 Service Unavailable’ response.
- exception gcloud.exceptions.TemporaryRedirect(message, errors=())[source]#
Bases: gcloud.exceptions.Redirection
Exception mapping a ‘307 Temporary Redirect’ response.
- code = 307#
- exception gcloud.exceptions.TooManyRequests(message, errors=())[source]#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘429 Too Many Requests’ response.
- code = 429#
Bases: gcloud.exceptions.ClientError
Exception mapping a ‘401 Unauthorized’ response.
- gcloud.exceptions.eklass#
alias of ServiceUnavailable
- gcloud.exceptions.make_exception(response, content)[source]#
Factory: create exception based on HTTP response code.
Return type: instance of GCloudError, or a concrete subclass.