Class AccessApprovalAdminClient (2.3.1)

public class AccessApprovalAdminClient implements BackgroundResource

Service Description: This API allows a customer to manage accesses to cloud resources by Google personnel. It defines the following resource model:

- The API has a collection of ApprovalRequest resources, named approvalRequests/{approval_request} - The API has top-level settings per Project/Folder/Organization, named accessApprovalSettings

The service also periodically emails a list of recipients, defined at the Project/Folder/Organization level in the accessApprovalSettings, when there is a pending ApprovalRequest for them to act on. The ApprovalRequests can also optionally be published to a Pub/Sub topic owned by the customer (contact support if you would like to enable Pub/Sub notifications).

ApprovalRequests can be approved or dismissed. Google personnel can only access the indicated resource or resources if the request is approved (subject to some exclusions: https://cloud.google.com/access-approval/docs/overview#exclusions).

Note: Using Access Approval functionality will mean that Google may not be able to meet the SLAs for your chosen products, as any support response times may be dramatically increased. As such the SLAs do not apply to any service disruption to the extent impacted by Customer's use of Access Approval. Do not enable Access Approval for projects where you may require high service availability and rapid response by Google Cloud Support.

After a request is approved or dismissed, no further action may be taken on it. Requests with the requested_expiration in the past or with no activity for 14 days are considered dismissed. When an approval expires, the request is considered dismissed.

If a request is not approved or dismissed, we call it pending.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ApprovalRequestName name =
       ApprovalRequestName.ofProjectApprovalRequestName("[PROJECT]", "[APPROVAL_REQUEST]");
   ApprovalRequest response = accessApprovalAdminClient.getApprovalRequest(name);
 }
 

Note: close() needs to be called on the AccessApprovalAdminClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of AccessApprovalAdminSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 AccessApprovalAdminSettings accessApprovalAdminSettings =
     AccessApprovalAdminSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 AccessApprovalAdminClient accessApprovalAdminClient =
     AccessApprovalAdminClient.create(accessApprovalAdminSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 AccessApprovalAdminSettings accessApprovalAdminSettings =
     AccessApprovalAdminSettings.newBuilder().setEndpoint(myEndpoint).build();
 AccessApprovalAdminClient accessApprovalAdminClient =
     AccessApprovalAdminClient.create(accessApprovalAdminSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > AccessApprovalAdminClient

Implements

BackgroundResource

Static Methods

create()

public static final AccessApprovalAdminClient create()

Constructs an instance of AccessApprovalAdminClient with default settings.

Returns
TypeDescription
AccessApprovalAdminClient
Exceptions
TypeDescription
IOException

create(AccessApprovalAdminSettings settings)

public static final AccessApprovalAdminClient create(AccessApprovalAdminSettings settings)

Constructs an instance of AccessApprovalAdminClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsAccessApprovalAdminSettings
Returns
TypeDescription
AccessApprovalAdminClient
Exceptions
TypeDescription
IOException

create(AccessApprovalStub stub)

public static final AccessApprovalAdminClient create(AccessApprovalStub stub)

Constructs an instance of AccessApprovalAdminClient, using the given stub for making calls. This is for advanced usage - prefer using create(AccessApprovalAdminSettings).

Parameter
NameDescription
stubAccessApprovalStub
Returns
TypeDescription
AccessApprovalAdminClient

Constructors

AccessApprovalAdminClient(AccessApprovalAdminSettings settings)

protected AccessApprovalAdminClient(AccessApprovalAdminSettings settings)

Constructs an instance of AccessApprovalAdminClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsAccessApprovalAdminSettings

AccessApprovalAdminClient(AccessApprovalStub stub)

protected AccessApprovalAdminClient(AccessApprovalStub stub)
Parameter
NameDescription
stubAccessApprovalStub

Methods

approveApprovalRequest(ApproveApprovalRequestMessage request)

public final ApprovalRequest approveApprovalRequest(ApproveApprovalRequestMessage request)

Approves a request and returns the updated ApprovalRequest.

Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ApproveApprovalRequestMessage request =
       ApproveApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .setExpireTime(Timestamp.newBuilder().build())
           .build();
   ApprovalRequest response = accessApprovalAdminClient.approveApprovalRequest(request);
 }
 
Parameter
NameDescription
requestApproveApprovalRequestMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
ApprovalRequest

approveApprovalRequestCallable()

public final UnaryCallable<ApproveApprovalRequestMessage,ApprovalRequest> approveApprovalRequestCallable()

Approves a request and returns the updated ApprovalRequest.

Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ApproveApprovalRequestMessage request =
       ApproveApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .setExpireTime(Timestamp.newBuilder().build())
           .build();
   ApiFuture<ApprovalRequest> future =
       accessApprovalAdminClient.approveApprovalRequestCallable().futureCall(request);
   // Do something.
   ApprovalRequest response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<ApproveApprovalRequestMessage,ApprovalRequest>

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

deleteAccessApprovalSettings(AccessApprovalSettingsName name)

public final void deleteAccessApprovalSettings(AccessApprovalSettingsName name)

Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   AccessApprovalSettingsName name = AccessApprovalSettingsName.ofProjectName("[PROJECT]");
   accessApprovalAdminClient.deleteAccessApprovalSettings(name);
 }
 
