Class ProjectsClient (1.4.1)
 
 
 
 
 
 
 Stay organized with collections
 
 
 
 Save and categorize content based on your preferences.
 
  
 
 ProjectsClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Optional[Union[str, google.cloud.resourcemanager_v3.services.projects.transports.base.ProjectsTransport]] = None, client_options: Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)Manages Google Cloud Projects.
Properties
transport
Returns the transport used by the client instance.
ProjectsTransport
 The transport used by the client instance.
 Methods
ProjectsClient
ProjectsClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Optional[Union[str, google.cloud.resourcemanager_v3.services.projects.transports.base.ProjectsTransport]] = None, client_options: Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)Instantiates the projects client.
credentials
 
 Optional[google.auth.credentials.Credentials]
 The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment.
transport
 
 Union[str, ProjectsTransport]
 The transport to use. If set to None, a transport is chosen automatically.
client_options
 
 google.api_core.client_options.ClientOptions
 Custom options for the client. It won't take effect if a transport instance is provided. (1) The api_endpoint property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT environment variable can also be used to override the endpoint: "always" (always use the default mTLS endpoint), "never" (always use the default regular endpoint) and "auto" (auto switch to the default mTLS endpoint if client certificate is present, this is the default value). However, the api_endpoint property takes precedence if provided. (2) If GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "true", then the client_cert_source property can be used to provide client certificate for mutual TLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not set, no client certificate will be used.
client_info
 
 google.api_core.gapic_v1.client_info.ClientInfo
 The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you're developing your own client library.
google.auth.exceptions.MutualTLSChannelError
 If mutual TLS transport creation failed for any reason.
 __exit__
__exit__(type, value, traceback)Releases underlying transport's resources.
common_billing_account_path
common_billing_account_path(billing_account: str)Returns a fully-qualified billing_account string.
common_folder_path
common_folder_path(folder: str)Returns a fully-qualified folder string.
common_location_path
common_location_path(project: str, location: str)Returns a fully-qualified location string.
common_organization_path
common_organization_path(organization: str)Returns a fully-qualified organization string.
common_project_path
common_project_path(project: str)Returns a fully-qualified project string.
create_project
create_project(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.CreateProjectRequest, dict]] = None, *, project: Optional[google.cloud.resourcemanager_v3.types.projects.Project] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Request that a new project be created. The result is an
Operation which can be used to track the creation process.
This process usually takes a few seconds, but can sometimes take
much longer. The tracking Operation is automatically deleted
after a few hours, so there is no need to call
DeleteOperation.
from google.cloud import resourcemanager_v3
def sample_create_project():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.CreateProjectRequest(
 )
 # Make the request
 operation = client.create_project(request=request)
 print("Waiting for operation to complete...")
 response = operation.result()
 # Handle the response
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.CreateProjectRequest, dict]
 The request object. The request sent to the CreateProject method.
project
 
 google.cloud.resourcemanager_v3.types.Project 
 Required. The Project to create. Project ID is required. If the requested ID is unavailable, the request fails. If the parent field is set, the resourcemanager.projects.create permission is checked on the parent resource. If no parent is set and the authorization credentials belong to an Organziation, the parent will be set to that Organization. This corresponds to the project field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.api_core.operation.Operation
 An object representing a long-running operation. The result type for the operation will be Project A project is a high-level Google Cloud entity. It is a container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform resources.
 delete_project
