Class PolicyTagManagerSerializationClient (1.8.2)

public class PolicyTagManagerSerializationClient implements BackgroundResource

Service Description: Policy Tag Manager Serialization API service allows you to manipulate your policy tags and taxonomies in a serialized format.

Taxonomy is a hierarchical group of policy tags.

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:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create()) {
   ReplaceTaxonomyRequest request =
       ReplaceTaxonomyRequest.newBuilder()
           .setName(TaxonomyName.of("[PROJECT]", "[LOCATION]", "[TAXONOMY]").toString())
           .setSerializedTaxonomy(SerializedTaxonomy.newBuilder().build())
           .build();
   Taxonomy response = policyTagManagerSerializationClient.replaceTaxonomy(request);
 }
 

Note: close() needs to be called on the PolicyTagManagerSerializationClient 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 PolicyTagManagerSerializationSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 PolicyTagManagerSerializationSettings policyTagManagerSerializationSettings =
     PolicyTagManagerSerializationSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create(policyTagManagerSerializationSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 PolicyTagManagerSerializationSettings policyTagManagerSerializationSettings =
     PolicyTagManagerSerializationSettings.newBuilder().setEndpoint(myEndpoint).build();
 PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create(policyTagManagerSerializationSettings);
 

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

Inheritance

java.lang.Object > PolicyTagManagerSerializationClient

Implements

BackgroundResource

Static Methods

create()

public static final PolicyTagManagerSerializationClient create()

Constructs an instance of PolicyTagManagerSerializationClient with default settings.

Returns
TypeDescription
PolicyTagManagerSerializationClient
Exceptions
TypeDescription
IOException

create(PolicyTagManagerSerializationSettings settings)

public static final PolicyTagManagerSerializationClient create(PolicyTagManagerSerializationSettings settings)

Constructs an instance of PolicyTagManagerSerializationClient, 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
settingsPolicyTagManagerSerializationSettings
Returns
TypeDescription
PolicyTagManagerSerializationClient
Exceptions
TypeDescription
IOException

create(PolicyTagManagerSerializationStub stub)

public static final PolicyTagManagerSerializationClient create(PolicyTagManagerSerializationStub stub)

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

Parameter
NameDescription
stubPolicyTagManagerSerializationStub
Returns
TypeDescription
PolicyTagManagerSerializationClient

Constructors

PolicyTagManagerSerializationClient(PolicyTagManagerSerializationSettings settings)

protected PolicyTagManagerSerializationClient(PolicyTagManagerSerializationSettings settings)

Constructs an instance of PolicyTagManagerSerializationClient, 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
settingsPolicyTagManagerSerializationSettings

PolicyTagManagerSerializationClient(PolicyTagManagerSerializationStub stub)

protected PolicyTagManagerSerializationClient(PolicyTagManagerSerializationStub stub)
Parameter
NameDescription
stubPolicyTagManagerSerializationStub

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()

exportTaxonomies(ExportTaxonomiesRequest request)

public final ExportTaxonomiesResponse exportTaxonomies(ExportTaxonomiesRequest request)

Exports taxonomies in the requested type and returns them, including their policy tags. The requested taxonomies must belong to the same project.

This method generates SerializedTaxonomy protocol buffers with nested policy tags that can be used as input for ImportTaxonomies calls.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create()) {
   ExportTaxonomiesRequest request =
       ExportTaxonomiesRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .addAllTaxonomies(new ArrayList<String>())
           .build();
   ExportTaxonomiesResponse response =
       policyTagManagerSerializationClient.exportTaxonomies(request);
 }
 
Parameter
NameDescription
requestExportTaxonomiesRequest

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

Returns
TypeDescription
ExportTaxonomiesResponse

exportTaxonomiesCallable()

public final UnaryCallable<ExportTaxonomiesRequest,ExportTaxonomiesResponse> exportTaxonomiesCallable()

Exports taxonomies in the requested type and returns them, including their policy tags. The requested taxonomies must belong to the same project.

