- 2.53.0 (latest)
- 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.10.0
- 2.9.0
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.5
- 2.2.1
- 2.1.12
public class CloudBillingClient implements BackgroundResource
Service Description: Retrieves GCP Console billing accounts and associates them with projects.
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 (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.of("[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().
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 CloudBillingSettings to create(). For example:
To customize credentials:
CloudBillingSettings cloudBillingSettings =
CloudBillingSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
CloudBillingClient cloudBillingClient = CloudBillingClient.create(cloudBillingSettings);
To customize the endpoint:
CloudBillingSettings cloudBillingSettings =
CloudBillingSettings.newBuilder().setEndpoint(myEndpoint).build();
CloudBillingClient cloudBillingClient = CloudBillingClient.create(cloudBillingSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final CloudBillingClient create()
Constructs an instance of CloudBillingClient with default settings.
Type | Description |
CloudBillingClient |
Type | Description |
IOException |
create(CloudBillingSettings settings)
public static final CloudBillingClient create(CloudBillingSettings settings)
Constructs an instance of CloudBillingClient, 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 | CloudBillingSettings |
Type | Description |
CloudBillingClient |
Type | Description |
IOException |
create(CloudBillingStub stub)
public static final CloudBillingClient create(CloudBillingStub stub)
Constructs an instance of CloudBillingClient, using the given stub for making calls. This is for advanced usage - prefer using create(CloudBillingSettings).
Name | Description |
stub | CloudBillingStub |
Type | Description |
CloudBillingClient |
Constructors
CloudBillingClient(CloudBillingSettings settings)
protected CloudBillingClient(CloudBillingSettings settings)
Constructs an instance of CloudBillingClient, 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 | CloudBillingSettings |
CloudBillingClient(CloudBillingStub stub)
protected CloudBillingClient(CloudBillingStub stub)
Name | Description |
stub | CloudBillingStub |
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 |
close()
public final void close()
createBillingAccount(BillingAccount billingAccount)
public final BillingAccount createBillingAccount(BillingAccount billingAccount)
Creates a billing account. This method can only be used to create billing
subaccounts by GCP resellers. When creating a
subaccount, the current authenticated user must have the billing.accounts.update
IAM
permission on the master account, which is typically given to billing account
administrators. This method will
return an error if the master account has not been provisioned as a reseller account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccount billingAccount = BillingAccount.newBuilder().build();
BillingAccount response = cloudBillingClient.createBillingAccount(billingAccount);
}
Name | Description |
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 master billing account. |
Type | Description |
BillingAccount |
createBillingAccount(CreateBillingAccountRequest request)
public final BillingAccount createBillingAccount(CreateBillingAccountRequest request)
Creates a billing account. This method can only be used to create billing
subaccounts by GCP resellers. When creating a
subaccount, the current authenticated user must have the billing.accounts.update
IAM
permission on the master account, which is typically given to billing account
administrators. This method will
return an error if the master account has not been provisioned as a reseller account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
CreateBillingAccountRequest request =
CreateBillingAccountRequest.newBuilder()
.setBillingAccount(BillingAccount.newBuilder().build())
.build();
BillingAccount response = cloudBillingClient.createBillingAccount(request);
}
Name | Description |
request | CreateBillingAccountRequest The request object containing all of the parameters for the API call. |
Type | Description |
BillingAccount |
createBillingAccountCallable()
public final UnaryCallable<CreateBillingAccountRequest,BillingAccount> createBillingAccountCallable()
Creates a billing account. This method can only be used to create billing
subaccounts by GCP resellers. When creating a
subaccount, the current authenticated user must have the billing.accounts.update
IAM
permission on the master account, which is typically given to billing account
administrators. This method will
return an error if the master account has not been provisioned as a reseller account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
CreateBillingAccountRequest request =
CreateBillingAccountRequest.newBuilder()
.setBillingAccount(BillingAccount.newBuilder().build())
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.createBillingAccountCallable().futureCall(request);
// Do something.
BillingAccount response = future.get();
}
Type | Description |
UnaryCallable<CreateBillingAccountRequest,BillingAccount> |
getBillingAccount(BillingAccountName name)
public final BillingAccount getBillingAccount(BillingAccountName name)
Gets information about a billing account. The current authenticated user must be a viewer of the billing account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.of("[BILLING_ACCOUNT]");
BillingAccount response = cloudBillingClient.getBillingAccount(name);
}
Name | Description |
name | BillingAccountName Required. The resource name of the billing account to retrieve. For example,
|
Type | Description |
BillingAccount |
getBillingAccount(GetBillingAccountRequest request)
public final BillingAccount getBillingAccount(GetBillingAccountRequest request)
Gets information about a billing account. The current authenticated user must be a viewer of the billing account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetBillingAccountRequest request =
GetBillingAccountRequest.newBuilder()
.setName(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.build();
BillingAccount response = cloudBillingClient.getBillingAccount(request);
}
Name | Description |
request | GetBillingAccountRequest The request object containing all of the parameters for the API call. |
Type | Description |
BillingAccount |
getBillingAccount(String name)
public final BillingAccount getBillingAccount(String name)
Gets information about a billing account. The current authenticated user must be a viewer of the billing account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = BillingAccountName.of("[BILLING_ACCOUNT]").toString();
BillingAccount response = cloudBillingClient.getBillingAccount(name);
}
Name | Description |
name | String Required. The resource name of the billing account to retrieve. For example,
|
Type | Description |
BillingAccount |
getBillingAccountCallable()
public final UnaryCallable<GetBillingAccountRequest,BillingAccount> getBillingAccountCallable()
Gets information about a billing account. The current authenticated user must be a viewer of the billing account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetBillingAccountRequest request =
GetBillingAccountRequest.newBuilder()
.setName(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.getBillingAccountCallable().futureCall(request);
// Do something.
BillingAccount response = future.get();
}
Type | Description |
UnaryCallable<GetBillingAccountRequest,BillingAccount> |
getIamPolicy(ResourceName resource)
public final Policy getIamPolicy(ResourceName resource)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ResourceName resource = BillingAccountName.of("[BILLING_ACCOUNT]");
Policy response = cloudBillingClient.getIamPolicy(resource);
}
Name | Description |
resource | com.google.api.resourcenames.ResourceName REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicy(GetIamPolicyRequest request)
public final Policy getIamPolicy(GetIamPolicyRequest request)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
Policy response = cloudBillingClient.getIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.GetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicy(String resource)
public final Policy getIamPolicy(String resource)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String resource = BillingAccountName.of("[BILLING_ACCOUNT]").toString();
Policy response = cloudBillingClient.getIamPolicy(resource);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicyCallable()
public final UnaryCallable<GetIamPolicyRequest,Policy> getIamPolicyCallable()
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
ApiFuture<Policy> future = cloudBillingClient.getIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> |
getProjectBillingInfo(GetProjectBillingInfoRequest request)
public final ProjectBillingInfo getProjectBillingInfo(GetProjectBillingInfoRequest request)
Gets the billing information for a project. The current authenticated user must have permission to view the project.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetProjectBillingInfoRequest request =
GetProjectBillingInfoRequest.newBuilder().setName("name3373707").build();
ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(request);
}
Name | Description |
request | GetProjectBillingInfoRequest The request object containing all of the parameters for the API call. |
Type | Description |
ProjectBillingInfo |
getProjectBillingInfo(String name)
public final ProjectBillingInfo getProjectBillingInfo(String name)
Gets the billing information for a project. The current authenticated user must have permission to view the project.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = "name3373707";
ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(name);
}
Name | Description |
name | String Required. The resource name of the project for which billing information is
retrieved. For example, |
Type | Description |
ProjectBillingInfo |
getProjectBillingInfoCallable()
public final UnaryCallable<GetProjectBillingInfoRequest,ProjectBillingInfo> getProjectBillingInfoCallable()
Gets the billing information for a project. The current authenticated user must have permission to view the project.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
GetProjectBillingInfoRequest request =
GetProjectBillingInfoRequest.newBuilder().setName("name3373707").build();
ApiFuture<ProjectBillingInfo> future =
cloudBillingClient.getProjectBillingInfoCallable().futureCall(request);
// Do something.
ProjectBillingInfo response = future.get();
}
Type | Description |
UnaryCallable<GetProjectBillingInfoRequest,ProjectBillingInfo> |
getSettings()
public final CloudBillingSettings getSettings()
Type | Description |
CloudBillingSettings |
getStub()
public CloudBillingStub getStub()
Type | Description |
CloudBillingStub |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listBillingAccounts()
public final CloudBillingClient.ListBillingAccountsPagedResponse listBillingAccounts()
Lists the billing accounts that the current authenticated user has permission to view.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
for (BillingAccount element : cloudBillingClient.listBillingAccounts().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
CloudBillingClient.ListBillingAccountsPagedResponse |
listBillingAccounts(ListBillingAccountsRequest request)
public final CloudBillingClient.ListBillingAccountsPagedResponse listBillingAccounts(ListBillingAccountsRequest request)
Lists the billing accounts that the current authenticated user has permission to view.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListBillingAccountsRequest request =
ListBillingAccountsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
for (BillingAccount element : cloudBillingClient.listBillingAccounts(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListBillingAccountsRequest The request object containing all of the parameters for the API call. |
Type | Description |
CloudBillingClient.ListBillingAccountsPagedResponse |
listBillingAccountsCallable()
public final UnaryCallable<ListBillingAccountsRequest,ListBillingAccountsResponse> listBillingAccountsCallable()
Lists the billing accounts that the current authenticated user has permission to view.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListBillingAccountsRequest request =
ListBillingAccountsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
while (true) {
ListBillingAccountsResponse response =
cloudBillingClient.listBillingAccountsCallable().call(request);
for (BillingAccount element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListBillingAccountsRequest,ListBillingAccountsResponse> |
listBillingAccountsPagedCallable()
public final UnaryCallable<ListBillingAccountsRequest,CloudBillingClient.ListBillingAccountsPagedResponse> listBillingAccountsPagedCallable()
Lists the billing accounts that the current authenticated user has permission to view.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListBillingAccountsRequest request =
ListBillingAccountsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
ApiFuture<BillingAccount> future =
cloudBillingClient.listBillingAccountsPagedCallable().futureCall(request);
// Do something.
for (BillingAccount element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListBillingAccountsRequest,ListBillingAccountsPagedResponse> |
listProjectBillingInfo(BillingAccountName name)
public final CloudBillingClient.ListProjectBillingInfoPagedResponse listProjectBillingInfo(BillingAccountName name)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.of("[BILLING_ACCOUNT]");
for (ProjectBillingInfo element :
cloudBillingClient.listProjectBillingInfo(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | BillingAccountName Required. The resource name of the billing account associated with the projects
that you want to list. For example, |
Type | Description |
CloudBillingClient.ListProjectBillingInfoPagedResponse |
listProjectBillingInfo(ListProjectBillingInfoRequest request)
public final CloudBillingClient.ListProjectBillingInfoPagedResponse listProjectBillingInfo(ListProjectBillingInfoRequest request)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListProjectBillingInfoRequest request =
ListProjectBillingInfoRequest.newBuilder()
.setName(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (ProjectBillingInfo element :
cloudBillingClient.listProjectBillingInfo(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListProjectBillingInfoRequest The request object containing all of the parameters for the API call. |
Type | Description |
CloudBillingClient.ListProjectBillingInfoPagedResponse |
listProjectBillingInfo(String name)
public final CloudBillingClient.ListProjectBillingInfoPagedResponse listProjectBillingInfo(String name)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = BillingAccountName.of("[BILLING_ACCOUNT]").toString();
for (ProjectBillingInfo element :
cloudBillingClient.listProjectBillingInfo(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | String Required. The resource name of the billing account associated with the projects
that you want to list. For example, |
Type | Description |
CloudBillingClient.ListProjectBillingInfoPagedResponse |
listProjectBillingInfoCallable()
public final UnaryCallable<ListProjectBillingInfoRequest,ListProjectBillingInfoResponse> listProjectBillingInfoCallable()
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListProjectBillingInfoRequest request =
ListProjectBillingInfoRequest.newBuilder()
.setName(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListProjectBillingInfoResponse response =
cloudBillingClient.listProjectBillingInfoCallable().call(request);
for (ProjectBillingInfo element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListProjectBillingInfoRequest,ListProjectBillingInfoResponse> |
listProjectBillingInfoPagedCallable()
public final UnaryCallable<ListProjectBillingInfoRequest,CloudBillingClient.ListProjectBillingInfoPagedResponse> listProjectBillingInfoPagedCallable()
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ListProjectBillingInfoRequest request =
ListProjectBillingInfoRequest.newBuilder()
.setName(BillingAccountName.of("[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);
}
}
Type | Description |
UnaryCallable<ListProjectBillingInfoRequest,ListProjectBillingInfoPagedResponse> |
setIamPolicy(ResourceName resource, Policy policy)
public final Policy setIamPolicy(ResourceName resource, Policy policy)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ResourceName resource = BillingAccountName.of("[BILLING_ACCOUNT]");
Policy policy = Policy.newBuilder().build();
Policy response = cloudBillingClient.setIamPolicy(resource, policy);
}
Name | Description |
resource | com.google.api.resourcenames.ResourceName REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. |
policy | com.google.iam.v1.Policy REQUIRED: The complete policy to be applied to the |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicy(SetIamPolicyRequest request)
public final Policy setIamPolicy(SetIamPolicyRequest request)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
Policy response = cloudBillingClient.setIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.SetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicy(String resource, Policy policy)
public final Policy setIamPolicy(String resource, Policy policy)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String resource = BillingAccountName.of("[BILLING_ACCOUNT]").toString();
Policy policy = Policy.newBuilder().build();
Policy response = cloudBillingClient.setIamPolicy(resource, policy);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. |
policy | com.google.iam.v1.Policy REQUIRED: The complete policy to be applied to the |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicyCallable()
public final UnaryCallable<SetIamPolicyRequest,Policy> setIamPolicyCallable()
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
ApiFuture<Policy> future = cloudBillingClient.setIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
testIamPermissions(ResourceName resource, List<String> permissions)
public final TestIamPermissionsResponse testIamPermissions(ResourceName resource, List<String> permissions)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
ResourceName resource = BillingAccountName.of("[BILLING_ACCOUNT]");
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response =
cloudBillingClient.testIamPermissions(resource, permissions);
}
Name | Description |
resource | com.google.api.resourcenames.ResourceName REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. |
permissions | List<String> The set of permissions to check for the |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(TestIamPermissionsRequest request)
public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
TestIamPermissionsResponse response = cloudBillingClient.testIamPermissions(request);
}
Name | Description |
request | com.google.iam.v1.TestIamPermissionsRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(String resource, List<String> permissions)
public final TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String resource = BillingAccountName.of("[BILLING_ACCOUNT]").toString();
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response =
cloudBillingClient.testIamPermissions(resource, permissions);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. |
permissions | List<String> The set of permissions to check for the |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissionsCallable()
public final UnaryCallable<TestIamPermissionsRequest,TestIamPermissionsResponse> testIamPermissionsCallable()
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.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
ApiFuture<TestIamPermissionsResponse> future =
cloudBillingClient.testIamPermissionsCallable().futureCall(request);
// Do something.
TestIamPermissionsResponse response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> |
updateBillingAccount(BillingAccountName name, BillingAccount account)
public final BillingAccount updateBillingAccount(BillingAccountName name, BillingAccount account)
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 of the billing
account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
BillingAccountName name = BillingAccountName.of("[BILLING_ACCOUNT]");
BillingAccount account = BillingAccount.newBuilder().build();
BillingAccount response = cloudBillingClient.updateBillingAccount(name, account);
}
Name | Description |
name | BillingAccountName Required. The name of the billing account resource to be updated. |
account | BillingAccount Required. The billing account resource to replace the resource on the server. |
Type | Description |
BillingAccount |
updateBillingAccount(UpdateBillingAccountRequest request)
public final BillingAccount updateBillingAccount(UpdateBillingAccountRequest request)
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 of the billing
account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
UpdateBillingAccountRequest request =
UpdateBillingAccountRequest.newBuilder()
.setName(BillingAccountName.of("[BILLING_ACCOUNT]").toString())
.setAccount(BillingAccount.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
BillingAccount response = cloudBillingClient.updateBillingAccount(request);
}
Name | Description |
request | UpdateBillingAccountRequest The request object containing all of the parameters for the API call. |
Type | Description |
BillingAccount |
updateBillingAccount(String name, BillingAccount account)
public final BillingAccount updateBillingAccount(String name, BillingAccount account)
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 of the billing
account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = BillingAccountName.of("[BILLING_ACCOUNT]").toString();
BillingAccount account = BillingAccount.newBuilder().build();
BillingAccount response = cloudBillingClient.updateBillingAccount(name, account);
}
Name | Description |
name | String Required. The name of the billing account resource to be updated. |
account | BillingAccount Required. The billing account resource to replace the resource on the server. |
Type | Description |
BillingAccount |
updateBillingAccountCallable()
public final UnaryCallable<UpdateBillingAccountRequest,BillingAccount> updateBillingAccountCallable()
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 of the billing
account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
UpdateBillingAccountRequest request =
UpdateBillingAccountRequest.newBuilder()
.setName(BillingAccountName.of("[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();
}
Type | Description |
UnaryCallable<UpdateBillingAccountRequest,BillingAccount> |
updateProjectBillingInfo(UpdateProjectBillingInfoRequest request)
public final ProjectBillingInfo updateProjectBillingInfo(UpdateProjectBillingInfoRequest request)
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 GCP 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 and the billing account.
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
- open* billing account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
UpdateProjectBillingInfoRequest request =
UpdateProjectBillingInfoRequest.newBuilder()
.setName("name3373707")
.setProjectBillingInfo(ProjectBillingInfo.newBuilder().build())
.build();
ProjectBillingInfo response = cloudBillingClient.updateProjectBillingInfo(request);
}
Name | Description |
request | UpdateProjectBillingInfoRequest The request object containing all of the parameters for the API call. |
Type | Description |
ProjectBillingInfo |
updateProjectBillingInfo(String name, ProjectBillingInfo projectBillingInfo)
public final ProjectBillingInfo updateProjectBillingInfo(String name, ProjectBillingInfo projectBillingInfo)
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 GCP 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 and the billing account.
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
- open* billing account.
Sample code:
try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
String name = "name3373707";
ProjectBillingInfo projectBillingInfo = ProjectBillingInfo.newBuilder().build();
ProjectBillingInfo response =
cloudBillingClient.updateProjectBillingInfo(name, projectBillingInfo);
}
Name | Description |
name | String Required. The resource name of the project associated with the billing information
that you want to update. For example, |
projectBillingInfo | ProjectBillingInfo The new billing information for the project. Read-only fields are
ignored; thus, you can leave empty all fields except |
Type | Description |
ProjectBillingInfo |
updateProjectBillingInfoCallable()
public final UnaryCallable<UpdateProjectBillingInfoRequest,ProjectBillingInfo> updateProjectBillingInfoCallable()
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 GCP 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 and the billing account.
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
- open* billing account.
Sample code:
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();
}
Type | Description |
UnaryCallable<UpdateProjectBillingInfoRequest,ProjectBillingInfo> |