Interface BillingAsyncClient
- All Superinterfaces:
AutoCloseable,AwsClient,SdkAutoCloseable,SdkClient
builder()
method.The asynchronous client performs non-blocking I/O when configured with any SdkAsyncHttpClient
supported in the SDK. However, full non-blocking is not guaranteed as the async client may perform blocking calls in
some cases such as credentials retrieval and endpoint discovery as part of the async API call.
You can use the Billing API to programatically list the billing views available to you for a given time period. A billing view represents a set of billing data.
The Billing API provides the following endpoint:
https://billing.us-east-1.api.aws
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringValue for looking up the service's metadata from theServiceMetadataProvider.static final String -
Method Summary
Modifier and TypeMethodDescriptionstatic BillingAsyncClientBuilderbuilder()Create a builder that can be used to configure and create aBillingAsyncClient.static BillingAsyncClientcreate()Create aBillingAsyncClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider.listBillingViews(Consumer<ListBillingViewsRequest.Builder> listBillingViewsRequest) Lists the billing views available for a given time period.listBillingViews(ListBillingViewsRequest listBillingViewsRequest) Lists the billing views available for a given time period.default ListBillingViewsPublisherlistBillingViewsPaginator(Consumer<ListBillingViewsRequest.Builder> listBillingViewsRequest) This is a variant oflistBillingViews(software.amazon.awssdk.services.billing.model.ListBillingViewsRequest)operation.default ListBillingViewsPublisherlistBillingViewsPaginator(ListBillingViewsRequest listBillingViewsRequest) This is a variant oflistBillingViews(software.amazon.awssdk.services.billing.model.ListBillingViewsRequest)operation.The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfigurationMethods inherited from interface software.amazon.awssdk.utils.SdkAutoCloseable
closeMethods inherited from interface software.amazon.awssdk.core.SdkClient
serviceName
-
Field Details
-
SERVICE_NAME
- See Also:
-
SERVICE_METADATA_ID
Value for looking up the service's metadata from theServiceMetadataProvider.- See Also:
-
-
Method Details
-
listBillingViews
default CompletableFuture<ListBillingViewsResponse> listBillingViews(ListBillingViewsRequest listBillingViewsRequest) Lists the billing views available for a given time period.
Every Amazon Web Services account has a unique
PRIMARYbilling view that represents the billing data available by default. Accounts that use Billing Conductor also haveBILLING_GROUPbilling views representing pro forma costs associated with each created billing group.- Parameters:
listBillingViewsRequest-- Returns:
- A Java Future containing the result of the ListBillingViews operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ThrottlingException The request was denied due to request throttling.
- AccessDeniedException You don't have sufficient access to perform this action.
- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing failed because of an unknown error, exception, or failure.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- BillingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
listBillingViews
default CompletableFuture<ListBillingViewsResponse> listBillingViews(Consumer<ListBillingViewsRequest.Builder> listBillingViewsRequest) Lists the billing views available for a given time period.
Every Amazon Web Services account has a unique
PRIMARYbilling view that represents the billing data available by default. Accounts that use Billing Conductor also haveBILLING_GROUPbilling views representing pro forma costs associated with each created billing group.
This is a convenience which creates an instance of the
ListBillingViewsRequest.Builderavoiding the need to create one manually viaListBillingViewsRequest.builder()- Parameters:
listBillingViewsRequest- AConsumerthat will call methods onListBillingViewsRequest.Builderto create a request.- Returns:
- A Java Future containing the result of the ListBillingViews operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ThrottlingException The request was denied due to request throttling.
- AccessDeniedException You don't have sufficient access to perform this action.
- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing failed because of an unknown error, exception, or failure.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- BillingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
listBillingViewsPaginator
default ListBillingViewsPublisher listBillingViewsPaginator(ListBillingViewsRequest listBillingViewsRequest) This is a variant of
listBillingViews(software.amazon.awssdk.services.billing.model.ListBillingViewsRequest)operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will internally handle making service calls for you.When the operation is called, an instance of this class is returned. At this point, no service calls are made yet and so there is no guarantee that the request is valid. If there are errors in your request, you will see the failures only after you start streaming the data. The subscribe method should be called as a request to start streaming data. For more info, see
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.e., a new contract to stream data from the starting request.The following are few ways to use the response class:
1) Using the subscribe helper method
2) Using a custom subscribersoftware.amazon.awssdk.services.billing.paginators.ListBillingViewsPublisher publisher = client.listBillingViewsPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.billing.paginators.ListBillingViewsPublisher publisher = client.listBillingViewsPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.billing.model.ListBillingViewsResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.billing.model.ListBillingViewsResponse response) { //... }; });Please notice that the configuration of maxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
listBillingViews(software.amazon.awssdk.services.billing.model.ListBillingViewsRequest)operation.- Parameters:
listBillingViewsRequest-- Returns:
- A custom publisher that can be subscribed to request a stream of response pages.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ThrottlingException The request was denied due to request throttling.
- AccessDeniedException You don't have sufficient access to perform this action.
- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing failed because of an unknown error, exception, or failure.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- BillingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
listBillingViewsPaginator
default ListBillingViewsPublisher listBillingViewsPaginator(Consumer<ListBillingViewsRequest.Builder> listBillingViewsRequest) This is a variant of
listBillingViews(software.amazon.awssdk.services.billing.model.ListBillingViewsRequest)operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will internally handle making service calls for you.When the operation is called, an instance of this class is returned. At this point, no service calls are made yet and so there is no guarantee that the request is valid. If there are errors in your request, you will see the failures only after you start streaming the data. The subscribe method should be called as a request to start streaming data. For more info, see
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.e., a new contract to stream data from the starting request.The following are few ways to use the response class:
1) Using the subscribe helper method
2) Using a custom subscribersoftware.amazon.awssdk.services.billing.paginators.ListBillingViewsPublisher publisher = client.listBillingViewsPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.billing.paginators.ListBillingViewsPublisher publisher = client.listBillingViewsPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.billing.model.ListBillingViewsResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.billing.model.ListBillingViewsResponse response) { //... }; });Please notice that the configuration of maxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
listBillingViews(software.amazon.awssdk.services.billing.model.ListBillingViewsRequest)operation.
This is a convenience which creates an instance of the
ListBillingViewsRequest.Builderavoiding the need to create one manually viaListBillingViewsRequest.builder()- Parameters:
listBillingViewsRequest- AConsumerthat will call methods onListBillingViewsRequest.Builderto create a request.- Returns:
- A custom publisher that can be subscribed to request a stream of response pages.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ThrottlingException The request was denied due to request throttling.
- AccessDeniedException You don't have sufficient access to perform this action.
- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing failed because of an unknown error, exception, or failure.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- BillingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
serviceClientConfiguration
Description copied from interface:SdkClientThe SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration- Specified by:
serviceClientConfigurationin interfaceAwsClient- Specified by:
serviceClientConfigurationin interfaceSdkClient- Returns:
- SdkServiceClientConfiguration
-
create
Create aBillingAsyncClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider. -
builder
Create a builder that can be used to configure and create aBillingAsyncClient.
-