Class TagKeysClient (1.2.12)

public class TagKeysClient implements BackgroundResource

Service Description: Allow users to create and manage tag keys.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   TagKeyName name = TagKeyName.of("[TAG_KEY]");
   TagKey response = tagKeysClient.getTagKey(name);
 }
 

Note: close() needs to be called on the TagKeysClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of TagKeysSettings to create(). For example:

To customize credentials:


 TagKeysSettings tagKeysSettings =
     TagKeysSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 TagKeysClient tagKeysClient = TagKeysClient.create(tagKeysSettings);
 

To customize the endpoint:


 TagKeysSettings tagKeysSettings = TagKeysSettings.newBuilder().setEndpoint(myEndpoint).build();
 TagKeysClient tagKeysClient = TagKeysClient.create(tagKeysSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > TagKeysClient

Implements

BackgroundResource

Static Methods

create()

public static final TagKeysClient create()

Constructs an instance of TagKeysClient with default settings.

Returns
TypeDescription
TagKeysClient
Exceptions
TypeDescription
IOException

create(TagKeysSettings settings)

public static final TagKeysClient create(TagKeysSettings settings)

Constructs an instance of TagKeysClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsTagKeysSettings
Returns
TypeDescription
TagKeysClient
Exceptions
TypeDescription
IOException

create(TagKeysStub stub)

public static final TagKeysClient create(TagKeysStub stub)

Constructs an instance of TagKeysClient, using the given stub for making calls. This is for advanced usage - prefer using create(TagKeysSettings).

Parameter
NameDescription
stubTagKeysStub
Returns
TypeDescription
TagKeysClient

Constructors

TagKeysClient(TagKeysSettings settings)

protected TagKeysClient(TagKeysSettings settings)

Constructs an instance of TagKeysClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsTagKeysSettings

TagKeysClient(TagKeysStub stub)

protected TagKeysClient(TagKeysStub stub)
Parameter
NameDescription
stubTagKeysStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

createTagKeyAsync(CreateTagKeyRequest request)

public final OperationFuture<TagKey,CreateTagKeyMetadata> createTagKeyAsync(CreateTagKeyRequest request)

Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 300 TagKeys can exist under a parent at any given time.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   CreateTagKeyRequest request =
       CreateTagKeyRequest.newBuilder()
           .setTagKey(TagKey.newBuilder().build())
           .setValidateOnly(true)
           .build();
   TagKey response = tagKeysClient.createTagKeyAsync(request).get();
 }
 
Parameter
NameDescription
requestCreateTagKeyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<TagKey,CreateTagKeyMetadata>

createTagKeyAsync(TagKey tagKey)

public final OperationFuture<TagKey,CreateTagKeyMetadata> createTagKeyAsync(TagKey tagKey)

Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 300 TagKeys can exist under a parent at any given time.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   TagKey tagKey = TagKey.newBuilder().build();
   TagKey response = tagKeysClient.createTagKeyAsync(tagKey).get();
 }
 
Parameter
NameDescription
tagKeyTagKey

Required. The TagKey to be created. Only fields short_name, description, and parent are considered during the creation request.

Returns
TypeDescription
OperationFuture<TagKey,CreateTagKeyMetadata>

createTagKeyCallable()

public final UnaryCallable<CreateTagKeyRequest,Operation> createTagKeyCallable()

Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 300 TagKeys can exist under a parent at any given time.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   CreateTagKeyRequest request =
       CreateTagKeyRequest.newBuilder()
           .setTagKey(TagKey.newBuilder().build())
           .setValidateOnly(true)
           .build();
   ApiFuture<Operation> future = tagKeysClient.createTagKeyCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateTagKeyRequest,Operation>

createTagKeyOperationCallable()

