Class ApplicationsClient (2.1.10)

public class ApplicationsClient implements BackgroundResource

Service Description: Manages App Engine applications.

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 (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   GetApplicationRequest request =
       GetApplicationRequest.newBuilder().setName("name3373707").build();
   Application response = applicationsClient.getApplication(request);
 }
 

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

To customize credentials:


 ApplicationsSettings applicationsSettings =
     ApplicationsSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 ApplicationsClient applicationsClient = ApplicationsClient.create(applicationsSettings);
 

To customize the endpoint:


 ApplicationsSettings applicationsSettings =
     ApplicationsSettings.newBuilder().setEndpoint(myEndpoint).build();
 ApplicationsClient applicationsClient = ApplicationsClient.create(applicationsSettings);
 

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

Inheritance

java.lang.Object > ApplicationsClient

Implements

BackgroundResource

Static Methods

create()

public static final ApplicationsClient create()

Constructs an instance of ApplicationsClient with default settings.

Returns
TypeDescription
ApplicationsClient
Exceptions
TypeDescription
IOException

create(ApplicationsSettings settings)

public static final ApplicationsClient create(ApplicationsSettings settings)

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

create(ApplicationsStub stub)

public static final ApplicationsClient create(ApplicationsStub stub)

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

Parameter
NameDescription
stubApplicationsStub
Returns
TypeDescription
ApplicationsClient

Constructors

ApplicationsClient(ApplicationsSettings settings)

protected ApplicationsClient(ApplicationsSettings settings)

Constructs an instance of ApplicationsClient, 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
settingsApplicationsSettings

ApplicationsClient(ApplicationsStub stub)

protected ApplicationsClient(ApplicationsStub stub)
Parameter
NameDescription
stubApplicationsStub

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

createApplicationAsync(CreateApplicationRequest request)

public final OperationFuture<Application,OperationMetadataV1> createApplicationAsync(CreateApplicationRequest request)

Creates an App Engine application for a Google Cloud Platform project. Required fields:

  • id - The ID of the target Cloud Platform project.
  • *location* - The region where you want the App Engine application located.

For more information about App Engine applications, see Managing Projects, Applications, and Billing.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   CreateApplicationRequest request =
       CreateApplicationRequest.newBuilder()
           .setApplication(Application.newBuilder().build())
           .build();
   Application response = applicationsClient.createApplicationAsync(request).get();
 }
 
Parameter
NameDescription
requestCreateApplicationRequest

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

Returns
TypeDescription
OperationFuture<Application,OperationMetadataV1>

createApplicationCallable()

public final UnaryCallable<CreateApplicationRequest,Operation> createApplicationCallable()

Creates an App Engine application for a Google Cloud Platform project. Required fields:

  • id - The ID of the target Cloud Platform project.
  • *location* - The region where you want the App Engine application located.

For more information about App Engine applications, see Managing Projects, Applications, and Billing.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   CreateApplicationRequest request =
       CreateApplicationRequest.newBuilder()
           .setApplication(Application.newBuilder().build())
           .build();
   ApiFuture<Operation> future =
       applicationsClient.createApplicationCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateApplicationRequest,Operation>

createApplicationOperationCallable()

public final OperationCallable<CreateApplicationRequest,Application,OperationMetadataV1> createApplicationOperationCallable()

Creates an App Engine application for a Google Cloud Platform project. Required fields:

  • id - The ID of the target Cloud Platform project.
  • *location* - The region where you want the App Engine application located.

For more information about App Engine applications, see Managing Projects, Applications, and Billing.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   CreateApplicationRequest request =
       CreateApplicationRequest.newBuilder()
           .setApplication(Application.newBuilder().build())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<CreateApplicationRequest,Application,OperationMetadataV1>

getApplication(GetApplicationRequest request)

public final Application getApplication(GetApplicationRequest request)

Gets information about an application.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   GetApplicationRequest request =
       GetApplicationRequest.newBuilder().setName("name3373707").build();
   Application response = applicationsClient.getApplication(request);
 }
 
