Interface CostOptimizationHubAsyncClient

All Superinterfaces:
AutoCloseable, AwsClient, SdkAutoCloseable, SdkClient

@Generated("software.amazon.awssdk:codegen") @ThreadSafe public interface CostOptimizationHubAsyncClient extends AwsClient
Service client for accessing Cost Optimization Hub asynchronously. This can be created using the static 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 Cost Optimization Hub API to programmatically identify, filter, aggregate, and quantify savings for your cost optimization recommendations across multiple Amazon Web Services Regions and Amazon Web Services accounts in your organization.

The Cost Optimization Hub API provides the following endpoint:

  • https://cost-optimization-hub.us-east-1.amazonaws.com

  • Field Details

  • Method Details

    • getPreferences

      default CompletableFuture<GetPreferencesResponse> getPreferences(GetPreferencesRequest getPreferencesRequest)

      Returns a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented—estimated savings after discounts or estimated savings before discounts, for example.

      Parameters:
      getPreferencesRequest -
      Returns:
      A Java Future containing the result of the GetPreferences 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • getPreferences

      default CompletableFuture<GetPreferencesResponse> getPreferences(Consumer<GetPreferencesRequest.Builder> getPreferencesRequest)

      Returns a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented—estimated savings after discounts or estimated savings before discounts, for example.


      This is a convenience which creates an instance of the GetPreferencesRequest.Builder avoiding the need to create one manually via GetPreferencesRequest.builder()

      Parameters:
      getPreferencesRequest - A Consumer that will call methods on GetPreferencesRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the GetPreferences 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • getRecommendation

      default CompletableFuture<GetRecommendationResponse> getRecommendation(GetRecommendationRequest getRecommendationRequest)

      Returns both the current and recommended resource configuration and the estimated cost impact for a recommendation.

      The recommendationId is only valid for up to a maximum of 24 hours as recommendations are refreshed daily. To retrieve the recommendationId, use the ListRecommendations API.

      Parameters:
      getRecommendationRequest -
      Returns:
      A Java Future containing the result of the GetRecommendation 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ResourceNotFoundException The specified Amazon Resource Name (ARN) in the request doesn't exist.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • getRecommendation

      default CompletableFuture<GetRecommendationResponse> getRecommendation(Consumer<GetRecommendationRequest.Builder> getRecommendationRequest)

      Returns both the current and recommended resource configuration and the estimated cost impact for a recommendation.

      The recommendationId is only valid for up to a maximum of 24 hours as recommendations are refreshed daily. To retrieve the recommendationId, use the ListRecommendations API.


      This is a convenience which creates an instance of the GetRecommendationRequest.Builder avoiding the need to create one manually via GetRecommendationRequest.builder()

      Parameters:
      getRecommendationRequest - A Consumer that will call methods on GetRecommendationRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the GetRecommendation 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ResourceNotFoundException The specified Amazon Resource Name (ARN) in the request doesn't exist.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listEnrollmentStatuses

      default CompletableFuture<ListEnrollmentStatusesResponse> listEnrollmentStatuses(ListEnrollmentStatusesRequest listEnrollmentStatusesRequest)

      Retrieves the enrollment status for an account. It can also return the list of accounts that are enrolled under the organization.

      Parameters:
      listEnrollmentStatusesRequest -
      Returns:
      A Java Future containing the result of the ListEnrollmentStatuses 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listEnrollmentStatuses

      default CompletableFuture<ListEnrollmentStatusesResponse> listEnrollmentStatuses(Consumer<ListEnrollmentStatusesRequest.Builder> listEnrollmentStatusesRequest)

      Retrieves the enrollment status for an account. It can also return the list of accounts that are enrolled under the organization.


      This is a convenience which creates an instance of the ListEnrollmentStatusesRequest.Builder avoiding the need to create one manually via ListEnrollmentStatusesRequest.builder()

      Parameters:
      listEnrollmentStatusesRequest - A Consumer that will call methods on ListEnrollmentStatusesRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the ListEnrollmentStatuses 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listEnrollmentStatusesPaginator

      default ListEnrollmentStatusesPublisher listEnrollmentStatusesPaginator(ListEnrollmentStatusesRequest listEnrollmentStatusesRequest)

      This is a variant of listEnrollmentStatuses(software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesRequest) 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 new Subscription i.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
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListEnrollmentStatusesPublisher publisher = client.listEnrollmentStatusesPaginator(request);
       CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response });
       future.get();
       
       
      2) Using a custom subscriber
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListEnrollmentStatusesPublisher publisher = client.listEnrollmentStatusesPaginator(request);
       publisher.subscribe(new Subscriber<software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesResponse>() {
       
       public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
       
       
       public void onNext(software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesResponse response) { //... };
       });
       
      As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.

      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 listEnrollmentStatuses(software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesRequest) operation.

      Parameters:
      listEnrollmentStatusesRequest -
      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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listEnrollmentStatusesPaginator

      default ListEnrollmentStatusesPublisher listEnrollmentStatusesPaginator(Consumer<ListEnrollmentStatusesRequest.Builder> listEnrollmentStatusesRequest)

      This is a variant of listEnrollmentStatuses(software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesRequest) 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 new Subscription i.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
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListEnrollmentStatusesPublisher publisher = client.listEnrollmentStatusesPaginator(request);
       CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response });
       future.get();
       
       
      2) Using a custom subscriber
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListEnrollmentStatusesPublisher publisher = client.listEnrollmentStatusesPaginator(request);
       publisher.subscribe(new Subscriber<software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesResponse>() {
       
       public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
       
       
       public void onNext(software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesResponse response) { //... };
       });
       
      As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.

      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 listEnrollmentStatuses(software.amazon.awssdk.services.costoptimizationhub.model.ListEnrollmentStatusesRequest) operation.


      This is a convenience which creates an instance of the ListEnrollmentStatusesRequest.Builder avoiding the need to create one manually via ListEnrollmentStatusesRequest.builder()

      Parameters:
      listEnrollmentStatusesRequest - A Consumer that will call methods on ListEnrollmentStatusesRequest.Builder to 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendationSummaries

      default CompletableFuture<ListRecommendationSummariesResponse> listRecommendationSummaries(ListRecommendationSummariesRequest listRecommendationSummariesRequest)

      Returns a concise representation of savings estimates for resources. Also returns de-duped savings across different types of recommendations.

      The following filters are not supported for this API: recommendationIds, resourceArns, and resourceIds.

      Parameters:
      listRecommendationSummariesRequest -
      Returns:
      A Java Future containing the result of the ListRecommendationSummaries 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendationSummaries

      default CompletableFuture<ListRecommendationSummariesResponse> listRecommendationSummaries(Consumer<ListRecommendationSummariesRequest.Builder> listRecommendationSummariesRequest)

      Returns a concise representation of savings estimates for resources. Also returns de-duped savings across different types of recommendations.

      The following filters are not supported for this API: recommendationIds, resourceArns, and resourceIds.


      This is a convenience which creates an instance of the ListRecommendationSummariesRequest.Builder avoiding the need to create one manually via ListRecommendationSummariesRequest.builder()

      Parameters:
      listRecommendationSummariesRequest - A Consumer that will call methods on ListRecommendationSummariesRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the ListRecommendationSummaries 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendationSummariesPaginator

      default ListRecommendationSummariesPublisher listRecommendationSummariesPaginator(ListRecommendationSummariesRequest listRecommendationSummariesRequest)

      This is a variant of listRecommendationSummaries(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesRequest) 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 new Subscription i.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
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationSummariesPublisher publisher = client.listRecommendationSummariesPaginator(request);
       CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response });
       future.get();
       
       
      2) Using a custom subscriber
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationSummariesPublisher publisher = client.listRecommendationSummariesPaginator(request);
       publisher.subscribe(new Subscriber<software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesResponse>() {
       
       public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
       
       
       public void onNext(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesResponse response) { //... };
       });
       
      As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.

      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 listRecommendationSummaries(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesRequest) operation.

      Parameters:
      listRecommendationSummariesRequest -
      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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendationSummariesPaginator

      default ListRecommendationSummariesPublisher listRecommendationSummariesPaginator(Consumer<ListRecommendationSummariesRequest.Builder> listRecommendationSummariesRequest)

      This is a variant of listRecommendationSummaries(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesRequest) 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 new Subscription i.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
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationSummariesPublisher publisher = client.listRecommendationSummariesPaginator(request);
       CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response });
       future.get();
       
       
      2) Using a custom subscriber
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationSummariesPublisher publisher = client.listRecommendationSummariesPaginator(request);
       publisher.subscribe(new Subscriber<software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesResponse>() {
       
       public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
       
       
       public void onNext(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesResponse response) { //... };
       });
       
      As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.

      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 listRecommendationSummaries(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationSummariesRequest) operation.


      This is a convenience which creates an instance of the ListRecommendationSummariesRequest.Builder avoiding the need to create one manually via ListRecommendationSummariesRequest.builder()

      Parameters:
      listRecommendationSummariesRequest - A Consumer that will call methods on ListRecommendationSummariesRequest.Builder to 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendations

      default CompletableFuture<ListRecommendationsResponse> listRecommendations(ListRecommendationsRequest listRecommendationsRequest)

      Returns a list of recommendations.

      Parameters:
      listRecommendationsRequest -
      Returns:
      A Java Future containing the result of the ListRecommendations 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendations

      default CompletableFuture<ListRecommendationsResponse> listRecommendations(Consumer<ListRecommendationsRequest.Builder> listRecommendationsRequest)

      Returns a list of recommendations.


      This is a convenience which creates an instance of the ListRecommendationsRequest.Builder avoiding the need to create one manually via ListRecommendationsRequest.builder()

      Parameters:
      listRecommendationsRequest - A Consumer that will call methods on ListRecommendationsRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the ListRecommendations 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendationsPaginator

      default ListRecommendationsPublisher listRecommendationsPaginator(ListRecommendationsRequest listRecommendationsRequest)

      This is a variant of listRecommendations(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsRequest) 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 new Subscription i.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
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationsPublisher publisher = client.listRecommendationsPaginator(request);
       CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response });
       future.get();
       
       
      2) Using a custom subscriber
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationsPublisher publisher = client.listRecommendationsPaginator(request);
       publisher.subscribe(new Subscriber<software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsResponse>() {
       
       public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
       
       
       public void onNext(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsResponse response) { //... };
       });
       
      As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.

      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 listRecommendations(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsRequest) operation.

      Parameters:
      listRecommendationsRequest -
      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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • listRecommendationsPaginator

      default ListRecommendationsPublisher listRecommendationsPaginator(Consumer<ListRecommendationsRequest.Builder> listRecommendationsRequest)

      This is a variant of listRecommendations(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsRequest) 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 new Subscription i.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
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationsPublisher publisher = client.listRecommendationsPaginator(request);
       CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response });
       future.get();
       
       
      2) Using a custom subscriber
       
       software.amazon.awssdk.services.costoptimizationhub.paginators.ListRecommendationsPublisher publisher = client.listRecommendationsPaginator(request);
       publisher.subscribe(new Subscriber<software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsResponse>() {
       
       public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
       
       
       public void onNext(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsResponse response) { //... };
       });
       
      As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.

      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 listRecommendations(software.amazon.awssdk.services.costoptimizationhub.model.ListRecommendationsRequest) operation.


      This is a convenience which creates an instance of the ListRecommendationsRequest.Builder avoiding the need to create one manually via ListRecommendationsRequest.builder()

      Parameters:
      listRecommendationsRequest - A Consumer that will call methods on ListRecommendationsRequest.Builder to 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • updateEnrollmentStatus

      default CompletableFuture<UpdateEnrollmentStatusResponse> updateEnrollmentStatus(UpdateEnrollmentStatusRequest updateEnrollmentStatusRequest)

      Updates the enrollment (opt in and opt out) status of an account to the Cost Optimization Hub service.

      If the account is a management account or delegated administrator of an organization, this action can also be used to enroll member accounts of the organization.

      You must have the appropriate permissions to opt in to Cost Optimization Hub and to view its recommendations. When you opt in, Cost Optimization Hub automatically creates a service-linked role in your account to access its data.

      Parameters:
      updateEnrollmentStatusRequest -
      Returns:
      A Java Future containing the result of the UpdateEnrollmentStatus 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • updateEnrollmentStatus

      default CompletableFuture<UpdateEnrollmentStatusResponse> updateEnrollmentStatus(Consumer<UpdateEnrollmentStatusRequest.Builder> updateEnrollmentStatusRequest)

      Updates the enrollment (opt in and opt out) status of an account to the Cost Optimization Hub service.

      If the account is a management account or delegated administrator of an organization, this action can also be used to enroll member accounts of the organization.

      You must have the appropriate permissions to opt in to Cost Optimization Hub and to view its recommendations. When you opt in, Cost Optimization Hub automatically creates a service-linked role in your account to access its data.


      This is a convenience which creates an instance of the UpdateEnrollmentStatusRequest.Builder avoiding the need to create one manually via UpdateEnrollmentStatusRequest.builder()

      Parameters:
      updateEnrollmentStatusRequest - A Consumer that will call methods on UpdateEnrollmentStatusRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the UpdateEnrollmentStatus 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • updatePreferences

      default CompletableFuture<UpdatePreferencesResponse> updatePreferences(UpdatePreferencesRequest updatePreferencesRequest)

      Updates a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented.

      Parameters:
      updatePreferencesRequest -
      Returns:
      A Java Future containing the result of the UpdatePreferences 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • updatePreferences

      default CompletableFuture<UpdatePreferencesResponse> updatePreferences(Consumer<UpdatePreferencesRequest.Builder> updatePreferencesRequest)

      Updates a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented.


      This is a convenience which creates an instance of the UpdatePreferencesRequest.Builder avoiding the need to create one manually via UpdatePreferencesRequest.builder()

      Parameters:
      updatePreferencesRequest - A Consumer that will call methods on UpdatePreferencesRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the UpdatePreferences 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 invoke Throwable.getCause() to retrieve the underlying exception.
      • ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
      • InternalServerException An error on the server occurred during the processing of your request. Try again later.
      • AccessDeniedException You are not authorized to use this operation with the given parameters.
      • ThrottlingException The request was denied due to request throttling.
      • 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.
      • CostOptimizationHubException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • serviceClientConfiguration

      default CostOptimizationHubServiceClientConfiguration serviceClientConfiguration()
      Description copied from interface: SdkClient
      The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration
      Specified by:
      serviceClientConfiguration in interface AwsClient
      Specified by:
      serviceClientConfiguration in interface SdkClient
      Returns:
      SdkServiceClientConfiguration
    • create

      Create a CostOptimizationHubAsyncClient with the region loaded from the DefaultAwsRegionProviderChain and credentials loaded from the DefaultCredentialsProvider.
    • builder

      Create a builder that can be used to configure and create a CostOptimizationHubAsyncClient.