Class TenantServiceClient (2.7.0)

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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 TenantServiceSettings tenantServiceSettings =
     TenantServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 TenantServiceClient tenantServiceClient = TenantServiceClient.create(tenantServiceSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 TenantServiceSettings tenantServiceSettings =
     TenantServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 TenantServiceClient tenantServiceClient = TenantServiceClient.create(tenantServiceSettings);
 

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


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 TenantServiceSettings tenantServiceSettings =
     TenantServiceSettings.newHttpJsonBuilder().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

Static Methods

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

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

createTenant(CreateTenantRequest request)

public final Tenant createTenant(CreateTenantRequest request)

Creates a new tenant entity.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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.getTenantsList()) {
       // 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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, FieldMask updateMask)

public final Tenant updateTenant(Tenant tenant, FieldMask updateMask)

Updates specified tenant.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (TenantServiceClient tenantServiceClient = TenantServiceClient.create()) {
   Tenant tenant = Tenant.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   Tenant response = tenantServiceClient.updateTenant(tenant, updateMask);
 }
 
Parameters
NameDescription
tenantTenant

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

updateMaskFieldMask

Strongly recommended for the best service experience.

If update_mask is provided, only the specified fields in tenant are updated. Otherwise all the fields are updated.

A field mask to specify the tenant fields to be updated. Only top level fields of Tenant are supported.

Returns
TypeDescription
Tenant

updateTenant(UpdateTenantRequest request)

public final Tenant updateTenant(UpdateTenantRequest request)

Updates specified tenant.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 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>