delete_project(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.DeleteProjectRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Marks the project identified by the specified name (for
example, projects/415104041262) for deletion.
This method will only affect the project if it has a lifecycle state of xref_ACTIVE.
This method changes the Project's lifecycle state from xref_ACTIVE to xref_DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the Project is no longer accessible.
Until the deletion completes, you can check the lifecycle state checked by retrieving the project with [GetProject] [google.cloud.resourcemanager.v3.Projects.GetProject], and the project remains visible to [ListProjects] [google.cloud.resourcemanager.v3.Projects.ListProjects]. However, you cannot update the project.
After the deletion completes, the project is not retrievable by the [GetProject] [google.cloud.resourcemanager.v3.Projects.GetProject], [ListProjects] [google.cloud.resourcemanager.v3.Projects.ListProjects], and xref_SearchProjects methods.
This method behaves idempotently, such that deleting a
DELETE_REQUESTED project will not cause an error, but also
won't do anything.
The caller must have resourcemanager.projects.delete
permissions for this project.
from google.cloud import resourcemanager_v3
def sample_delete_project():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.DeleteProjectRequest(
 name="name_value",
 )
 # Make the request
 operation = client.delete_project(request=request)
 print("Waiting for operation to complete...")
 response = operation.result()
 # Handle the response
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.DeleteProjectRequest, dict]
 The request object. DeleteProject method.
name
 
 str
 Required. The name of the Project (for example, projects/415104041262). This corresponds to the name field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.api_core.operation.Operation
 An object representing a long-running operation. The result type for the operation will be Project A project is a high-level Google Cloud entity. It is a container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform resources.
 from_service_account_file
from_service_account_file(filename: str, *args, **kwargs)Creates an instance of this client using the provided credentials file.
filename
 
 str
 The path to the service account private key json file.
ProjectsClient
 The constructed client.
 from_service_account_info
from_service_account_info(info: dict, *args, **kwargs)Creates an instance of this client using the provided credentials info.
info
 
 dict
 The service account private key info.
ProjectsClient
 The constructed client.
 from_service_account_json
from_service_account_json(filename: str, *args, **kwargs)Creates an instance of this client using the provided credentials file.
filename
 
 str
 The path to the service account private key json file.
ProjectsClient
 The constructed client.
 get_iam_policy
get_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Returns the IAM access control policy for the specified project. Permission is denied if the policy or the resource do not exist.
from google.cloud import resourcemanager_v3
def sample_get_iam_policy():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.GetIamPolicyRequest(
 resource="resource_value",
 )
 # Make the request
 response = client.get_iam_policy(request=request)
 # Handle the response
 print(response)
request
 
 Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]
 The request object. Request message for GetIamPolicy method.
