/*
* 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.Threading;
using System.Threading.Tasks;
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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task CreateSavingsPlanAsync(CreateSavingsPlanRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteQueuedSavingsPlan
///
/// Deletes the queued purchase for the specified Savings Plan.
///
/// Container for the necessary parameters to execute the DeleteQueuedSavingsPlan service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task DeleteQueuedSavingsPlanAsync(DeleteQueuedSavingsPlanRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeSavingsPlanRates
///
/// Describes the specified Savings Plans rates.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlanRates service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task DescribeSavingsPlanRatesAsync(DescribeSavingsPlanRatesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeSavingsPlans
///
/// Describes the specified Savings Plans.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlans service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task DescribeSavingsPlansAsync(DescribeSavingsPlansRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeSavingsPlansOfferingRates
///
/// Describes the specified Savings Plans offering rates.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlansOfferingRates service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task DescribeSavingsPlansOfferingRatesAsync(DescribeSavingsPlansOfferingRatesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeSavingsPlansOfferings
///
/// Describes the specified Savings Plans offerings.
///
/// Container for the necessary parameters to execute the DescribeSavingsPlansOfferings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task DescribeSavingsPlansOfferingsAsync(DescribeSavingsPlansOfferingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists the tags for the specified resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Adds the specified tags to the specified resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes the specified tags from the specified resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}