Class ServiceUsageClient (2.7.0)

publicclass ServiceUsageClientimplementsBackgroundResource

Service Description: Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.

See Service Usage API

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
GetServiceRequestrequest=GetServiceRequest.newBuilder().setName("name3373707").build();
Serviceresponse=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().

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 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
ServiceUsageSettingsserviceUsageSettings=
ServiceUsageSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
ServiceUsageClientserviceUsageClient=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
ServiceUsageSettingsserviceUsageSettings=
ServiceUsageSettings.newBuilder().setEndpoint(myEndpoint).build();
ServiceUsageClientserviceUsageClient=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
ServiceUsageSettingsserviceUsageSettings=ServiceUsageSettings.newHttpJsonBuilder().build();
ServiceUsageClientserviceUsageClient=ServiceUsageClient.create(serviceUsageSettings);

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

Inheritance

java.lang.Object > ServiceUsageClient

Implements

BackgroundResource

Static Methods

create()

publicstaticfinalServiceUsageClientcreate()

Constructs an instance of ServiceUsageClient with default settings.

Returns
Type Description
Exceptions
Type Description

create(ServiceUsageSettings settings)

publicstaticfinalServiceUsageClientcreate(ServiceUsageSettingssettings)

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.

Parameter
Name Description
Returns
Type Description
Exceptions
Type Description

create(ServiceUsageStub stub)

publicstaticfinalServiceUsageClientcreate(ServiceUsageStubstub)

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

Parameter
Name Description
Returns
Type Description

Constructors

ServiceUsageClient(ServiceUsageSettings settings)

protectedServiceUsageClient(ServiceUsageSettingssettings)

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.

Parameter
Name Description

ServiceUsageClient(ServiceUsageStub stub)

protectedServiceUsageClient(ServiceUsageStubstub)
Parameter
Name Description

Methods

awaitTermination(long duration, TimeUnit unit)

publicbooleanawaitTermination(longduration,TimeUnitunit)
Parameters
Name Description
duration long
unit TimeUnit
Returns
Type Description
Exceptions
Type Description

batchEnableServicesAsync(BatchEnableServicesRequest request)

publicfinalOperationFuture<BatchEnableServicesResponse,OperationMetadata>batchEnableServicesAsync(BatchEnableServicesRequestrequest)

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
BatchEnableServicesRequestrequest=
BatchEnableServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllServiceIds(newArrayList<String>())
.build();
BatchEnableServicesResponseresponse=
serviceUsageClient.batchEnableServicesAsync(request).get();
}
Parameter
Name Description
request BatchEnableServicesRequest

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

Returns
Type Description

batchEnableServicesCallable()

publicfinalUnaryCallable<BatchEnableServicesRequest,Operation>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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
BatchEnableServicesRequestrequest=
BatchEnableServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllServiceIds(newArrayList<String>())
.build();
ApiFuture<Operation>future=
serviceUsageClient.batchEnableServicesCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

batchEnableServicesOperationCallable()

publicfinalOperationCallable<BatchEnableServicesRequest,BatchEnableServicesResponse,OperationMetadata>batchEnableServicesOperationCallable()

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
BatchEnableServicesRequestrequest=
BatchEnableServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllServiceIds(newArrayList<String>())
.build();
OperationFuture<BatchEnableServicesResponse,OperationMetadata>future=
serviceUsageClient.batchEnableServicesOperationCallable().futureCall(request);
// Do something.
BatchEnableServicesResponseresponse=future.get();
}
Returns
Type Description

batchGetServices(BatchGetServicesRequest request)

publicfinalBatchGetServicesResponsebatchGetServices(BatchGetServicesRequestrequest)

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
BatchGetServicesRequestrequest=
BatchGetServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllNames(newArrayList<String>())
.build();
BatchGetServicesResponseresponse=serviceUsageClient.batchGetServices(request);
}
Parameter
Name Description
request BatchGetServicesRequest

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

Returns
Type Description

batchGetServicesCallable()

publicfinalUnaryCallable<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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
BatchGetServicesRequestrequest=
BatchGetServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllNames(newArrayList<String>())
.build();
ApiFuture<BatchGetServicesResponse>future=
serviceUsageClient.batchGetServicesCallable().futureCall(request);
// Do something.
BatchGetServicesResponseresponse=future.get();
}
Returns
Type Description

close()

publicfinalvoidclose()

disableServiceAsync(DisableServiceRequest request)

publicfinalOperationFuture<DisableServiceResponse,OperationMetadata>disableServiceAsync(DisableServiceRequestrequest)

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
DisableServiceRequestrequest=
DisableServiceRequest.newBuilder()
.setName("name3373707")
.setDisableDependentServices(true)
.build();
DisableServiceResponseresponse=serviceUsageClient.disableServiceAsync(request).get();
}
Parameter
Name Description
request DisableServiceRequest

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

Returns
Type Description

disableServiceCallable()