public final OperationCallable<CreateTagKeyRequest,TagKey,CreateTagKeyMetadata> createTagKeyOperationCallable()

Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 300 TagKeys can exist under a parent at any given time.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   CreateTagKeyRequest request =
       CreateTagKeyRequest.newBuilder()
           .setTagKey(TagKey.newBuilder().build())
           .setValidateOnly(true)
           .build();
   OperationFuture<TagKey, CreateTagKeyMetadata> future =
       tagKeysClient.createTagKeyOperationCallable().futureCall(request);
   // Do something.
   TagKey response = future.get();
 }
 
Returns
TypeDescription
OperationCallable<CreateTagKeyRequest,TagKey,CreateTagKeyMetadata>

deleteTagKeyAsync(DeleteTagKeyRequest request)

public final OperationFuture<TagKey,DeleteTagKeyMetadata> deleteTagKeyAsync(DeleteTagKeyRequest request)

Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   DeleteTagKeyRequest request =
       DeleteTagKeyRequest.newBuilder()
           .setName(TagKeyName.of("[TAG_KEY]").toString())
           .setValidateOnly(true)
           .setEtag("etag3123477")
           .build();
   TagKey response = tagKeysClient.deleteTagKeyAsync(request).get();
 }
 
Parameter
NameDescription
requestDeleteTagKeyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<TagKey,DeleteTagKeyMetadata>

deleteTagKeyAsync(TagKeyName name)

public final OperationFuture<TagKey,DeleteTagKeyMetadata> deleteTagKeyAsync(TagKeyName name)

Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   TagKeyName name = TagKeyName.of("[TAG_KEY]");
   TagKey response = tagKeysClient.deleteTagKeyAsync(name).get();
 }
 
Parameter
NameDescription
nameTagKeyName

Required. The resource name of a TagKey to be deleted in the format tagKeys/123. The TagKey cannot be a parent of any existing TagValues or it will not be deleted successfully.

Returns
TypeDescription
OperationFuture<TagKey,DeleteTagKeyMetadata>

deleteTagKeyAsync(String name)

public final OperationFuture<TagKey,DeleteTagKeyMetadata> deleteTagKeyAsync(String name)

Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   String name = TagKeyName.of("[TAG_KEY]").toString();
   TagKey response = tagKeysClient.deleteTagKeyAsync(name).get();
 }
 
Parameter
NameDescription
nameString

Required. The resource name of a TagKey to be deleted in the format tagKeys/123. The TagKey cannot be a parent of any existing TagValues or it will not be deleted successfully.

Returns
TypeDescription
OperationFuture<TagKey,DeleteTagKeyMetadata>

deleteTagKeyCallable()

public final UnaryCallable<DeleteTagKeyRequest,Operation> deleteTagKeyCallable()

Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   DeleteTagKeyRequest request =
       DeleteTagKeyRequest.newBuilder()
           .setName(TagKeyName.of("[TAG_KEY]").toString())
           .setValidateOnly(true)
           .setEtag("etag3123477")
           .build();
   ApiFuture<Operation> future = tagKeysClient.deleteTagKeyCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteTagKeyRequest,Operation>

deleteTagKeyOperationCallable()

public final OperationCallable<DeleteTagKeyRequest,TagKey,DeleteTagKeyMetadata> deleteTagKeyOperationCallable()

Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   DeleteTagKeyRequest request =
       DeleteTagKeyRequest.newBuilder()
           .setName(TagKeyName.of("[TAG_KEY]").toString())
           .setValidateOnly(true)
           .setEtag("etag3123477")
           .build();
   OperationFuture<TagKey, DeleteTagKeyMetadata> future =
       tagKeysClient.deleteTagKeyOperationCallable().futureCall(request);
   // Do something.
   TagKey response = future.get();
 }
 
Returns
TypeDescription
OperationCallable<DeleteTagKeyRequest,TagKey,DeleteTagKeyMetadata>

getIamPolicy(ResourceName resource)

public final Policy getIamPolicy(ResourceName resource)

