1 /* 2 * Copyright 2022 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 /** 18 * A client to Access Approval API 19 * 20 * <p>The interfaces provided are listed below, along with usage samples. 21 * 22 * <p>======================= AccessApprovalAdminClient ======================= 23 * 24 * <p>Service Description: This API allows a customer to manage accesses to cloud resources by 25 * Google personnel. It defines the following resource model: 26 * 27 * <p>- The API has a collection of 28 * [ApprovalRequest][google.cloud.accessapproval.v1.ApprovalRequest] resources, named 29 * `approvalRequests/{approval_request}` - The API has top-level settings per 30 * Project/Folder/Organization, named `accessApprovalSettings` 31 * 32 * <p>The service also periodically emails a list of recipients, defined at the 33 * Project/Folder/Organization level in the accessApprovalSettings, when there is a pending 34 * ApprovalRequest for them to act on. The ApprovalRequests can also optionally be published to a 35 * Pub/Sub topic owned by the customer (contact support if you would like to enable Pub/Sub 36 * notifications). 37 * 38 * <p>ApprovalRequests can be approved or dismissed. Google personnel can only access the indicated 39 * resource or resources if the request is approved (subject to some exclusions: 40 * https://cloud.google.com/access-approval/docs/overview#exclusions). 41 * 42 * <p>Note: Using Access Approval functionality will mean that Google may not be able to meet the 43 * SLAs for your chosen products, as any support response times may be dramatically increased. As 44 * such the SLAs do not apply to any service disruption to the extent impacted by Customer's use of 45 * Access Approval. Do not enable Access Approval for projects where you may require high service 46 * availability and rapid response by Google Cloud Support. 47 * 48 * <p>After a request is approved or dismissed, no further action may be taken on it. Requests with 49 * the requested_expiration in the past or with no activity for 14 days are considered dismissed. 50 * When an approval expires, the request is considered dismissed. 51 * 52 * <p>If a request is not approved or dismissed, we call it pending. 53 * 54 * <p>Sample for AccessApprovalAdminClient: 55 * 56 * <pre>{@code 57 * // This snippet has been automatically generated and should be regarded as a code template only. 58 * // It will require modifications to work: 59 * // - It may require correct/in-range values for request initialization. 60 * // - It may require specifying regional endpoints when creating the service client as shown in 61 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 62 * try (AccessApprovalAdminClient accessApprovalAdminClient = AccessApprovalAdminClient.create()) { 63 * ApprovalRequestName name = 64 * ApprovalRequestName.ofProjectApprovalRequestName("[PROJECT]", "[APPROVAL_REQUEST]"); 65 * ApprovalRequest response = accessApprovalAdminClient.getApprovalRequest(name); 66 * } 67 * }</pre> 68 */ 69 @Generated("by gapic-generator-java") 70 package com.google.cloud.accessapproval.v1; 71 72 import javax.annotation.Generated; 73