/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.pricing; import javax.annotation.Generated; import com.amazonaws.services.pricing.model.*; /** * Interface for accessing AWS Pricing asynchronously. Each asynchronous method will return a Java Future object * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive * notification when an asynchronous operation completes. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.pricing.AbstractAWSPricingAsync} instead. *

*

*

* The Amazon Web Services Price List API is a centralized and convenient way to programmatically query Amazon Web * Services for services, products, and pricing information. The Amazon Web Services Price List uses standardized * product attributes such as Location, Storage Class, and Operating System, and * provides prices at the SKU level. You can use the Amazon Web Services Price List to do the following: *

* *

* Use GetServices without a service code to retrieve the service codes for all Amazon Web Services, then * GetServices with a service code to retrieve the attribute names for that service. After you have the * service code and attribute names, you can use GetAttributeValues to see what values are available for an * attribute. With the service code and an attribute name and value, you can use GetProducts to find * specific products that you're interested in, such as an AmazonEC2 instance, with a * Provisioned IOPS volumeType. *

*

* You can use the following endpoints for the Amazon Web Services Price List API: *

* */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSPricingAsync extends AWSPricing { /** *

* Returns the metadata for one service or a list of the metadata for all services. Use this without a service code * to get the service codes for all services. Use it with a service code, such as AmazonEC2, to get * information specific to that service, such as the attribute names available for that service. For example, some * of the attribute names available for EC2 are volumeType, maxIopsVolume, * operation, locationType, and instanceCapacity10xlarge. *

* * @param describeServicesRequest * @return A Java Future containing the result of the DescribeServices operation returned by the service. * @sample AWSPricingAsync.DescribeServices * @see AWS API * Documentation */ java.util.concurrent.Future describeServicesAsync(DescribeServicesRequest describeServicesRequest); /** *

* Returns the metadata for one service or a list of the metadata for all services. Use this without a service code * to get the service codes for all services. Use it with a service code, such as AmazonEC2, to get * information specific to that service, such as the attribute names available for that service. For example, some * of the attribute names available for EC2 are volumeType, maxIopsVolume, * operation, locationType, and instanceCapacity10xlarge. *

* * @param describeServicesRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeServices operation returned by the service. * @sample AWSPricingAsyncHandler.DescribeServices * @see AWS API * Documentation */ java.util.concurrent.Future describeServicesAsync(DescribeServicesRequest describeServicesRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Returns a list of attribute values. Attributes are similar to the details in a Price List API offer file. For a * list of available attributes, see Offer File * Definitions in the Billing and Cost * Management User Guide. *

* * @param getAttributeValuesRequest * @return A Java Future containing the result of the GetAttributeValues operation returned by the service. * @sample AWSPricingAsync.GetAttributeValues * @see AWS API * Documentation */ java.util.concurrent.Future getAttributeValuesAsync(GetAttributeValuesRequest getAttributeValuesRequest); /** *

* Returns a list of attribute values. Attributes are similar to the details in a Price List API offer file. For a * list of available attributes, see Offer File * Definitions in the Billing and Cost * Management User Guide. *

* * @param getAttributeValuesRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetAttributeValues operation returned by the service. * @sample AWSPricingAsyncHandler.GetAttributeValues * @see AWS API * Documentation */ java.util.concurrent.Future getAttributeValuesAsync(GetAttributeValuesRequest getAttributeValuesRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List * API is subject to the Beta Service Participation terms of the Amazon Web Services Service Terms (Section 1.10). *

*

* This returns the URL that you can retrieve your Price List file from. This URL is based on the * PriceListArn and FileFormat that you retrieve from the * ListPriceLists response. *

* * @param getPriceListFileUrlRequest * @return A Java Future containing the result of the GetPriceListFileUrl operation returned by the service. * @sample AWSPricingAsync.GetPriceListFileUrl * @see AWS * API Documentation */ java.util.concurrent.Future getPriceListFileUrlAsync(GetPriceListFileUrlRequest getPriceListFileUrlRequest); /** *

* This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List * API is subject to the Beta Service Participation terms of the Amazon Web Services Service Terms (Section 1.10). *

*

* This returns the URL that you can retrieve your Price List file from. This URL is based on the * PriceListArn and FileFormat that you retrieve from the * ListPriceLists response. *

* * @param getPriceListFileUrlRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetPriceListFileUrl operation returned by the service. * @sample AWSPricingAsyncHandler.GetPriceListFileUrl * @see AWS * API Documentation */ java.util.concurrent.Future getPriceListFileUrlAsync(GetPriceListFileUrlRequest getPriceListFileUrlRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Returns a list of all products that match the filter criteria. *

* * @param getProductsRequest * @return A Java Future containing the result of the GetProducts operation returned by the service. * @sample AWSPricingAsync.GetProducts * @see AWS API * Documentation */ java.util.concurrent.Future getProductsAsync(GetProductsRequest getProductsRequest); /** *

* Returns a list of all products that match the filter criteria. *

* * @param getProductsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetProducts operation returned by the service. * @sample AWSPricingAsyncHandler.GetProducts * @see AWS API * Documentation */ java.util.concurrent.Future getProductsAsync(GetProductsRequest getProductsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List * API is subject to the Beta Service Participation terms of the Amazon Web Services Service Terms (Section 1.10). *

*

* This returns a list of Price List references that the requester if authorized to view, given a * ServiceCode, CurrencyCode, and an EffectiveDate. Use without a * RegionCode filter to list Price List references from all available Amazon Web Services Regions. Use * with a RegionCode filter to get the Price List reference that's specific to a specific Amazon Web * Services Region. You can use the PriceListArn from the response to get your preferred Price List * files through the * GetPriceListFileUrl API. *

* * @param listPriceListsRequest * @return A Java Future containing the result of the ListPriceLists operation returned by the service. * @sample AWSPricingAsync.ListPriceLists * @see AWS API * Documentation */ java.util.concurrent.Future listPriceListsAsync(ListPriceListsRequest listPriceListsRequest); /** *

* This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List * API is subject to the Beta Service Participation terms of the Amazon Web Services Service Terms (Section 1.10). *

*

* This returns a list of Price List references that the requester if authorized to view, given a * ServiceCode, CurrencyCode, and an EffectiveDate. Use without a * RegionCode filter to list Price List references from all available Amazon Web Services Regions. Use * with a RegionCode filter to get the Price List reference that's specific to a specific Amazon Web * Services Region. You can use the PriceListArn from the response to get your preferred Price List * files through the * GetPriceListFileUrl API. *

* * @param listPriceListsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListPriceLists operation returned by the service. * @sample AWSPricingAsyncHandler.ListPriceLists * @see AWS API * Documentation */ java.util.concurrent.Future listPriceListsAsync(ListPriceListsRequest listPriceListsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); }