- 2.54.0 (latest)
- 2.53.0
- 2.52.0
- 2.51.0
- 2.49.0
- 2.48.0
- 2.47.0
- 2.46.0
- 2.45.0
- 2.44.0
- 2.43.0
- 2.42.0
- 2.41.0
- 2.40.0
- 2.39.0
- 2.37.0
- 2.36.0
- 2.35.0
- 2.34.0
- 2.33.0
- 2.32.0
- 2.31.0
- 2.30.0
- 2.29.0
- 2.28.0
- 2.27.0
- 2.24.0
- 2.23.0
- 2.22.0
- 2.21.0
- 2.20.0
- 2.19.0
- 2.18.0
- 2.17.0
- 2.16.0
- 2.15.0
- 2.14.0
- 2.13.0
- 2.12.0
- 2.11.0
- 2.9.0
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.7
- 2.2.8
public class ServiceUsageClient implements BackgroundResource
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.
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 (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().
The surface of this class includes several types of Java methods for each of the API's methods:
- 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.
- 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.
- 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:
ServiceUsageSettings serviceUsageSettings =
ServiceUsageSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
ServiceUsageClient serviceUsageClient = ServiceUsageClient.create(serviceUsageSettings);
To customize the endpoint:
ServiceUsageSettings serviceUsageSettings =
ServiceUsageSettings.newBuilder().setEndpoint(myEndpoint).build();
ServiceUsageClient serviceUsageClient = ServiceUsageClient.create(serviceUsageSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final ServiceUsageClient create()
Constructs an instance of ServiceUsageClient with default settings.
Type | Description |
ServiceUsageClient |
Type | Description |
IOException |
create(ServiceUsageSettings settings)
public static final ServiceUsageClient create(ServiceUsageSettings settings)
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.
Name | Description |
settings | ServiceUsageSettings |
Type | Description |
ServiceUsageClient |
Type | Description |
IOException |
create(ServiceUsageStub stub)
public static final ServiceUsageClient create(ServiceUsageStub stub)
Constructs an instance of ServiceUsageClient, using the given stub for making calls. This is for advanced usage - prefer using create(ServiceUsageSettings).
Name | Description |
stub | ServiceUsageStub |
Type | Description |
ServiceUsageClient |
Constructors
ServiceUsageClient(ServiceUsageSettings settings)
protected ServiceUsageClient(ServiceUsageSettings settings)
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.
Name | Description |
settings | ServiceUsageSettings |
ServiceUsageClient(ServiceUsageStub stub)
protected ServiceUsageClient(ServiceUsageStub stub)
Name | Description |
stub | ServiceUsageStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
batchEnableServicesAsync(BatchEnableServicesRequest request)
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:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
BatchEnableServicesRequest request =
BatchEnableServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllServiceIds(new ArrayList<String>())
.build();
BatchEnableServicesResponse response =
serviceUsageClient.batchEnableServicesAsync(request).get();
}
Name | Description |
request | BatchEnableServicesRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<BatchEnableServicesResponse,OperationMetadata> |
batchEnableServicesCallable()
public final UnaryCallable<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:
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();
}
Type | Description |
UnaryCallable<BatchEnableServicesRequest,Operation> |
batchEnableServicesOperationCallable()
public final OperationCallable<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:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
BatchEnableServicesRequest request =
BatchEnableServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllServiceIds(new ArrayList<String>())
.build();
OperationFuture
Type | Description |
OperationCallable<BatchEnableServicesRequest,BatchEnableServicesResponse,OperationMetadata> |
batchGetServices(BatchGetServicesRequest request)
public final BatchGetServicesResponse batchGetServices(BatchGetServicesRequest request)
Returns the service configurations and enabled states for a given list of services.
Sample code:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
BatchGetServicesRequest request =
BatchGetServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllNames(new ArrayList<String>())
.build();
BatchGetServicesResponse response = serviceUsageClient.batchGetServices(request);
}
Name | Description |
request | BatchGetServicesRequest The request object containing all of the parameters for the API call. |
Type | Description |
BatchGetServicesResponse |
batchGetServicesCallable()
public final UnaryCallable<BatchGetServicesRequest,BatchGetServicesResponse> batchGetServicesCallable()
Returns the service configurations and enabled states for a given list of services.
Sample code:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
BatchGetServicesRequest request =
BatchGetServicesRequest.newBuilder()
.setParent("parent-995424086")
.addAllNames(new ArrayList<String>())
.build();
ApiFuture
Type | Description |
UnaryCallable<BatchGetServicesRequest,BatchGetServicesResponse> |
close()
public final void close()
disableServiceAsync(DisableServiceRequest request)
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:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
DisableServiceRequest request =
DisableServiceRequest.newBuilder()
.setName("name3373707")
.setDisableDependentServices(true)
.build();
DisableServiceResponse response = serviceUsageClient.disableServiceAsync(request).get();
}
Name | Description |
request | DisableServiceRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<DisableServiceResponse,OperationMetadata> |
disableServiceCallable()
public final UnaryCallable<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:
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();
}
Type | Description |
UnaryCallable<DisableServiceRequest,Operation> |
disableServiceOperationCallable()
public final OperationCallable<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:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
DisableServiceRequest request =
DisableServiceRequest.newBuilder()
.setName("name3373707")
.setDisableDependentServices(true)
.build();
OperationFuture
Type | Description |
OperationCallable<DisableServiceRequest,DisableServiceResponse,OperationMetadata> |
enableServiceAsync(EnableServiceRequest request)
public final OperationFuture<EnableServiceResponse,OperationMetadata> enableServiceAsync(EnableServiceRequest request)
Enable a service so that it can be used with a project.
Sample code:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
EnableServiceRequest request =
EnableServiceRequest.newBuilder().setName("name3373707").build();
EnableServiceResponse response = serviceUsageClient.enableServiceAsync(request).get();
}
Name | Description |
request | EnableServiceRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<EnableServiceResponse,OperationMetadata> |
enableServiceCallable()
public final UnaryCallable<EnableServiceRequest,Operation> enableServiceCallable()
Enable a service so that it can be used with a project.
Sample code:
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();
}
Type | Description |
UnaryCallable<EnableServiceRequest,Operation> |
enableServiceOperationCallable()
public final OperationCallable<EnableServiceRequest,EnableServiceResponse,OperationMetadata> enableServiceOperationCallable()
Enable a service so that it can be used with a project.
Sample code:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
EnableServiceRequest request =
EnableServiceRequest.newBuilder().setName("name3373707").build();
OperationFuture
Type | Description |
OperationCallable<EnableServiceRequest,EnableServiceResponse,OperationMetadata> |
getOperationsClient()
public final OperationsClient getOperationsClient()
Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
Type | Description |
OperationsClient |
getService(GetServiceRequest request)
public final Service getService(GetServiceRequest request)
Returns the service configuration and enabled state for a given service.
Sample code:
try (ServiceUsageClient serviceUsageClient = ServiceUsageClient.create()) {
GetServiceRequest request = GetServiceRequest.newBuilder().setName("name3373707").build();
Service response = serviceUsageClient.getService(request);
}
Name | Description |
request | GetServiceRequest The request object containing all of the parameters for the API call. |
Type | Description |
Service |
getServiceCallable()
public final UnaryCallable<GetServiceRequest,Service> getServiceCallable()
Returns the service configuration and enabled state for a given service.
Sample code:
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();
}
Type | Description |
UnaryCallable<GetServiceRequest,Service> |
getSettings()
public final ServiceUsageSettings getSettings()
Type | Description |
ServiceUsageSettings |
getStub()
public ServiceUsageStub getStub()
Type | Description |
ServiceUsageStub |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listServices(ListServicesRequest request)
public final ServiceUsageClient.ListServicesPagedResponse listServices(ListServicesRequest request)
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:
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);
}
}
Name | Description |
request | ListServicesRequest The request object containing all of the parameters for the API call. |
Type | Description |
ServiceUsageClient.ListServicesPagedResponse |
listServicesCallable()
public final UnaryCallable<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:
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.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListServicesRequest,ListServicesResponse> |
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, which provides higher throughput and richer filtering capability.
Sample code:
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);
}
}
Type | Description |
UnaryCallable<ListServicesRequest,ListServicesPagedResponse> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()