Class ProjectsGrpc.ProjectsStub

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

public static final class ProjectsGrpc.ProjectsStub extends io.grpc.stub.AbstractAsyncStub<ProjectsGrpc.ProjectsStub>
A stub to allow clients to do asynchronous rpc calls to service Projects.
 Manages Google Cloud Projects.
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

    io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>>
  • Method Summary

    Modifier and Type
    Method
    Description
    build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
     
    void
    createProject(CreateProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
    Request that a new project be created.
    void
    deleteProject(DeleteProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
    Marks the project identified by the specified `name` (for example, `projects/415104041262`) for deletion.
    void
    getIamPolicy(GetIamPolicyRequest request, io.grpc.stub.StreamObserver<Policy> responseObserver)
    Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123.
    void
    getProject(GetProjectRequest request, io.grpc.stub.StreamObserver<Project> responseObserver)
    Retrieves the project identified by the specified `name` (for example, `projects/415104041262`).
    void
    listProjects(ListProjectsRequest request, io.grpc.stub.StreamObserver<ListProjectsResponse> responseObserver)
    Lists projects that are direct children of the specified folder or organization resource.
    void
    moveProject(MoveProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
    Move a project to another place in your resource hierarchy, under a new resource parent.
    void
    searchProjects(SearchProjectsRequest request, io.grpc.stub.StreamObserver<SearchProjectsResponse> responseObserver)
    Search for projects that the caller has both `resourcemanager.projects.get` permission on, and also satisfy the specified query.
    void
    setIamPolicy(SetIamPolicyRequest request, io.grpc.stub.StreamObserver<Policy> responseObserver)
    Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123.
    void
    testIamPermissions(TestIamPermissionsRequest request, io.grpc.stub.StreamObserver<TestIamPermissionsResponse> responseObserver)
    Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123..
    void
    undeleteProject(UndeleteProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
    Restores the project identified by the specified `name` (for example, `projects/415104041262`).
    void
    updateProject(UpdateProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
    Updates the `display_name` and labels of the project identified by the specified `name` (for example, `projects/415104041262`).

    Methods inherited from class io.grpc.stub.AbstractAsyncStub

    newStub, newStub

    Methods inherited from class io.grpc.stub.AbstractStub

    getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • build

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

      public void getProject(GetProjectRequest request, io.grpc.stub.StreamObserver<Project> responseObserver)
       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 void listProjects(ListProjectsRequest request, io.grpc.stub.StreamObserver<ListProjectsResponse> responseObserver)
       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 void searchProjects(SearchProjectsRequest request, io.grpc.stub.StreamObserver<SearchProjectsResponse> responseObserver)
       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 void createProject(CreateProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
       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 void updateProject(UpdateProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
       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 void moveProject(MoveProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
       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 void deleteProject(DeleteProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
       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 void undeleteProject(UndeleteProjectRequest request, io.grpc.stub.StreamObserver<Operation> responseObserver)
       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 void getIamPolicy(GetIamPolicyRequest request, io.grpc.stub.StreamObserver<Policy> responseObserver)
       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 void setIamPolicy(SetIamPolicyRequest request, io.grpc.stub.StreamObserver<Policy> responseObserver)
       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 void testIamPermissions(TestIamPermissionsRequest request, io.grpc.stub.StreamObserver<TestIamPermissionsResponse> responseObserver)
       Returns permissions that a caller has on the specified project, in the
       format `projects/{ProjectIdOrNumber}` e.g. projects/123..