Class v3.TagBindingsClient (4.2.1)

Allow users to create and manage TagBindings between TagValues and different cloud resources throughout the GCP resource hierarchy. v3

Package

@google-cloud/resource-manager

Constructors

(constructor)(opts, gaxInstance)

constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);

Construct an instance of TagBindingsClient.

Parameters
Name Description
opts ClientOptions
gaxInstance typeof gax | typeof gax.fallback

: loaded instance of google-gax. Useful if you need to avoid loading the default gRPC version and want to use the fallback HTTP implementation. Load only fallback version and pass it to the constructor: ``` const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC const client = new TagBindingsClient({fallback: 'rest'}, gax); ```

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;

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.

tagBindingsStub

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

warn

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

Methods

checkCreateTagBindingProgress(name)

checkCreateTagBindingProgress(name: string): Promise<LROperation<protos.google.cloud.resourcemanager.v3.TagBinding, protos.google.cloud.resourcemanager.v3.CreateTagBindingMetadata>>;

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

Parameter
Name Description
name string

The operation name that will be passed.

Returns
Type Description
Promise<LROperation<protos.google.cloud.resourcemanager.v3.TagBinding, protos.google.cloud.resourcemanager.v3.CreateTagBindingMetadata>>

{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

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The TagBinding to be created.
   */
  // const tagBinding = {}
  /**
   *  Optional. Set to true to perform the validations necessary for creating the resource,
   *  but not actually perform the action.
   */
  // const validateOnly = true

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

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

  async function callCreateTagBinding() {
    // Construct request
    const request = {
      tagBinding,
    };

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

  callCreateTagBinding();

checkDeleteTagBindingProgress(name)

checkDeleteTagBindingProgress(name: string): Promise<LROperation<protos.google.protobuf.Empty, protos.google.cloud.resourcemanager.v3.DeleteTagBindingMetadata>>;

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

Parameter
Name Description
name string

The operation name that will be passed.

Returns
Type Description
Promise<LROperation<protos.google.protobuf.Empty, protos.google.cloud.resourcemanager.v3.DeleteTagBindingMetadata>>

{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

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The name of the TagBinding. This is a String of the form:
   *  `tagBindings/{id}` (e.g.
   *  `tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F123/tagValues/456`).
   */
  // const name = 'abc123'

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

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

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

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

  callDeleteTagBinding();

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
Type Description
Promise<void>

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

createTagBinding(request, options)

createTagBinding(request?: protos.google.cloud.resourcemanager.v3.ICreateTagBindingRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.resourcemanager.v3.ITagBinding, protos.google.cloud.resourcemanager.v3.ICreateTagBindingMetadata>,
        protos.google.longrunning.IOperation | undefined,
        {} | undefined
    ]>;

Creates a TagBinding between a TagValue and a cloud resource (currently project, folder, or organization).

Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.ICreateTagBindingRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
Type Description
Promise<[ LROperation<protos.google.cloud.resourcemanager.v3.ITagBinding, protos.google.cloud.resourcemanager.v3.ICreateTagBindingMetadata>, 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

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The TagBinding to be created.
   */
  // const tagBinding = {}
  /**
   *  Optional. Set to true to perform the validations necessary for creating the resource,
   *  but not actually perform the action.
   */
  // const validateOnly = true

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

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

  async function callCreateTagBinding() {
    // Construct request
    const request = {
      tagBinding,
    };

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

  callCreateTagBinding();

createTagBinding(request, options, callback)

createTagBinding(request: protos.google.cloud.resourcemanager.v3.ICreateTagBindingRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.ITagBinding, protos.google.cloud.resourcemanager.v3.ICreateTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.ICreateTagBindingRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.ITagBinding, protos.google.cloud.resourcemanager.v3.ICreateTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
Type Description
void

createTagBinding(request, callback)

createTagBinding(request: protos.google.cloud.resourcemanager.v3.ICreateTagBindingRequest, callback: Callback<LROperation<protos.google.cloud.resourcemanager.v3.ITagBinding, protos.google.cloud.resourcemanager.v3.ICreateTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.ICreateTagBindingRequest
callback Callback<LROperation<protos.google.cloud.resourcemanager.v3.ITagBinding, protos.google.cloud.resourcemanager.v3.ICreateTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
Type Description
void

deleteTagBinding(request, options)

deleteTagBinding(request?: protos.google.cloud.resourcemanager.v3.IDeleteTagBindingRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.protobuf.IEmpty, protos.google.cloud.resourcemanager.v3.IDeleteTagBindingMetadata>,
        protos.google.longrunning.IOperation | undefined,
        {} | undefined
    ]>;

Deletes a TagBinding.

Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.IDeleteTagBindingRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
Type Description
Promise<[ LROperation<protos.google.protobuf.IEmpty, protos.google.cloud.resourcemanager.v3.IDeleteTagBindingMetadata>, 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

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The name of the TagBinding. This is a String of the form:
   *  `tagBindings/{id}` (e.g.
   *  `tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F123/tagValues/456`).
   */
  // const name = 'abc123'

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

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

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

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

  callDeleteTagBinding();

deleteTagBinding(request, options, callback)

deleteTagBinding(request: protos.google.cloud.resourcemanager.v3.IDeleteTagBindingRequest, options: CallOptions, callback: Callback<LROperation<protos.google.protobuf.IEmpty, protos.google.cloud.resourcemanager.v3.IDeleteTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.IDeleteTagBindingRequest
options CallOptions
callback Callback<LROperation<protos.google.protobuf.IEmpty, protos.google.cloud.resourcemanager.v3.IDeleteTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
Type Description
void

deleteTagBinding(request, callback)

deleteTagBinding(request: protos.google.cloud.resourcemanager.v3.IDeleteTagBindingRequest, callback: Callback<LROperation<protos.google.protobuf.IEmpty, protos.google.cloud.resourcemanager.v3.IDeleteTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.IDeleteTagBindingRequest
callback Callback<LROperation<protos.google.protobuf.IEmpty, protos.google.cloud.resourcemanager.v3.IDeleteTagBindingMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
Type Description
void

folderPath(folder)

folderPath(folder: string): string;

Return a fully-qualified folder resource name string.

Parameter
Name Description
folder string
Returns
Type Description
string

{string} Resource name string.

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

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

listTagBindings(request, options)

listTagBindings(request?: protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.resourcemanager.v3.ITagBinding[],
        protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest | null,
        protos.google.cloud.resourcemanager.v3.IListTagBindingsResponse
    ]>;

Lists the TagBindings for the given cloud resource, as specified with parent.

NOTE: The parent field is expected to be a full resource name: https://cloud.google.com/apis/design/resource_names#full_resource_name

Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
Type Description
Promise<[ protos.google.cloud.resourcemanager.v3.ITagBinding[], protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest | null, protos.google.cloud.resourcemanager.v3.IListTagBindingsResponse ]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of . 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 listTagBindingsAsync() 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.

listTagBindings(request, options, callback)

listTagBindings(request: protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, protos.google.cloud.resourcemanager.v3.IListTagBindingsResponse | null | undefined, protos.google.cloud.resourcemanager.v3.ITagBinding>): void;
Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, protos.google.cloud.resourcemanager.v3.IListTagBindingsResponse | null | undefined, protos.google.cloud.resourcemanager.v3.ITagBinding>
Returns
Type Description
void

listTagBindings(request, callback)

listTagBindings(request: protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, callback: PaginationCallback<protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, protos.google.cloud.resourcemanager.v3.IListTagBindingsResponse | null | undefined, protos.google.cloud.resourcemanager.v3.ITagBinding>): void;
Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest
callback PaginationCallback<protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, protos.google.cloud.resourcemanager.v3.IListTagBindingsResponse | null | undefined, protos.google.cloud.resourcemanager.v3.ITagBinding>
Returns
Type Description
void

listTagBindingsAsync(request, options)

listTagBindingsAsync(request?: protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.resourcemanager.v3.ITagBinding>;

Equivalent to listTagBindings, 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.resourcemanager.v3.IListTagBindingsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
Type Description
AsyncIterable<protos.google.cloud.resourcemanager.v3.ITagBinding>

{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 . 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

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The full resource name of a resource for which you want to list existing
   *  TagBindings.
   *  E.g. "//cloudresourcemanager.googleapis.com/projects/123"
   */
  // const parent = 'abc123'
  /**
   *  Optional. The maximum number of TagBindings to return in the response. The server
   *  allows a maximum of 300 TagBindings to return. If unspecified, the server
   *  will use 100 as the default.
   */
  // const pageSize = 1234
  /**
   *  Optional. A pagination token returned from a previous call to `ListTagBindings`
   *  that indicates where this listing should continue from.
   */
  // const pageToken = 'abc123'

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

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

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

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

  callListTagBindings();

listTagBindingsStream(request, options)

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

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

Parameters
Name Description
request protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest

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 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 listTagBindingsAsync() 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
Name Description
folderName string

A fully-qualified path representing Folder resource.

Returns
Type Description
string | number

{string} A string representing the folder.

matchOrganizationFromOrganizationName(organizationName)

matchOrganizationFromOrganizationName(organizationName: string): string | number;

Parse the organization from Organization resource.

Parameter
Name Description
organizationName string

A fully-qualified path representing Organization resource.

Returns
Type Description
string | number

{string} A string representing the organization.

matchProjectFromProjectName(projectName)

matchProjectFromProjectName(projectName: string): string | number;

Parse the project from Project resource.

Parameter
Name Description
projectName string

A fully-qualified path representing Project resource.

Returns
Type Description
string | number

{string} A string representing the project.

matchTagBindingFromTagBindingName(tagBindingName)

matchTagBindingFromTagBindingName(tagBindingName: string): string | number;

Parse the tag_binding from TagBinding resource.

Parameter
Name Description
tagBindingName string

A fully-qualified path representing TagBinding resource.

Returns
Type Description
string | number

{string} A string representing the tag_binding.

matchTagKeyFromTagKeyName(tagKeyName)

matchTagKeyFromTagKeyName(tagKeyName: string): string | number;

Parse the tag_key from TagKey resource.

Parameter
Name Description
tagKeyName string

A fully-qualified path representing TagKey resource.

Returns
Type Description
string | number

{string} A string representing the tag_key.

matchTagValueFromTagValueName(tagValueName)

matchTagValueFromTagValueName(tagValueName: string): string | number;

Parse the tag_value from TagValue resource.

Parameter
Name Description
tagValueName string

A fully-qualified path representing TagValue resource.

Returns
Type Description
string | number

{string} A string representing the tag_value.

organizationPath(organization)

organizationPath(organization: string): string;

Return a fully-qualified organization resource name string.

Parameter
Name Description
organization string
Returns
Type Description
string

{string} Resource name string.

projectPath(project)

projectPath(project: string): string;

Return a fully-qualified project resource name string.

Parameter
Name Description
project string
Returns
Type Description
string

{string} Resource name string.

tagBindingPath(tagBinding)

tagBindingPath(tagBinding: string): string;

Return a fully-qualified tagBinding resource name string.

Parameter
Name Description
tagBinding string
Returns
Type Description
string

{string} Resource name string.

tagKeyPath(tagKey)

tagKeyPath(tagKey: string): string;

Return a fully-qualified tagKey resource name string.

Parameter
Name Description
tagKey string
Returns
Type Description
string

{string} Resource name string.

tagValuePath(tagValue)

tagValuePath(tagValue: string): string;

Return a fully-qualified tagValue resource name string.

Parameter
Name Description
tagValue string
Returns
Type Description
string

{string} Resource name string.