/* * 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.*; import com.amazonaws.regions.*; import com.amazonaws.services.pricing.model.*; /** * Interface for accessing AWS Pricing. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.pricing.AbstractAWSPricing} 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:
*
* Build cost control and scenario planning tools *
** Reconcile billing data *
** Forecast future spend for budgeting purposes *
** Provide cost benefit analysis that compare your internal workloads with Amazon Web Services *
*
* 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: *
** https://api.pricing.us-east-1.amazonaws.com *
** https://api.pricing.ap-south-1.amazonaws.com *
*
* 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
.
*
* 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 Result of the GetAttributeValues operation returned by the service. * @throws InvalidParameterException * One or more parameters had an invalid value. * @throws InvalidNextTokenException * The pagination token is invalid. Try again without a pagination token. * @throws NotFoundException * The requested resource can't be found. * @throws InternalErrorException * An error on the server occurred during the processing of your request. Try again later. * @throws ExpiredNextTokenException * The pagination token expired. Try again without a pagination token. * @sample AWSPricing.GetAttributeValues * @see AWS API * Documentation */ GetAttributeValuesResult getAttributeValues(GetAttributeValuesRequest getAttributeValuesRequest); /** ** 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.
*
* Returns a list of all products that match the filter criteria. *
* * @param getProductsRequest * @return Result of the GetProducts operation returned by the service. * @throws InvalidParameterException * One or more parameters had an invalid value. * @throws InvalidNextTokenException * The pagination token is invalid. Try again without a pagination token. * @throws NotFoundException * The requested resource can't be found. * @throws InternalErrorException * An error on the server occurred during the processing of your request. Try again later. * @throws ExpiredNextTokenException * The pagination token expired. Try again without a pagination token. * @sample AWSPricing.GetProducts * @see AWS API * Documentation */ GetProductsResult getProducts(GetProductsRequest getProductsRequest); /** ** 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.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }