@Generated(value="by gapic-generator-java") public class CloudBillingClient extends Object implements com.google.api.gax.core.BackgroundResource
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]");
BillingAccount response = cloudBillingClient.getBillingAccount(name);
}
Note: close() needs to be called on the CloudBillingClient 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 |
|---|---|---|
GetBillingAccount |
Gets information about a billing account. The current authenticated user must be a [viewer of the billing account](https://cloud.google.com/billing/docs/how-to/billing-access). |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
ListBillingAccounts |
Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UpdateBillingAccount |
Updates a billing account's fields. Currently the only field that can be edited is `display_name`. The current authenticated user must have the `billing.accounts.update` IAM permission, which is typically given to the [administrator](https://cloud.google.com/billing/docs/how-to/billing-access) of the billing account. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
CreateBillingAccount |
This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
ListProjectBillingInfo |
Lists the projects associated with a billing account. The current authenticated user must have the `billing.resourceAssociations.list` IAM permission, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
GetProjectBillingInfo |
Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UpdateProjectBillingInfo |
Sets or updates the billing account associated with a project. You specify the new billing account by setting the `billing_account_name` in the `ProjectBillingInfo` resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges. *Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project. The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access). You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project. Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an
|
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
GetIamPolicy |
Gets the access control policy for a billing account. The caller must have the `billing.accounts.getIamPolicy` permission on the account, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
SetIamPolicy |
Sets the access control policy for a billing account. Replaces any existing policy. The caller must have the `billing.accounts.setIamPolicy` permission on the account, which is often given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
TestIamPermissions |
Tests the access control policy for a billing account. This method takes the resource and a set of permissions as input and returns the subset of the input permissions that the caller is allowed for that resource. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
MoveBillingAccount |
Changes which parent organization a billing account belongs to. |
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 CloudBillingSettings 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
CloudBillingSettings cloudBillingSettings =
CloudBillingSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
CloudBillingClient cloudBillingClient = CloudBillingClient.create(cloudBillingSettings);
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
CloudBillingSettings cloudBillingSettings =
CloudBillingSettings.newBuilder().setEndpoint(myEndpoint).build();
CloudBillingClient cloudBillingClient = CloudBillingClient.create(cloudBillingSettings);
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
CloudBillingSettings cloudBillingSettings = CloudBillingSettings.newHttpJsonBuilder().build();
CloudBillingClient cloudBillingClient = CloudBillingClient.create(cloudBillingSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
| Modifier and Type | Class and Description |
|---|---|
static class |
CloudBillingClient.ListBillingAccountsFixedSizeCollection |
static class |
CloudBillingClient.ListBillingAccountsPage |
static class |
CloudBillingClient.ListBillingAccountsPagedResponse |
static class |
CloudBillingClient.ListProjectBillingInfoFixedSizeCollection |
static class |
CloudBillingClient.ListProjectBillingInfoPage |
static class |
CloudBillingClient.ListProjectBillingInfoPagedResponse |
| Modifier | Constructor and Description |
|---|---|
protected |
CloudBillingClient(CloudBillingSettings settings)
Constructs an instance of CloudBillingClient, using the given settings.
|
protected |
CloudBillingClient(CloudBillingStub stub) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
awaitTermination(long duration,
TimeUnit unit) |
void |
close() |
static CloudBillingClient |
create()
Constructs an instance of CloudBillingClient with default settings.
|
static CloudBillingClient |
create(CloudBillingSettings settings)
Constructs an instance of CloudBillingClient, using the given settings.
|
static CloudBillingClient |
create(CloudBillingStub stub)
Constructs an instance of CloudBillingClient, using the given stub for making calls.
|
BillingAccount |
createBillingAccount(BillingAccount billingAccount)
This method creates [billing
subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts).
|
BillingAccount |
createBillingAccount(BillingAccount billingAccount,
String parent)
This method creates [billing
subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts).
|
BillingAccount |
createBillingAccount(CreateBillingAccountRequest request)
This method creates [billing
subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts).
|
com.google.api.gax.rpc.UnaryCallable<CreateBillingAccountRequest,BillingAccount> |
createBillingAccountCallable()
This method creates [billing
subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts).
|
BillingAccount |
getBillingAccount(BillingAccountName name)
Gets information about a billing account.
|
BillingAccount |
getBillingAccount(GetBillingAccountRequest request)
Gets information about a billing account.
|
BillingAccount |
getBillingAccount(String name)
Gets information about a billing account.
|
com.google.api.gax.rpc.UnaryCallable<GetBillingAccountRequest,BillingAccount> |
getBillingAccountCallable()
Gets information about a billing account.
|
com.google.iam.v1.Policy |
getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request)
Gets the access control policy for a billing account.
|
com.google.iam.v1.Policy |
getIamPolicy(com.google.api.resourcenames.ResourceName resource)
Gets the access control policy for a billing account.
|
com.google.iam.v1.Policy |
getIamPolicy(String resource)
Gets the access control policy for a billing account.
|
com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> |
getIamPolicyCallable()
Gets the access control policy for a billing account.
|
ProjectBillingInfo |
getProjectBillingInfo(GetProjectBillingInfoRequest request)
Gets the billing information for a project.
|
ProjectBillingInfo |
getProjectBillingInfo(ProjectName name)
Gets the billing information for a project.
|
ProjectBillingInfo |
getProjectBillingInfo(String name)
Gets the billing information for a project.
|
com.google.api.gax.rpc.UnaryCallable<GetProjectBillingInfoRequest,ProjectBillingInfo> |
getProjectBillingInfoCallable()
Gets the billing information for a project.
|
CloudBillingSettings |
getSettings() |
CloudBillingStub |
getStub() |
boolean |
isShutdown() |
boolean |
isTerminated() |
CloudBillingClient.ListBillingAccountsPagedResponse |
listBillingAccounts()
Lists the billing accounts that the current authenticated user has permission to
[view](https://cloud.google.com/billing/docs/how-to/billing-access).
|
CloudBillingClient.ListBillingAccountsPagedResponse |
listBillingAccounts(ListBillingAccountsRequest request)
Lists the billing accounts that the current authenticated user has permission to
[view](https://cloud.google.com/billing/docs/how-to/billing-access).
|
CloudBillingClient.ListBillingAccountsPagedResponse |
listBillingAccounts(String parent)
Lists the billing accounts that the current authenticated user has permission to
[view](https://cloud.google.com/billing/docs/how-to/billing-access).
|
com.google.api.gax.rpc.UnaryCallable<ListBillingAccountsRequest,ListBillingAccountsResponse> |
listBillingAccountsCallable()
Lists the billing accounts that the current authenticated user has permission to
[view](https://cloud.google.com/billing/docs/how-to/billing-access).
|
com.google.api.gax.rpc.UnaryCallable<ListBillingAccountsRequest,CloudBillingClient.ListBillingAccountsPagedResponse> |
listBillingAccountsPagedCallable()
Lists the billing accounts that the current authenticated user has permission to
[view](https://cloud.google.com/billing/docs/how-to/billing-access).
|
CloudBillingClient.ListProjectBillingInfoPagedResponse |
listProjectBillingInfo(BillingAccountName name)
Lists the projects associated with a billing account.
|
CloudBillingClient.ListProjectBillingInfoPagedResponse |
listProjectBillingInfo(ListProjectBillingInfoRequest request)
Lists the projects associated with a billing account.
|
CloudBillingClient.ListProjectBillingInfoPagedResponse |
listProjectBillingInfo(String name)
Lists the projects associated with a billing account.
|
com.google.api.gax.rpc.UnaryCallable<ListProjectBillingInfoRequest,ListProjectBillingInfoResponse> |
listProjectBillingInfoCallable()
Lists the projects associated with a billing account.
|
com.google.api.gax.rpc.UnaryCallable<ListProjectBillingInfoRequest,CloudBillingClient.ListProjectBillingInfoPagedResponse> |
listProjectBillingInfoPagedCallable()
Lists the projects associated with a billing account.
|
BillingAccount |
moveBillingAccount(MoveBillingAccountRequest request)
Changes which parent organization a billing account belongs to.
|
com.google.api.gax.rpc.UnaryCallable<MoveBillingAccountRequest,BillingAccount> |
moveBillingAccountCallable()
Changes which parent organization a billing account belongs to.
|
com.google.iam.v1.Policy |
setIamPolicy(com.google.api.resourcenames.ResourceName resource,
com.google.iam.v1.Policy policy)
Sets the access control policy for a billing account.
|
com.google.iam.v1.Policy |
setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request)
Sets the access control policy for a billing account.
|
com.google.iam.v1.Policy |
setIamPolicy(String resource,
com.google.iam.v1.Policy policy)
Sets the access control policy for a billing account.
|
com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> |
setIamPolicyCallable()
Sets the access control policy for a billing account.
|
void |
shutdown() |
void |
shutdownNow() |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(com.google.api.resourcenames.ResourceName resource,
List<String> permissions)
Tests the access control policy for a billing account.
|
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(String resource,
List<String> permissions)
Tests the access control policy for a billing account.
|
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request)
Tests the access control policy for a billing account.
|
com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> |
testIamPermissionsCallable()
Tests the access control policy for a billing account.
|
BillingAccount |
updateBillingAccount(BillingAccountName name,
BillingAccount account)
Updates a billing account's fields.
|
BillingAccount |
updateBillingAccount(String name,
BillingAccount account)
Updates a billing account's fields.
|
BillingAccount |
updateBillingAccount(UpdateBillingAccountRequest request)
Updates a billing account's fields.
|
com.google.api.gax.rpc.UnaryCallable<UpdateBillingAccountRequest,BillingAccount> |
updateBillingAccountCallable()
Updates a billing account's fields.
|
ProjectBillingInfo |
updateProjectBillingInfo(String name,
ProjectBillingInfo projectBillingInfo)
Sets or updates the billing account associated with a project.
|
ProjectBillingInfo |
updateProjectBillingInfo(UpdateProjectBillingInfoRequest request)
Sets or updates the billing account associated with a project.
|
com.google.api.gax.rpc.UnaryCallable<UpdateProjectBillingInfoRequest,ProjectBillingInfo> |
updateProjectBillingInfoCallable()
Sets or updates the billing account associated with a project.
|
protected CloudBillingClient(CloudBillingSettings settings) throws IOException
IOExceptionprotected CloudBillingClient(CloudBillingStub stub)
public static final CloudBillingClient create() throws IOException
IOExceptionpublic static final CloudBillingClient create(CloudBillingSettings settings) throws IOException
IOExceptionpublic static final CloudBillingClient create(CloudBillingStub stub)
public final CloudBillingSettings getSettings()
public CloudBillingStub getStub()
public final BillingAccount getBillingAccount(BillingAccountName name)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]");
BillingAccount response = cloudBillingClient.getBillingAccount(name);
}
name - Required. The resource name of the billing account to retrieve. For example,
`billingAccounts/012345-567890-ABCDEF`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final BillingAccount getBillingAccount(String name)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString();
BillingAccount response = cloudBillingClient.getBillingAccount(name);
}
name - Required. The resource name of the billing account to retrieve. For example,
`billingAccounts/012345-567890-ABCDEF`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final BillingAccount getBillingAccount(GetBillingAccountRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetBillingAccountRequest request =
GetBillingAccountRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.build();
BillingAccount response = cloudBillingClient.getBillingAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetBillingAccountRequest,BillingAccount> getBillingAccountCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetBillingAccountRequest request =
GetBillingAccountRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.getBillingAccountCallable().futureCall(request);
// Do something.
BillingAccount response = future.get();
}
public final CloudBillingClient.ListBillingAccountsPagedResponse listBillingAccounts()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
for (BillingAccount element : cloudBillingClient.listBillingAccounts().iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final CloudBillingClient.ListBillingAccountsPagedResponse listBillingAccounts(String parent)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String parent = "parent-995424086";
for (BillingAccount element : cloudBillingClient.listBillingAccounts(parent).iterateAll()) {
// doThingsWith(element);
}
}
parent - Optional. The parent resource to list billing accounts from. Format: -
`organizations/{organization_id}`, for example, `organizations/12345678` -
`billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`com.google.api.gax.rpc.ApiException - if the remote call failspublic final CloudBillingClient.ListBillingAccountsPagedResponse listBillingAccounts(ListBillingAccountsRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListBillingAccountsRequest request =
ListBillingAccountsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.setParent("parent-995424086")
.build();
for (BillingAccount element : cloudBillingClient.listBillingAccounts(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ListBillingAccountsRequest,CloudBillingClient.ListBillingAccountsPagedResponse> listBillingAccountsPagedCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListBillingAccountsRequest request =
ListBillingAccountsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.setParent("parent-995424086")
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.listBillingAccountsPagedCallable().futureCall(request);
// Do something.
for (BillingAccount element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<ListBillingAccountsRequest,ListBillingAccountsResponse> listBillingAccountsCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListBillingAccountsRequest request =
ListBillingAccountsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.setParent("parent-995424086")
.build();
while (true) {
ListBillingAccountsResponse response =
cloudBillingClient.listBillingAccountsCallable().call(request);
for (BillingAccount element : response.getBillingAccountsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final BillingAccount updateBillingAccount(BillingAccountName name, BillingAccount account)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]");
BillingAccount account = BillingAccount.newBuilder().build();
BillingAccount response = cloudBillingClient.updateBillingAccount(name, account);
}
name - Required. The name of the billing account resource to be updated.account - Required. The billing account resource to replace the resource on the server.com.google.api.gax.rpc.ApiException - if the remote call failspublic final BillingAccount updateBillingAccount(String name, BillingAccount account)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString();
BillingAccount account = BillingAccount.newBuilder().build();
BillingAccount response = cloudBillingClient.updateBillingAccount(name, account);
}
name - Required. The name of the billing account resource to be updated.account - Required. The billing account resource to replace the resource on the server.com.google.api.gax.rpc.ApiException - if the remote call failspublic final BillingAccount updateBillingAccount(UpdateBillingAccountRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
UpdateBillingAccountRequest request =
UpdateBillingAccountRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setAccount(BillingAccount.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
BillingAccount response = cloudBillingClient.updateBillingAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UpdateBillingAccountRequest,BillingAccount> updateBillingAccountCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
UpdateBillingAccountRequest request =
UpdateBillingAccountRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setAccount(BillingAccount.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.updateBillingAccountCallable().futureCall(request);
// Do something.
BillingAccount response = future.get();
}
public final BillingAccount createBillingAccount(BillingAccount billingAccount)
Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create).
When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts.
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccount billingAccount = BillingAccount.newBuilder().build();
BillingAccount response = cloudBillingClient.createBillingAccount(billingAccount);
}
billingAccount - Required. The billing account resource to create. Currently
CreateBillingAccount only supports subaccount creation, so any created billing accounts
must be under a provided parent billing account.com.google.api.gax.rpc.ApiException - if the remote call failspublic final BillingAccount createBillingAccount(BillingAccount billingAccount, String parent)
Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create).
When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts.
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccount billingAccount = BillingAccount.newBuilder().build();
String parent = "parent-995424086";
BillingAccount response = cloudBillingClient.createBillingAccount(billingAccount, parent);
}
billingAccount - Required. The billing account resource to create. Currently
CreateBillingAccount only supports subaccount creation, so any created billing accounts
must be under a provided parent billing account.parent - Optional. The parent to create a billing account from. Format: -
`billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF`com.google.api.gax.rpc.ApiException - if the remote call failspublic final BillingAccount createBillingAccount(CreateBillingAccountRequest request)
Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create).
When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts.
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
CreateBillingAccountRequest request =
CreateBillingAccountRequest.newBuilder()
.setBillingAccount(BillingAccount.newBuilder().build())
.setParent("parent-995424086")
.build();
BillingAccount response = cloudBillingClient.createBillingAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<CreateBillingAccountRequest,BillingAccount> createBillingAccountCallable()
Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create).
When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts.
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
CreateBillingAccountRequest request =
CreateBillingAccountRequest.newBuilder()
.setBillingAccount(BillingAccount.newBuilder().build())
.setParent("parent-995424086")
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.createBillingAccountCallable().futureCall(request);
// Do something.
BillingAccount response = future.get();
}
public final CloudBillingClient.ListProjectBillingInfoPagedResponse listProjectBillingInfo(BillingAccountName name)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]");
for (ProjectBillingInfo element :
cloudBillingClient.listProjectBillingInfo(name).iterateAll()) {
// doThingsWith(element);
}
}
name - Required. The resource name of the billing account associated with the projects
that you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final CloudBillingClient.ListProjectBillingInfoPagedResponse listProjectBillingInfo(String name)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString();
for (ProjectBillingInfo element :
cloudBillingClient.listProjectBillingInfo(name).iterateAll()) {
// doThingsWith(element);
}
}
name - Required. The resource name of the billing account associated with the projects
that you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final CloudBillingClient.ListProjectBillingInfoPagedResponse listProjectBillingInfo(ListProjectBillingInfoRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListProjectBillingInfoRequest request =
ListProjectBillingInfoRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (ProjectBillingInfo element :
cloudBillingClient.listProjectBillingInfo(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ListProjectBillingInfoRequest,CloudBillingClient.ListProjectBillingInfoPagedResponse> listProjectBillingInfoPagedCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListProjectBillingInfoRequest request =
ListProjectBillingInfoRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<ProjectBillingInfo> future =
cloudBillingClient.listProjectBillingInfoPagedCallable().futureCall(request);
// Do something.
for (ProjectBillingInfo element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<ListProjectBillingInfoRequest,ListProjectBillingInfoResponse> listProjectBillingInfoCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListProjectBillingInfoRequest request =
ListProjectBillingInfoRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListProjectBillingInfoResponse response =
cloudBillingClient.listProjectBillingInfoCallable().call(request);
for (ProjectBillingInfo element : response.getProjectBillingInfoList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final ProjectBillingInfo getProjectBillingInfo(ProjectName name)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(name);
}
name - Required. The resource name of the project for which billing information is
retrieved. For example, `projects/tokyo-rain-123`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ProjectBillingInfo getProjectBillingInfo(String name)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = ProjectName.of("[PROJECT]").toString();
ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(name);
}
name - Required. The resource name of the project for which billing information is
retrieved. For example, `projects/tokyo-rain-123`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ProjectBillingInfo getProjectBillingInfo(GetProjectBillingInfoRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetProjectBillingInfoRequest request =
GetProjectBillingInfoRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.build();
ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetProjectBillingInfoRequest,ProjectBillingInfo> getProjectBillingInfoCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetProjectBillingInfoRequest request =
GetProjectBillingInfoRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.build();
ApiFuture<ProjectBillingInfo> future =
cloudBillingClient.getProjectBillingInfoCallable().futureCall(request);
// Do something.
ProjectBillingInfo response = future.get();
}
public final ProjectBillingInfo updateProjectBillingInfo(String name, ProjectBillingInfo projectBillingInfo)
*Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project.
The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access).
You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project.
Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = "name3373707";
ProjectBillingInfo projectBillingInfo = ProjectBillingInfo.newBuilder().build();
ProjectBillingInfo response =
cloudBillingClient.updateProjectBillingInfo(name, projectBillingInfo);
}
name - Required. The resource name of the project associated with the billing information
that you want to update. For example, `projects/tokyo-rain-123`.projectBillingInfo - The new billing information for the project. Output-only fields are
ignored; thus, you can leave empty all fields except `billing_account_name`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ProjectBillingInfo updateProjectBillingInfo(UpdateProjectBillingInfoRequest request)
*Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project.
The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access).
You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project.
Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
UpdateProjectBillingInfoRequest request =
UpdateProjectBillingInfoRequest.newBuilder()
.setName("name3373707")
.setProjectBillingInfo(ProjectBillingInfo.newBuilder().build())
.build();
ProjectBillingInfo response = cloudBillingClient.updateProjectBillingInfo(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UpdateProjectBillingInfoRequest,ProjectBillingInfo> updateProjectBillingInfoCallable()
*Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project.
The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access).
You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project.
Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
UpdateProjectBillingInfoRequest request =
UpdateProjectBillingInfoRequest.newBuilder()
.setName("name3373707")
.setProjectBillingInfo(ProjectBillingInfo.newBuilder().build())
.build();
ApiFuture<ProjectBillingInfo> future =
cloudBillingClient.updateProjectBillingInfoCallable().futureCall(request);
// Do something.
ProjectBillingInfo response = future.get();
}
public final com.google.iam.v1.Policy getIamPolicy(com.google.api.resourcenames.ResourceName resource)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ResourceName resource = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]");
Policy response = cloudBillingClient.getIamPolicy(resource);
}
resource - REQUIRED: The resource for which the policy is being requested. See the
operation documentation for the appropriate value for this field.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy getIamPolicy(String resource)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String resource = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString();
Policy response = cloudBillingClient.getIamPolicy(resource);
}
resource - REQUIRED: The resource for which the policy is being requested. See the
operation documentation for the appropriate value for this field.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
Policy response = cloudBillingClient.getIamPolicy(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> getIamPolicyCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
ApiFuture<Policy> future = cloudBillingClient.getIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
public final com.google.iam.v1.Policy setIamPolicy(com.google.api.resourcenames.ResourceName resource,
com.google.iam.v1.Policy policy)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ResourceName resource = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]");
Policy policy = Policy.newBuilder().build();
Policy response = cloudBillingClient.setIamPolicy(resource, policy);
}
resource - REQUIRED: The resource for which the policy is being specified. See the
operation documentation for the appropriate value for this field.policy - REQUIRED: The complete policy to be applied to the `resource`. The size of the
policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
Platform services (such as Projects) might reject them.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy setIamPolicy(String resource, com.google.iam.v1.Policy policy)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String resource = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString();
Policy policy = Policy.newBuilder().build();
Policy response = cloudBillingClient.setIamPolicy(resource, policy);
}
resource - REQUIRED: The resource for which the policy is being specified. See the
operation documentation for the appropriate value for this field.policy - REQUIRED: The complete policy to be applied to the `resource`. The size of the
policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
Platform services (such as Projects) might reject them.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setPolicy(Policy.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Policy response = cloudBillingClient.setIamPolicy(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> setIamPolicyCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setPolicy(Policy.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Policy> future = cloudBillingClient.setIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
public final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(com.google.api.resourcenames.ResourceName resource,
List<String> permissions)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ResourceName resource = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]");
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response =
cloudBillingClient.testIamPermissions(resource, permissions);
}
resource - REQUIRED: The resource for which the policy detail is being requested. See the
operation documentation for the appropriate value for this field.permissions - The set of permissions to check for the `resource`. Permissions with
wildcards (such as '*' or 'storage.*') are not allowed. For more information see
[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String resource = BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString();
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response =
cloudBillingClient.testIamPermissions(resource, permissions);
}
resource - REQUIRED: The resource for which the policy detail is being requested. See the
operation documentation for the appropriate value for this field.permissions - The set of permissions to check for the `resource`. Permissions with
wildcards (such as '*' or 'storage.*') are not allowed. For more information see
[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
TestIamPermissionsResponse response = cloudBillingClient.testIamPermissions(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> testIamPermissionsCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
ApiFuture<TestIamPermissionsResponse> future =
cloudBillingClient.testIamPermissionsCallable().futureCall(request);
// Do something.
TestIamPermissionsResponse response = future.get();
}
public final BillingAccount moveBillingAccount(MoveBillingAccountRequest request)
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
MoveBillingAccountRequest request =
MoveBillingAccountRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setDestinationParent(OrganizationName.of("[ORGANIZATION]").toString())
.build();
BillingAccount response = cloudBillingClient.moveBillingAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<MoveBillingAccountRequest,BillingAccount> moveBillingAccountCallable()
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
MoveBillingAccountRequest request =
MoveBillingAccountRequest.newBuilder()
.setName(BillingAccountName.ofBillingAccountName("[BILLING_ACCOUNT]").toString())
.setDestinationParent(OrganizationName.of("[ORGANIZATION]").toString())
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.moveBillingAccountCallable().futureCall(request);
// Do something.
BillingAccount response = future.get();
}
public final void close()
close in interface AutoCloseablepublic void shutdown()
shutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isShutdown()
isShutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isTerminated()
isTerminated in interface com.google.api.gax.core.BackgroundResourcepublic void shutdownNow()
shutdownNow in interface com.google.api.gax.core.BackgroundResourcepublic boolean awaitTermination(long duration,
TimeUnit unit)
throws InterruptedException
awaitTermination in interface com.google.api.gax.core.BackgroundResourceInterruptedExceptionCopyright © 2025 Google LLC. All rights reserved.