publicfinalUnaryCallable<DisableServiceRequest,Operation>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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
DisableServiceRequestrequest=
DisableServiceRequest.newBuilder()
.setName("name3373707")
.setDisableDependentServices(true)
.build();
ApiFuture<Operation>future=serviceUsageClient.disableServiceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

disableServiceOperationCallable()

publicfinalOperationCallable<DisableServiceRequest,DisableServiceResponse,OperationMetadata>disableServiceOperationCallable()

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
DisableServiceRequestrequest=
DisableServiceRequest.newBuilder()
.setName("name3373707")
.setDisableDependentServices(true)
.build();
OperationFuture<DisableServiceResponse,OperationMetadata>future=
serviceUsageClient.disableServiceOperationCallable().futureCall(request);
// Do something.
DisableServiceResponseresponse=future.get();
}
Returns
Type Description

enableServiceAsync(EnableServiceRequest request)

publicfinalOperationFuture<EnableServiceResponse,OperationMetadata>enableServiceAsync(EnableServiceRequestrequest)

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
EnableServiceRequestrequest=
EnableServiceRequest.newBuilder().setName("name3373707").build();
EnableServiceResponseresponse=serviceUsageClient.enableServiceAsync(request).get();
}
Parameter
Name Description
request EnableServiceRequest

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

Returns
Type Description

enableServiceCallable()

publicfinalUnaryCallable<EnableServiceRequest,Operation>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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
EnableServiceRequestrequest=
EnableServiceRequest.newBuilder().setName("name3373707").build();
ApiFuture<Operation>future=serviceUsageClient.enableServiceCallable().futureCall(request);
// Do something.
Operationresponse=future.get();
}
Returns
Type Description

enableServiceOperationCallable()

publicfinalOperationCallable<EnableServiceRequest,EnableServiceResponse,OperationMetadata>enableServiceOperationCallable()

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
EnableServiceRequestrequest=
EnableServiceRequest.newBuilder().setName("name3373707").build();
OperationFuture<EnableServiceResponse,OperationMetadata>future=
serviceUsageClient.enableServiceOperationCallable().futureCall(request);
// Do something.
EnableServiceResponseresponse=future.get();
}
Returns
Type Description

getHttpJsonOperationsClient()

publicfinalOperationsClientgetHttpJsonOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
Type Description

getOperationsClient()

publicfinalOperationsClientgetOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
Type Description

getService(GetServiceRequest request)

publicfinalServicegetService(GetServiceRequestrequest)

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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
GetServiceRequestrequest=GetServiceRequest.newBuilder().setName("name3373707").build();
Serviceresponse=serviceUsageClient.getService(request);
}
Parameter
Name Description
request GetServiceRequest

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

Returns
Type Description

getServiceCallable()

publicfinalUnaryCallable<GetServiceRequest,Service>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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
GetServiceRequestrequest=GetServiceRequest.newBuilder().setName("name3373707").build();
ApiFuture<Service>future=serviceUsageClient.getServiceCallable().futureCall(request);
// Do something.
Serviceresponse=future.get();
}
Returns
Type Description

getSettings()

publicfinalServiceUsageSettingsgetSettings()
Returns
Type Description

getStub()

publicServiceUsageStubgetStub()
Returns
Type Description

isShutdown()

publicbooleanisShutdown()
Returns
Type Description

isTerminated()

publicbooleanisTerminated()
Returns
Type Description

listServices(ListServicesRequest request)

publicfinalServiceUsageClient.ListServicesPagedResponselistServices(ListServicesRequestrequest)

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, 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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
ListServicesRequestrequest=
ListServicesRequest.newBuilder()
.setParent("parent-995424086")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
for(Serviceelement:serviceUsageClient.listServices(request).iterateAll()){
// doThingsWith(element);
}
}
Parameter
Name Description
request ListServicesRequest

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

Returns
Type Description

listServicesCallable()

publicfinalUnaryCallable<ListServicesRequest,ListServicesResponse>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, 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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
ListServicesRequestrequest=
ListServicesRequest.newBuilder()
.setParent("parent-995424086")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
while(true){
ListServicesResponseresponse=serviceUsageClient.listServicesCallable().call(request);
for(Serviceelement:response.getServicesList()){
// doThingsWith(element);
}
StringnextPageToken=response.getNextPageToken();
if(!Strings.isNullOrEmpty(nextPageToken)){
request=request.toBuilder().setPageToken(nextPageToken).build();
}else{
break;
}
}
}
Returns
Type Description

listServicesPagedCallable()

publicfinalUnaryCallable<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, 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(ServiceUsageClientserviceUsageClient=ServiceUsageClient.create()){
ListServicesRequestrequest=
ListServicesRequest.newBuilder()
.setParent("parent-995424086")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
ApiFuture<Service>future=
serviceUsageClient.listServicesPagedCallable().futureCall(request);
// Do something.
for(Serviceelement:future.get().iterateAll()){
// doThingsWith(element);
}
}
Returns
Type Description

shutdown()

publicvoidshutdown()

shutdownNow()

publicvoidshutdownNow()

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年11月19日 UTC.