Class EnvironmentsClient (4.4.0)

public class EnvironmentsClient implements BackgroundResource

Service Description: Service for managing Environments.

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 (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   GetEnvironmentRequest request =
       GetEnvironmentRequest.newBuilder()
           .setName(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .build();
   Environment response = environmentsClient.getEnvironment(request);
 }
 

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

To customize credentials:


 EnvironmentsSettings environmentsSettings =
     EnvironmentsSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 EnvironmentsClient environmentsClient = EnvironmentsClient.create(environmentsSettings);
 

To customize the endpoint:


 EnvironmentsSettings environmentsSettings =
     EnvironmentsSettings.newBuilder().setEndpoint(myEndpoint).build();
 EnvironmentsClient environmentsClient = EnvironmentsClient.create(environmentsSettings);
 

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

Inheritance

java.lang.Object > EnvironmentsClient

Implements

BackgroundResource

Constructors

EnvironmentsClient(EnvironmentsSettings settings)

protected EnvironmentsClient(EnvironmentsSettings settings)

Constructs an instance of EnvironmentsClient, 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
settingsEnvironmentsSettings

EnvironmentsClient(EnvironmentsStub stub)

protected EnvironmentsClient(EnvironmentsStub stub)
Parameter
NameDescription
stubEnvironmentsStub

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

create()

public static final EnvironmentsClient create()

Constructs an instance of EnvironmentsClient with default settings.

Returns
TypeDescription
EnvironmentsClient
Exceptions
TypeDescription
IOException

create(EnvironmentsSettings settings)

public static final EnvironmentsClient create(EnvironmentsSettings settings)

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

create(EnvironmentsStub stub)

public static final EnvironmentsClient create(EnvironmentsStub stub)

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

Parameter
NameDescription
stubEnvironmentsStub
Returns
TypeDescription
EnvironmentsClient

createEnvironment(CreateEnvironmentRequest request)

public final Environment createEnvironment(CreateEnvironmentRequest request)

Creates an agent environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   CreateEnvironmentRequest request =
       CreateEnvironmentRequest.newBuilder()
           .setParent(AgentName.ofProjectName("[PROJECT]").toString())
           .setEnvironment(Environment.newBuilder().build())
           .setEnvironmentId("environmentId-950205810")
           .build();
   Environment response = environmentsClient.createEnvironment(request);
 }
 
Parameter
NameDescription
requestCreateEnvironmentRequest

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

Returns
TypeDescription
Environment

createEnvironmentCallable()

public final UnaryCallable<CreateEnvironmentRequest,Environment> createEnvironmentCallable()

Creates an agent environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   CreateEnvironmentRequest request =
       CreateEnvironmentRequest.newBuilder()
           .setParent(AgentName.ofProjectName("[PROJECT]").toString())
           .setEnvironment(Environment.newBuilder().build())
           .setEnvironmentId("environmentId-950205810")
           .build();
   ApiFuture<Environment> future =
       environmentsClient.createEnvironmentCallable().futureCall(request);
   // Do something.
   Environment response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateEnvironmentRequest,Environment>

deleteEnvironment(DeleteEnvironmentRequest request)

public final void deleteEnvironment(DeleteEnvironmentRequest request)

Deletes the specified agent environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   DeleteEnvironmentRequest request =
       DeleteEnvironmentRequest.newBuilder()
           .setName(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .build();
   environmentsClient.deleteEnvironment(request);
 }
 
Parameter
NameDescription
requestDeleteEnvironmentRequest

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

deleteEnvironmentCallable()

public final UnaryCallable<DeleteEnvironmentRequest,Empty> deleteEnvironmentCallable()