Parameter
NameDescription
nameAccessApprovalSettingsName

Name of the AccessApprovalSettings to delete.

deleteAccessApprovalSettings(DeleteAccessApprovalSettingsMessage request)

public final void deleteAccessApprovalSettings(DeleteAccessApprovalSettingsMessage request)

Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   DeleteAccessApprovalSettingsMessage request =
       DeleteAccessApprovalSettingsMessage.newBuilder()
           .setName(AccessApprovalSettingsName.ofProjectName("[PROJECT]").toString())
           .build();
   accessApprovalAdminClient.deleteAccessApprovalSettings(request);
 }
 
Parameter
NameDescription
requestDeleteAccessApprovalSettingsMessage

The request object containing all of the parameters for the API call.

deleteAccessApprovalSettings(String name)

public final void deleteAccessApprovalSettings(String name)

Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   String name = AccessApprovalSettingsName.ofProjectName("[PROJECT]").toString();
   accessApprovalAdminClient.deleteAccessApprovalSettings(name);
 }
 
Parameter
NameDescription
nameString

Name of the AccessApprovalSettings to delete.

deleteAccessApprovalSettingsCallable()

public final UnaryCallable<DeleteAccessApprovalSettingsMessage,Empty> deleteAccessApprovalSettingsCallable()

Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   DeleteAccessApprovalSettingsMessage request =
       DeleteAccessApprovalSettingsMessage.newBuilder()
           .setName(AccessApprovalSettingsName.ofProjectName("[PROJECT]").toString())
           .build();
   ApiFuture<Empty> future =
       accessApprovalAdminClient.deleteAccessApprovalSettingsCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteAccessApprovalSettingsMessage,Empty>

dismissApprovalRequest(DismissApprovalRequestMessage request)

public final ApprovalRequest dismissApprovalRequest(DismissApprovalRequestMessage request)

Dismisses a request. Returns the updated ApprovalRequest.

NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether.

Returns NOT_FOUND if the request does not exist.

Returns FAILED_PRECONDITION if the request exists but is not in a pending state.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   DismissApprovalRequestMessage request =
       DismissApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .build();
   ApprovalRequest response = accessApprovalAdminClient.dismissApprovalRequest(request);
 }
 
Parameter
NameDescription
requestDismissApprovalRequestMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
ApprovalRequest

dismissApprovalRequestCallable()

public final UnaryCallable<DismissApprovalRequestMessage,ApprovalRequest> dismissApprovalRequestCallable()

Dismisses a request. Returns the updated ApprovalRequest.

NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether.

Returns NOT_FOUND if the request does not exist.

Returns FAILED_PRECONDITION if the request exists but is not in a pending state.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   DismissApprovalRequestMessage request =
       DismissApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .build();
   ApiFuture<ApprovalRequest> future =
       accessApprovalAdminClient.dismissApprovalRequestCallable().futureCall(request);
   // Do something.
   ApprovalRequest response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DismissApprovalRequestMessage,ApprovalRequest>

getAccessApprovalServiceAccount(GetAccessApprovalServiceAccountMessage request)

public final AccessApprovalServiceAccount getAccessApprovalServiceAccount(GetAccessApprovalServiceAccountMessage request)

Retrieves the service account that is used by Access Approval to access KMS keys for signing approved approval requests.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   GetAccessApprovalServiceAccountMessage request =
       GetAccessApprovalServiceAccountMessage.newBuilder().setName("name3373707").build();
   AccessApprovalServiceAccount response =
       accessApprovalAdminClient.getAccessApprovalServiceAccount(request);
 }
 
Parameter
NameDescription
requestGetAccessApprovalServiceAccountMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
AccessApprovalServiceAccount

getAccessApprovalServiceAccount(String name)

