/*
* 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 autoscaling-plans-2018-01-06.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.AutoScalingPlans.Model;
namespace Amazon.AutoScalingPlans
{
///
/// Interface for accessing AutoScalingPlans
///
/// AWS Auto Scaling
///
/// Use AWS Auto Scaling to create scaling plans for your applications to automatically
/// scale your scalable AWS resources.
///
///
///
/// API Summary
///
///
///
/// You can use the AWS Auto Scaling service API to accomplish the following tasks:
///
/// -
///
/// Create and manage scaling plans
///
///
-
///
/// Define target tracking scaling policies to dynamically scale your resources based
/// on utilization
///
///
-
///
/// Scale Amazon EC2 Auto Scaling groups using predictive scaling and dynamic scaling
/// to scale your Amazon EC2 capacity faster
///
///
-
///
/// Set minimum and maximum capacity limits
///
///
-
///
/// Retrieve information on existing scaling plans
///
///
-
///
/// Access current forecast data and historical forecast data for up to 56 days previous
///
///
///
/// To learn more about AWS Auto Scaling, including information about granting IAM users
/// required permissions for AWS Auto Scaling actions, see the AWS
/// Auto Scaling User Guide.
///
///
public partial interface IAmazonAutoScalingPlans : IAmazonService, IDisposable
{
#region CreateScalingPlan
///
/// Creates a scaling plan.
///
/// Container for the necessary parameters to execute the CreateScalingPlan service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateScalingPlan service method, as returned by AutoScalingPlans.
///
/// Concurrent updates caused an exception, for example, if you request an update to a
/// scaling plan that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// Your account exceeded a limit. This exception is thrown when a per-account resource
/// limit is exceeded.
///
///
/// An exception was thrown for a validation issue. Review the parameters provided.
///
/// REST API Reference for CreateScalingPlan Operation
Task CreateScalingPlanAsync(CreateScalingPlanRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteScalingPlan
///
/// Deletes the specified scaling plan.
///
///
///
/// Deleting a scaling plan deletes the underlying ScalingInstruction for all of
/// the scalable resources that are covered by the plan.
///
///
///
/// If the plan has launched resources or has scaling activities in progress, you must
/// delete those resources separately.
///
///
/// Container for the necessary parameters to execute the DeleteScalingPlan service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteScalingPlan service method, as returned by AutoScalingPlans.
///
/// Concurrent updates caused an exception, for example, if you request an update to a
/// scaling plan that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found.
///
///
/// An exception was thrown for a validation issue. Review the parameters provided.
///
/// REST API Reference for DeleteScalingPlan Operation
Task DeleteScalingPlanAsync(DeleteScalingPlanRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeScalingPlanResources
///
/// Describes the scalable resources in the specified scaling plan.
///
/// Container for the necessary parameters to execute the DescribeScalingPlanResources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingPlanResources service method, as returned by AutoScalingPlans.
///
/// Concurrent updates caused an exception, for example, if you request an update to a
/// scaling plan that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The token provided is not valid.
///
///
/// An exception was thrown for a validation issue. Review the parameters provided.
///
/// REST API Reference for DescribeScalingPlanResources Operation
Task DescribeScalingPlanResourcesAsync(DescribeScalingPlanResourcesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeScalingPlans
///
/// Describes one or more of your scaling plans.
///
/// Container for the necessary parameters to execute the DescribeScalingPlans service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingPlans service method, as returned by AutoScalingPlans.
///
/// Concurrent updates caused an exception, for example, if you request an update to a
/// scaling plan that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The token provided is not valid.
///
///
/// An exception was thrown for a validation issue. Review the parameters provided.
///
/// REST API Reference for DescribeScalingPlans Operation
Task DescribeScalingPlansAsync(DescribeScalingPlansRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetScalingPlanResourceForecastData
///
/// Retrieves the forecast data for a scalable resource.
///
///
///
/// Capacity forecasts are represented as predicted values, or data points, that are calculated
/// using historical data points from a specified CloudWatch load metric. Data points
/// are available for up to 56 days.
///
///
/// Container for the necessary parameters to execute the GetScalingPlanResourceForecastData service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetScalingPlanResourceForecastData service method, as returned by AutoScalingPlans.
///
/// The service encountered an internal error.
///
///
/// An exception was thrown for a validation issue. Review the parameters provided.
///
/// REST API Reference for GetScalingPlanResourceForecastData Operation
Task GetScalingPlanResourceForecastDataAsync(GetScalingPlanResourceForecastDataRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateScalingPlan
///
/// Updates the specified scaling plan.
///
///
///
/// You cannot update a scaling plan if it is in the process of being created, updated,
/// or deleted.
///
///
/// Container for the necessary parameters to execute the UpdateScalingPlan service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateScalingPlan service method, as returned by AutoScalingPlans.
///
/// Concurrent updates caused an exception, for example, if you request an update to a
/// scaling plan that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found.
///
///
/// An exception was thrown for a validation issue. Review the parameters provided.
///
/// REST API Reference for UpdateScalingPlan Operation
Task UpdateScalingPlanAsync(UpdateScalingPlanRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}