Class ControlServiceClient (2.3.0)

public class ControlServiceClient implements BackgroundResource

Service Description: Service for modifying Control.

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 (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   CatalogName parent = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]");
   Control control = Control.newBuilder().build();
   String controlId = "controlId-395080872";
   Control response = controlServiceClient.createControl(parent, control, controlId);
 }
 

Note: close() needs to be called on the ControlServiceClient 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 ControlServiceSettings 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.
 ControlServiceSettings controlServiceSettings =
     ControlServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 ControlServiceClient controlServiceClient = ControlServiceClient.create(controlServiceSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 ControlServiceSettings controlServiceSettings =
     ControlServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 ControlServiceClient controlServiceClient = ControlServiceClient.create(controlServiceSettings);
 

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 ControlServiceSettings controlServiceSettings =
     ControlServiceSettings.newBuilder()
         .setTransportChannelProvider(
             ControlServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
         .build();
 ControlServiceClient controlServiceClient = ControlServiceClient.create(controlServiceSettings);
 

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

Inheritance

java.lang.Object > ControlServiceClient

Implements

BackgroundResource

Static Methods

create()

public static final ControlServiceClient create()

Constructs an instance of ControlServiceClient with default settings.

Returns
TypeDescription
ControlServiceClient
Exceptions
TypeDescription
IOException

create(ControlServiceSettings settings)

public static final ControlServiceClient create(ControlServiceSettings settings)

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

create(ControlServiceStub stub)

public static final ControlServiceClient create(ControlServiceStub stub)

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

Parameter
NameDescription
stubControlServiceStub
Returns
TypeDescription
ControlServiceClient

Constructors

ControlServiceClient(ControlServiceSettings settings)

protected ControlServiceClient(ControlServiceSettings settings)

Constructs an instance of ControlServiceClient, 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
settingsControlServiceSettings

ControlServiceClient(ControlServiceStub stub)

protected ControlServiceClient(ControlServiceStub stub)
Parameter
NameDescription
stubControlServiceStub

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

createControl(CatalogName parent, Control control, String controlId)

public final Control createControl(CatalogName parent, Control control, String controlId)

Creates a Control.

If the Control to create already exists, an ALREADY_EXISTS error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   CatalogName parent = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]");
   Control control = Control.newBuilder().build();
   String controlId = "controlId-395080872";
   Control response = controlServiceClient.createControl(parent, control, controlId);
 }
 
Parameters
NameDescription
parentCatalogName

Required. Full resource name of parent catalog. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}

controlControl

Required. The Control to create.

controlIdString

Required. The ID to use for the Control, which will become the final component of the Control's resource name.

This value should be 4-63 characters, and valid characters are /a-z-_/.

Returns
TypeDescription
Control

createControl(CreateControlRequest request)

public final Control createControl(CreateControlRequest request)

Creates a Control.

If the Control to create already exists, an ALREADY_EXISTS error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   CreateControlRequest request =
       CreateControlRequest.newBuilder()
           .setParent(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
           .setControl(Control.newBuilder().build())
           .setControlId("controlId-395080872")
           .build();
   Control response = controlServiceClient.createControl(request);
 }
 
Parameter
NameDescription
requestCreateControlRequest

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

Returns
TypeDescription
Control

createControl(String parent, Control control, String controlId)

public final Control createControl(String parent, Control control, String controlId)

Creates a Control.

If the Control to create already exists, an ALREADY_EXISTS error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   String parent = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString();
   Control control = Control.newBuilder().build();
   String controlId = "controlId-395080872";
   Control response = controlServiceClient.createControl(parent, control, controlId);
 }
 
Parameters
NameDescription
parentString

Required. Full resource name of parent catalog. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}

controlControl

Required. The Control to create.

controlIdString

Required. The ID to use for the Control, which will become the final component of the Control's resource name.

This value should be 4-63 characters, and valid characters are /a-z-_/.

Returns
TypeDescription
Control

createControlCallable()

public final UnaryCallable<CreateControlRequest,Control> createControlCallable()

Creates a Control.

If the Control to create already exists, an ALREADY_EXISTS error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   CreateControlRequest request =
       CreateControlRequest.newBuilder()
           .setParent(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
           .setControl(Control.newBuilder().build())
           .setControlId("controlId-395080872")
           .build();
   ApiFuture<Control> future = controlServiceClient.createControlCallable().futureCall(request);
   // Do something.
   Control response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateControlRequest,Control>

deleteControl(ControlName name)

public final void deleteControl(ControlName name)

Deletes a Control.

If the Control to delete does not exist, a NOT_FOUND error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   ControlName name = ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]");
   controlServiceClient.deleteControl(name);
 }
 
Parameter
NameDescription
nameControlName

Required. The resource name of the Control to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}

deleteControl(DeleteControlRequest request)

public final void deleteControl(DeleteControlRequest request)

Deletes a Control.

If the Control to delete does not exist, a NOT_FOUND error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   DeleteControlRequest request =
       DeleteControlRequest.newBuilder()
           .setName(
               ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]").toString())
           .build();
   controlServiceClient.deleteControl(request);
 }
 
Parameter
NameDescription
requestDeleteControlRequest

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

deleteControl(String name)

public final void deleteControl(String name)

Deletes a Control.

If the Control to delete does not exist, a NOT_FOUND error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   String name = ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]").toString();
   controlServiceClient.deleteControl(name);
 }
 
Parameter
NameDescription
nameString

Required. The resource name of the Control to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}

deleteControlCallable()

public final UnaryCallable<DeleteControlRequest,Empty> deleteControlCallable()

Deletes a Control.