public final AccessApprovalServiceAccount getAccessApprovalServiceAccount(String name)

Retrieves the service account that is used by Access Approval to access KMS keys for signing approved approval requests.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   String name = "name3373707";
   AccessApprovalServiceAccount response =
       accessApprovalAdminClient.getAccessApprovalServiceAccount(name);
 }
 
Parameter
NameDescription
nameString

Name of the AccessApprovalServiceAccount to retrieve.

Returns
TypeDescription
AccessApprovalServiceAccount

getAccessApprovalServiceAccountCallable()

public final UnaryCallable<GetAccessApprovalServiceAccountMessage,AccessApprovalServiceAccount> getAccessApprovalServiceAccountCallable()

Retrieves the service account that is used by Access Approval to access KMS keys for signing approved approval requests.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   GetAccessApprovalServiceAccountMessage request =
       GetAccessApprovalServiceAccountMessage.newBuilder().setName("name3373707").build();
   ApiFuture<AccessApprovalServiceAccount> future =
       accessApprovalAdminClient.getAccessApprovalServiceAccountCallable().futureCall(request);
   // Do something.
   AccessApprovalServiceAccount response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetAccessApprovalServiceAccountMessage,AccessApprovalServiceAccount>

getAccessApprovalSettings(AccessApprovalSettingsName name)

public final AccessApprovalSettings getAccessApprovalSettings(AccessApprovalSettingsName name)

Gets the settings associated with a project, folder, or organization.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   AccessApprovalSettingsName name = AccessApprovalSettingsName.ofProjectName("[PROJECT]");
   AccessApprovalSettings response = accessApprovalAdminClient.getAccessApprovalSettings(name);
 }
 
Parameter
NameDescription
nameAccessApprovalSettingsName

The name of the AccessApprovalSettings to retrieve. Format: "{projects|folders|organizations}/{id}/accessApprovalSettings"

Returns
TypeDescription
AccessApprovalSettings

getAccessApprovalSettings(GetAccessApprovalSettingsMessage request)

public final AccessApprovalSettings getAccessApprovalSettings(GetAccessApprovalSettingsMessage request)

Gets the settings associated with a project, folder, or organization.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   GetAccessApprovalSettingsMessage request =
       GetAccessApprovalSettingsMessage.newBuilder()
           .setName(AccessApprovalSettingsName.ofProjectName("[PROJECT]").toString())
           .build();
   AccessApprovalSettings response =
       accessApprovalAdminClient.getAccessApprovalSettings(request);
 }
 
Parameter
NameDescription
requestGetAccessApprovalSettingsMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
AccessApprovalSettings

getAccessApprovalSettings(String name)

public final AccessApprovalSettings getAccessApprovalSettings(String name)

Gets the settings associated with a project, folder, or organization.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   String name = AccessApprovalSettingsName.ofProjectName("[PROJECT]").toString();
   AccessApprovalSettings response = accessApprovalAdminClient.getAccessApprovalSettings(name);
 }
 
Parameter
NameDescription
nameString

The name of the AccessApprovalSettings to retrieve. Format: "{projects|folders|organizations}/{id}/accessApprovalSettings"

Returns
TypeDescription
AccessApprovalSettings

getAccessApprovalSettingsCallable()

public final UnaryCallable<GetAccessApprovalSettingsMessage,AccessApprovalSettings> getAccessApprovalSettingsCallable()

Gets the settings associated with a project, folder, or organization.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   GetAccessApprovalSettingsMessage request =
       GetAccessApprovalSettingsMessage.newBuilder()
           .setName(AccessApprovalSettingsName.ofProjectName("[PROJECT]").toString())
           .build();
   ApiFuture<AccessApprovalSettings> future =
       accessApprovalAdminClient.getAccessApprovalSettingsCallable().futureCall(request);
   // Do something.
   AccessApprovalSettings response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetAccessApprovalSettingsMessage,AccessApprovalSettings>

getApprovalRequest(ApprovalRequestName name)

public final ApprovalRequest getApprovalRequest(ApprovalRequestName name)

Gets an approval request. Returns NOT_FOUND if the request does not exist.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ApprovalRequestName name =
       ApprovalRequestName.ofProjectApprovalRequestName("[PROJECT]", "[APPROVAL_REQUEST]");
   ApprovalRequest response = accessApprovalAdminClient.getApprovalRequest(name);
 }
 
Parameter
NameDescription
nameApprovalRequestName

