/*
* 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.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 BCL45 || 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.
///
/// 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
DescribeServicesResponse DescribeServices(DescribeServicesRequest request);
///
/// Initiates the asynchronous execution of the DescribeServices operation.
///
///
/// Container for the necessary parameters to execute the DescribeServices operation on AmazonPricingClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeServices
/// operation.
/// REST API Reference for DescribeServices Operation
IAsyncResult BeginDescribeServices(DescribeServicesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeServices operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeServices.
///
/// Returns a DescribeServicesResult from Pricing.
/// REST API Reference for DescribeServices Operation
DescribeServicesResponse EndDescribeServices(IAsyncResult asyncResult);
#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.
///
/// 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
GetAttributeValuesResponse GetAttributeValues(GetAttributeValuesRequest request);
///
/// Initiates the asynchronous execution of the GetAttributeValues operation.
///
///
/// Container for the necessary parameters to execute the GetAttributeValues operation on AmazonPricingClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetAttributeValues
/// operation.
/// REST API Reference for GetAttributeValues Operation
IAsyncResult BeginGetAttributeValues(GetAttributeValuesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetAttributeValues operation.
///
///
/// The IAsyncResult returned by the call to BeginGetAttributeValues.
///
/// Returns a GetAttributeValuesResult from Pricing.
/// REST API Reference for GetAttributeValues Operation
GetAttributeValuesResponse EndGetAttributeValues(IAsyncResult asyncResult);
#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.
///
/// 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
GetPriceListFileUrlResponse GetPriceListFileUrl(GetPriceListFileUrlRequest request);
///
/// Initiates the asynchronous execution of the GetPriceListFileUrl operation.
///
///
/// Container for the necessary parameters to execute the GetPriceListFileUrl operation on AmazonPricingClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetPriceListFileUrl
/// operation.
/// REST API Reference for GetPriceListFileUrl Operation
IAsyncResult BeginGetPriceListFileUrl(GetPriceListFileUrlRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetPriceListFileUrl operation.
///
///
/// The IAsyncResult returned by the call to BeginGetPriceListFileUrl.
///
/// Returns a GetPriceListFileUrlResult from Pricing.
/// REST API Reference for GetPriceListFileUrl Operation
GetPriceListFileUrlResponse EndGetPriceListFileUrl(IAsyncResult asyncResult);
#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.
///
/// 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
GetProductsResponse GetProducts(GetProductsRequest request);
///
/// Initiates the asynchronous execution of the GetProducts operation.
///
///
/// Container for the necessary parameters to execute the GetProducts operation on AmazonPricingClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetProducts
/// operation.
/// REST API Reference for GetProducts Operation
IAsyncResult BeginGetProducts(GetProductsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetProducts operation.
///
///
/// The IAsyncResult returned by the call to BeginGetProducts.
///
/// Returns a GetProductsResult from Pricing.
/// REST API Reference for GetProducts Operation
GetProductsResponse EndGetProducts(IAsyncResult asyncResult);
#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.
///
/// 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
ListPriceListsResponse ListPriceLists(ListPriceListsRequest request);
///
/// Initiates the asynchronous execution of the ListPriceLists operation.
///
///
/// Container for the necessary parameters to execute the ListPriceLists operation on AmazonPricingClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListPriceLists
/// operation.
/// REST API Reference for ListPriceLists Operation
IAsyncResult BeginListPriceLists(ListPriceListsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListPriceLists operation.
///
///
/// The IAsyncResult returned by the call to BeginListPriceLists.
///
/// Returns a ListPriceListsResult from Pricing.
/// REST API Reference for ListPriceLists Operation
ListPriceListsResponse EndListPriceLists(IAsyncResult asyncResult);
#endregion
}
}