/*
* 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 savingsplans-2019-06-28.normal.json service model.
*/
using System;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.SavingsPlans.Model;
namespace Amazon.SavingsPlans
{
///
/// Interface for accessing SavingsPlans
///
/// Savings Plans are a pricing model that offer significant savings on AWS usage (for
/// example, on Amazon EC2 instances). You commit to a consistent amount of usage, in
/// USD per hour, for a term of 1 or 3 years, and receive a lower price for that usage.
/// For more information, see the AWS
/// Savings Plans User Guide.
///
public partial interface IAmazonSavingsPlans : IAmazonService, IDisposable
{
#region CreateSavingsPlan
///
/// Creates a Savings Plan.
///
/// Container for the necessary parameters to execute the CreateSavingsPlan service method.
///
/// The response from the CreateSavingsPlan service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// The specified resource was not found.
///
///
/// A service quota has been exceeded.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for CreateSavingsPlan Operation
CreateSavingsPlanResponse CreateSavingsPlan(CreateSavingsPlanRequest request);
///
/// Initiates the asynchronous execution of the CreateSavingsPlan operation.
///
///
/// Container for the necessary parameters to execute the CreateSavingsPlan operation on AmazonSavingsPlansClient.
/// 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 EndCreateSavingsPlan
/// operation.
/// REST API Reference for CreateSavingsPlan Operation
IAsyncResult BeginCreateSavingsPlan(CreateSavingsPlanRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the CreateSavingsPlan operation.
///
///
/// The IAsyncResult returned by the call to BeginCreateSavingsPlan.
///
/// Returns a CreateSavingsPlanResult from SavingsPlans.
/// REST API Reference for CreateSavingsPlan Operation
CreateSavingsPlanResponse EndCreateSavingsPlan(IAsyncResult asyncResult);
#endregion
#region DeleteQueuedSavingsPlan
///
/// Deletes the queued purchase for the specified Savings Plan.
///
/// Container for the necessary parameters to execute the DeleteQueuedSavingsPlan service method.
///
/// The response from the DeleteQueuedSavingsPlan service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// The specified resource was not found.
///
///
/// A service quota has been exceeded.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for DeleteQueuedSavingsPlan Operation
DeleteQueuedSavingsPlanResponse DeleteQueuedSavingsPlan(DeleteQueuedSavingsPlanRequest request);
///
/// Initiates the asynchronous execution of the DeleteQueuedSavingsPlan operation.
///
///
/// Container for the necessary parameters to execute the DeleteQueuedSavingsPlan operation on AmazonSavingsPlansClient.
/// 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 EndDeleteQueuedSavingsPlan
/// operation.
/// REST API Reference for DeleteQueuedSavingsPlan Operation
IAsyncResult BeginDeleteQueuedSavingsPlan(DeleteQueuedSavingsPlanRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DeleteQueuedSavingsPlan operation.
///
///
/// The IAsyncResult returned by the call to BeginDeleteQueuedSavingsPlan.
///
/// Returns a DeleteQueuedSavingsPlanResult from SavingsPlans.
/// REST API Reference for DeleteQueuedSavingsPlan Operation
DeleteQueuedSavingsPlanResponse EndDeleteQueuedSavingsPlan(IAsyncResult asyncResult);
#endregion
#region DescribeSavingsPlanRates
///
/// Describes the specified Savings Plans rates.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlanRates service method.
///
/// The response from the DescribeSavingsPlanRates service method, as returned by SavingsPlans.
///
/// The specified resource was not found.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for DescribeSavingsPlanRates Operation
DescribeSavingsPlanRatesResponse DescribeSavingsPlanRates(DescribeSavingsPlanRatesRequest request);
///
/// Initiates the asynchronous execution of the DescribeSavingsPlanRates operation.
///
///
/// Container for the necessary parameters to execute the DescribeSavingsPlanRates operation on AmazonSavingsPlansClient.
/// 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 EndDescribeSavingsPlanRates
/// operation.
/// REST API Reference for DescribeSavingsPlanRates Operation
IAsyncResult BeginDescribeSavingsPlanRates(DescribeSavingsPlanRatesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeSavingsPlanRates operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeSavingsPlanRates.
///
/// Returns a DescribeSavingsPlanRatesResult from SavingsPlans.
/// REST API Reference for DescribeSavingsPlanRates Operation
DescribeSavingsPlanRatesResponse EndDescribeSavingsPlanRates(IAsyncResult asyncResult);
#endregion
#region DescribeSavingsPlans
///
/// Describes the specified Savings Plans.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlans service method.
///
/// The response from the DescribeSavingsPlans service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for DescribeSavingsPlans Operation
DescribeSavingsPlansResponse DescribeSavingsPlans(DescribeSavingsPlansRequest request);
///
/// Initiates the asynchronous execution of the DescribeSavingsPlans operation.
///
///
/// Container for the necessary parameters to execute the DescribeSavingsPlans operation on AmazonSavingsPlansClient.
/// 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 EndDescribeSavingsPlans
/// operation.
/// REST API Reference for DescribeSavingsPlans Operation
IAsyncResult BeginDescribeSavingsPlans(DescribeSavingsPlansRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeSavingsPlans operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeSavingsPlans.
///
/// Returns a DescribeSavingsPlansResult from SavingsPlans.
/// REST API Reference for DescribeSavingsPlans Operation
DescribeSavingsPlansResponse EndDescribeSavingsPlans(IAsyncResult asyncResult);
#endregion
#region DescribeSavingsPlansOfferingRates
///
/// Describes the specified Savings Plans offering rates.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlansOfferingRates service method.
///
/// The response from the DescribeSavingsPlansOfferingRates service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for DescribeSavingsPlansOfferingRates Operation
DescribeSavingsPlansOfferingRatesResponse DescribeSavingsPlansOfferingRates(DescribeSavingsPlansOfferingRatesRequest request);
///
/// Initiates the asynchronous execution of the DescribeSavingsPlansOfferingRates operation.
///
///
/// Container for the necessary parameters to execute the DescribeSavingsPlansOfferingRates operation on AmazonSavingsPlansClient.
/// 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 EndDescribeSavingsPlansOfferingRates
/// operation.
/// REST API Reference for DescribeSavingsPlansOfferingRates Operation
IAsyncResult BeginDescribeSavingsPlansOfferingRates(DescribeSavingsPlansOfferingRatesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeSavingsPlansOfferingRates operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeSavingsPlansOfferingRates.
///
/// Returns a DescribeSavingsPlansOfferingRatesResult from SavingsPlans.
/// REST API Reference for DescribeSavingsPlansOfferingRates Operation
DescribeSavingsPlansOfferingRatesResponse EndDescribeSavingsPlansOfferingRates(IAsyncResult asyncResult);
#endregion
#region DescribeSavingsPlansOfferings
///
/// Describes the specified Savings Plans offerings.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlansOfferings service method.
///
/// The response from the DescribeSavingsPlansOfferings service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for DescribeSavingsPlansOfferings Operation
DescribeSavingsPlansOfferingsResponse DescribeSavingsPlansOfferings(DescribeSavingsPlansOfferingsRequest request);
///
/// Initiates the asynchronous execution of the DescribeSavingsPlansOfferings operation.
///
///
/// Container for the necessary parameters to execute the DescribeSavingsPlansOfferings operation on AmazonSavingsPlansClient.
/// 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 EndDescribeSavingsPlansOfferings
/// operation.
/// REST API Reference for DescribeSavingsPlansOfferings Operation
IAsyncResult BeginDescribeSavingsPlansOfferings(DescribeSavingsPlansOfferingsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeSavingsPlansOfferings operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeSavingsPlansOfferings.
///
/// Returns a DescribeSavingsPlansOfferingsResult from SavingsPlans.
/// REST API Reference for DescribeSavingsPlansOfferings Operation
DescribeSavingsPlansOfferingsResponse EndDescribeSavingsPlansOfferings(IAsyncResult asyncResult);
#endregion
#region ListTagsForResource
///
/// Lists the tags for the specified resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// The specified resource was not found.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
///
/// Initiates the asynchronous execution of the ListTagsForResource operation.
///
///
/// Container for the necessary parameters to execute the ListTagsForResource operation on AmazonSavingsPlansClient.
/// 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 EndListTagsForResource
/// operation.
/// REST API Reference for ListTagsForResource Operation
IAsyncResult BeginListTagsForResource(ListTagsForResourceRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListTagsForResource operation.
///
///
/// The IAsyncResult returned by the call to BeginListTagsForResource.
///
/// Returns a ListTagsForResourceResult from SavingsPlans.
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult);
#endregion
#region TagResource
///
/// Adds the specified tags to the specified resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// The specified resource was not found.
///
///
/// A service quota has been exceeded.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for TagResource Operation
TagResourceResponse TagResource(TagResourceRequest request);
///
/// Initiates the asynchronous execution of the TagResource operation.
///
///
/// Container for the necessary parameters to execute the TagResource operation on AmazonSavingsPlansClient.
/// 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 EndTagResource
/// operation.
/// REST API Reference for TagResource Operation
IAsyncResult BeginTagResource(TagResourceRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the TagResource operation.
///
///
/// The IAsyncResult returned by the call to BeginTagResource.
///
/// Returns a TagResourceResult from SavingsPlans.
/// REST API Reference for TagResource Operation
TagResourceResponse EndTagResource(IAsyncResult asyncResult);
#endregion
#region UntagResource
///
/// Removes the specified tags from the specified resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by SavingsPlans.
///
/// An unexpected error occurred.
///
///
/// The specified resource was not found.
///
///
/// One of the input parameters is not valid.
///
/// REST API Reference for UntagResource Operation
UntagResourceResponse UntagResource(UntagResourceRequest request);
///
/// Initiates the asynchronous execution of the UntagResource operation.
///
///
/// Container for the necessary parameters to execute the UntagResource operation on AmazonSavingsPlansClient.
/// 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 EndUntagResource
/// operation.
/// REST API Reference for UntagResource Operation
IAsyncResult BeginUntagResource(UntagResourceRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the UntagResource operation.
///
///
/// The IAsyncResult returned by the call to BeginUntagResource.
///
/// Returns a UntagResourceResult from SavingsPlans.
/// REST API Reference for UntagResource Operation
UntagResourceResponse EndUntagResource(IAsyncResult asyncResult);
#endregion
}
}