This method generates SerializedTaxonomy protocol buffers with nested policy tags that can be used as input for ImportTaxonomies calls.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create()) {
   ExportTaxonomiesRequest request =
       ExportTaxonomiesRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .addAllTaxonomies(new ArrayList<String>())
           .build();
   ApiFuture<ExportTaxonomiesResponse> future =
       policyTagManagerSerializationClient.exportTaxonomiesCallable().futureCall(request);
   // Do something.
   ExportTaxonomiesResponse response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<ExportTaxonomiesRequest,ExportTaxonomiesResponse>

getSettings()

public final PolicyTagManagerSerializationSettings getSettings()
Returns
TypeDescription
PolicyTagManagerSerializationSettings

getStub()

public PolicyTagManagerSerializationStub getStub()
Returns
TypeDescription
PolicyTagManagerSerializationStub

importTaxonomies(ImportTaxonomiesRequest request)

public final ImportTaxonomiesResponse importTaxonomies(ImportTaxonomiesRequest request)

Creates new taxonomies (including their policy tags) in a given project by importing from inlined or cross-regional sources.

For a cross-regional source, new taxonomies are created by copying from a source in another region.

For an inlined source, taxonomies and policy tags are created in bulk using nested protocol buffer structures.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create()) {
   ImportTaxonomiesRequest request =
       ImportTaxonomiesRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .build();
   ImportTaxonomiesResponse response =
       policyTagManagerSerializationClient.importTaxonomies(request);
 }
 
Parameter
NameDescription
requestImportTaxonomiesRequest

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

Returns
TypeDescription
ImportTaxonomiesResponse

importTaxonomiesCallable()

public final UnaryCallable<ImportTaxonomiesRequest,ImportTaxonomiesResponse> importTaxonomiesCallable()

Creates new taxonomies (including their policy tags) in a given project by importing from inlined or cross-regional sources.

For a cross-regional source, new taxonomies are created by copying from a source in another region.

For an inlined source, taxonomies and policy tags are created in bulk using nested protocol buffer structures.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create()) {
   ImportTaxonomiesRequest request =
       ImportTaxonomiesRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .build();
   ApiFuture<ImportTaxonomiesResponse> future =
       policyTagManagerSerializationClient.importTaxonomiesCallable().futureCall(request);
   // Do something.
   ImportTaxonomiesResponse response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<ImportTaxonomiesRequest,ImportTaxonomiesResponse>

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

replaceTaxonomy(ReplaceTaxonomyRequest request)

public final Taxonomy replaceTaxonomy(ReplaceTaxonomyRequest request)

Replaces (updates) a taxonomy and all its policy tags.

The taxonomy and its entire hierarchy of policy tags must be represented literally by SerializedTaxonomy and the nested SerializedPolicyTag messages.

This operation automatically does the following:

- Deletes the existing policy tags that are missing from the SerializedPolicyTag. - Creates policy tags that don't have resource names. They are considered new. - Updates policy tags with valid resources names accordingly.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create()) {
   ReplaceTaxonomyRequest request =
       ReplaceTaxonomyRequest.newBuilder()
           .setName(TaxonomyName.of("[PROJECT]", "[LOCATION]", "[TAXONOMY]").toString())
           .setSerializedTaxonomy(SerializedTaxonomy.newBuilder().build())
           .build();
   Taxonomy response = policyTagManagerSerializationClient.replaceTaxonomy(request);
 }
 
Parameter
NameDescription
requestReplaceTaxonomyRequest

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

Returns
TypeDescription
Taxonomy

replaceTaxonomyCallable()

public final UnaryCallable<ReplaceTaxonomyRequest,Taxonomy> replaceTaxonomyCallable()

Replaces (updates) a taxonomy and all its policy tags.

The taxonomy and its entire hierarchy of policy tags must be represented literally by SerializedTaxonomy and the nested SerializedPolicyTag messages.

This operation automatically does the following:

- Deletes the existing policy tags that are missing from the SerializedPolicyTag. - Creates policy tags that don't have resource names. They are considered new. - Updates policy tags with valid resources names accordingly.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (PolicyTagManagerSerializationClient policyTagManagerSerializationClient =
     PolicyTagManagerSerializationClient.create()) {
   ReplaceTaxonomyRequest request =
       ReplaceTaxonomyRequest.newBuilder()
           .setName(TaxonomyName.of("[PROJECT]", "[LOCATION]", "[TAXONOMY]").toString())
           .setSerializedTaxonomy(SerializedTaxonomy.newBuilder().build())
           .build();
   ApiFuture<Taxonomy> future =
       policyTagManagerSerializationClient.replaceTaxonomyCallable().futureCall(request);
   // Do something.
   Taxonomy response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<ReplaceTaxonomyRequest,Taxonomy>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()