Client
A Client for interacting with the Resource Manager API.
class google.cloud.resource_manager.client.Client(credentials=None, _http=None, client_info=None)
Bases: google.cloud.client.Client
Client to bundle configuration needed for API requests.
See https://cloud.google.com/resource-manager/reference/rest/ for more information on this API.
Automatically get credentials:
>>> from google.cloud import resource_manager
>>> client = resource_manager.Client()
Parameters
credentials (
Credentials
) – (Optional) The OAuth2 Credentials to use for this client. If not passed (and if no_http
object is passed), falls back to the default inferred from the environment._http (
Session
) – (Optional) HTTP object to make requests. Can be any object that definesrequest()
with the same interface asrequests.Session.request()
. If not passed, an_http
object is created that is bound to thecredentials
for the current object. This parameter should be considered private, and could change in the future.client_info (
ClientInfo
) – The client info used to send a user-agent string along with API requests. IfNone
, then default info will be used. Generally, you only need to set this if you’re developing your own library or partner tool.
SCOPE(: Optional[Tuple[str, ...] = ('https://www.googleapis.com/auth/cloud-platform', )
The scopes required for authenticating as a Resouce Manager consumer.
fetch_project(project_id)
Fetch an existing project and it’s relevant metadata by ID.
NOTE: If the project does not exist, this will raise a
NotFound
error.
Parameters
project_id (str) – The ID for this project.
Return type
Returns
A
Project
with metadata fetched from the API.
list_projects(filter_params=None, page_size=None)
List the projects visible to this client.
Example:
>>> from google.cloud import resource_manager
>>> client = resource_manager.Client()
>>> for project in client.list_projects():
... print(project.project_id)
List all projects with label 'environment'
set to 'prod'
(filtering by labels):
>>> from google.cloud import resource_manager
>>> client = resource_manager.Client()
>>> env_filter = {'labels.environment': 'prod'}
>>> for project in client.list_projects(env_filter):
... print(project.project_id)
See https://cloud.google.com/resource-manager/reference/rest/v1beta1/projects/list
Complete filtering example:
>>> project_filter = { # Return projects with...
... 'name': 'My Project', # name set to 'My Project'.
... 'id': 'my-project-id', # id set to 'my-project-id'.
... 'labels.stage': 'prod', # the label 'stage' set to 'prod'
... 'labels.color': '*' # a label 'color' set to anything.
... }
>>> client.list_projects(project_filter)
Parameters
filter_params (dict) – (Optional) A dictionary of filter options where each key is a property to filter on, and each value is the (case-insensitive) value to check (or the glob
\*
to check for existence of the property). See the example above for more details.page_size (int) – (Optional) The maximum number of projects in each page of results from this request. Non-positive values are ignored. Defaults to a sensible value set by the API.
Return type
Iterator
Returns
Iterator of all
Project
. that the current user has access to.
new_project(project_id, name=None, labels=None)
Create a project bound to the current client.
Use Project.reload()
to retrieve
project metadata after creating a
Project
instance.