/*
* 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.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.
///
/// 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
CreateScalingPlanResponse CreateScalingPlan(CreateScalingPlanRequest request);
///
/// Initiates the asynchronous execution of the CreateScalingPlan operation.
///
///
/// Container for the necessary parameters to execute the CreateScalingPlan operation on AmazonAutoScalingPlansClient.
/// 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 EndCreateScalingPlan
/// operation.
/// REST API Reference for CreateScalingPlan Operation
IAsyncResult BeginCreateScalingPlan(CreateScalingPlanRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the CreateScalingPlan operation.
///
///
/// The IAsyncResult returned by the call to BeginCreateScalingPlan.
///
/// Returns a CreateScalingPlanResult from AutoScalingPlans.
/// REST API Reference for CreateScalingPlan Operation
CreateScalingPlanResponse EndCreateScalingPlan(IAsyncResult asyncResult);
#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.
///
/// 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
DeleteScalingPlanResponse DeleteScalingPlan(DeleteScalingPlanRequest request);
///
/// Initiates the asynchronous execution of the DeleteScalingPlan operation.
///
///
/// Container for the necessary parameters to execute the DeleteScalingPlan operation on AmazonAutoScalingPlansClient.
/// 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 EndDeleteScalingPlan
/// operation.
/// REST API Reference for DeleteScalingPlan Operation
IAsyncResult BeginDeleteScalingPlan(DeleteScalingPlanRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DeleteScalingPlan operation.
///
///
/// The IAsyncResult returned by the call to BeginDeleteScalingPlan.
///
/// Returns a DeleteScalingPlanResult from AutoScalingPlans.
/// REST API Reference for DeleteScalingPlan Operation
DeleteScalingPlanResponse EndDeleteScalingPlan(IAsyncResult asyncResult);
#endregion
#region DescribeScalingPlanResources
///
/// Describes the scalable resources in the specified scaling plan.
///
/// Container for the necessary parameters to execute the DescribeScalingPlanResources service method.
///
/// 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
DescribeScalingPlanResourcesResponse DescribeScalingPlanResources(DescribeScalingPlanResourcesRequest request);
///
/// Initiates the asynchronous execution of the DescribeScalingPlanResources operation.
///
///
/// Container for the necessary parameters to execute the DescribeScalingPlanResources operation on AmazonAutoScalingPlansClient.
/// 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 EndDescribeScalingPlanResources
/// operation.
/// REST API Reference for DescribeScalingPlanResources Operation
IAsyncResult BeginDescribeScalingPlanResources(DescribeScalingPlanResourcesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeScalingPlanResources operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeScalingPlanResources.
///
/// Returns a DescribeScalingPlanResourcesResult from AutoScalingPlans.
/// REST API Reference for DescribeScalingPlanResources Operation
DescribeScalingPlanResourcesResponse EndDescribeScalingPlanResources(IAsyncResult asyncResult);
#endregion
#region DescribeScalingPlans
///
/// Describes one or more of your scaling plans.
///
/// Container for the necessary parameters to execute the DescribeScalingPlans service method.
///
/// 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
DescribeScalingPlansResponse DescribeScalingPlans(DescribeScalingPlansRequest request);
///
/// Initiates the asynchronous execution of the DescribeScalingPlans operation.
///
///
/// Container for the necessary parameters to execute the DescribeScalingPlans operation on AmazonAutoScalingPlansClient.
/// 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 EndDescribeScalingPlans
/// operation.
/// REST API Reference for DescribeScalingPlans Operation
IAsyncResult BeginDescribeScalingPlans(DescribeScalingPlansRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeScalingPlans operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeScalingPlans.
///
/// Returns a DescribeScalingPlansResult from AutoScalingPlans.
/// REST API Reference for DescribeScalingPlans Operation
DescribeScalingPlansResponse EndDescribeScalingPlans(IAsyncResult asyncResult);
#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.
///
/// 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
GetScalingPlanResourceForecastDataResponse GetScalingPlanResourceForecastData(GetScalingPlanResourceForecastDataRequest request);
///
/// Initiates the asynchronous execution of the GetScalingPlanResourceForecastData operation.
///
///
/// Container for the necessary parameters to execute the GetScalingPlanResourceForecastData operation on AmazonAutoScalingPlansClient.
/// 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 EndGetScalingPlanResourceForecastData
/// operation.
/// REST API Reference for GetScalingPlanResourceForecastData Operation
IAsyncResult BeginGetScalingPlanResourceForecastData(GetScalingPlanResourceForecastDataRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetScalingPlanResourceForecastData operation.
///
///
/// The IAsyncResult returned by the call to BeginGetScalingPlanResourceForecastData.
///
/// Returns a GetScalingPlanResourceForecastDataResult from AutoScalingPlans.
/// REST API Reference for GetScalingPlanResourceForecastData Operation
GetScalingPlanResourceForecastDataResponse EndGetScalingPlanResourceForecastData(IAsyncResult asyncResult);
#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.
///
/// 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
UpdateScalingPlanResponse UpdateScalingPlan(UpdateScalingPlanRequest request);
///
/// Initiates the asynchronous execution of the UpdateScalingPlan operation.
///
///
/// Container for the necessary parameters to execute the UpdateScalingPlan operation on AmazonAutoScalingPlansClient.
/// 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 EndUpdateScalingPlan
/// operation.
/// REST API Reference for UpdateScalingPlan Operation
IAsyncResult BeginUpdateScalingPlan(UpdateScalingPlanRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the UpdateScalingPlan operation.
///
///
/// The IAsyncResult returned by the call to BeginUpdateScalingPlan.
///
/// Returns a UpdateScalingPlanResult from AutoScalingPlans.
/// REST API Reference for UpdateScalingPlan Operation
UpdateScalingPlanResponse EndUpdateScalingPlan(IAsyncResult asyncResult);
#endregion
}
}