Class v3.FoldersClient

Manages Cloud Platform folder resources. Folders can be used to organize the resources under an organization and to control the policies applied to groups of resources. v3

Package

@google-cloud/resource-manager

Constructors

(constructor)(opts)

constructor(opts?: ClientOptions);

Construct an instance of FoldersClient.

Parameter
NameDescription
opts ClientOptions

Properties

apiEndpoint

static get apiEndpoint(): string;

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

auth

auth: gax.GoogleAuth;

descriptors

descriptors: Descriptors;

foldersStub

foldersStub?: Promise<{
        [name: string]: Function;
    }>;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

operationsClient

operationsClient: gax.OperationsClient;

pathTemplates

pathTemplates: {
        [name: string]: gax.PathTemplate;
    };

port

static get port(): number;

The port for this API service.

scopes

static get scopes(): string[];

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static get servicePath(): string;

The DNS address for this API service.

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

checkCreateFolderProgress(name)

checkCreateFolderProgress(name: string): Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.CreateFolderMetadata>>;

Check the status of the long running operation returned by createFolder().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.CreateFolderMetadata>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The folder being created, only the display name and parent will be
   *  consulted. All other fields will be ignored.
   */
  // const folder = {}

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callCreateFolder() {
    // Construct request
    const request = {
      folder,
    };

    // Run request
    const [operation] = await resourcemanagerClient.createFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callCreateFolder();

checkDeleteFolderProgress(name)

checkDeleteFolderProgress(name: string): Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.DeleteFolderMetadata>>;

Check the status of the long running operation returned by deleteFolder().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.DeleteFolderMetadata>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the folder to be deleted.
   *  Must be of the form `folders/{folder_id}`.
   */
  // const name = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callDeleteFolder() {
    // Construct request
    const request = {
      name,
    };

    // Run request
    const [operation] = await resourcemanagerClient.deleteFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callDeleteFolder();

checkMoveFolderProgress(name)

checkMoveFolderProgress(name: string): Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.MoveFolderMetadata>>;

Check the status of the long running operation returned by moveFolder().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.MoveFolderMetadata>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the Folder to move.
   *  Must be of the form folders/{folder_id}
   */
  // const name = 'abc123'
  /**
   *  Required. The resource name of the folder or organization which should be the
   *  folder's new parent.
   *  Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
   */
  // const destinationParent = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callMoveFolder() {
    // Construct request
    const request = {
      name,
      destinationParent,
    };

    // Run request
    const [operation] = await resourcemanagerClient.moveFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callMoveFolder();

checkUndeleteFolderProgress(name)

checkUndeleteFolderProgress(name: string): Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.UndeleteFolderMetadata>>;

Check the status of the long running operation returned by undeleteFolder().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.UndeleteFolderMetadata>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the folder to undelete.
   *  Must be of the form `folders/{folder_id}`.
   */
  // const name = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callUndeleteFolder() {
    // Construct request
    const request = {
      name,
    };

    // Run request
    const [operation] = await resourcemanagerClient.undeleteFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callUndeleteFolder();

checkUpdateFolderProgress(name)

checkUpdateFolderProgress(name: string): Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.UpdateFolderMetadata>>;

Check the status of the long running operation returned by updateFolder().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.resourcemanager.v3.Folder, protos.google.cloud.resourcemanager.v3.UpdateFolderMetadata>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The new definition of the Folder. It must include the `name` field, which
   *  cannot be changed.
   */
  // const folder = {}
  /**
   *  Required. Fields to be updated.
   *  Only the `display_name` can be updated.
   */
  // const updateMask = {}

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callUpdateFolder() {
    // Construct request
    const request = {
      folder,
      updateMask,
    };

    // Run request
    const [operation] = await resourcemanagerClient.updateFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callUpdateFolder();

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

createFolder(request, options)

createFolder(request?: protos.google.cloud.resourcemanager.v3.ICreateFolderRequest, options?: CallOptions): Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.ICreateFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>;

Creates a folder in the resource hierarchy. Returns an Operation which can be used to track the progress of the folder creation workflow. Upon success, the Operation.response field will be populated with the created Folder.

In order to succeed, the addition of this new folder must not violate the folder naming, height, or fanout constraints.

  • The folder's display_name must be distinct from all other folders that share its parent. + The addition of the folder must not cause the active folder hierarchy to exceed a height of 10. Note, the full active + deleted folder hierarchy is allowed to reach a height of 20; this provides additional headroom when moving folders that contain deleted folders. + The addition of the folder must not cause the total number of folders under its parent to exceed 300.

If the operation fails due to a folder constraint violation, some errors may be returned by the CreateFolder request, with status code FAILED_PRECONDITION and an error description. Other folder constraint violations will be communicated in the Operation, with the specific PreconditionFailure returned in the details list in the Operation.error field.

The caller must have resourcemanager.folders.create permission on the identified parent.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ICreateFolderRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.ICreateFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The folder being created, only the display name and parent will be
   *  consulted. All other fields will be ignored.
   */
  // const folder = {}

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callCreateFolder() {
    // Construct request
    const request = {
      folder,
    };

    // Run request
    const [operation] = await resourcemanagerClient.createFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callCreateFolder();

createFolder(request, options, callback)

createFolder(request: protos.google.cloud.resourcemanager.v3.ICreateFolderRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.ICreateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ICreateFolderRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.ICreateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

createFolder(request, callback)

createFolder(request: protos.google.cloud.resourcemanager.v3.ICreateFolderRequest, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.ICreateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ICreateFolderRequest
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.ICreateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

deleteFolder(request, options)

deleteFolder(request?: protos.google.cloud.resourcemanager.v3.IDeleteFolderRequest, options?: CallOptions): Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IDeleteFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>;

Requests deletion of a folder. The folder is moved into the state immediately, and is deleted approximately 30 days later. This method may only be called on an empty folder, where a folder is empty if it doesn't contain any folders or projects in the state. If called on a folder in state the operation will result in a no-op success. The caller must have resourcemanager.folders.delete permission on the identified folder.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IDeleteFolderRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IDeleteFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the folder to be deleted.
   *  Must be of the form `folders/{folder_id}`.
   */
  // const name = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callDeleteFolder() {
    // Construct request
    const request = {
      name,
    };

    // Run request
    const [operation] = await resourcemanagerClient.deleteFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callDeleteFolder();

deleteFolder(request, options, callback)

deleteFolder(request: protos.google.cloud.resourcemanager.v3.IDeleteFolderRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IDeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IDeleteFolderRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IDeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

deleteFolder(request, callback)

deleteFolder(request: protos.google.cloud.resourcemanager.v3.IDeleteFolderRequest, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IDeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IDeleteFolderRequest
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IDeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

folderPath(folder)

folderPath(folder: string): string;

Return a fully-qualified folder resource name string.

Parameter
NameDescription
folder string
Returns
TypeDescription
string

{string} Resource name string.

getFolder(request, options)

getFolder(request?: protos.google.cloud.resourcemanager.v3.IGetFolderRequest, options?: CallOptions): Promise<[protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IGetFolderRequest | undefined, {} | undefined]>;

Retrieves a folder identified by the supplied resource name. Valid folder resource names have the format folders/{folder_id} (for example, folders/1234). The caller must have resourcemanager.folders.get permission on the identified folder.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IGetFolderRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IGetFolderRequest | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [Folder]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the folder to retrieve.
   *  Must be of the form `folders/{folder_id}`.
   */
  // const name = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callGetFolder() {
    // Construct request
    const request = {
      name,
    };

    // Run request
    const response = await resourcemanagerClient.getFolder(request);
    console.log(response);
  }

  callGetFolder();

getFolder(request, options, callback)

getFolder(request: protos.google.cloud.resourcemanager.v3.IGetFolderRequest, options: CallOptions, callback: Callback<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IGetFolderRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IGetFolderRequest
options CallOptions
callback Callback<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IGetFolderRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

getFolder(request, callback)

getFolder(request: protos.google.cloud.resourcemanager.v3.IGetFolderRequest, callback: Callback<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IGetFolderRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IGetFolderRequest
callback Callback<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IGetFolderRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

getIamPolicy(request, options)

getIamPolicy(request?: protos.google.iam.v1.IGetIamPolicyRequest, options?: CallOptions): Promise<[protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | undefined, {} | undefined]>;

Gets the access control policy for a folder. The returned policy may be empty if no such policy or resource exists. The resource field should be the folder's resource name, for example: "folders/1234". The caller must have resourcemanager.folders.getIamPolicy permission on the identified folder.

Parameters
NameDescription
request protos.google.iam.v1.IGetIamPolicyRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [Policy]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  REQUIRED: The resource for which the policy is being requested.
   *  See the operation documentation for the appropriate value for this field.
   */
  // const resource = 'abc123'
  /**
   *  OPTIONAL: A `GetPolicyOptions` object for specifying options to
   *  `GetIamPolicy`. This field is only used by Cloud IAM.
   */
  // const options = {}

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callGetIamPolicy() {
    // Construct request
    const request = {
      resource,
    };

    // Run request
    const response = await resourcemanagerClient.getIamPolicy(request);
    console.log(response);
  }

  callGetIamPolicy();

getIamPolicy(request, options, callback)

getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.iam.v1.IGetIamPolicyRequest
options CallOptions
callback Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

getIamPolicy(request, callback)

getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.iam.v1.IGetIamPolicyRequest
callback Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

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
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.

listFolders(request, options)

listFolders(request?: protos.google.cloud.resourcemanager.v3.IListFoldersRequest, options?: CallOptions): Promise<[protos.google.cloud.resourcemanager.v3.IFolder[], protos.google.cloud.resourcemanager.v3.IListFoldersRequest | null, protos.google.cloud.resourcemanager.v3.IListFoldersResponse]>;

Lists the folders that are direct descendants of supplied parent resource. list() provides a strongly consistent view of the folders underneath the specified parent resource. list() returns folders sorted based upon the (ascending) lexical ordering of their display_name. The caller must have resourcemanager.folders.list permission on the identified parent.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IListFoldersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.cloud.resourcemanager.v3.IFolder[], protos.google.cloud.resourcemanager.v3.IListFoldersRequest | null, protos.google.cloud.resourcemanager.v3.IListFoldersResponse]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of [Folder]. The client library will perform auto-pagination by default: it will call the API as many times as needed and will merge results from all the pages into this array. Note that it can affect your quota. We recommend using listFoldersAsync() 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.

listFolders(request, options, callback)

listFolders(request: protos.google.cloud.resourcemanager.v3.IListFoldersRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.resourcemanager.v3.IListFoldersRequest, protos.google.cloud.resourcemanager.v3.IListFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IListFoldersRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.resourcemanager.v3.IListFoldersRequest, protos.google.cloud.resourcemanager.v3.IListFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>
Returns
TypeDescription
void

listFolders(request, callback)

listFolders(request: protos.google.cloud.resourcemanager.v3.IListFoldersRequest, callback: PaginationCallback<protos.google.cloud.resourcemanager.v3.IListFoldersRequest, protos.google.cloud.resourcemanager.v3.IListFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IListFoldersRequest
callback PaginationCallback<protos.google.cloud.resourcemanager.v3.IListFoldersRequest, protos.google.cloud.resourcemanager.v3.IListFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>
Returns
TypeDescription
void

listFoldersAsync(request, options)

listFoldersAsync(request?: protos.google.cloud.resourcemanager.v3.IListFoldersRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.resourcemanager.v3.IFolder>;

Equivalent to listFolders, but returns an iterable object.

for-await-of syntax is used with the iterable to get response elements on-demand.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IListFoldersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
AsyncIterable<protos.google.cloud.resourcemanager.v3.IFolder>

{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 [Folder]. 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.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the organization or folder whose folders are
   *  being listed.
   *  Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
   *  Access to this method is controlled by checking the
   *  `resourcemanager.folders.list` permission on the `parent`.
   */
  // const parent = 'abc123'
  /**
   *  Optional. The maximum number of folders to return in the response.
   *  If unspecified, server picks an appropriate default.
   */
  // const pageSize = 1234
  /**
   *  Optional. A pagination token returned from a previous call to `ListFolders`
   *  that indicates where this listing should continue from.
   */
  // const pageToken = 'abc123'
  /**
   *  Optional. Controls whether folders in the
   *  DELETE_REQUESTED google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED
   *  state should be returned. Defaults to false.
   */
  // const showDeleted = true

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callListFolders() {
    // Construct request
    const request = {
      parent,
    };

    // Run request
    const iterable = await resourcemanagerClient.listFoldersAsync(request);
    for await (const response of iterable) {
      console.log(response);
    }
  }

  callListFolders();

listFoldersStream(request, options)

listFoldersStream(request?: protos.google.cloud.resourcemanager.v3.IListFoldersRequest, options?: CallOptions): Transform;

Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IListFoldersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Transform

{Stream} An object stream which emits an object representing [Folder] 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 listFoldersAsync() 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.

matchFolderFromFolderName(folderName)

matchFolderFromFolderName(folderName: string): string | number;

Parse the folder from Folder resource.

Parameter
NameDescription
folderName string

A fully-qualified path representing Folder resource.

Returns
TypeDescription
string | number

{string} A string representing the folder.

matchOrganizationFromOrganizationName(organizationName)

matchOrganizationFromOrganizationName(organizationName: string): string | number;

Parse the organization from Organization resource.

Parameter
NameDescription
organizationName string

A fully-qualified path representing Organization resource.

Returns
TypeDescription
string | number

{string} A string representing the organization.

matchProjectFromProjectName(projectName)

matchProjectFromProjectName(projectName: string): string | number;

Parse the project from Project resource.

Parameter
NameDescription
projectName string

A fully-qualified path representing Project resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

matchTagBindingFromTagBindingName(tagBindingName)

matchTagBindingFromTagBindingName(tagBindingName: string): string | number;

Parse the tag_binding from TagBinding resource.

Parameter
NameDescription
tagBindingName string

A fully-qualified path representing TagBinding resource.

Returns
TypeDescription
string | number

{string} A string representing the tag_binding.

matchTagKeyFromTagKeyName(tagKeyName)

matchTagKeyFromTagKeyName(tagKeyName: string): string | number;

Parse the tag_key from TagKey resource.

Parameter
NameDescription
tagKeyName string

A fully-qualified path representing TagKey resource.

Returns
TypeDescription
string | number

{string} A string representing the tag_key.

matchTagValueFromTagValueName(tagValueName)

matchTagValueFromTagValueName(tagValueName: string): string | number;

Parse the tag_value from TagValue resource.

Parameter
NameDescription
tagValueName string

A fully-qualified path representing TagValue resource.

Returns
TypeDescription
string | number

{string} A string representing the tag_value.

moveFolder(request, options)

moveFolder(request?: protos.google.cloud.resourcemanager.v3.IMoveFolderRequest, options?: CallOptions): Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IMoveFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>;

Moves a folder under a new resource parent. Returns an Operation which can be used to track the progress of the folder move workflow. Upon success, the Operation.response field will be populated with the moved folder. Upon failure, a FolderOperationError categorizing the failure cause will be returned - if the failure occurs synchronously then the FolderOperationError will be returned in the Status.details field. If it occurs asynchronously, then the FolderOperation will be returned in the Operation.error field. In addition, the Operation.metadata field will be populated with a FolderOperation message as an aid to stateless clients. Folder moves will be rejected if they violate either the naming, height, or fanout constraints described in the documentation. The caller must have resourcemanager.folders.move permission on the folder's current and proposed new parent.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IMoveFolderRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IMoveFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the Folder to move.
   *  Must be of the form folders/{folder_id}
   */
  // const name = 'abc123'
  /**
   *  Required. The resource name of the folder or organization which should be the
   *  folder's new parent.
   *  Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
   */
  // const destinationParent = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callMoveFolder() {
    // Construct request
    const request = {
      name,
      destinationParent,
    };

    // Run request
    const [operation] = await resourcemanagerClient.moveFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callMoveFolder();

moveFolder(request, options, callback)

moveFolder(request: protos.google.cloud.resourcemanager.v3.IMoveFolderRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IMoveFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IMoveFolderRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IMoveFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

moveFolder(request, callback)

moveFolder(request: protos.google.cloud.resourcemanager.v3.IMoveFolderRequest, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IMoveFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IMoveFolderRequest
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IMoveFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

organizationPath(organization)

organizationPath(organization: string): string;

Return a fully-qualified organization resource name string.

Parameter
NameDescription
organization string
Returns
TypeDescription
string

{string} Resource name string.

projectPath(project)

projectPath(project: string): string;

Return a fully-qualified project resource name string.

Parameter
NameDescription
project string
Returns
TypeDescription
string

{string} Resource name string.

searchFolders(request, options)

searchFolders(request?: protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, options?: CallOptions): Promise<[protos.google.cloud.resourcemanager.v3.IFolder[], protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest | null, protos.google.cloud.resourcemanager.v3.ISearchFoldersResponse]>;

Search for folders that match specific filter criteria. search() provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria.

This will only return folders on which the caller has the permission resourcemanager.folders.get.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.cloud.resourcemanager.v3.IFolder[], protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest | null, protos.google.cloud.resourcemanager.v3.ISearchFoldersResponse]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of [Folder]. The client library will perform auto-pagination by default: it will call the API as many times as needed and will merge results from all the pages into this array. Note that it can affect your quota. We recommend using searchFoldersAsync() 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.

searchFolders(request, options, callback)

searchFolders(request: protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, protos.google.cloud.resourcemanager.v3.ISearchFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, protos.google.cloud.resourcemanager.v3.ISearchFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>
Returns
TypeDescription
void

searchFolders(request, callback)

searchFolders(request: protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, callback: PaginationCallback<protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, protos.google.cloud.resourcemanager.v3.ISearchFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest
callback PaginationCallback<protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, protos.google.cloud.resourcemanager.v3.ISearchFoldersResponse | null | undefined, protos.google.cloud.resourcemanager.v3.IFolder>
Returns
TypeDescription
void

searchFoldersAsync(request, options)

searchFoldersAsync(request?: protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.resourcemanager.v3.IFolder>;

Equivalent to searchFolders, but returns an iterable object.

for-await-of syntax is used with the iterable to get response elements on-demand.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
AsyncIterable<protos.google.cloud.resourcemanager.v3.IFolder>

{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 [Folder]. 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.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Optional. The maximum number of folders to return in the response.
   *  If unspecified, server picks an appropriate default.
   */
  // const pageSize = 1234
  /**
   *  Optional. A pagination token returned from a previous call to `SearchFolders`
   *  that indicates from where search should continue.
   */
  // const pageToken = 'abc123'
  /**
   *  Optional. Search criteria used to select the folders to return.
   *  If no search criteria is specified then all accessible folders will be
   *  returned.
   *  Query expressions can be used to restrict results based upon displayName,
   *  state and parent, where the operators `=` (`:`) `NOT`, `AND` and `OR`
   *  can be used along with the suffix wildcard symbol `*`.
   *  The `displayName` field in a query expression should use escaped quotes
   *  for values that include whitespace to prevent unexpected behavior.
   *  ```
   *  | Field                   | Description                            |
   *  |-------------------------|----------------------------------------|
   *  | displayName             | Filters by displayName.                |
   *  | parent                  | Filters by parent (for example: folders/123). |
   *  | state, lifecycleState   | Filters by state.                      |
   *  ```
   *  Some example queries are:
   *  * Query `displayName=Test*` returns Folder resources whose display name
   *  starts with "Test".
   *  * Query `state=ACTIVE` returns Folder resources with
   *  `state` set to `ACTIVE`.
   *  * Query `parent=folders/123` returns Folder resources that have
   *  `folders/123` as a parent resource.
   *  * Query `parent=folders/123 AND state=ACTIVE` returns active
   *  Folder resources that have `folders/123` as a parent resource.
   *  * Query `displayName=\\"Test String\\"` returns Folder resources with
   *  display names that include both "Test" and "String".
   */
  // const query = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callSearchFolders() {
    // Construct request
    const request = {};

    // Run request
    const iterable = await resourcemanagerClient.searchFoldersAsync(request);
    for await (const response of iterable) {
      console.log(response);
    }
  }

  callSearchFolders();

searchFoldersStream(request, options)

searchFoldersStream(request?: protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest, options?: CallOptions): Transform;

Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.ISearchFoldersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Transform

{Stream} An object stream which emits an object representing [Folder] 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 searchFoldersAsync() 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.

setIamPolicy(request, options)

setIamPolicy(request?: protos.google.iam.v1.ISetIamPolicyRequest, options?: CallOptions): Promise<[protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | undefined, {} | undefined]>;

Sets the access control policy on a folder, replacing any existing policy. The resource field should be the folder's resource name, for example: "folders/1234". The caller must have resourcemanager.folders.setIamPolicy permission on the identified folder.

Parameters
NameDescription
request protos.google.iam.v1.ISetIamPolicyRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [Policy]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  REQUIRED: The resource for which the policy is being specified.
   *  See the operation documentation for the appropriate value for this field.
   */
  // const resource = 'abc123'
  /**
   *  REQUIRED: The complete policy to be applied to the `resource`. The size of
   *  the policy is limited to a few 10s of KB. An empty policy is a
   *  valid policy but certain Cloud Platform services (such as Projects)
   *  might reject them.
   */
  // const policy = {}

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callSetIamPolicy() {
    // Construct request
    const request = {
      resource,
      policy,
    };

    // Run request
    const response = await resourcemanagerClient.setIamPolicy(request);
    console.log(response);
  }

  callSetIamPolicy();

setIamPolicy(request, options, callback)

setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.iam.v1.ISetIamPolicyRequest
options CallOptions
callback Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

setIamPolicy(request, callback)

setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.iam.v1.ISetIamPolicyRequest
callback Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

tagBindingPath(tagBinding)

tagBindingPath(tagBinding: string): string;

Return a fully-qualified tagBinding resource name string.

Parameter
NameDescription
tagBinding string
Returns
TypeDescription
string

{string} Resource name string.

tagKeyPath(tagKey)

tagKeyPath(tagKey: string): string;

Return a fully-qualified tagKey resource name string.

Parameter
NameDescription
tagKey string
Returns
TypeDescription
string

{string} Resource name string.

tagValuePath(tagValue)

tagValuePath(tagValue: string): string;

Return a fully-qualified tagValue resource name string.

Parameter
NameDescription
tagValue string
Returns
TypeDescription
string

{string} Resource name string.

testIamPermissions(request, options)

testIamPermissions(request?: protos.google.iam.v1.ITestIamPermissionsRequest, options?: CallOptions): Promise<[protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | undefined, {} | undefined]>;

Returns permissions that a caller has on the specified folder. The resource field should be the folder's resource name, for example: "folders/1234".

There are no permissions required for making this API call.

Parameters
NameDescription
request protos.google.iam.v1.ITestIamPermissionsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [TestIamPermissionsResponse]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  REQUIRED: The resource for which the policy detail is being requested.
   *  See the operation documentation for the appropriate value for this field.
   */
  // const resource = 'abc123'
  /**
   *  The set of permissions to check for the `resource`. Permissions with
   *  wildcards (such as '*' or 'storage.*') are not allowed. For more
   *  information see
   *  IAM Overview (https://cloud.google.com/iam/docs/overview#permissions).
   */
  // const permissions = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callTestIamPermissions() {
    // Construct request
    const request = {
      resource,
      permissions,
    };

    // Run request
    const response = await resourcemanagerClient.testIamPermissions(request);
    console.log(response);
  }

  callTestIamPermissions();

testIamPermissions(request, options, callback)

testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.iam.v1.ITestIamPermissionsRequest
options CallOptions
callback Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

testIamPermissions(request, callback)

testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.iam.v1.ITestIamPermissionsRequest
callback Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

undeleteFolder(request, options)

undeleteFolder(request?: protos.google.cloud.resourcemanager.v3.IUndeleteFolderRequest, options?: CallOptions): Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUndeleteFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>;

Cancels the deletion request for a folder. This method may be called on a folder in any state. If the folder is in the state the result will be a no-op success. In order to succeed, the folder's parent must be in the state. In addition, reintroducing the folder into the tree must not violate folder naming, height, and fanout constraints described in the documentation. The caller must have resourcemanager.folders.undelete permission on the identified folder.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IUndeleteFolderRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUndeleteFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the folder to undelete.
   *  Must be of the form `folders/{folder_id}`.
   */
  // const name = 'abc123'

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callUndeleteFolder() {
    // Construct request
    const request = {
      name,
    };

    // Run request
    const [operation] = await resourcemanagerClient.undeleteFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callUndeleteFolder();

undeleteFolder(request, options, callback)

undeleteFolder(request: protos.google.cloud.resourcemanager.v3.IUndeleteFolderRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUndeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IUndeleteFolderRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUndeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

undeleteFolder(request, callback)

undeleteFolder(request: protos.google.cloud.resourcemanager.v3.IUndeleteFolderRequest, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUndeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IUndeleteFolderRequest
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUndeleteFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

updateFolder(request, options)

updateFolder(request?: protos.google.cloud.resourcemanager.v3.IUpdateFolderRequest, options?: CallOptions): Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUpdateFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>;

Updates a folder, changing its display_name. Changes to the folder display_name will be rejected if they violate either the display_name formatting rules or the naming constraints described in the documentation.

The folder's display_name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be between 3 and 30 characters. This is captured by the regular expression: {@link \p{L}\p{N}_- |\p{L}\p{N}}{1,28}[\p{L}\p{N}]. The caller must have resourcemanager.folders.update permission on the identified folder.

If the update fails due to the unique name constraint then a PreconditionFailure explaining this violation will be returned in the Status.details field.

Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IUpdateFolderRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUpdateFolderMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The new definition of the Folder. It must include the `name` field, which
   *  cannot be changed.
   */
  // const folder = {}
  /**
   *  Required. Fields to be updated.
   *  Only the `display_name` can be updated.
   */
  // const updateMask = {}

  // Imports the Resourcemanager library
  const {FoldersClient} = require('@google-cloud/resource-manager').v3;

  // Instantiates a client
  const resourcemanagerClient = new FoldersClient();

  async function callUpdateFolder() {
    // Construct request
    const request = {
      folder,
      updateMask,
    };

    // Run request
    const [operation] = await resourcemanagerClient.updateFolder(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callUpdateFolder();

updateFolder(request, options, callback)

updateFolder(request: protos.google.cloud.resourcemanager.v3.IUpdateFolderRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUpdateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IUpdateFolderRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUpdateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

updateFolder(request, callback)

updateFolder(request: protos.google.cloud.resourcemanager.v3.IUpdateFolderRequest, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUpdateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.resourcemanager.v3.IUpdateFolderRequest
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.IFolder, protos.google.cloud.resourcemanager.v3.IUpdateFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void