Parameter
NameDescription
requestGetApplicationRequest

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

Returns
TypeDescription
Application

getApplicationCallable()

public final UnaryCallable<GetApplicationRequest,Application> getApplicationCallable()

Gets information about an application.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   GetApplicationRequest request =
       GetApplicationRequest.newBuilder().setName("name3373707").build();
   ApiFuture<Application> future =
       applicationsClient.getApplicationCallable().futureCall(request);
   // Do something.
   Application response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetApplicationRequest,Application>

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 ApplicationsSettings getSettings()
Returns
TypeDescription
ApplicationsSettings

getStub()

public ApplicationsStub getStub()
Returns
TypeDescription
ApplicationsStub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

repairApplicationAsync(RepairApplicationRequest request)

public final OperationFuture<Application,OperationMetadataV1> repairApplicationAsync(RepairApplicationRequest request)

Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, *Error retrieving the App Engine service account*. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   RepairApplicationRequest request =
       RepairApplicationRequest.newBuilder().setName("name3373707").build();
   Application response = applicationsClient.repairApplicationAsync(request).get();
 }
 
Parameter
NameDescription
requestRepairApplicationRequest

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

Returns
TypeDescription
OperationFuture<Application,OperationMetadataV1>

repairApplicationCallable()

public final UnaryCallable<RepairApplicationRequest,Operation> repairApplicationCallable()

Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, *Error retrieving the App Engine service account*. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   RepairApplicationRequest request =
       RepairApplicationRequest.newBuilder().setName("name3373707").build();
   ApiFuture<Operation> future =
       applicationsClient.repairApplicationCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<RepairApplicationRequest,Operation>

repairApplicationOperationCallable()

public final OperationCallable<RepairApplicationRequest,Application,OperationMetadataV1> repairApplicationOperationCallable()

Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, *Error retrieving the App Engine service account*. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   RepairApplicationRequest request =
       RepairApplicationRequest.newBuilder().setName("name3373707").build();
   OperationFuture
Returns
TypeDescription
OperationCallable<RepairApplicationRequest,Application,OperationMetadataV1>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateApplicationAsync(UpdateApplicationRequest request)

public final OperationFuture<Application,OperationMetadataV1> updateApplicationAsync(UpdateApplicationRequest request)

Updates the specified Application resource. You can update the following fields:

  • auth_domain - Google authentication domain for controlling user access to the application.
  • default_cookie_expiration - Cookie expiration policy for the application.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   UpdateApplicationRequest request =
       UpdateApplicationRequest.newBuilder()
           .setName("name3373707")
           .setApplication(Application.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   Application response = applicationsClient.updateApplicationAsync(request).get();
 }
 
Parameter
NameDescription
requestUpdateApplicationRequest

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

Returns
TypeDescription
OperationFuture<Application,OperationMetadataV1>

updateApplicationCallable()

public final UnaryCallable<UpdateApplicationRequest,Operation> updateApplicationCallable()

Updates the specified Application resource. You can update the following fields:

  • auth_domain - Google authentication domain for controlling user access to the application.
  • default_cookie_expiration - Cookie expiration policy for the application.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   UpdateApplicationRequest request =
       UpdateApplicationRequest.newBuilder()
           .setName("name3373707")
           .setApplication(Application.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   ApiFuture<Operation> future =
       applicationsClient.updateApplicationCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateApplicationRequest,Operation>

updateApplicationOperationCallable()

public final OperationCallable<UpdateApplicationRequest,Application,OperationMetadataV1> updateApplicationOperationCallable()

Updates the specified Application resource. You can update the following fields:

  • auth_domain - Google authentication domain for controlling user access to the application.
  • default_cookie_expiration - Cookie expiration policy for the application.

Sample code:


 try (ApplicationsClient applicationsClient = ApplicationsClient.create()) {
   UpdateApplicationRequest request =
       UpdateApplicationRequest.newBuilder()
           .setName("name3373707")
           .setApplication(Application.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<UpdateApplicationRequest,Application,OperationMetadataV1>