Deletes the specified agent environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   DeleteEnvironmentRequest request =
       DeleteEnvironmentRequest.newBuilder()
           .setName(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .build();
   ApiFuture<Empty> future = environmentsClient.deleteEnvironmentCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteEnvironmentRequest,Empty>

getEnvironment(GetEnvironmentRequest request)

public final Environment getEnvironment(GetEnvironmentRequest request)

Retrieves the specified agent environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   GetEnvironmentRequest request =
       GetEnvironmentRequest.newBuilder()
           .setName(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .build();
   Environment response = environmentsClient.getEnvironment(request);
 }
 
Parameter
NameDescription
requestGetEnvironmentRequest

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

Returns
TypeDescription
Environment

getEnvironmentCallable()

public final UnaryCallable<GetEnvironmentRequest,Environment> getEnvironmentCallable()

Retrieves the specified agent environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   GetEnvironmentRequest request =
       GetEnvironmentRequest.newBuilder()
           .setName(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .build();
   ApiFuture<Environment> future =
       environmentsClient.getEnvironmentCallable().futureCall(request);
   // Do something.
   Environment response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetEnvironmentRequest,Environment>

getEnvironmentHistory(GetEnvironmentHistoryRequest request)

public final EnvironmentsClient.GetEnvironmentHistoryPagedResponse getEnvironmentHistory(GetEnvironmentHistoryRequest request)

Gets the history of the specified environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   GetEnvironmentHistoryRequest request =
       GetEnvironmentHistoryRequest.newBuilder()
           .setParent(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (EnvironmentHistory.Entry element :
       environmentsClient.getEnvironmentHistory(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestGetEnvironmentHistoryRequest

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

Returns
TypeDescription
EnvironmentsClient.GetEnvironmentHistoryPagedResponse

getEnvironmentHistoryCallable()

public final UnaryCallable<GetEnvironmentHistoryRequest,EnvironmentHistory> getEnvironmentHistoryCallable()

Gets the history of the specified environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   GetEnvironmentHistoryRequest request =
       GetEnvironmentHistoryRequest.newBuilder()
           .setParent(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     EnvironmentHistory response =
         environmentsClient.getEnvironmentHistoryCallable().call(request);
     for (EnvironmentHistory.Entry element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<GetEnvironmentHistoryRequest,EnvironmentHistory>

getEnvironmentHistoryPagedCallable()

public final UnaryCallable<GetEnvironmentHistoryRequest,EnvironmentsClient.GetEnvironmentHistoryPagedResponse> getEnvironmentHistoryPagedCallable()

Gets the history of the specified environment.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   GetEnvironmentHistoryRequest request =
       GetEnvironmentHistoryRequest.newBuilder()
           .setParent(
               EnvironmentName.ofProjectEnvironmentName("[PROJECT]", "[ENVIRONMENT]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<GetEnvironmentHistoryRequest,GetEnvironmentHistoryPagedResponse>

getSettings()

public final EnvironmentsSettings getSettings()
Returns
TypeDescription
EnvironmentsSettings

getStub()

public EnvironmentsStub getStub()
Returns
TypeDescription
EnvironmentsStub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listEnvironments(AgentName parent)

public final EnvironmentsClient.ListEnvironmentsPagedResponse listEnvironments(AgentName parent)

Returns the list of all non-default environments of the specified agent.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   AgentName parent = AgentName.ofProjectName("[PROJECT]");
   for (Environment element : environmentsClient.listEnvironments(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentAgentName

Required. The agent to list all environments from. Format:

- projects/<Project ID>/agent - projects/<Project ID>/locations/<Location ID>/agent

Returns
TypeDescription
EnvironmentsClient.ListEnvironmentsPagedResponse

listEnvironments(ListEnvironmentsRequest request)

public final EnvironmentsClient.ListEnvironmentsPagedResponse listEnvironments(ListEnvironmentsRequest request)

Returns the list of all non-default environments of the specified agent.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   ListEnvironmentsRequest request =
       ListEnvironmentsRequest.newBuilder()
           .setParent(AgentName.ofProjectName("[PROJECT]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (Environment element : environmentsClient.listEnvironments(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListEnvironmentsRequest

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

Returns
TypeDescription
EnvironmentsClient.ListEnvironmentsPagedResponse

listEnvironments(String parent)

public final EnvironmentsClient.ListEnvironmentsPagedResponse listEnvironments(String parent)

Returns the list of all non-default environments of the specified agent.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   String parent = AgentName.ofProjectName("[PROJECT]").toString();
   for (Environment element : environmentsClient.listEnvironments(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. The agent to list all environments from. Format:

- projects/<Project ID>/agent - projects/<Project ID>/locations/<Location ID>/agent

Returns
TypeDescription
EnvironmentsClient.ListEnvironmentsPagedResponse

listEnvironmentsCallable()

public final UnaryCallable<ListEnvironmentsRequest,ListEnvironmentsResponse> listEnvironmentsCallable()

Returns the list of all non-default environments of the specified agent.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   ListEnvironmentsRequest request =
       ListEnvironmentsRequest.newBuilder()
           .setParent(AgentName.ofProjectName("[PROJECT]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     ListEnvironmentsResponse response =
         environmentsClient.listEnvironmentsCallable().call(request);
     for (Environment element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListEnvironmentsRequest,ListEnvironmentsResponse>

listEnvironmentsPagedCallable()

public final UnaryCallable<ListEnvironmentsRequest,EnvironmentsClient.ListEnvironmentsPagedResponse> listEnvironmentsPagedCallable()

Returns the list of all non-default environments of the specified agent.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   ListEnvironmentsRequest request =
       ListEnvironmentsRequest.newBuilder()
           .setParent(AgentName.ofProjectName("[PROJECT]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture<Environment> future =
       environmentsClient.listEnvironmentsPagedCallable().futureCall(request);
   // Do something.
   for (Environment element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListEnvironmentsRequest,ListEnvironmentsPagedResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateEnvironment(UpdateEnvironmentRequest request)

public final Environment updateEnvironment(UpdateEnvironmentRequest request)

Updates the specified agent environment.

This method allows you to deploy new agent versions into the environment. When an environment is pointed to a new agent version by setting environment.agent_version, the environment is temporarily set to the LOADING state. During that time, the environment continues serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the RUNNING state. You can use "-" as Environment ID in environment name to update an agent version in the default environment. WARNING: this will negate all recent changes to the draft agent and can't be undone. You may want to save the draft agent to a version before calling this method.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   UpdateEnvironmentRequest request =
       UpdateEnvironmentRequest.newBuilder()
           .setEnvironment(Environment.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setAllowLoadToDraftAndDiscardChanges(true)
           .build();
   Environment response = environmentsClient.updateEnvironment(request);
 }
 
Parameter
NameDescription
requestUpdateEnvironmentRequest

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

Returns
TypeDescription
Environment

updateEnvironmentCallable()

public final UnaryCallable<UpdateEnvironmentRequest,Environment> updateEnvironmentCallable()

Updates the specified agent environment.

This method allows you to deploy new agent versions into the environment. When an environment is pointed to a new agent version by setting environment.agent_version, the environment is temporarily set to the LOADING state. During that time, the environment continues serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the RUNNING state. You can use "-" as Environment ID in environment name to update an agent version in the default environment. WARNING: this will negate all recent changes to the draft agent and can't be undone. You may want to save the draft agent to a version before calling this method.

Sample code:


 try (EnvironmentsClient environmentsClient = EnvironmentsClient.create()) {
   UpdateEnvironmentRequest request =
       UpdateEnvironmentRequest.newBuilder()
           .setEnvironment(Environment.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .setAllowLoadToDraftAndDiscardChanges(true)
           .build();
   ApiFuture<Environment> future =
       environmentsClient.updateEnvironmentCallable().futureCall(request);
   // Do something.
   Environment response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateEnvironmentRequest,Environment>