# Interface PrivilegedAccessManagerGrpc.AsyncService (0.47.0)

0.47.0 (latest) 0.45.0 0.42.0 0.41.0 0.39.0 0.37.0 0.36.0 0.34.0 0.32.0 0.30.0 0.29.0 0.28.0 0.27.0 0.26.0 0.24.0 0.22.0 0.21.0 0.18.0 0.17.0 0.16.0 0.14.0 0.13.0 0.12.0 0.11.0 0.10.0 0.9.0 0.8.0 0.7.0 0.6.0 0.5.0 0.3.0 0.2.0 0.1.0

    public static interface PrivilegedAccessManagerGrpc.AsyncService

This API allows customers to manage temporary, request based privileged
access to their resources.
It defines the following resource model:

- A collection of `Entitlement` resources. An entitlement allows configuring (among other things):
  - Some kind of privileged access that users can request.
  - A set of users called *requesters* who can request this access.
  - A maximum duration for which the access can be requested.
  - An optional approval workflow which must be satisfied before access is granted.
- A collection of `Grant` resources. A grant is a request by a requester to get the privileged access specified in an entitlement for some duration. After the approval workflow as specified in the entitlement is satisfied, the specified access is given to the requester. The access is automatically taken back after the requested duration is over.

## Methods

### approveGrant(ApproveGrantRequest request, StreamObserver\<Grant\> responseObserver)

    public default void approveGrant(ApproveGrantRequest request, StreamObserver<Grant> responseObserver)

`ApproveGrant` is used to approve a grant. This method can only be called
on a grant when it's in the `APPROVAL_AWAITED` state. This operation can't
be undone.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.ApproveGrantRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.Grant>` |

### checkOnboardingStatus(CheckOnboardingStatusRequest request, StreamObserver\<CheckOnboardingStatusResponse\> responseObserver)

    public default void checkOnboardingStatus(CheckOnboardingStatusRequest request, StreamObserver<CheckOnboardingStatusResponse> responseObserver)

`CheckOnboardingStatus` reports the onboarding status for a
project/folder/organization. Any findings reported by this API need to be
fixed before PAM can be used on the resource.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.CheckOnboardingStatusRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.CheckOnboardingStatusResponse>` |

### createEntitlement(CreateEntitlementRequest request, StreamObserver\<Operation\> responseObserver)

    public default void createEntitlement(CreateEntitlementRequest request, StreamObserver<Operation> responseObserver)

Creates a new entitlement in a given project/folder/organization and
location.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.CreateEntitlementRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |

### createGrant(CreateGrantRequest request, StreamObserver\<Grant\> responseObserver)

    public default void createGrant(CreateGrantRequest request, StreamObserver<Grant> responseObserver)

Creates a new grant in a given project/folder/organization and
location.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.CreateGrantRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.Grant>` |

### deleteEntitlement(DeleteEntitlementRequest request, StreamObserver\<Operation\> responseObserver)

    public default void deleteEntitlement(DeleteEntitlementRequest request, StreamObserver<Operation> responseObserver)

Deletes a single entitlement. This method can only be called when there
are no in-progress (`ACTIVE`/`ACTIVATING`/`REVOKING`) grants under the
entitlement.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.DeleteEntitlementRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |

### denyGrant(DenyGrantRequest request, StreamObserver\<Grant\> responseObserver)

    public default void denyGrant(DenyGrantRequest request, StreamObserver<Grant> responseObserver)

`DenyGrant` is used to deny a grant. This method can only be called on a
grant when it's in the `APPROVAL_AWAITED` state. This operation can't be
undone.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.DenyGrantRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.Grant>` |

### getEntitlement(GetEntitlementRequest request, StreamObserver\<Entitlement\> responseObserver)

    public default void getEntitlement(GetEntitlementRequest request, StreamObserver<Entitlement> responseObserver)

Gets details of a single entitlement.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.GetEntitlementRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.Entitlement>` |

### getGrant(GetGrantRequest request, StreamObserver\<Grant\> responseObserver)

    public default void getGrant(GetGrantRequest request, StreamObserver<Grant> responseObserver)

Get details of a single grant.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.GetGrantRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.Grant>` |

### listEntitlements(ListEntitlementsRequest request, StreamObserver\<ListEntitlementsResponse\> responseObserver)

    public default void listEntitlements(ListEntitlementsRequest request, StreamObserver<ListEntitlementsResponse> responseObserver)

Lists entitlements in a given project/folder/organization and location.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.ListEntitlementsRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.ListEntitlementsResponse>` |

### listGrants(ListGrantsRequest request, StreamObserver\<ListGrantsResponse\> responseObserver)

    public default void listGrants(ListGrantsRequest request, StreamObserver<ListGrantsResponse> responseObserver)

Lists grants for a given entitlement.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.ListGrantsRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.ListGrantsResponse>` |

### revokeGrant(RevokeGrantRequest request, StreamObserver\<Operation\> responseObserver)

    public default void revokeGrant(RevokeGrantRequest request, StreamObserver<Operation> responseObserver)

`RevokeGrant` is used to immediately revoke access for a grant. This method
can be called when the grant is in a non-terminal state.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.RevokeGrantRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |

### searchEntitlements(SearchEntitlementsRequest request, StreamObserver\<SearchEntitlementsResponse\> responseObserver)

    public default void searchEntitlements(SearchEntitlementsRequest request, StreamObserver<SearchEntitlementsResponse> responseObserver)

`SearchEntitlements` returns entitlements on which the caller has the
specified access.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.SearchEntitlementsRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.SearchEntitlementsResponse>` |

### searchGrants(SearchGrantsRequest request, StreamObserver\<SearchGrantsResponse\> responseObserver)

    public default void searchGrants(SearchGrantsRequest request, StreamObserver<SearchGrantsResponse> responseObserver)

`SearchGrants` returns grants that are related to the calling user in the
specified way.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.SearchGrantsRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.SearchGrantsResponse>` |

### updateEntitlement(UpdateEntitlementRequest request, StreamObserver\<Operation\> responseObserver)

    public default void updateEntitlement(UpdateEntitlementRequest request, StreamObserver<Operation> responseObserver)

Updates the entitlement specified in the request. Updated fields in the
entitlement need to be specified in an update mask. The changes made to an
entitlement are applicable only on future grants of the entitlement.
However, if new approvers are added or existing approvers are removed from
the approval workflow, the changes are effective on existing grants.
The following fields are not supported for updates:

- All immutable fields
- Entitlement name
- Resource name
- Resource type
- Adding an approval workflow in an entitlement which previously had no approval workflow.
- Deleting the approval workflow from an entitlement.
- Adding or deleting a step in the approval workflow (only one step is supported) Note that updates are allowed on the list of approvers in an approval workflow step.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/com.google.cloud.privilegedaccessmanager.v1.UpdateEntitlementRequest` |
| `responseObserver` | `io.grpc.stub.StreamObserver<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |