Class ServiceUsageClient
- All Implemented Interfaces:
BackgroundResource,AutoCloseable
See [Service Usage API](https://cloud.google.com/service-usage/docs/overview)
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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
GetServiceRequest request = GetServiceRequest.newBuilder().setName("name3373707").build();
Service response = serviceUsageClient.getService(request);
}
Note: close() needs to be called on the ServiceUsageClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
| Method | Description | Method Variants |
|---|---|---|
EnableService |
Enable a service so that it can be used with a project. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
DisableService |
Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
GetService |
Returns the service configuration and enabled state for a given service. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
ListServices |
List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project. WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
BatchEnableServices |
Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. To enable a single service, use the `EnableService` method instead. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
BatchGetServices |
Returns the service configurations and enabled states for a given list of services. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return 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 ServiceUsageSettings 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
ServiceUsageSettings serviceUsageSettings =
ServiceUsageSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
ServiceUsageClient serviceUsageClient = ServiceUsageClient.create(serviceUsageSettings);
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
ServiceUsageSettings serviceUsageSettings =
ServiceUsageSettings.newBuilder().setEndpoint(myEndpoint).build();
ServiceUsageClient serviceUsageClient = ServiceUsageClient.create(serviceUsageSettings);
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
ServiceUsageSettings serviceUsageSettings = ServiceUsageSettings.newHttpJsonBuilder().build();
ServiceUsageClient serviceUsageClient = ServiceUsageClient.create(serviceUsageSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic class -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedServiceUsageClient(ServiceUsageSettings settings) Constructs an instance of ServiceUsageClient, using the given settings.protected -
Method Summary
Modifier and TypeMethodDescriptionbooleanawaitTermination(long duration, TimeUnit unit) Enable multiple services on a project.Enable multiple services on a project.Enable multiple services on a project.final BatchGetServicesResponsebatchGetServices(BatchGetServicesRequest request) Returns the service configurations and enabled states for a given list of services.Returns the service configurations and enabled states for a given list of services.final voidclose()static final ServiceUsageClientcreate()Constructs an instance of ServiceUsageClient with default settings.static final ServiceUsageClientcreate(ServiceUsageSettings settings) Constructs an instance of ServiceUsageClient, using the given settings.static final ServiceUsageClientcreate(ServiceUsageStub stub) Constructs an instance of ServiceUsageClient, using the given stub for making calls.disableServiceAsync(DisableServiceRequest request) Disable a service so that it can no longer be used with a project.Disable a service so that it can no longer be used with a project.Disable a service so that it can no longer be used with a project.enableServiceAsync(EnableServiceRequest request) Enable a service so that it can be used with a project.Enable a service so that it can be used with a project.Enable a service so that it can be used with a project.final OperationsClientReturns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.final OperationsClientReturns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.final ServicegetService(GetServiceRequest request) Returns the service configuration and enabled state for a given service.Returns the service configuration and enabled state for a given service.final ServiceUsageSettingsgetStub()booleanbooleanlistServices(ListServicesRequest request) List all services available to the specified project, and the current state of those services with respect to the project.List all services available to the specified project, and the current state of those services with respect to the project.List all services available to the specified project, and the current state of those services with respect to the project.voidshutdown()void
-
Constructor Details
-
ServiceUsageClient
Constructs an instance of ServiceUsageClient, 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.- Throws:
IOException
-
ServiceUsageClient
-
-
Method Details
-
create
Constructs an instance of ServiceUsageClient with default settings.- Throws:
IOException
-
create
Constructs an instance of ServiceUsageClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.- Throws:
IOException
-
create
Constructs an instance of ServiceUsageClient, using the given stub for making calls. This is for advanced usage - prefer using create(ServiceUsageSettings). -
getSettings
-
getStub
-
getOperationsClient
Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call. -
getHttpJsonOperationsClient
Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call. -
enableServiceAsync
public final OperationFuture<EnableServiceResponse,OperationMetadata> enableServiceAsync(EnableServiceRequest request) Enable a service so that it can be used with a 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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { EnableServiceRequest request = EnableServiceRequest.newBuilder().setName("name3373707").build(); EnableServiceResponse response = serviceUsageClient.enableServiceAsync(request).get(); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
enableServiceOperationCallable
public final OperationCallable<EnableServiceRequest,EnableServiceResponse, enableServiceOperationCallable()OperationMetadata> Enable a service so that it can be used with a 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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { EnableServiceRequest request = EnableServiceRequest.newBuilder().setName("name3373707").build(); OperationFuture<EnableServiceResponse, OperationMetadata> future = serviceUsageClient.enableServiceOperationCallable().futureCall(request); // Do something. EnableServiceResponse response = future.get(); } -
enableServiceCallable
Enable a service so that it can be used with a 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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { EnableServiceRequest request = EnableServiceRequest.newBuilder().setName("name3373707").build(); ApiFuture<Operation> future = serviceUsageClient.enableServiceCallable().futureCall(request); // Do something. Operation response = future.get(); } -
disableServiceAsync
public final OperationFuture<DisableServiceResponse,OperationMetadata> disableServiceAsync(DisableServiceRequest request) Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks.It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled.
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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { DisableServiceRequest request = DisableServiceRequest.newBuilder() .setName("name3373707") .setDisableDependentServices(true) .build(); DisableServiceResponse response = serviceUsageClient.disableServiceAsync(request).get(); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
disableServiceOperationCallable
public final OperationCallable<DisableServiceRequest,DisableServiceResponse, disableServiceOperationCallable()OperationMetadata> Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks.It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled.
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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { DisableServiceRequest request = DisableServiceRequest.newBuilder() .setName("name3373707") .setDisableDependentServices(true) .build(); OperationFuture<DisableServiceResponse, OperationMetadata> future = serviceUsageClient.disableServiceOperationCallable().futureCall(request); // Do something. DisableServiceResponse response = future.get(); } -
disableServiceCallable
Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks.It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled.
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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { DisableServiceRequest request = DisableServiceRequest.newBuilder() .setName("name3373707") .setDisableDependentServices(true) .build(); ApiFuture<Operation> future = serviceUsageClient.disableServiceCallable().futureCall(request); // Do something. Operation response = future.get(); } -
getService
Returns the service configuration and enabled state for a given service.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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { GetServiceRequest request = GetServiceRequest.newBuilder().setName("name3373707").build(); Service response = serviceUsageClient.getService(request); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
getServiceCallable
Returns the service configuration and enabled state for a given service.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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { GetServiceRequest request = GetServiceRequest.newBuilder().setName("name3373707").build(); ApiFuture<Service> future = serviceUsageClient.getServiceCallable().futureCall(request); // Do something. Service response = future.get(); } -
listServices
List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability.
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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { ListServicesRequest request = ListServicesRequest.newBuilder() .setParent("parent-995424086") .setPageSize(883849137) .setPageToken("pageToken873572522") .setFilter("filter-1274492040") .build(); for (Service element : serviceUsageClient.listServices(request).iterateAll()) { // doThingsWith(element); } }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
listServicesPagedCallable
public final UnaryCallable<ListServicesRequest,ServiceUsageClient.ListServicesPagedResponse> listServicesPagedCallable()List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability.
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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { ListServicesRequest request = ListServicesRequest.newBuilder() .setParent("parent-995424086") .setPageSize(883849137) .setPageToken("pageToken873572522") .setFilter("filter-1274492040") .build(); ApiFuture<Service> future = serviceUsageClient.listServicesPagedCallable().futureCall(request); // Do something. for (Service element : future.get().iterateAll()) { // doThingsWith(element); } } -
listServicesCallable
List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability.
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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { ListServicesRequest request = ListServicesRequest.newBuilder() .setParent("parent-995424086") .setPageSize(883849137) .setPageToken("pageToken873572522") .setFilter("filter-1274492040") .build(); while (true) { ListServicesResponse response = serviceUsageClient.listServicesCallable().call(request); for (Service element : response.getServicesList()) { // doThingsWith(element); } String nextPageToken = response.getNextPageToken(); if (!Strings.isNullOrEmpty(nextPageToken)) { request = request.toBuilder().setPageToken(nextPageToken).build(); } else { break; } } } -
batchEnableServicesAsync
public final OperationFuture<BatchEnableServicesResponse,OperationMetadata> batchEnableServicesAsync(BatchEnableServicesRequest request) Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. To enable a single service, use the `EnableService` method instead.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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { BatchEnableServicesRequest request = BatchEnableServicesRequest.newBuilder() .setParent("parent-995424086") .addAllServiceIds(new ArrayList<String>()) .build(); BatchEnableServicesResponse response = serviceUsageClient.batchEnableServicesAsync(request).get(); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
batchEnableServicesOperationCallable
public final OperationCallable<BatchEnableServicesRequest,BatchEnableServicesResponse, batchEnableServicesOperationCallable()OperationMetadata> Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. To enable a single service, use the `EnableService` method instead.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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { BatchEnableServicesRequest request = BatchEnableServicesRequest.newBuilder() .setParent("parent-995424086") .addAllServiceIds(new ArrayList<String>()) .build(); OperationFuture<BatchEnableServicesResponse, OperationMetadata> future = serviceUsageClient.batchEnableServicesOperationCallable().futureCall(request); // Do something. BatchEnableServicesResponse response = future.get(); } -
batchEnableServicesCallable
Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. To enable a single service, use the `EnableService` method instead.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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { BatchEnableServicesRequest request = BatchEnableServicesRequest.newBuilder() .setParent("parent-995424086") .addAllServiceIds(new ArrayList<String>()) .build(); ApiFuture<Operation> future = serviceUsageClient.batchEnableServicesCallable().futureCall(request); // Do something. Operation response = future.get(); } -
batchGetServices
Returns the service configurations and enabled states for a given list of services.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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { BatchGetServicesRequest request = BatchGetServicesRequest.newBuilder() .setParent("parent-995424086") .addAllNames(new ArrayList<String>()) .build(); BatchGetServicesResponse response = serviceUsageClient.batchGetServices(request); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
batchGetServicesCallable
public final UnaryCallable<BatchGetServicesRequest,BatchGetServicesResponse> batchGetServicesCallable()Returns the service configurations and enabled states for a given list of services.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 (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) { BatchGetServicesRequest request = BatchGetServicesRequest.newBuilder() .setParent("parent-995424086") .addAllNames(new ArrayList<String>()) .build(); ApiFuture<BatchGetServicesResponse> future = serviceUsageClient.batchGetServicesCallable().futureCall(request); // Do something. BatchGetServicesResponse response = future.get(); } -
close
public final void close()- Specified by:
closein interfaceAutoCloseable
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceBackgroundResource
-
isShutdown
public boolean isShutdown()- Specified by:
isShutdownin interfaceBackgroundResource
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminatedin interfaceBackgroundResource
-
shutdownNow
public void shutdownNow()- Specified by:
shutdownNowin interfaceBackgroundResource
-
awaitTermination
- Specified by:
awaitTerminationin interfaceBackgroundResource- Throws:
InterruptedException
-