If the Control to delete does not exist, a NOT_FOUND error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   DeleteControlRequest request =
       DeleteControlRequest.newBuilder()
           .setName(
               ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]").toString())
           .build();
   ApiFuture<Empty> future = controlServiceClient.deleteControlCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteControlRequest,Empty>

getControl(ControlName name)

public final Control getControl(ControlName name)

Gets a Control.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   ControlName name = ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]");
   Control response = controlServiceClient.getControl(name);
 }
 
Parameter
NameDescription
nameControlName

Required. The resource name of the Control to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}

Returns
TypeDescription
Control

getControl(GetControlRequest request)

public final Control getControl(GetControlRequest request)

Gets a Control.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   GetControlRequest request =
       GetControlRequest.newBuilder()
           .setName(
               ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]").toString())
           .build();
   Control response = controlServiceClient.getControl(request);
 }
 
Parameter
NameDescription
requestGetControlRequest

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

Returns
TypeDescription
Control

getControl(String name)

public final Control getControl(String name)

Gets a Control.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   String name = ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]").toString();
   Control response = controlServiceClient.getControl(name);
 }
 
Parameter
NameDescription
nameString

Required. The resource name of the Control to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}

Returns
TypeDescription
Control

getControlCallable()

public final UnaryCallable<GetControlRequest,Control> getControlCallable()

Gets a Control.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   GetControlRequest request =
       GetControlRequest.newBuilder()
           .setName(
               ControlName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[CONTROL]").toString())
           .build();
   ApiFuture<Control> future = controlServiceClient.getControlCallable().futureCall(request);
   // Do something.
   Control response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetControlRequest,Control>

getSettings()

public final ControlServiceSettings getSettings()
Returns
TypeDescription
ControlServiceSettings

getStub()

public ControlServiceStub getStub()
Returns
TypeDescription
ControlServiceStub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listControls(CatalogName parent)

public final ControlServiceClient.ListControlsPagedResponse listControls(CatalogName parent)

Lists all Controls linked to this catalog.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   CatalogName parent = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]");
   for (Control element : controlServiceClient.listControls(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentCatalogName

Required. The catalog resource name. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}

Returns
TypeDescription
ControlServiceClient.ListControlsPagedResponse

listControls(ListControlsRequest request)

public final ControlServiceClient.ListControlsPagedResponse listControls(ListControlsRequest request)

Lists all Controls linked to this catalog.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   ListControlsRequest request =
       ListControlsRequest.newBuilder()
           .setParent(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   for (Control element : controlServiceClient.listControls(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListControlsRequest

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

Returns
TypeDescription
ControlServiceClient.ListControlsPagedResponse

listControls(String parent)

public final ControlServiceClient.ListControlsPagedResponse listControls(String parent)

Lists all Controls linked to this catalog.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   String parent = CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString();
   for (Control element : controlServiceClient.listControls(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. The catalog resource name. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}

Returns
TypeDescription
ControlServiceClient.ListControlsPagedResponse

listControlsCallable()

public final UnaryCallable<ListControlsRequest,ListControlsResponse> listControlsCallable()

Lists all Controls linked to this catalog.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   ListControlsRequest request =
       ListControlsRequest.newBuilder()
           .setParent(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   while (true) {
     ListControlsResponse response = controlServiceClient.listControlsCallable().call(request);
     for (Control element : response.getControlsList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListControlsRequest,ListControlsResponse>

listControlsPagedCallable()

public final UnaryCallable<ListControlsRequest,ControlServiceClient.ListControlsPagedResponse> listControlsPagedCallable()

Lists all Controls linked to this catalog.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   ListControlsRequest request =
       ListControlsRequest.newBuilder()
           .setParent(CatalogName.of("[PROJECT]", "[LOCATION]", "[CATALOG]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .build();
   ApiFuture<Control> future =
       controlServiceClient.listControlsPagedCallable().futureCall(request);
   // Do something.
   for (Control element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListControlsRequest,ListControlsPagedResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateControl(Control control, FieldMask updateMask)

public final Control updateControl(Control control, FieldMask updateMask)

Updates a Control.

Control cannot be set to a different oneof field, if so an INVALID_ARGUMENT is returned. If the Control to delete does not exist, a NOT_FOUND error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   Control control = Control.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   Control response = controlServiceClient.updateControl(control, updateMask);
 }
 
Parameters
NameDescription
controlControl

Required. The Control to update.

updateMaskFieldMask

Indicates which fields in the provided Control to update. The following are NOT supported:

  • Control.name

If not set or empty, all supported fields are updated.

Returns
TypeDescription
Control

updateControl(UpdateControlRequest request)

public final Control updateControl(UpdateControlRequest request)

Updates a Control.

Control cannot be set to a different oneof field, if so an INVALID_ARGUMENT is returned. If the Control to delete does not exist, a NOT_FOUND error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   UpdateControlRequest request =
       UpdateControlRequest.newBuilder()
           .setControl(Control.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   Control response = controlServiceClient.updateControl(request);
 }
 
Parameter
NameDescription
requestUpdateControlRequest

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

Returns
TypeDescription
Control

updateControlCallable()

public final UnaryCallable<UpdateControlRequest,Control> updateControlCallable()

Updates a Control.

Control cannot be set to a different oneof field, if so an INVALID_ARGUMENT is returned. If the Control to delete does not exist, a NOT_FOUND error is returned.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (ControlServiceClient controlServiceClient = ControlServiceClient.create()) {
   UpdateControlRequest request =
       UpdateControlRequest.newBuilder()
           .setControl(Control.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   ApiFuture<Control> future = controlServiceClient.updateControlCallable().futureCall(request);
   // Do something.
   Control response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateControlRequest,Control>