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 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. v1
Package
@google-cloud/access-approval!
Constructors
(constructor)(opts)
constructor(opts?: ClientOptions);
Construct an instance of AccessApprovalClient.
Parameter
Name | Description |
opts |
ClientOptions
|
Properties
accessApprovalStub
accessApprovalStub?: Promise<{
[name: string]: Function;
}>;
Property Value
Type | Description |
Promise<{
[name: string]: Function;
}> | |
apiEndpoint
static get apiEndpoint(): string;
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
Property Value
auth
Property Value
Type | Description |
gax.GoogleAuth | |
descriptors
descriptors: Descriptors;
Property Value
Type | Description |
Descriptors | |
innerApiCalls
innerApiCalls: {
[name: string]: Function;
};
Property Value
Type | Description |
{
[name: string]: Function;
} | |
port
static get port(): number;
The port for this API service.
Property Value
scopes
static get scopes(): string[];
The scopes needed to make gRPC calls for every method defined in this service.
Property Value
servicePath
static get servicePath(): string;
The DNS address for this API service.
Property Value
warn
warn: (code: string, message: string, warnType?: string) => void;
Property Value
Type | Description |
(code: string, message: string, warnType?: string) => void | |
Methods
approveApprovalRequest(request, options)
approveApprovalRequest(request?: protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage, options?: CallOptions): Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest,
(protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage | undefined),
{} | undefined
]>;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage
|
options |
CallOptions
|
Returns
Type | Description |
Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest,
(protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage | undefined),
{} | undefined
]> | |
approveApprovalRequest(request, options, callback)
approveApprovalRequest(request: protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage, options: CallOptions, callback: Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage | null | undefined, {} | null | undefined>
|
Returns
approveApprovalRequest(request, callback)
approveApprovalRequest(request: protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage, callback: Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IApproveApprovalRequestMessage | null | undefined, {} | null | undefined>
|
Returns
close()
Terminate the gRPC channel and close the client.
The client will no longer be usable and all future behavior is undefined.
Returns
Type | Description |
Promise<void> | {Promise} A promise that resolves when the client is closed.
|
deleteAccessApprovalSettings(request, options)
deleteAccessApprovalSettings(request?: protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage, options?: CallOptions): Promise<[
protos.google.protobuf.IEmpty,
(protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage | undefined),
{} | undefined
]>;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage
|
options |
CallOptions
|
Returns
Type | Description |
Promise<[
protos.google.protobuf.IEmpty,
(protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage | undefined),
{} | undefined
]> | |
deleteAccessApprovalSettings(request, options, callback)
deleteAccessApprovalSettings(request: protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage
|
options |
CallOptions
|
callback |
Callback<protos.google.protobuf.IEmpty, protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>
|
Returns
deleteAccessApprovalSettings(request, callback)
deleteAccessApprovalSettings(request: protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage
|
callback |
Callback<protos.google.protobuf.IEmpty, protos.google.cloud.accessapproval.v1.IDeleteAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>
|
Returns
dismissApprovalRequest(request, options)
dismissApprovalRequest(request?: protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage, options?: CallOptions): Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest,
(protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage | undefined),
{} | undefined
]>;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage
|
options |
CallOptions
|
Returns
Type | Description |
Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest,
(protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage | undefined),
{} | undefined
]> | |
dismissApprovalRequest(request, options, callback)
dismissApprovalRequest(request: protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage, options: CallOptions, callback: Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage | null | undefined, {} | null | undefined>
|
Returns
dismissApprovalRequest(request, callback)
dismissApprovalRequest(request: protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage, callback: Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IDismissApprovalRequestMessage | null | undefined, {} | null | undefined>
|
Returns
getAccessApprovalSettings(request, options)
getAccessApprovalSettings(request?: protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage, options?: CallOptions): Promise<[
protos.google.cloud.accessapproval.v1.IAccessApprovalSettings,
(protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage | undefined),
{} | undefined
]>;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage
|
options |
CallOptions
|
Returns
Type | Description |
Promise<[
protos.google.cloud.accessapproval.v1.IAccessApprovalSettings,
(protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage | undefined),
{} | undefined
]> | |
getAccessApprovalSettings(request, options, callback)
getAccessApprovalSettings(request: protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage, options: CallOptions, callback: Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>
|
Returns
getAccessApprovalSettings(request, callback)
getAccessApprovalSettings(request: protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage, callback: Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IGetAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>
|
Returns
getApprovalRequest(request, options)
getApprovalRequest(request?: protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage, options?: CallOptions): Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest,
(protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage | undefined),
{} | undefined
]>;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage
|
options |
CallOptions
|
Returns
Type | Description |
Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest,
(protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage | undefined),
{} | undefined
]> | |
getApprovalRequest(request, options, callback)
getApprovalRequest(request: protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage, options: CallOptions, callback: Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage | null | undefined, {} | null | undefined>
|
Returns
getApprovalRequest(request, callback)
getApprovalRequest(request: protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage, callback: Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IApprovalRequest, protos.google.cloud.accessapproval.v1.IGetApprovalRequestMessage | null | undefined, {} | null | undefined>
|
Returns
getProjectId()
getProjectId(): Promise<string>;
Returns
Type | Description |
Promise<string> | |
getProjectId(callback)
getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
Name | Description |
callback |
Callback<string, undefined, undefined>
|
Returns
initialize()
initialize(): Promise<{
[name: string]: Function;
}>;
Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.
You can await on this method if you want to make sure the client is initialized.
Returns
Type | Description |
Promise<{
[name: string]: Function;
}> | {Promise} A promise that resolves to an authenticated service stub.
|
listApprovalRequests(request, options)
listApprovalRequests(request?: protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, options?: CallOptions): Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest[],
protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage | null,
protos.google.cloud.accessapproval.v1.IListApprovalRequestsResponse
]>;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage
|
options |
CallOptions
|
Returns
Type | Description |
Promise<[
protos.google.cloud.accessapproval.v1.IApprovalRequest[],
protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage | null,
protos.google.cloud.accessapproval.v1.IListApprovalRequestsResponse
]> | |
listApprovalRequests(request, options, callback)
listApprovalRequests(request: protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, options: CallOptions, callback: PaginationCallback<protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, protos.google.cloud.accessapproval.v1.IListApprovalRequestsResponse | null | undefined, protos.google.cloud.accessapproval.v1.IApprovalRequest>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage
|
options |
CallOptions
|
callback |
PaginationCallback<protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, protos.google.cloud.accessapproval.v1.IListApprovalRequestsResponse | null | undefined, protos.google.cloud.accessapproval.v1.IApprovalRequest>
|
Returns
listApprovalRequests(request, callback)
listApprovalRequests(request: protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, callback: PaginationCallback<protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, protos.google.cloud.accessapproval.v1.IListApprovalRequestsResponse | null | undefined, protos.google.cloud.accessapproval.v1.IApprovalRequest>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage
|
callback |
PaginationCallback<protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, protos.google.cloud.accessapproval.v1.IListApprovalRequestsResponse | null | undefined, protos.google.cloud.accessapproval.v1.IApprovalRequest>
|
Returns
listApprovalRequestsAsync(request, options)
listApprovalRequestsAsync(request?: protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, options?: CallOptions): AsyncIterable<protos.google.cloud.accessapproval.v1.IApprovalRequest>;
Equivalent to listApprovalRequests
, but returns an iterable object.
for
-await
-of
syntax is used with the iterable to get response elements on-demand.
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage
The request object that will be sent.
|
options |
CallOptions
Call options. See CallOptions for more details.
|
Returns
Type | Description |
AsyncIterable<protos.google.cloud.accessapproval.v1.IApprovalRequest> | {Object} An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). When you iterate the returned iterable, each element will be an object representing [ApprovalRequest]. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.
|
listApprovalRequestsStream(request, options)
listApprovalRequestsStream(request?: protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage, options?: CallOptions): Transform;
Equivalent to method.name.toCamelCase()
, but returns a NodeJS Stream object.
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IListApprovalRequestsMessage
The request object that will be sent.
|
options |
CallOptions
Call options. See CallOptions for more details.
|
Returns
Type | Description |
Transform | {Stream} An object stream which emits an object representing [ApprovalRequest] on 'data' event. The client library will perform auto-pagination by default: it will call the API as many times as needed. Note that it can affect your quota. We recommend using listApprovalRequestsAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.
|
updateAccessApprovalSettings(request, options)
updateAccessApprovalSettings(request?: protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage, options?: CallOptions): Promise<[
protos.google.cloud.accessapproval.v1.IAccessApprovalSettings,
(protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage | undefined),
{} | undefined
]>;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage
|
options |
CallOptions
|
Returns
Type | Description |
Promise<[
protos.google.cloud.accessapproval.v1.IAccessApprovalSettings,
(protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage | undefined),
{} | undefined
]> | |
updateAccessApprovalSettings(request, options, callback)
updateAccessApprovalSettings(request: protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage, options: CallOptions, callback: Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>
|
Returns
updateAccessApprovalSettings(request, callback)
updateAccessApprovalSettings(request: protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage, callback: Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>): void;
Parameters
Name | Description |
request |
protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage
|
callback |
Callback<protos.google.cloud.accessapproval.v1.IAccessApprovalSettings, protos.google.cloud.accessapproval.v1.IUpdateAccessApprovalSettingsMessage | null | undefined, {} | null | undefined>
|
Returns