Class ProjectsGrpc.ProjectsBlockingStub

java.lang.Object
io.grpc.stub.AbstractStub<S>
io.grpc.stub.AbstractBlockingStub<ProjectsGrpc.ProjectsBlockingStub>
com.google.cloud.resourcemanager.v3.ProjectsGrpc.ProjectsBlockingStub
Enclosing class:
ProjectsGrpc

public static final class ProjectsGrpc.ProjectsBlockingStub extends io.grpc.stub.AbstractBlockingStub<ProjectsGrpc.ProjectsBlockingStub>
A stub to allow clients to do limited synchronous rpc calls to service Projects.
 Manages Google Cloud Projects.
 
  • Method Details

    • build

      protected ProjectsGrpc.ProjectsBlockingStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
      Specified by:
      build in class io.grpc.stub.AbstractStub<ProjectsGrpc.ProjectsBlockingStub>
    • getProject

      public Project getProject(GetProjectRequest request)
       Retrieves the project identified by the specified `name` (for example,
       `projects/415104041262`).
       The caller must have `resourcemanager.projects.get` permission
       for this project.
       
    • listProjects

      public ListProjectsResponse listProjects(ListProjectsRequest request)
       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.
       
    • searchProjects

      public SearchProjectsResponse searchProjects(SearchProjectsRequest request)
       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
       [GetProject][google.cloud.resourcemanager.v3.Projects.GetProject] method.
       
    • createProject

      public Operation createProject(CreateProjectRequest request)
       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`.
       
    • updateProject

      public Operation updateProject(UpdateProjectRequest request)
       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.
       
    • moveProject

      public Operation moveProject(MoveProjectRequest request)
       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.move` permission on the
       project, on the project's current and proposed new parent.
       If project has no current parent, or it currently does not have an
       associated organization resource, you will also need the
       `resourcemanager.projects.setIamPolicy` permission in the project.
       
    • deleteProject

      public Operation deleteProject(DeleteProjectRequest request)
       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
       [ACTIVE][google.cloud.resourcemanager.v3.Project.State.ACTIVE].
       This method changes the Project's lifecycle state from
       [ACTIVE][google.cloud.resourcemanager.v3.Project.State.ACTIVE]
       to
       [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Project.State.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
       [SearchProjects][google.cloud.resourcemanager.v3.Projects.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.
       
    • undeleteProject

      public Operation undeleteProject(UndeleteProjectRequest request)
       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.
       
    • getIamPolicy

      public Policy getIamPolicy(GetIamPolicyRequest request)
       Returns the IAM access control policy for the specified project, in the
       format `projects/{ProjectIdOrNumber}` e.g. projects/123.
       Permission is denied if the policy or the resource do not exist.
       
    • setIamPolicy

      public Policy setIamPolicy(SetIamPolicyRequest request)
       Sets the IAM access control policy for the specified project, in the
       format `projects/{ProjectIdOrNumber}` e.g. projects/123.
       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 `allUsers` and `allAuthenticatedUsers` as
       `members` in a `Binding` of 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.
       + 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. If the project is part of an organization, you can remove all
       owners, potentially making the organization inaccessible.
       
    • testIamPermissions

      public TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request)
       Returns permissions that a caller has on the specified project, in the
       format `projects/{ProjectIdOrNumber}` e.g. projects/123..