Class TenantServiceClient

public class TenantServiceClient implements BackgroundResource

Service Description: A service that handles tenant management, including CRUD and enumeration.

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 (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   ProjectName parent = ProjectName.of("[PROJECT]");
   Tenant tenant = Tenant.newBuilder().build();
   Tenant response = tenantServiceClient.createTenant(parent, tenant);
 }
 

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

To customize credentials:


 TenantServiceSettings tenantServiceSettings =
     TenantServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 TenantServiceClient tenantServiceClient = TenantServiceClient.create(tenantServiceSettings);
 

To customize the endpoint:


 TenantServiceSettings tenantServiceSettings =
     TenantServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 TenantServiceClient tenantServiceClient = TenantServiceClient.create(tenantServiceSettings);
 

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

Inheritance

java.lang.Object > TenantServiceClient

Implements

BackgroundResource

Constructors

TenantServiceClient(TenantServiceSettings settings)

protected TenantServiceClient(TenantServiceSettings settings)

Constructs an instance of TenantServiceClient, 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
settingsTenantServiceSettings

TenantServiceClient(TenantServiceStub stub)

protected TenantServiceClient(TenantServiceStub stub)
Parameter
NameDescription
stubTenantServiceStub

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

Constructs an instance of TenantServiceClient with default settings.

Returns
TypeDescription
TenantServiceClient
Exceptions
TypeDescription
IOException

create(TenantServiceSettings settings)

public static final TenantServiceClient create(TenantServiceSettings settings)

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

create(TenantServiceStub stub)

public static final TenantServiceClient create(TenantServiceStub stub)

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

Parameter
NameDescription
stubTenantServiceStub
Returns
TypeDescription
TenantServiceClient

createTenant(CreateTenantRequest request)

public final Tenant createTenant(CreateTenantRequest request)

Creates a new tenant entity.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   CreateTenantRequest request =
       CreateTenantRequest.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setTenant(Tenant.newBuilder().build())
           .build();
   Tenant response = tenantServiceClient.createTenant(request);
 }
 
Parameter
NameDescription
requestCreateTenantRequest

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

Returns
TypeDescription
Tenant

createTenant(ProjectName parent, Tenant tenant)

public final Tenant createTenant(ProjectName parent, Tenant tenant)

Creates a new tenant entity.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   ProjectName parent = ProjectName.of("[PROJECT]");
   Tenant tenant = Tenant.newBuilder().build();
   Tenant response = tenantServiceClient.createTenant(parent, tenant);
 }
 
Parameters
NameDescription
parentProjectName

Required. Resource name of the project under which the tenant is created.

The format is "projects/{project_id}", for example, "projects/foo".

tenantTenant

Required. The tenant to be created.

Returns
TypeDescription
Tenant

createTenant(String parent, Tenant tenant)

public final Tenant createTenant(String parent, Tenant tenant)

Creates a new tenant entity.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   String parent = ProjectName.of("[PROJECT]").toString();
   Tenant tenant = Tenant.newBuilder().build();
   Tenant response = tenantServiceClient.createTenant(parent, tenant);
 }
 
Parameters
NameDescription
parentString

Required. Resource name of the project under which the tenant is created.

The format is "projects/{project_id}", for example, "projects/foo".

tenantTenant

Required. The tenant to be created.

Returns
TypeDescription
Tenant

createTenantCallable()

public final UnaryCallable<CreateTenantRequest,Tenant> createTenantCallable()

Creates a new tenant entity.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   CreateTenantRequest request =
       CreateTenantRequest.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setTenant(Tenant.newBuilder().build())
           .build();
   ApiFuture<Tenant> future = tenantServiceClient.createTenantCallable().futureCall(request);
   // Do something.
   Tenant response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateTenantRequest,Tenant>

deleteTenant(DeleteTenantRequest request)

public final void deleteTenant(DeleteTenantRequest request)

Deletes specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   DeleteTenantRequest request =
       DeleteTenantRequest.newBuilder()
           .setName(TenantName.of("[PROJECT]", "[TENANT]").toString())
           .build();
   tenantServiceClient.deleteTenant(request);
 }
 
Parameter
NameDescription
requestDeleteTenantRequest

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

deleteTenant(TenantName name)

public final void deleteTenant(TenantName name)

Deletes specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   TenantName name = TenantName.of("[PROJECT]", "[TENANT]");
   tenantServiceClient.deleteTenant(name);
 }
 
Parameter
NameDescription
nameTenantName

Required. The resource name of the tenant to be deleted.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

deleteTenant(String name)

public final void deleteTenant(String name)

Deletes specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   String name = TenantName.of("[PROJECT]", "[TENANT]").toString();
   tenantServiceClient.deleteTenant(name);
 }
 
Parameter
NameDescription
nameString

Required. The resource name of the tenant to be deleted.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

deleteTenantCallable()

public final UnaryCallable<DeleteTenantRequest,Empty> deleteTenantCallable()

Deletes specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   DeleteTenantRequest request =
       DeleteTenantRequest.newBuilder()
           .setName(TenantName.of("[PROJECT]", "[TENANT]").toString())
           .build();
   ApiFuture<Empty> future = tenantServiceClient.deleteTenantCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteTenantRequest,Empty>

getSettings()

public final TenantServiceSettings getSettings()
Returns
TypeDescription
TenantServiceSettings

getStub()

public TenantServiceStub getStub()
Returns
TypeDescription
TenantServiceStub