Gets the access control policy for a TagKey. The returned policy may be empty if no such policy or resource exists. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have cloudresourcemanager.googleapis.com/tagKeys.getIamPolicy permission on the specified TagKey.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   ResourceName resource = FolderName.of("[FOLDER]");
   Policy response = tagKeysClient.getIamPolicy(resource);
 }
 
Parameter
NameDescription
resourcecom.google.api.resourcenames.ResourceName

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

Returns
TypeDescription
com.google.iam.v1.Policy

getIamPolicy(GetIamPolicyRequest request)

public final Policy getIamPolicy(GetIamPolicyRequest request)

Gets the access control policy for a TagKey. The returned policy may be empty if no such policy or resource exists. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have cloudresourcemanager.googleapis.com/tagKeys.getIamPolicy permission on the specified TagKey.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   GetIamPolicyRequest request =
       GetIamPolicyRequest.newBuilder()
           .setResource(FolderName.of("[FOLDER]").toString())
           .setOptions(GetPolicyOptions.newBuilder().build())
           .build();
   Policy response = tagKeysClient.getIamPolicy(request);
 }
 
Parameter
NameDescription
requestcom.google.iam.v1.GetIamPolicyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.iam.v1.Policy

getIamPolicy(String resource)

public final Policy getIamPolicy(String resource)

Gets the access control policy for a TagKey. The returned policy may be empty if no such policy or resource exists. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have cloudresourcemanager.googleapis.com/tagKeys.getIamPolicy permission on the specified TagKey.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   String resource = FolderName.of("[FOLDER]").toString();
   Policy response = tagKeysClient.getIamPolicy(resource);
 }
 
Parameter
NameDescription
resourceString

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

Returns
TypeDescription
com.google.iam.v1.Policy

getIamPolicyCallable()

public final UnaryCallable<GetIamPolicyRequest,Policy> getIamPolicyCallable()

Gets the access control policy for a TagKey. The returned policy may be empty if no such policy or resource exists. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have cloudresourcemanager.googleapis.com/tagKeys.getIamPolicy permission on the specified TagKey.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   GetIamPolicyRequest request =
       GetIamPolicyRequest.newBuilder()
           .setResource(FolderName.of("[FOLDER]").toString())
           .setOptions(GetPolicyOptions.newBuilder().build())
           .build();
   ApiFuture<Policy> future = tagKeysClient.getIamPolicyCallable().futureCall(request);
   // Do something.
   Policy response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy>

getOperationsClient()

public final OperationsClient getOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
TypeDescription
OperationsClient

getSettings()

public final TagKeysSettings getSettings()
Returns
TypeDescription
TagKeysSettings

getStub()

public TagKeysStub getStub()
Returns
TypeDescription
TagKeysStub

getTagKey(GetTagKeyRequest request)

public final TagKey getTagKey(GetTagKeyRequest request)

Retrieves a TagKey. This method will return PERMISSION_DENIED if the key does not exist or the user does not have permission to view it.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   GetTagKeyRequest request =
       GetTagKeyRequest.newBuilder().setName(TagKeyName.of("[TAG_KEY]").toString()).build();
   TagKey response = tagKeysClient.getTagKey(request);
 }
 
Parameter
NameDescription
requestGetTagKeyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
TagKey

getTagKey(TagKeyName name)

public final TagKey getTagKey(TagKeyName name)

Retrieves a TagKey. This method will return PERMISSION_DENIED if the key does not exist or the user does not have permission to view it.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   TagKeyName name = TagKeyName.of("[TAG_KEY]");
   TagKey response = tagKeysClient.getTagKey(name);
 }
 
Parameter
NameDescription
nameTagKeyName

Required. A resource name in the format tagKeys/{id}, such as tagKeys/123.

Returns
TypeDescription
TagKey

getTagKey(String name)

public final TagKey getTagKey(String name)