resource
 
 str
 REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. This corresponds to the resource field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.iam.v1.policy_pb2.Policy
 Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions (defined by IAM or configured by users). A binding can optionally specify a condition, which is a logic expression that further constrains the role binding based on attributes about the request and/or target resource. **JSON Example** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020年10月01日t00:00:00.000z')",="" }="" }="" ]="" }="" **yaml="" example**="" bindings:="" -="" members:="" -="" user:\="" mike@example.com="" -="" group:\="" admins@example.com="" -="" domain:google.com="" -="" serviceaccount:\="" my-project-id@appspot.gserviceaccount.com="" role:="" roles/resourcemanager.organizationadmin="" -="" members:="" -="" user:\="" eve@example.com="" role:="" roles/resourcemanager.organizationviewer="" condition:="" title:="" expirable="" access="" description:="" does="" not="" grant="" access="" after="" sep="" 2020="" expression:="" request.time="">< timestamp('2020年10月01日t00:00:00.000z')="" for="" a="" description="" of="" iam="" and="" its="" features,="" see="" the="" [iam="" developer's="" guide](\="">
 get_mtls_endpoint_and_cert_source
get_mtls_endpoint_and_cert_source(
 client_options: Optional[google.api_core.client_options.ClientOptions] = None,
)Return the API endpoint and client cert source for mutual TLS.
The client cert source is determined in the following order:
(1) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not "true", the
client cert source is None.
(2) if client_options.client_cert_source is provided, use the provided one; if the
default client cert source exists, use the default one; otherwise the client cert
source is None.
The API endpoint is determined in the following order:
(1) if client_options.api_endpoint if provided, use the provided one.
(2) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "always", use the
default mTLS endpoint; if the environment variabel is "never", use the default API
endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise
use the default API endpoint.
More details can be found at https://google.aip.dev/auth/4114.
client_options
 
 google.api_core.client_options.ClientOptions
 Custom options for the client. Only the api_endpoint and client_cert_source properties may be used in this method.
google.auth.exceptions.MutualTLSChannelError
 If any errors happen.
 Tuple[str, Callable[[], Tuple[bytes, bytes]]]
 returns the API endpoint and the client cert source to use.
 get_project
get_project(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.GetProjectRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Retrieves the project identified by the specified name (for
example, projects/415104041262).
The caller must have resourcemanager.projects.get permission
for this project.
from google.cloud import resourcemanager_v3
def sample_get_project():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.GetProjectRequest(
 name="name_value",
 )
 # Make the request
 response = client.get_project(request=request)
 # Handle the response
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.GetProjectRequest, dict]
 The request object. The request sent to the GetProject method.
name
 
 str
 Required. The name of the project (for example, projects/415104041262). This corresponds to the name field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.cloud.resourcemanager_v3.types.Project 
 A project is a high-level Google Cloud entity. It is a container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform resources.
 list_projects
list_projects(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.ListProjectsRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Lists projects that are direct children of the specified folder
or organization resource. list() provides a strongly
consistent view of the projects underneath the specified parent
resource. list() returns projects sorted based upon the
(ascending) lexical ordering of their display_name. The
caller must have resourcemanager.projects.list permission on
the identified parent.
from google.cloud import resourcemanager_v3
def sample_list_projects():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.ListProjectsRequest(
 parent="parent_value",
 )
 # Make the request
 page_result = client.list_projects(request=request)
 # Handle the response
 for response in page_result:
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.ListProjectsRequest, dict]
 The request object. The request sent to the ListProjects method.
parent
 
 str
 Required. The name of the parent resource to list projects under. For example, setting this field to 'folders/1234' would list all projects directly under that folder. This corresponds to the parent field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.cloud.resourcemanager_v3.services.projects.pagers.ListProjectsPager 
 A page of the response received from the ListProjects method. A paginated response where more pages are available has next_page_token set. This token can be used in a subsequent request to retrieve the next request page. NOTE: A response may contain fewer elements than the request page_size and still have a next_page_token. Iterating over this object will yield results and resolve additional pages automatically.
 move_project
move_project(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.MoveProjectRequest, dict]] = None, *, name: Optional[str] = None, destination_parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Move a project to another place in your resource hierarchy, under a new resource parent.
Returns an operation which can be used to track the process of
the project move workflow. Upon success, the
Operation.response field will be populated with the moved
project.
The caller must have resourcemanager.projects.update
permission on the project and have
resourcemanager.projects.move permission on the project's
current and proposed new parent.
from google.cloud import resourcemanager_v3
def sample_move_project():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.MoveProjectRequest(
 name="name_value",
 destination_parent="destination_parent_value",
 )
 # Make the request
 operation = client.move_project(request=request)
 print("Waiting for operation to complete...")
 response = operation.result()
 # Handle the response
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.MoveProjectRequest, dict]
 The request object. The request sent to MoveProject method.
name
 
 str
 Required. The name of the project to move. This corresponds to the name field on the request instance; if request is provided, this should not be set.
destination_parent
 
 str
 Required. The new parent to move the Project under. This corresponds to the destination_parent field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.api_core.operation.Operation
 An object representing a long-running operation. The result type for the operation will be Project A project is a high-level Google Cloud entity. It is a container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform resources.
 parse_common_billing_account_path
parse_common_billing_account_path(path: str)Parse a billing_account path into its component segments.
parse_common_folder_path
parse_common_folder_path(path: str)Parse a folder path into its component segments.
parse_common_location_path
parse_common_location_path(path: str)Parse a location path into its component segments.
parse_common_organization_path
parse_common_organization_path(path: str)Parse a organization path into its component segments.
parse_common_project_path
parse_common_project_path(path: str)Parse a project path into its component segments.
parse_project_path
parse_project_path(path: str)Parses a project path into its component segments.
project_path
project_path(project: str)Returns a fully-qualified project string.
search_projects
search_projects(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.SearchProjectsRequest, dict]] = None, *, query: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Search for projects that the caller has both
resourcemanager.projects.get permission on, and also satisfy
the specified query.
This method returns projects in an unspecified order.
This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the xref_GetProject method.
from google.cloud import resourcemanager_v3
def sample_search_projects():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.SearchProjectsRequest(
 )
 # Make the request
 page_result = client.search_projects(request=request)
 # Handle the response
 for response in page_result:
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.SearchProjectsRequest, dict]
 The request object. The request sent to the SearchProjects method.