The name of the approval request to retrieve. Format: "{projects|folders|organizations}/{id}/approvalRequests/{approval_request}"

Returns
TypeDescription
ApprovalRequest

getApprovalRequest(GetApprovalRequestMessage request)

public final ApprovalRequest getApprovalRequest(GetApprovalRequestMessage request)

Gets an approval request. Returns NOT_FOUND if the request does not exist.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   GetApprovalRequestMessage request =
       GetApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .build();
   ApprovalRequest response = accessApprovalAdminClient.getApprovalRequest(request);
 }
 
Parameter
NameDescription
requestGetApprovalRequestMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
ApprovalRequest

getApprovalRequest(String name)

public final ApprovalRequest getApprovalRequest(String name)

Gets an approval request. Returns NOT_FOUND if the request does not exist.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   String name =
       ApprovalRequestName.ofProjectApprovalRequestName("[PROJECT]", "[APPROVAL_REQUEST]")
           .toString();
   ApprovalRequest response = accessApprovalAdminClient.getApprovalRequest(name);
 }
 
Parameter
NameDescription
nameString

The name of the approval request to retrieve. Format: "{projects|folders|organizations}/{id}/approvalRequests/{approval_request}"

Returns
TypeDescription
ApprovalRequest

getApprovalRequestCallable()

public final UnaryCallable<GetApprovalRequestMessage,ApprovalRequest> getApprovalRequestCallable()

Gets an approval request. Returns NOT_FOUND if the request does not exist.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   GetApprovalRequestMessage request =
       GetApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .build();
   ApiFuture<ApprovalRequest> future =
       accessApprovalAdminClient.getApprovalRequestCallable().futureCall(request);
   // Do something.
   ApprovalRequest response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetApprovalRequestMessage,ApprovalRequest>

getSettings()

public final AccessApprovalAdminSettings getSettings()
Returns
TypeDescription
AccessApprovalAdminSettings

getStub()

public AccessApprovalStub getStub()
Returns
TypeDescription
AccessApprovalStub

invalidateApprovalRequest(InvalidateApprovalRequestMessage request)

public final ApprovalRequest invalidateApprovalRequest(InvalidateApprovalRequestMessage request)

Invalidates an existing ApprovalRequest. Returns the updated ApprovalRequest.

NOTE: This does not deny access to the resource if another request has been made and approved. It only invalidates a single approval.

Returns FAILED_PRECONDITION if the request exists but is not in an approved state.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   InvalidateApprovalRequestMessage request =
       InvalidateApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .build();
   ApprovalRequest response = accessApprovalAdminClient.invalidateApprovalRequest(request);
 }
 
Parameter
NameDescription
requestInvalidateApprovalRequestMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
ApprovalRequest

invalidateApprovalRequestCallable()

public final UnaryCallable<InvalidateApprovalRequestMessage,ApprovalRequest> invalidateApprovalRequestCallable()

Invalidates an existing ApprovalRequest. Returns the updated ApprovalRequest.

NOTE: This does not deny access to the resource if another request has been made and approved. It only invalidates a single approval.

Returns FAILED_PRECONDITION if the request exists but is not in an approved state.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   InvalidateApprovalRequestMessage request =
       InvalidateApprovalRequestMessage.newBuilder()
           .setName(
               ApprovalRequestName.ofProjectApprovalRequestName(
                       "[PROJECT]", "[APPROVAL_REQUEST]")
                   .toString())
           .build();
   ApiFuture<ApprovalRequest> future =
       accessApprovalAdminClient.invalidateApprovalRequestCallable().futureCall(request);
   // Do something.
   ApprovalRequest response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<InvalidateApprovalRequestMessage,ApprovalRequest>

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listApprovalRequests(FolderName parent)

public final AccessApprovalAdminClient.ListApprovalRequestsPagedResponse listApprovalRequests(FolderName parent)

Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   FolderName parent = FolderName.of("[FOLDER]");
   for (ApprovalRequest element :
       accessApprovalAdminClient.listApprovalRequests(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentFolderName

The parent resource. This may be "projects/{project}", "folders/{folder}", or "organizations/{organization}".

Returns
TypeDescription
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse

listApprovalRequests(ListApprovalRequestsMessage request)

public final AccessApprovalAdminClient.ListApprovalRequestsPagedResponse listApprovalRequests(ListApprovalRequestsMessage request)

Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ListApprovalRequestsMessage request =
       ListApprovalRequestsMessage.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setFilter("filter-1274492040")
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (ApprovalRequest element :
       accessApprovalAdminClient.listApprovalRequests(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListApprovalRequestsMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse

listApprovalRequests(OrganizationName parent)

public final AccessApprovalAdminClient.ListApprovalRequestsPagedResponse listApprovalRequests(OrganizationName parent)

Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
   for (ApprovalRequest element :
       accessApprovalAdminClient.listApprovalRequests(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentOrganizationName

The parent resource. This may be "projects/{project}", "folders/{folder}", or "organizations/{organization}".

Returns
TypeDescription
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse

listApprovalRequests(ProjectName parent)

public final AccessApprovalAdminClient.ListApprovalRequestsPagedResponse listApprovalRequests(ProjectName parent)

Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ProjectName parent = ProjectName.of("[PROJECT]");
   for (ApprovalRequest element :
       accessApprovalAdminClient.listApprovalRequests(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentProjectName

The parent resource. This may be "projects/{project}", "folders/{folder}", or "organizations/{organization}".

Returns
TypeDescription
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse

listApprovalRequests(String parent)

public final AccessApprovalAdminClient.ListApprovalRequestsPagedResponse listApprovalRequests(String parent)

Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   String parent = ProjectName.of("[PROJECT]").toString();
   for (ApprovalRequest element :
       accessApprovalAdminClient.listApprovalRequests(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

The parent resource. This may be "projects/{project}", "folders/{folder}", or "organizations/{organization}".

Returns
TypeDescription
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse

listApprovalRequestsCallable()

public final UnaryCallable<ListApprovalRequestsMessage,ListApprovalRequestsResponse> listApprovalRequestsCallable()

Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ListApprovalRequestsMessage request =
       ListApprovalRequestsMessage.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setFilter("filter-1274492040")
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     ListApprovalRequestsResponse response =
         accessApprovalAdminClient.listApprovalRequestsCallable().call(request);
     for (ApprovalRequest element : response.getApprovalRequestsList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListApprovalRequestsMessage,ListApprovalRequestsResponse>

listApprovalRequestsPagedCallable()

public final UnaryCallable<ListApprovalRequestsMessage,AccessApprovalAdminClient.ListApprovalRequestsPagedResponse> listApprovalRequestsPagedCallable()

Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   ListApprovalRequestsMessage request =
       ListApprovalRequestsMessage.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setFilter("filter-1274492040")
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture<ApprovalRequest> future =
       accessApprovalAdminClient.listApprovalRequestsPagedCallable().futureCall(request);
   // Do something.
   for (ApprovalRequest element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListApprovalRequestsMessage,ListApprovalRequestsPagedResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateAccessApprovalSettings(AccessApprovalSettings settings, FieldMask updateMask)

public final AccessApprovalSettings updateAccessApprovalSettings(AccessApprovalSettings settings, FieldMask updateMask)

Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   AccessApprovalSettings settings = AccessApprovalSettings.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   AccessApprovalSettings response =
       accessApprovalAdminClient.updateAccessApprovalSettings(settings, updateMask);
 }
 
Parameters
NameDescription
settingsAccessApprovalSettings

The new AccessApprovalSettings.

updateMaskFieldMask

The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails & enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request.

For the FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.

Returns
TypeDescription
AccessApprovalSettings

updateAccessApprovalSettings(UpdateAccessApprovalSettingsMessage request)

public final AccessApprovalSettings updateAccessApprovalSettings(UpdateAccessApprovalSettingsMessage request)

Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   UpdateAccessApprovalSettingsMessage request =
       UpdateAccessApprovalSettingsMessage.newBuilder()
           .setSettings(AccessApprovalSettings.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   AccessApprovalSettings response =
       accessApprovalAdminClient.updateAccessApprovalSettings(request);
 }
 
Parameter
NameDescription
requestUpdateAccessApprovalSettingsMessage

The request object containing all of the parameters for the API call.

Returns
TypeDescription
AccessApprovalSettings

updateAccessApprovalSettingsCallable()

public final UnaryCallable<UpdateAccessApprovalSettingsMessage,AccessApprovalSettings> updateAccessApprovalSettingsCallable()

Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
   UpdateAccessApprovalSettingsMessage request =
       UpdateAccessApprovalSettingsMessage.newBuilder()
           .setSettings(AccessApprovalSettings.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   ApiFuture<AccessApprovalSettings> future =
       accessApprovalAdminClient.updateAccessApprovalSettingsCallable().futureCall(request);
   // Do something.
   AccessApprovalSettings response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateAccessApprovalSettingsMessage,AccessApprovalSettings>