Retrieves a TagKey. This method will return PERMISSION_DENIED if the key does not exist or the user does not have permission to view it.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   String name = TagKeyName.of("[TAG_KEY]").toString();
   TagKey response = tagKeysClient.getTagKey(name);
 }
 
Parameter
NameDescription
nameString

Required. A resource name in the format tagKeys/{id}, such as tagKeys/123.

Returns
TypeDescription
TagKey

getTagKeyCallable()

public final UnaryCallable<GetTagKeyRequest,TagKey> getTagKeyCallable()

Retrieves a TagKey. This method will return PERMISSION_DENIED if the key does not exist or the user does not have permission to view it.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   GetTagKeyRequest request =
       GetTagKeyRequest.newBuilder().setName(TagKeyName.of("[TAG_KEY]").toString()).build();
   ApiFuture<TagKey> future = tagKeysClient.getTagKeyCallable().futureCall(request);
   // Do something.
   TagKey response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetTagKeyRequest,TagKey>

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listTagKeys(ResourceName parent)

public final TagKeysClient.ListTagKeysPagedResponse listTagKeys(ResourceName parent)

Lists all TagKeys for a parent resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   ResourceName parent = FolderName.of("[FOLDER]");
   for (TagKey element : tagKeysClient.listTagKeys(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentcom.google.api.resourcenames.ResourceName

Required. The resource name of the new TagKey's parent. Must be of the form folders/{folder_id} or organizations/{org_id}.

Returns
TypeDescription
TagKeysClient.ListTagKeysPagedResponse

listTagKeys(ListTagKeysRequest request)

public final TagKeysClient.ListTagKeysPagedResponse listTagKeys(ListTagKeysRequest request)

Lists all TagKeys for a parent resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   ListTagKeysRequest request =
       ListTagKeysRequest.newBuilder()
           .setParent(FolderName.of("[FOLDER]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (TagKey element : tagKeysClient.listTagKeys(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListTagKeysRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
TagKeysClient.ListTagKeysPagedResponse

listTagKeys(String parent)

public final TagKeysClient.ListTagKeysPagedResponse listTagKeys(String parent)

Lists all TagKeys for a parent resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   String parent = FolderName.of("[FOLDER]").toString();
   for (TagKey element : tagKeysClient.listTagKeys(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. The resource name of the new TagKey's parent. Must be of the form folders/{folder_id} or organizations/{org_id}.

Returns
TypeDescription
TagKeysClient.ListTagKeysPagedResponse

listTagKeysCallable()

public final UnaryCallable<ListTagKeysRequest,ListTagKeysResponse> listTagKeysCallable()

Lists all TagKeys for a parent resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   ListTagKeysRequest request =
       ListTagKeysRequest.newBuilder()
           .setParent(FolderName.of("[FOLDER]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     ListTagKeysResponse response = tagKeysClient.listTagKeysCallable().call(request);
     for (TagKey element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListTagKeysRequest,ListTagKeysResponse>

listTagKeysPagedCallable()

public final UnaryCallable<ListTagKeysRequest,TagKeysClient.ListTagKeysPagedResponse> listTagKeysPagedCallable()

Lists all TagKeys for a parent resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   ListTagKeysRequest request =
       ListTagKeysRequest.newBuilder()
           .setParent(FolderName.of("[FOLDER]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture<TagKey> future = tagKeysClient.listTagKeysPagedCallable().futureCall(request);
   // Do something.
   for (TagKey element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListTagKeysRequest,ListTagKeysPagedResponse>

setIamPolicy(ResourceName resource, Policy policy)

public final Policy setIamPolicy(ResourceName resource, Policy policy)

Sets the access control policy on a TagKey, replacing any existing policy. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have resourcemanager.tagKeys.setIamPolicy permission on the identified tagValue.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   ResourceName resource = FolderName.of("[FOLDER]");
   Policy policy = Policy.newBuilder().build();
   Policy response = tagKeysClient.setIamPolicy(resource, policy);
 }
 
Parameters
NameDescription
resourcecom.google.api.resourcenames.ResourceName

REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

policycom.google.iam.v1.Policy

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.

Returns
TypeDescription
com.google.iam.v1.Policy

setIamPolicy(SetIamPolicyRequest request)

public final Policy setIamPolicy(SetIamPolicyRequest request)

Sets the access control policy on a TagKey, replacing any existing policy. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have resourcemanager.tagKeys.setIamPolicy permission on the identified tagValue.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   SetIamPolicyRequest request =
       SetIamPolicyRequest.newBuilder()
           .setResource(FolderName.of("[FOLDER]").toString())
           .setPolicy(Policy.newBuilder().build())
           .build();
   Policy response = tagKeysClient.setIamPolicy(request);
 }
 
Parameter
NameDescription
requestcom.google.iam.v1.SetIamPolicyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.iam.v1.Policy

setIamPolicy(String resource, Policy policy)

public final Policy setIamPolicy(String resource, Policy policy)

Sets the access control policy on a TagKey, replacing any existing policy. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have resourcemanager.tagKeys.setIamPolicy permission on the identified tagValue.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   String resource = FolderName.of("[FOLDER]").toString();
   Policy policy = Policy.newBuilder().build();
   Policy response = tagKeysClient.setIamPolicy(resource, policy);
 }
 
Parameters
NameDescription
resourceString

REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

policycom.google.iam.v1.Policy

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.

Returns
TypeDescription
com.google.iam.v1.Policy

setIamPolicyCallable()

public final UnaryCallable<SetIamPolicyRequest,Policy> setIamPolicyCallable()

Sets the access control policy on a TagKey, replacing any existing policy. The resource field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have resourcemanager.tagKeys.setIamPolicy permission on the identified tagValue.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   SetIamPolicyRequest request =
       SetIamPolicyRequest.newBuilder()
           .setResource(FolderName.of("[FOLDER]").toString())
           .setPolicy(Policy.newBuilder().build())
           .build();
   ApiFuture<Policy> future = tagKeysClient.setIamPolicyCallable().futureCall(request);
   // Do something.
   Policy response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

testIamPermissions(ResourceName resource, List<String> permissions)

public final TestIamPermissionsResponse testIamPermissions(ResourceName resource, List<String> permissions)

Returns permissions that a caller has on the specified TagKey. The resource field should be the TagKey's resource name. For example, "tagKeys/1234".

There are no permissions required for making this API call.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   ResourceName resource = FolderName.of("[FOLDER]");
   List<String> permissions = new ArrayList<>();
   TestIamPermissionsResponse response = tagKeysClient.testIamPermissions(resource, permissions);
 }
 
Parameters
NameDescription
resourcecom.google.api.resourcenames.ResourceName

REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

permissionsList<String>

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.

Returns
TypeDescription
com.google.iam.v1.TestIamPermissionsResponse

testIamPermissions(TestIamPermissionsRequest request)

public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request)

Returns permissions that a caller has on the specified TagKey. The resource field should be the TagKey's resource name. For example, "tagKeys/1234".

There are no permissions required for making this API call.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   TestIamPermissionsRequest request =
       TestIamPermissionsRequest.newBuilder()
           .setResource(FolderName.of("[FOLDER]").toString())
           .addAllPermissions(new ArrayList<String>())
           .build();
   TestIamPermissionsResponse response = tagKeysClient.testIamPermissions(request);
 }
 
Parameter
NameDescription
requestcom.google.iam.v1.TestIamPermissionsRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.iam.v1.TestIamPermissionsResponse

testIamPermissions(String resource, List<String> permissions)

public final TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)

Returns permissions that a caller has on the specified TagKey. The resource field should be the TagKey's resource name. For example, "tagKeys/1234".

There are no permissions required for making this API call.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   String resource = FolderName.of("[FOLDER]").toString();
   List<String> permissions = new ArrayList<>();
   TestIamPermissionsResponse response = tagKeysClient.testIamPermissions(resource, permissions);
 }
 
Parameters
NameDescription
resourceString

REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

permissionsList<String>

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.

Returns
TypeDescription
com.google.iam.v1.TestIamPermissionsResponse

testIamPermissionsCallable()

public final UnaryCallable<TestIamPermissionsRequest,TestIamPermissionsResponse> testIamPermissionsCallable()

Returns permissions that a caller has on the specified TagKey. The resource field should be the TagKey's resource name. For example, "tagKeys/1234".

There are no permissions required for making this API call.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   TestIamPermissionsRequest request =
       TestIamPermissionsRequest.newBuilder()
           .setResource(FolderName.of("[FOLDER]").toString())
           .addAllPermissions(new ArrayList<String>())
           .build();
   ApiFuture<TestIamPermissionsResponse> future =
       tagKeysClient.testIamPermissionsCallable().futureCall(request);
   // Do something.
   TestIamPermissionsResponse response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse>

updateTagKeyAsync(TagKey tagKey, FieldMask updateMask)

public final OperationFuture<TagKey,UpdateTagKeyMetadata> updateTagKeyAsync(TagKey tagKey, FieldMask updateMask)

Updates the attributes of the TagKey resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   TagKey tagKey = TagKey.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   TagKey response = tagKeysClient.updateTagKeyAsync(tagKey, updateMask).get();
 }
 
Parameters
NameDescription
tagKeyTagKey

Required. The new definition of the TagKey. Only the description and etag fields can be updated by this request. If the etag field is not empty, it must match the etag field of the existing tag key. Otherwise, FAILED_PRECONDITION will be returned.

updateMaskFieldMask

Fields to be updated. The mask may only contain description or etag. If omitted entirely, both description and etag are assumed to be significant.

Returns
TypeDescription
OperationFuture<TagKey,UpdateTagKeyMetadata>

updateTagKeyAsync(UpdateTagKeyRequest request)

public final OperationFuture<TagKey,UpdateTagKeyMetadata> updateTagKeyAsync(UpdateTagKeyRequest request)

Updates the attributes of the TagKey resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   UpdateTagKeyRequest request =
       UpdateTagKeyRequest.newBuilder()
           .setTagKey(TagKey.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setValidateOnly(true)
           .build();
   TagKey response = tagKeysClient.updateTagKeyAsync(request).get();
 }
 
Parameter
NameDescription
requestUpdateTagKeyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<TagKey,UpdateTagKeyMetadata>

updateTagKeyCallable()

public final UnaryCallable<UpdateTagKeyRequest,Operation> updateTagKeyCallable()

Updates the attributes of the TagKey resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   UpdateTagKeyRequest request =
       UpdateTagKeyRequest.newBuilder()
           .setTagKey(TagKey.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setValidateOnly(true)
           .build();
   ApiFuture<Operation> future = tagKeysClient.updateTagKeyCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateTagKeyRequest,Operation>

updateTagKeyOperationCallable()

public final OperationCallable<UpdateTagKeyRequest,TagKey,UpdateTagKeyMetadata> updateTagKeyOperationCallable()

Updates the attributes of the TagKey resource.

Sample code:


 try (TagKeysClient tagKeysClient = TagKeysClient.create()) {
   UpdateTagKeyRequest request =
       UpdateTagKeyRequest.newBuilder()
           .setTagKey(TagKey.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setValidateOnly(true)
           .build();
   OperationFuture<TagKey, UpdateTagKeyMetadata> future =
       tagKeysClient.updateTagKeyOperationCallable().futureCall(request);
   // Do something.
   TagKey response = future.get();
 }
 
Returns
TypeDescription
OperationCallable<UpdateTagKeyRequest,TagKey,UpdateTagKeyMetadata>