query
 
 str
 Optional. A query string for searching for projects that the caller has resourcemanager.projects.get permission to. If multiple fields are included in the query, the it will return results that match any of the fields. Some eligible fields are: :: Field Description |-------------------------|---------------------------------------------- displayName, name Filters by displayName. parent Project's parent. (for example: folders/123, organizations/) Prefer parent field over parent.type and parent.id. parent.type Parent's type: folder or organization. parent.id Parent's id number (for example: 123) id, projectId Filters by projectId. state, lifecycleState Filters by state. labels Filters by label name or value. labels. is the name of a label) Filters by label name. Search expressions are case insensitive. Some examples queries: :: Query Description |------------------|----------------------------------------------------- name:how* The project's name starts with "how". name:Howl The project's name is Howl or howl. name:HOWL Equivalent to above. NAME:howl Equivalent to above. labels.color:* The project has the label color. labels.color:red The project's label color has the value red. labels.color:red labels.size:big The project's label color has the value red and its label size has the value big. If no query is specified, the call will return projects for which the user has the resourcemanager.projects.get permission. This corresponds to the query field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.cloud.resourcemanager_v3.services.projects.pagers.SearchProjectsPager 
 A page of the response received from the SearchProjects method. A paginated response where more pages are available has next_page_token set. This token can be used in a subsequent request to retrieve the next request page. Iterating over this object will yield results and resolve additional pages automatically.
 set_iam_policy
set_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Sets the IAM access control policy for the specified project.
CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings.
Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.
The following constraints apply when using setIamPolicy():
- Project does not support - allUsersand- allAuthenticatedUsersas- membersin a- Bindingof a- Policy.
- The owner role can be granted to a - user,- serviceAccount, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization.
- Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. 
- A user cannot be granted the owner role using - setIamPolicy(). The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation.
- Invitations to grant the owner role cannot be sent using - setIamPolicy(); they must be sent only using the Cloud Platform Console.
- Membership changes that leave the project without any owners that have accepted the Terms of Service (ToS) will be rejected. 
- If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling - setIamPolicy()to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified.
- Calling this method requires enabling the App Engine Admin API. 
from google.cloud import resourcemanager_v3
def sample_set_iam_policy():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.SetIamPolicyRequest(
 resource="resource_value",
 )
 # Make the request
 response = client.set_iam_policy(request=request)
 # Handle the response
 print(response)
request
 
 Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]
 The request object. Request message for SetIamPolicy method.
resource
 
 str
 REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. This corresponds to the resource field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.iam.v1.policy_pb2.Policy
 Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions (defined by IAM or configured by users). A binding can optionally specify a condition, which is a logic expression that further constrains the role binding based on attributes about the request and/or target resource. **JSON Example** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020年10月01日t00:00:00.000z')",="" }="" }="" ]="" }="" **yaml="" example**="" bindings:="" -="" members:="" -="" user:\="" mike@example.com="" -="" group:\="" admins@example.com="" -="" domain:google.com="" -="" serviceaccount:\="" my-project-id@appspot.gserviceaccount.com="" role:="" roles/resourcemanager.organizationadmin="" -="" members:="" -="" user:\="" eve@example.com="" role:="" roles/resourcemanager.organizationviewer="" condition:="" title:="" expirable="" access="" description:="" does="" not="" grant="" access="" after="" sep="" 2020="" expression:="" request.time="">< timestamp('2020年10月01日t00:00:00.000z')="" for="" a="" description="" of="" iam="" and="" its="" features,="" see="" the="" [iam="" developer's="" guide](\="">
 test_iam_permissions
test_iam_permissions(request: Optional[Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]] = None, *, resource: Optional[str] = None, permissions: Optional[Sequence[str]] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Returns permissions that a caller has on the specified project.
from google.cloud import resourcemanager_v3
def sample_test_iam_permissions():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.TestIamPermissionsRequest(
 resource="resource_value",
 permissions=['permissions_value_1', 'permissions_value_2'],
 )
 # Make the request
 response = client.test_iam_permissions(request=request)
 # Handle the response
 print(response)
request
 
 Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]
 The request object. Request message for TestIamPermissions method.
