Class v3.TagBindingsClient

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)

constructor(opts?: ClientOptions);

Construct an instance of TagBindingsClient.

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;

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
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
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

  /**
   * 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
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
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

  /**
   * 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
TypeDescription
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
NameDescription
request protos.google.cloud.resourcemanager.v3.ICreateTagBindingRequest

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

  /**
   * 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
NameDescription
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
TypeDescription
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
NameDescription
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
TypeDescription
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
NameDescription
request protos.google.cloud.resourcemanager.v3.IDeleteTagBindingRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
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

  /**
   * 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
NameDescription
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
TypeDescription
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
NameDescription
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
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.

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.

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
NameDescription
request protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
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 [TagBinding]. 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
NameDescription
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
TypeDescription
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
NameDescription
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
TypeDescription
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
NameDescription
request protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
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 [TagBinding]. 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 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
NameDescription
request protos.google.cloud.resourcemanager.v3.IListTagBindingsRequest

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 [TagBinding] 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
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.

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.

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.