getTenant(GetTenantRequest request)

public final Tenant getTenant(GetTenantRequest request)

Retrieves specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   GetTenantRequest request =
       GetTenantRequest.newBuilder()
           .setName(TenantName.of("[PROJECT]", "[TENANT]").toString())
           .build();
   Tenant response = tenantServiceClient.getTenant(request);
 }
 
Parameter
NameDescription
requestGetTenantRequest

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

Returns
TypeDescription
Tenant

getTenant(TenantName name)

public final Tenant getTenant(TenantName name)

Retrieves specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   TenantName name = TenantName.of("[PROJECT]", "[TENANT]");
   Tenant response = tenantServiceClient.getTenant(name);
 }
 
Parameter
NameDescription
nameTenantName

Required. The resource name of the tenant to be retrieved.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

Returns
TypeDescription
Tenant

getTenant(String name)

public final Tenant getTenant(String name)

Retrieves specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   String name = TenantName.of("[PROJECT]", "[TENANT]").toString();
   Tenant response = tenantServiceClient.getTenant(name);
 }
 
Parameter
NameDescription
nameString

Required. The resource name of the tenant to be retrieved.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

Returns
TypeDescription
Tenant

getTenantCallable()

public final UnaryCallable<GetTenantRequest,Tenant> getTenantCallable()

Retrieves specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   GetTenantRequest request =
       GetTenantRequest.newBuilder()
           .setName(TenantName.of("[PROJECT]", "[TENANT]").toString())
           .build();
   ApiFuture<Tenant> future = tenantServiceClient.getTenantCallable().futureCall(request);
   // Do something.
   Tenant response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetTenantRequest,Tenant>

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listTenants(ListTenantsRequest request)

public final TenantServiceClient.ListTenantsPagedResponse listTenants(ListTenantsRequest request)

Lists all tenants associated with the project.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   ListTenantsRequest request =
       ListTenantsRequest.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setPageToken("pageToken873572522")
           .setPageSize(883849137)
           .build();
   for (Tenant element : tenantServiceClient.listTenants(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListTenantsRequest

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

Returns
TypeDescription
TenantServiceClient.ListTenantsPagedResponse

listTenants(ProjectName parent)

public final TenantServiceClient.ListTenantsPagedResponse listTenants(ProjectName parent)

Lists all tenants associated with the project.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   ProjectName parent = ProjectName.of("[PROJECT]");
   for (Tenant element : tenantServiceClient.listTenants(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentProjectName

Required. Resource name of the project under which the tenant is created.

The format is "projects/{project_id}", for example, "projects/foo".

Returns
TypeDescription
TenantServiceClient.ListTenantsPagedResponse

listTenants(String parent)

public final TenantServiceClient.ListTenantsPagedResponse listTenants(String parent)

Lists all tenants associated with the project.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   String parent = ProjectName.of("[PROJECT]").toString();
   for (Tenant element : tenantServiceClient.listTenants(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. Resource name of the project under which the tenant is created.

The format is "projects/{project_id}", for example, "projects/foo".

Returns
TypeDescription
TenantServiceClient.ListTenantsPagedResponse

listTenantsCallable()

public final UnaryCallable<ListTenantsRequest,ListTenantsResponse> listTenantsCallable()

Lists all tenants associated with the project.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   ListTenantsRequest request =
       ListTenantsRequest.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setPageToken("pageToken873572522")
           .setPageSize(883849137)
           .build();
   while (true) {
     ListTenantsResponse response = tenantServiceClient.listTenantsCallable().call(request);
     for (Tenant element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListTenantsRequest,ListTenantsResponse>

listTenantsPagedCallable()

public final UnaryCallable<ListTenantsRequest,TenantServiceClient.ListTenantsPagedResponse> listTenantsPagedCallable()

Lists all tenants associated with the project.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   ListTenantsRequest request =
       ListTenantsRequest.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setPageToken("pageToken873572522")
           .setPageSize(883849137)
           .build();
   ApiFuture<Tenant> future = tenantServiceClient.listTenantsPagedCallable().futureCall(request);
   // Do something.
   for (Tenant element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListTenantsRequest,ListTenantsPagedResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateTenant(Tenant tenant)

public final Tenant updateTenant(Tenant tenant)

Updates specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   Tenant tenant = Tenant.newBuilder().build();
   Tenant response = tenantServiceClient.updateTenant(tenant);
 }
 
Parameter
NameDescription
tenantTenant

Required. The tenant resource to replace the current resource in the system.

Returns
TypeDescription
Tenant

updateTenant(UpdateTenantRequest request)

public final Tenant updateTenant(UpdateTenantRequest request)

Updates specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   UpdateTenantRequest request =
       UpdateTenantRequest.newBuilder()
           .setTenant(Tenant.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   Tenant response = tenantServiceClient.updateTenant(request);
 }
 
Parameter
NameDescription
requestUpdateTenantRequest

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

Returns
TypeDescription
Tenant

updateTenantCallable()

public final UnaryCallable<UpdateTenantRequest,Tenant> updateTenantCallable()

Updates specified tenant.

Sample code:


 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   UpdateTenantRequest request =
       UpdateTenantRequest.newBuilder()
           .setTenant(Tenant.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   ApiFuture<Tenant> future = tenantServiceClient.updateTenantCallable().futureCall(request);
   // Do something.
   Tenant response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateTenantRequest,Tenant>