/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the pricing-2017-10-15.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.Pricing.Model;
namespace Amazon.Pricing
{
///
/// Interface for accessing Pricing
///
/// 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
///
///
///
public partial interface IAmazonPricing : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IPricingPaginatorFactory Paginators { get; }
#endif
#region DescribeServices
///
/// 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
.
///
/// Container for the necessary parameters to execute the DescribeServices service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeServices service method, as returned by Pricing.
///
/// The pagination token expired. Try again without a pagination token.
///
///
/// An error on the server occurred during the processing of your request. Try again later.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// One or more parameters had an invalid value.
///
///
/// The requested resource can't be found.
///
/// REST API Reference for DescribeServices Operation
Task DescribeServicesAsync(DescribeServicesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAttributeValues
///
/// 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.
///
/// Container for the necessary parameters to execute the GetAttributeValues service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAttributeValues service method, as returned by Pricing.
///
/// The pagination token expired. Try again without a pagination token.
///
///
/// An error on the server occurred during the processing of your request. Try again later.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// One or more parameters had an invalid value.
///
///
/// The requested resource can't be found.
///
/// REST API Reference for GetAttributeValues Operation
Task GetAttributeValuesAsync(GetAttributeValuesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetPriceListFileUrl
///
/// 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.
///
///
/// Container for the necessary parameters to execute the GetPriceListFileUrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetPriceListFileUrl service method, as returned by Pricing.
///
/// General authentication failure. The request wasn't signed correctly.
///
///
/// An error on the server occurred during the processing of your request. Try again later.
///
///
/// One or more parameters had an invalid value.
///
///
/// The requested resource can't be found.
///
/// REST API Reference for GetPriceListFileUrl Operation
Task GetPriceListFileUrlAsync(GetPriceListFileUrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetProducts
///
/// Returns a list of all products that match the filter criteria.
///
/// Container for the necessary parameters to execute the GetProducts service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetProducts service method, as returned by Pricing.
///
/// The pagination token expired. Try again without a pagination token.
///
///
/// An error on the server occurred during the processing of your request. Try again later.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// One or more parameters had an invalid value.
///
///
/// The requested resource can't be found.
///
/// REST API Reference for GetProducts Operation
Task GetProductsAsync(GetProductsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListPriceLists
///
/// 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.
///
///
/// Container for the necessary parameters to execute the ListPriceLists service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListPriceLists service method, as returned by Pricing.
///
/// General authentication failure. The request wasn't signed correctly.
///
///
/// The pagination token expired. Try again without a pagination token.
///
///
/// An error on the server occurred during the processing of your request. Try again later.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// One or more parameters had an invalid value.
///
///
/// The requested resource can't be found.
///
/// REST API Reference for ListPriceLists Operation
Task ListPriceListsAsync(ListPriceListsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}