@Generated(value="by gapic-generator-java") public class AccessApprovalAdminClient extends Object implements com.google.api.gax.core.BackgroundResource
- The API has a collection of [ApprovalRequest][google.cloud.accessapproval.v1.ApprovalRequest] resources, named `approvalRequests/{approval_request_id}` - 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 Cloud Pub/Sub topic owned by the customer (for Beta, the Pub/Sub setup is managed manually).
ApprovalRequests can be approved or dismissed. Google personel 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:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
String name = "name3373707";
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:
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:
AccessApprovalAdminSettings accessApprovalAdminSettings =
AccessApprovalAdminSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
AccessApprovalAdminClient accessApprovalAdminClient =
AccessApprovalAdminClient.create(accessApprovalAdminSettings);
To customize the endpoint:
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.
| Modifier and Type | Class and Description |
|---|---|
static class |
AccessApprovalAdminClient.ListApprovalRequestsFixedSizeCollection |
static class |
AccessApprovalAdminClient.ListApprovalRequestsPage |
static class |
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse |
| Modifier | Constructor and Description |
|---|---|
protected |
AccessApprovalAdminClient(AccessApprovalAdminSettings settings)
Constructs an instance of AccessApprovalAdminClient, using the given settings.
|
protected |
AccessApprovalAdminClient(AccessApprovalStub stub) |
| Modifier and Type | Method and Description |
|---|---|
ApprovalRequest |
approveApprovalRequest(ApproveApprovalRequestMessage request)
Approves a request and returns the updated ApprovalRequest.
|
com.google.api.gax.rpc.UnaryCallable<ApproveApprovalRequestMessage,ApprovalRequest> |
approveApprovalRequestCallable()
Approves a request and returns the updated ApprovalRequest.
|
boolean |
awaitTermination(long duration,
TimeUnit unit) |
void |
close() |
static AccessApprovalAdminClient |
create()
Constructs an instance of AccessApprovalAdminClient with default settings.
|
static AccessApprovalAdminClient |
create(AccessApprovalAdminSettings settings)
Constructs an instance of AccessApprovalAdminClient, using the given settings.
|
static AccessApprovalAdminClient |
create(AccessApprovalStub stub)
Constructs an instance of AccessApprovalAdminClient, using the given stub for making calls.
|
void |
deleteAccessApprovalSettings(DeleteAccessApprovalSettingsMessage request)
Deletes the settings associated with a project, folder, or organization.
|
void |
deleteAccessApprovalSettings(String name)
Deletes the settings associated with a project, folder, or organization.
|
com.google.api.gax.rpc.UnaryCallable<DeleteAccessApprovalSettingsMessage,com.google.protobuf.Empty> |
deleteAccessApprovalSettingsCallable()
Deletes the settings associated with a project, folder, or organization.
|
ApprovalRequest |
dismissApprovalRequest(DismissApprovalRequestMessage request)
Dismisses a request.
|
com.google.api.gax.rpc.UnaryCallable<DismissApprovalRequestMessage,ApprovalRequest> |
dismissApprovalRequestCallable()
Dismisses a request.
|
AccessApprovalSettings |
getAccessApprovalSettings(GetAccessApprovalSettingsMessage request)
Gets the settings associated with a project, folder, or organization.
|
AccessApprovalSettings |
getAccessApprovalSettings(String name)
Gets the settings associated with a project, folder, or organization.
|
com.google.api.gax.rpc.UnaryCallable<GetAccessApprovalSettingsMessage,AccessApprovalSettings> |
getAccessApprovalSettingsCallable()
Gets the settings associated with a project, folder, or organization.
|
ApprovalRequest |
getApprovalRequest(GetApprovalRequestMessage request)
Gets an approval request.
|
ApprovalRequest |
getApprovalRequest(String name)
Gets an approval request.
|
com.google.api.gax.rpc.UnaryCallable<GetApprovalRequestMessage,ApprovalRequest> |
getApprovalRequestCallable()
Gets an approval request.
|
AccessApprovalAdminSettings |
getSettings() |
AccessApprovalStub |
getStub() |
boolean |
isShutdown() |
boolean |
isTerminated() |
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse |
listApprovalRequests(ListApprovalRequestsMessage request)
Lists approval requests associated with a project, folder, or organization.
|
AccessApprovalAdminClient.ListApprovalRequestsPagedResponse |
listApprovalRequests(String parent)
Lists approval requests associated with a project, folder, or organization.
|
com.google.api.gax.rpc.UnaryCallable<ListApprovalRequestsMessage,ListApprovalRequestsResponse> |
listApprovalRequestsCallable()
Lists approval requests associated with a project, folder, or organization.
|
com.google.api.gax.rpc.UnaryCallable<ListApprovalRequestsMessage,AccessApprovalAdminClient.ListApprovalRequestsPagedResponse> |
listApprovalRequestsPagedCallable()
Lists approval requests associated with a project, folder, or organization.
|
void |
shutdown() |
void |
shutdownNow() |
AccessApprovalSettings |
updateAccessApprovalSettings(AccessApprovalSettings settings,
com.google.protobuf.FieldMask updateMask)
Updates the settings associated with a project, folder, or organization.
|
AccessApprovalSettings |
updateAccessApprovalSettings(UpdateAccessApprovalSettingsMessage request)
Updates the settings associated with a project, folder, or organization.
|
com.google.api.gax.rpc.UnaryCallable<UpdateAccessApprovalSettingsMessage,AccessApprovalSettings> |
updateAccessApprovalSettingsCallable()
Updates the settings associated with a project, folder, or organization.
|
protected AccessApprovalAdminClient(AccessApprovalAdminSettings settings) throws IOException
IOException@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") protected AccessApprovalAdminClient(AccessApprovalStub stub)
public static final AccessApprovalAdminClient create() throws IOException
IOExceptionpublic static final AccessApprovalAdminClient create(AccessApprovalAdminSettings settings) throws IOException
IOException@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public static final AccessApprovalAdminClient create(AccessApprovalStub stub)
public final AccessApprovalAdminSettings getSettings()
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public AccessApprovalStub getStub()
public final AccessApprovalAdminClient.ListApprovalRequestsPagedResponse listApprovalRequests(String parent)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
String parent = "parent-995424086";
for (ApprovalRequest element :
accessApprovalAdminClient.listApprovalRequests(parent).iterateAll()) {
// doThingsWith(element);
}
}
parent - The parent resource. This may be "projects/{project_id}", "folders/{folder_id}",
or "organizations/{organization_id}".com.google.api.gax.rpc.ApiException - if the remote call failspublic final AccessApprovalAdminClient.ListApprovalRequestsPagedResponse listApprovalRequests(ListApprovalRequestsMessage request)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
ListApprovalRequestsMessage request =
ListApprovalRequestsMessage.newBuilder()
.setParent("parent-995424086")
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (ApprovalRequest element :
accessApprovalAdminClient.listApprovalRequests(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ListApprovalRequestsMessage,AccessApprovalAdminClient.ListApprovalRequestsPagedResponse> listApprovalRequestsPagedCallable()
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
ListApprovalRequestsMessage request =
ListApprovalRequestsMessage.newBuilder()
.setParent("parent-995424086")
.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);
}
}
public final com.google.api.gax.rpc.UnaryCallable<ListApprovalRequestsMessage,ListApprovalRequestsResponse> listApprovalRequestsCallable()
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
ListApprovalRequestsMessage request =
ListApprovalRequestsMessage.newBuilder()
.setParent("parent-995424086")
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListApprovalRequestsResponse response =
accessApprovalAdminClient.listApprovalRequestsCallable().call(request);
for (ApprovalRequest element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final ApprovalRequest getApprovalRequest(String name)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
String name = "name3373707";
ApprovalRequest response = accessApprovalAdminClient.getApprovalRequest(name);
}
name - Name of the approval request to retrieve.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ApprovalRequest getApprovalRequest(GetApprovalRequestMessage request)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
GetApprovalRequestMessage request =
GetApprovalRequestMessage.newBuilder().setName("name3373707").build();
ApprovalRequest response = accessApprovalAdminClient.getApprovalRequest(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetApprovalRequestMessage,ApprovalRequest> getApprovalRequestCallable()
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
GetApprovalRequestMessage request =
GetApprovalRequestMessage.newBuilder().setName("name3373707").build();
ApiFuture<ApprovalRequest> future =
accessApprovalAdminClient.getApprovalRequestCallable().futureCall(request);
// Do something.
ApprovalRequest response = future.get();
}
public final ApprovalRequest approveApprovalRequest(ApproveApprovalRequestMessage request)
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:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
ApproveApprovalRequestMessage request =
ApproveApprovalRequestMessage.newBuilder()
.setName("name3373707")
.setExpireTime(Timestamp.newBuilder().build())
.build();
ApprovalRequest response = accessApprovalAdminClient.approveApprovalRequest(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ApproveApprovalRequestMessage,ApprovalRequest> approveApprovalRequestCallable()
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:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
ApproveApprovalRequestMessage request =
ApproveApprovalRequestMessage.newBuilder()
.setName("name3373707")
.setExpireTime(Timestamp.newBuilder().build())
.build();
ApiFuture<ApprovalRequest> future =
accessApprovalAdminClient.approveApprovalRequestCallable().futureCall(request);
// Do something.
ApprovalRequest response = future.get();
}
public final ApprovalRequest dismissApprovalRequest(DismissApprovalRequestMessage request)
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:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
DismissApprovalRequestMessage request =
DismissApprovalRequestMessage.newBuilder().setName("name3373707").build();
ApprovalRequest response = accessApprovalAdminClient.dismissApprovalRequest(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DismissApprovalRequestMessage,ApprovalRequest> dismissApprovalRequestCallable()
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:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
DismissApprovalRequestMessage request =
DismissApprovalRequestMessage.newBuilder().setName("name3373707").build();
ApiFuture<ApprovalRequest> future =
accessApprovalAdminClient.dismissApprovalRequestCallable().futureCall(request);
// Do something.
ApprovalRequest response = future.get();
}
public final AccessApprovalSettings getAccessApprovalSettings(String name)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
String name = "name3373707";
AccessApprovalSettings response = accessApprovalAdminClient.getAccessApprovalSettings(name);
}
name - Name of the AccessApprovalSettings to retrieve.com.google.api.gax.rpc.ApiException - if the remote call failspublic final AccessApprovalSettings getAccessApprovalSettings(GetAccessApprovalSettingsMessage request)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
GetAccessApprovalSettingsMessage request =
GetAccessApprovalSettingsMessage.newBuilder().setName("name3373707").build();
AccessApprovalSettings response =
accessApprovalAdminClient.getAccessApprovalSettings(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetAccessApprovalSettingsMessage,AccessApprovalSettings> getAccessApprovalSettingsCallable()
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
GetAccessApprovalSettingsMessage request =
GetAccessApprovalSettingsMessage.newBuilder().setName("name3373707").build();
ApiFuture<AccessApprovalSettings> future =
accessApprovalAdminClient.getAccessApprovalSettingsCallable().futureCall(request);
// Do something.
AccessApprovalSettings response = future.get();
}
public final AccessApprovalSettings updateAccessApprovalSettings(AccessApprovalSettings settings, com.google.protobuf.FieldMask updateMask)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
AccessApprovalSettings settings = AccessApprovalSettings.newBuilder().build();
FieldMask updateMask = FieldMask.newBuilder().build();
AccessApprovalSettings response =
accessApprovalAdminClient.updateAccessApprovalSettings(settings, updateMask);
}
settings - The new AccessApprovalSettings.updateMask - 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.
com.google.api.gax.rpc.ApiException - if the remote call failspublic final AccessApprovalSettings updateAccessApprovalSettings(UpdateAccessApprovalSettingsMessage request)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
UpdateAccessApprovalSettingsMessage request =
UpdateAccessApprovalSettingsMessage.newBuilder()
.setSettings(AccessApprovalSettings.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
AccessApprovalSettings response =
accessApprovalAdminClient.updateAccessApprovalSettings(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UpdateAccessApprovalSettingsMessage,AccessApprovalSettings> updateAccessApprovalSettingsCallable()
Sample code:
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();
}
public final void deleteAccessApprovalSettings(String name)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
String name = "name3373707";
accessApprovalAdminClient.deleteAccessApprovalSettings(name);
}
name - Name of the AccessApprovalSettings to delete.com.google.api.gax.rpc.ApiException - if the remote call failspublic final void deleteAccessApprovalSettings(DeleteAccessApprovalSettingsMessage request)
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
DeleteAccessApprovalSettingsMessage request =
DeleteAccessApprovalSettingsMessage.newBuilder().setName("name3373707").build();
accessApprovalAdminClient.deleteAccessApprovalSettings(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DeleteAccessApprovalSettingsMessage,com.google.protobuf.Empty> deleteAccessApprovalSettingsCallable()
Sample code:
try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) {
DeleteAccessApprovalSettingsMessage request =
DeleteAccessApprovalSettingsMessage.newBuilder().setName("name3373707").build();
ApiFuture<Empty> future =
accessApprovalAdminClient.deleteAccessApprovalSettingsCallable().futureCall(request);
// Do something.
future.get();
}
public final void close()
close in interface AutoCloseablepublic void shutdown()
shutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isShutdown()
isShutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isTerminated()
isTerminated in interface com.google.api.gax.core.BackgroundResourcepublic void shutdownNow()
shutdownNow in interface com.google.api.gax.core.BackgroundResourcepublic boolean awaitTermination(long duration,
TimeUnit unit)
throws InterruptedException
awaitTermination in interface com.google.api.gax.core.BackgroundResourceInterruptedExceptionCopyright © 2022 Google LLC. All rights reserved.