resource
 
 str
 REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. This corresponds to the resource field on the request instance; if request is provided, this should not be set.
permissions
 
 Sequence[str]
 The set of permissions to check for the resource. Permissions with wildcards (such as '' or 'storage.') are not allowed. For more information see IAM Overview https://cloud.google.com/iam/docs/overview#permissions __. This corresponds to the permissions field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.iam.v1.iam_policy_pb2.TestIamPermissionsResponse 
 Response message for TestIamPermissions method.
 undelete_project
undelete_project(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.UndeleteProjectRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Restores the project identified by the specified name (for
example, projects/415104041262). You can only use this
method for a project that has a lifecycle state of
[DELETE_REQUESTED] [Projects.State.DELETE_REQUESTED]. After
deletion starts, the project cannot be restored.
The caller must have resourcemanager.projects.undelete
permission for this project.
from google.cloud import resourcemanager_v3
def sample_undelete_project():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.UndeleteProjectRequest(
 name="name_value",
 )
 # Make the request
 operation = client.undelete_project(request=request)
 print("Waiting for operation to complete...")
 response = operation.result()
 # Handle the response
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.UndeleteProjectRequest, dict]
 The request object. The request sent to the [UndeleteProject] [google.cloud.resourcemanager.v3.Projects.UndeleteProject] method.
name
 
 str
 Required. The name of the project (for example, projects/415104041262). Required. This corresponds to the name field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.api_core.operation.Operation
 An object representing a long-running operation. The result type for the operation will be Project A project is a high-level Google Cloud entity. It is a container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform resources.
 update_project
update_project(request: Optional[Union[google.cloud.resourcemanager_v3.types.projects.UpdateProjectRequest, dict]] = None, *, project: Optional[google.cloud.resourcemanager_v3.types.projects.Project] = None, update_mask: Optional[google.protobuf.field_mask_pb2.FieldMask] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())Updates the display_name and labels of the project
identified by the specified name (for example,
projects/415104041262). Deleting all labels requires an
update mask for labels field.
The caller must have resourcemanager.projects.update
permission for this project.
from google.cloud import resourcemanager_v3
def sample_update_project():
 # Create a client
 client = resourcemanager_v3.ProjectsClient()
 # Initialize request argument(s)
 request = resourcemanager_v3.UpdateProjectRequest(
 )
 # Make the request
 operation = client.update_project(request=request)
 print("Waiting for operation to complete...")
 response = operation.result()
 # Handle the response
 print(response)
request
 
 Union[google.cloud.resourcemanager_v3.types.UpdateProjectRequest, dict]
 The request object. The request sent to the UpdateProject method. Only the display_name and labels fields can be change. Use the MoveProject method to change the parent field.
project
 
 google.cloud.resourcemanager_v3.types.Project 
 Required. The new definition of the project. This corresponds to the project field on the request instance; if request is provided, this should not be set.
update_mask
 
 google.protobuf.field_mask_pb2.FieldMask
 Optional. An update mask to selectively update fields. This corresponds to the update_mask field on the request instance; if request is provided, this should not be set.
retry
 
 google.api_core.retry.Retry
 Designation of what errors, if any, should be retried.
timeout
 
 float
 The timeout for this request.
metadata
 
 Sequence[Tuple[str, str]]
 Strings which should be sent along with the request as metadata.
google.api_core.operation.Operation
 An object representing a long-running operation. The result type for the operation will be Project A project is a high-level Google Cloud entity. It is a container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform resources.