/*
* 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 application-autoscaling-2016-02-06.normal.json service model.
*/
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.ApplicationAutoScaling.Model;
using Amazon.ApplicationAutoScaling.Model.Internal.MarshallTransformations;
using Amazon.ApplicationAutoScaling.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.ApplicationAutoScaling
{
///
/// Implementation for accessing ApplicationAutoScaling
///
/// With Application Auto Scaling, you can configure automatic scaling for the following
/// resources:
///
/// -
///
/// Amazon AppStream 2.0 fleets
///
///
-
///
/// Amazon Aurora Replicas
///
///
-
///
/// Amazon Comprehend document classification and entity recognizer endpoints
///
///
-
///
/// Amazon DynamoDB tables and global secondary indexes throughput capacity
///
///
-
///
/// Amazon ECS services
///
///
-
///
/// Amazon ElastiCache for Redis clusters (replication groups)
///
///
-
///
/// Amazon EMR clusters
///
///
-
///
/// Amazon Keyspaces (for Apache Cassandra) tables
///
///
-
///
/// Lambda function provisioned concurrency
///
///
-
///
/// Amazon Managed Streaming for Apache Kafka broker storage
///
///
-
///
/// Amazon Neptune clusters
///
///
-
///
/// Amazon SageMaker endpoint variants
///
///
-
///
/// Amazon SageMaker Serverless endpoint provisioned concurrency
///
///
-
///
/// Spot Fleets (Amazon EC2)
///
///
-
///
/// Custom resources provided by your own applications or services
///
///
///
/// To learn more about Application Auto Scaling, see the Application
/// Auto Scaling User Guide.
///
///
///
/// API Summary
///
///
///
/// The Application Auto Scaling service API includes three key sets of actions:
///
/// -
///
/// Register and manage scalable targets - Register Amazon Web Services or custom resources
/// as scalable targets (a resource that Application Auto Scaling can scale), set minimum
/// and maximum capacity limits, and retrieve information on existing scalable targets.
///
///
-
///
/// Configure and manage automatic scaling - Define scaling policies to dynamically scale
/// your resources in response to CloudWatch alarms, schedule one-time or recurring scaling
/// actions, and retrieve your recent scaling activity history.
///
///
-
///
/// Suspend and resume scaling - Temporarily suspend and later resume automatic scaling
/// by calling the RegisterScalableTarget
/// API action for any Application Auto Scaling scalable target. You can suspend and resume
/// (individually or in combination) scale-out activities that are triggered by a scaling
/// policy, scale-in activities that are triggered by a scaling policy, and scheduled
/// scaling.
///
///
///
public partial class AmazonApplicationAutoScalingClient : AmazonServiceClient, IAmazonApplicationAutoScaling
{
private static IServiceMetadata serviceMetadata = new AmazonApplicationAutoScalingMetadata();
private IApplicationAutoScalingPaginatorFactory _paginators;
///
/// Paginators for the service
///
public IApplicationAutoScalingPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new ApplicationAutoScalingPaginatorFactory(this);
}
return this._paginators;
}
}
#region Constructors
///
/// Constructs AmazonApplicationAutoScalingClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonApplicationAutoScalingClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonApplicationAutoScalingConfig()) { }
///
/// Constructs AmazonApplicationAutoScalingClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonApplicationAutoScalingClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonApplicationAutoScalingConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonApplicationAutoScalingClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonApplicationAutoScalingClient Configuration Object
public AmazonApplicationAutoScalingClient(AmazonApplicationAutoScalingConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Credentials
///
/// AWS Credentials
public AmazonApplicationAutoScalingClient(AWSCredentials credentials)
: this(credentials, new AmazonApplicationAutoScalingConfig())
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonApplicationAutoScalingClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonApplicationAutoScalingConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Credentials and an
/// AmazonApplicationAutoScalingClient Configuration object.
///
/// AWS Credentials
/// The AmazonApplicationAutoScalingClient Configuration Object
public AmazonApplicationAutoScalingClient(AWSCredentials credentials, AmazonApplicationAutoScalingConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonApplicationAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonApplicationAutoScalingConfig())
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonApplicationAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonApplicationAutoScalingConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonApplicationAutoScalingClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonApplicationAutoScalingClient Configuration Object
public AmazonApplicationAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonApplicationAutoScalingConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonApplicationAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonApplicationAutoScalingConfig())
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonApplicationAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonApplicationAutoScalingConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonApplicationAutoScalingClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonApplicationAutoScalingClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonApplicationAutoScalingClient Configuration Object
public AmazonApplicationAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonApplicationAutoScalingConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customize the pipeline
///
///
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonApplicationAutoScalingEndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region DeleteScalingPolicy
///
/// Deletes the specified scaling policy for an Application Auto Scaling scalable target.
///
///
///
/// Deleting a step scaling policy deletes the underlying alarm action, but does not delete
/// the CloudWatch alarm associated with the scaling policy, even if it no longer has
/// an associated action.
///
///
///
/// For more information, see Delete
/// a step scaling policy and Delete
/// a target tracking scaling policy in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DeleteScalingPolicy service method.
///
/// The response from the DeleteScalingPolicy service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DeleteScalingPolicy Operation
public virtual DeleteScalingPolicyResponse DeleteScalingPolicy(DeleteScalingPolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteScalingPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteScalingPolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified scaling policy for an Application Auto Scaling scalable target.
///
///
///
/// Deleting a step scaling policy deletes the underlying alarm action, but does not delete
/// the CloudWatch alarm associated with the scaling policy, even if it no longer has
/// an associated action.
///
///
///
/// For more information, see Delete
/// a step scaling policy and Delete
/// a target tracking scaling policy in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DeleteScalingPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteScalingPolicy service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DeleteScalingPolicy Operation
public virtual Task DeleteScalingPolicyAsync(DeleteScalingPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteScalingPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteScalingPolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteScheduledAction
///
/// Deletes the specified scheduled action for an Application Auto Scaling scalable target.
///
///
///
/// For more information, see Delete
/// a scheduled action in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DeleteScheduledAction service method.
///
/// The response from the DeleteScheduledAction service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DeleteScheduledAction Operation
public virtual DeleteScheduledActionResponse DeleteScheduledAction(DeleteScheduledActionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteScheduledActionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified scheduled action for an Application Auto Scaling scalable target.
///
///
///
/// For more information, see Delete
/// a scheduled action in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DeleteScheduledAction service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteScheduledAction service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DeleteScheduledAction Operation
public virtual Task DeleteScheduledActionAsync(DeleteScheduledActionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteScheduledActionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeregisterScalableTarget
///
/// Deregisters an Application Auto Scaling scalable target when you have finished using
/// it. To see which resources have been registered, use DescribeScalableTargets.
///
///
///
///
/// Deregistering a scalable target deletes the scaling policies and the scheduled actions
/// that are associated with it.
///
///
///
/// Container for the necessary parameters to execute the DeregisterScalableTarget service method.
///
/// The response from the DeregisterScalableTarget service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DeregisterScalableTarget Operation
public virtual DeregisterScalableTargetResponse DeregisterScalableTarget(DeregisterScalableTargetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeregisterScalableTargetRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeregisterScalableTargetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deregisters an Application Auto Scaling scalable target when you have finished using
/// it. To see which resources have been registered, use DescribeScalableTargets.
///
///
///
///
/// Deregistering a scalable target deletes the scaling policies and the scheduled actions
/// that are associated with it.
///
///
///
/// Container for the necessary parameters to execute the DeregisterScalableTarget service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeregisterScalableTarget service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DeregisterScalableTarget Operation
public virtual Task DeregisterScalableTargetAsync(DeregisterScalableTargetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeregisterScalableTargetRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeregisterScalableTargetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeScalableTargets
///
/// Gets information about the scalable targets in the specified namespace.
///
///
///
/// You can filter the results using ResourceIds
and ScalableDimension
.
///
///
/// Container for the necessary parameters to execute the DescribeScalableTargets service method.
///
/// The response from the DescribeScalableTargets service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScalableTargets Operation
public virtual DescribeScalableTargetsResponse DescribeScalableTargets(DescribeScalableTargetsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalableTargetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalableTargetsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the scalable targets in the specified namespace.
///
///
///
/// You can filter the results using ResourceIds
and ScalableDimension
.
///
///
/// Container for the necessary parameters to execute the DescribeScalableTargets service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalableTargets service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScalableTargets Operation
public virtual Task DescribeScalableTargetsAsync(DescribeScalableTargetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalableTargetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalableTargetsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeScalingActivities
///
/// Provides descriptive information about the scaling activities in the specified namespace
/// from the previous six weeks.
///
///
///
/// You can filter the results using ResourceId
and ScalableDimension
.
///
///
///
/// For information about viewing scaling activities using the Amazon Web Services CLI,
/// see Scaling
/// activities for Application Auto Scaling.
///
///
/// Container for the necessary parameters to execute the DescribeScalingActivities service method.
///
/// The response from the DescribeScalingActivities service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScalingActivities Operation
public virtual DescribeScalingActivitiesResponse DescribeScalingActivities(DescribeScalingActivitiesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingActivitiesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingActivitiesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Provides descriptive information about the scaling activities in the specified namespace
/// from the previous six weeks.
///
///
///
/// You can filter the results using ResourceId
and ScalableDimension
.
///
///
///
/// For information about viewing scaling activities using the Amazon Web Services CLI,
/// see Scaling
/// activities for Application Auto Scaling.
///
///
/// Container for the necessary parameters to execute the DescribeScalingActivities service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingActivities service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScalingActivities Operation
public virtual Task DescribeScalingActivitiesAsync(DescribeScalingActivitiesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingActivitiesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingActivitiesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeScalingPolicies
///
/// Describes the Application Auto Scaling scaling policies for the specified service
/// namespace.
///
///
///
/// You can filter the results using ResourceId
, ScalableDimension
,
/// and PolicyNames
.
///
///
///
/// For more information, see Target
/// tracking scaling policies and Step
/// scaling policies in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeScalingPolicies service method.
///
/// The response from the DescribeScalingPolicies service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// Failed access to resources caused an exception. This exception is thrown when Application
/// Auto Scaling is unable to retrieve the alarms associated with a scaling policy due
/// to a client error, for example, if the role ARN specified for a scalable target does
/// not have permission to call the CloudWatch DescribeAlarms
/// on your behalf.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScalingPolicies Operation
public virtual DescribeScalingPoliciesResponse DescribeScalingPolicies(DescribeScalingPoliciesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingPoliciesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingPoliciesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the Application Auto Scaling scaling policies for the specified service
/// namespace.
///
///
///
/// You can filter the results using ResourceId
, ScalableDimension
,
/// and PolicyNames
.
///
///
///
/// For more information, see Target
/// tracking scaling policies and Step
/// scaling policies in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeScalingPolicies service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingPolicies service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// Failed access to resources caused an exception. This exception is thrown when Application
/// Auto Scaling is unable to retrieve the alarms associated with a scaling policy due
/// to a client error, for example, if the role ARN specified for a scalable target does
/// not have permission to call the CloudWatch DescribeAlarms
/// on your behalf.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScalingPolicies Operation
public virtual Task DescribeScalingPoliciesAsync(DescribeScalingPoliciesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingPoliciesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingPoliciesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeScheduledActions
///
/// Describes the Application Auto Scaling scheduled actions for the specified service
/// namespace.
///
///
///
/// You can filter the results using the ResourceId
, ScalableDimension
,
/// and ScheduledActionNames
parameters.
///
///
///
/// For more information, see Scheduled
/// scaling and Managing
/// scheduled scaling in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeScheduledActions service method.
///
/// The response from the DescribeScheduledActions service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScheduledActions Operation
public virtual DescribeScheduledActionsResponse DescribeScheduledActions(DescribeScheduledActionsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScheduledActionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScheduledActionsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the Application Auto Scaling scheduled actions for the specified service
/// namespace.
///
///
///
/// You can filter the results using the ResourceId
, ScalableDimension
,
/// and ScheduledActionNames
parameters.
///
///
///
/// For more information, see Scheduled
/// scaling and Managing
/// scheduled scaling in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeScheduledActions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScheduledActions service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// The next token supplied was invalid.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for DescribeScheduledActions Operation
public virtual Task DescribeScheduledActionsAsync(DescribeScheduledActionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScheduledActionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScheduledActionsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListTagsForResource
///
/// Returns all the tags on the specified Application Auto Scaling scalable target.
///
///
///
/// For general information about tags, including the format and syntax, see Tagging
/// Amazon Web Services resources in the Amazon Web Services General Reference.
///
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by ApplicationAutoScaling.
///
/// The specified resource doesn't exist.
///
/// REST API Reference for ListTagsForResource Operation
public virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns all the tags on the specified Application Auto Scaling scalable target.
///
///
///
/// For general information about tags, including the format and syntax, see Tagging
/// Amazon Web Services resources in the Amazon Web Services General Reference.
///
///
/// 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 ApplicationAutoScaling.
///
/// The specified resource doesn't exist.
///
/// REST API Reference for ListTagsForResource Operation
public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutScalingPolicy
///
/// Creates or updates a scaling policy for an Application Auto Scaling scalable target.
///
///
///
/// Each scalable target is identified by a service namespace, resource ID, and scalable
/// dimension. A scaling policy applies to the scalable target identified by those three
/// attributes. You cannot create a scaling policy until you have registered the resource
/// as a scalable target.
///
///
///
/// Multiple scaling policies can be in force at the same time for the same scalable target.
/// You can have one or more target tracking scaling policies, one or more step scaling
/// policies, or both. However, there is a chance that multiple policies could conflict,
/// instructing the scalable target to scale out or in at the same time. Application Auto
/// Scaling gives precedence to the policy that provides the largest capacity for both
/// scale out and scale in. For example, if one policy increases capacity by 3, another
/// policy increases capacity by 200 percent, and the current capacity is 10, Application
/// Auto Scaling uses the policy with the highest calculated capacity (200% of 10 = 20)
/// and scales out to 30.
///
///
///
/// We recommend caution, however, when using target tracking scaling policies with step
/// scaling policies because conflicts between these policies can cause undesirable behavior.
/// For example, if the step scaling policy initiates a scale-in activity before the target
/// tracking policy is ready to scale in, the scale-in activity will not be blocked. After
/// the scale-in activity completes, the target tracking policy could instruct the scalable
/// target to scale out again.
///
///
///
/// For more information, see Target
/// tracking scaling policies and Step
/// scaling policies in the Application Auto Scaling User Guide.
///
///
///
/// If a scalable target is deregistered, the scalable target is no longer available to
/// use scaling policies. Any scaling policies that were specified for the scalable target
/// are deleted.
///
///
///
/// Container for the necessary parameters to execute the PutScalingPolicy service method.
///
/// The response from the PutScalingPolicy service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// Failed access to resources caused an exception. This exception is thrown when Application
/// Auto Scaling is unable to retrieve the alarms associated with a scaling policy due
/// to a client error, for example, if the role ARN specified for a scalable target does
/// not have permission to call the CloudWatch DescribeAlarms
/// on your behalf.
///
///
/// The service encountered an internal error.
///
///
/// A per-account resource limit is exceeded. For more information, see Application
/// Auto Scaling service quotas.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for PutScalingPolicy Operation
public virtual PutScalingPolicyResponse PutScalingPolicy(PutScalingPolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScalingPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScalingPolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates a scaling policy for an Application Auto Scaling scalable target.
///
///
///
/// Each scalable target is identified by a service namespace, resource ID, and scalable
/// dimension. A scaling policy applies to the scalable target identified by those three
/// attributes. You cannot create a scaling policy until you have registered the resource
/// as a scalable target.
///
///
///
/// Multiple scaling policies can be in force at the same time for the same scalable target.
/// You can have one or more target tracking scaling policies, one or more step scaling
/// policies, or both. However, there is a chance that multiple policies could conflict,
/// instructing the scalable target to scale out or in at the same time. Application Auto
/// Scaling gives precedence to the policy that provides the largest capacity for both
/// scale out and scale in. For example, if one policy increases capacity by 3, another
/// policy increases capacity by 200 percent, and the current capacity is 10, Application
/// Auto Scaling uses the policy with the highest calculated capacity (200% of 10 = 20)
/// and scales out to 30.
///
///
///
/// We recommend caution, however, when using target tracking scaling policies with step
/// scaling policies because conflicts between these policies can cause undesirable behavior.
/// For example, if the step scaling policy initiates a scale-in activity before the target
/// tracking policy is ready to scale in, the scale-in activity will not be blocked. After
/// the scale-in activity completes, the target tracking policy could instruct the scalable
/// target to scale out again.
///
///
///
/// For more information, see Target
/// tracking scaling policies and Step
/// scaling policies in the Application Auto Scaling User Guide.
///
///
///
/// If a scalable target is deregistered, the scalable target is no longer available to
/// use scaling policies. Any scaling policies that were specified for the scalable target
/// are deleted.
///
///
///
/// Container for the necessary parameters to execute the PutScalingPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutScalingPolicy service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// Failed access to resources caused an exception. This exception is thrown when Application
/// Auto Scaling is unable to retrieve the alarms associated with a scaling policy due
/// to a client error, for example, if the role ARN specified for a scalable target does
/// not have permission to call the CloudWatch DescribeAlarms
/// on your behalf.
///
///
/// The service encountered an internal error.
///
///
/// A per-account resource limit is exceeded. For more information, see Application
/// Auto Scaling service quotas.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for PutScalingPolicy Operation
public virtual Task PutScalingPolicyAsync(PutScalingPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScalingPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScalingPolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutScheduledAction
///
/// Creates or updates a scheduled action for an Application Auto Scaling scalable target.
///
///
///
///
/// Each scalable target is identified by a service namespace, resource ID, and scalable
/// dimension. A scheduled action applies to the scalable target identified by those three
/// attributes. You cannot create a scheduled action until you have registered the resource
/// as a scalable target.
///
///
///
/// When you specify start and end times with a recurring schedule using a cron expression
/// or rates, they form the boundaries for when the recurring action starts and stops.
///
///
///
/// To update a scheduled action, specify the parameters that you want to change. If you
/// don't specify start and end times, the old values are deleted.
///
///
///
/// For more information, see Scheduled
/// scaling in the Application Auto Scaling User Guide.
///
///
///
/// If a scalable target is deregistered, the scalable target is no longer available to
/// run scheduled actions. Any scheduled actions that were specified for the scalable
/// target are deleted.
///
///
///
/// Container for the necessary parameters to execute the PutScheduledAction service method.
///
/// The response from the PutScheduledAction service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// A per-account resource limit is exceeded. For more information, see Application
/// Auto Scaling service quotas.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for PutScheduledAction Operation
public virtual PutScheduledActionResponse PutScheduledAction(PutScheduledActionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScheduledActionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates a scheduled action for an Application Auto Scaling scalable target.
///
///
///
///
/// Each scalable target is identified by a service namespace, resource ID, and scalable
/// dimension. A scheduled action applies to the scalable target identified by those three
/// attributes. You cannot create a scheduled action until you have registered the resource
/// as a scalable target.
///
///
///
/// When you specify start and end times with a recurring schedule using a cron expression
/// or rates, they form the boundaries for when the recurring action starts and stops.
///
///
///
/// To update a scheduled action, specify the parameters that you want to change. If you
/// don't specify start and end times, the old values are deleted.
///
///
///
/// For more information, see Scheduled
/// scaling in the Application Auto Scaling User Guide.
///
///
///
/// If a scalable target is deregistered, the scalable target is no longer available to
/// run scheduled actions. Any scheduled actions that were specified for the scalable
/// target are deleted.
///
///
///
/// Container for the necessary parameters to execute the PutScheduledAction service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutScheduledAction service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// A per-account resource limit is exceeded. For more information, see Application
/// Auto Scaling service quotas.
///
///
/// The specified object could not be found. For any operation that depends on the existence
/// of a scalable target, this exception is thrown if the scalable target with the specified
/// service namespace, resource ID, and scalable dimension does not exist. For any operation
/// that deletes or deregisters a resource, this exception is thrown if the resource cannot
/// be found.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for PutScheduledAction Operation
public virtual Task PutScheduledActionAsync(PutScheduledActionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScheduledActionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region RegisterScalableTarget
///
/// Registers or updates a scalable target, which is the resource that you want to scale.
///
///
///
/// Scalable targets are uniquely identified by the combination of resource ID, scalable
/// dimension, and namespace, which represents some capacity dimension of the underlying
/// service.
///
///
///
/// When you register a new scalable target, you must specify values for the minimum and
/// maximum capacity. If the specified resource is not active in the target service, this
/// operation does not change the resource's current capacity. Otherwise, it changes the
/// resource's current capacity to a value that is inside of this range.
///
///
///
/// If you add a scaling policy, current capacity is adjustable within the specified range
/// when scaling starts. Application Auto Scaling scaling policies will not scale capacity
/// to values that are outside of the minimum and maximum range.
///
///
///
/// After you register a scalable target, you do not need to register it again to use
/// other Application Auto Scaling operations. To see which resources have been registered,
/// use DescribeScalableTargets.
/// You can also view the scaling policies for a service namespace by using DescribeScalableTargets.
/// If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget.
///
///
///
/// To update a scalable target, specify the parameters that you want to change. Include
/// the parameters that identify the scalable target: resource ID, scalable dimension,
/// and namespace. Any parameters that you don't specify are not changed by this update
/// request.
///
///
///
/// If you call the RegisterScalableTarget
API operation to create a scalable
/// target, there might be a brief delay until the operation achieves eventual
/// consistency. You might become aware of this brief delay if you get unexpected
/// errors when performing sequential operations. The typical strategy is to retry the
/// request, and some Amazon Web Services SDKs include automatic backoff and retry logic.
///
///
///
/// If you call the RegisterScalableTarget
API operation to update an existing
/// scalable target, Application Auto Scaling retrieves the current capacity of the resource.
/// If it's below the minimum capacity or above the maximum capacity, Application Auto
/// Scaling adjusts the capacity of the scalable target to place it within these bounds,
/// even if you don't include the MinCapacity
or MaxCapacity
/// request parameters.
///
///
///
/// Container for the necessary parameters to execute the RegisterScalableTarget service method.
///
/// The response from the RegisterScalableTarget service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// A per-account resource limit is exceeded. For more information, see Application
/// Auto Scaling service quotas.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for RegisterScalableTarget Operation
public virtual RegisterScalableTargetResponse RegisterScalableTarget(RegisterScalableTargetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = RegisterScalableTargetRequestMarshaller.Instance;
options.ResponseUnmarshaller = RegisterScalableTargetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Registers or updates a scalable target, which is the resource that you want to scale.
///
///
///
/// Scalable targets are uniquely identified by the combination of resource ID, scalable
/// dimension, and namespace, which represents some capacity dimension of the underlying
/// service.
///
///
///
/// When you register a new scalable target, you must specify values for the minimum and
/// maximum capacity. If the specified resource is not active in the target service, this
/// operation does not change the resource's current capacity. Otherwise, it changes the
/// resource's current capacity to a value that is inside of this range.
///
///
///
/// If you add a scaling policy, current capacity is adjustable within the specified range
/// when scaling starts. Application Auto Scaling scaling policies will not scale capacity
/// to values that are outside of the minimum and maximum range.
///
///
///
/// After you register a scalable target, you do not need to register it again to use
/// other Application Auto Scaling operations. To see which resources have been registered,
/// use DescribeScalableTargets.
/// You can also view the scaling policies for a service namespace by using DescribeScalableTargets.
/// If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget.
///
///
///
/// To update a scalable target, specify the parameters that you want to change. Include
/// the parameters that identify the scalable target: resource ID, scalable dimension,
/// and namespace. Any parameters that you don't specify are not changed by this update
/// request.
///
///
///
/// If you call the RegisterScalableTarget
API operation to create a scalable
/// target, there might be a brief delay until the operation achieves eventual
/// consistency. You might become aware of this brief delay if you get unexpected
/// errors when performing sequential operations. The typical strategy is to retry the
/// request, and some Amazon Web Services SDKs include automatic backoff and retry logic.
///
///
///
/// If you call the RegisterScalableTarget
API operation to update an existing
/// scalable target, Application Auto Scaling retrieves the current capacity of the resource.
/// If it's below the minimum capacity or above the maximum capacity, Application Auto
/// Scaling adjusts the capacity of the scalable target to place it within these bounds,
/// even if you don't include the MinCapacity
or MaxCapacity
/// request parameters.
///
///
///
/// Container for the necessary parameters to execute the RegisterScalableTarget service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RegisterScalableTarget service method, as returned by ApplicationAutoScaling.
///
/// Concurrent updates caused an exception, for example, if you request an update to an
/// Application Auto Scaling resource that already has a pending update.
///
///
/// The service encountered an internal error.
///
///
/// A per-account resource limit is exceeded. For more information, see Application
/// Auto Scaling service quotas.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for RegisterScalableTarget Operation
public virtual Task RegisterScalableTargetAsync(RegisterScalableTargetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = RegisterScalableTargetRequestMarshaller.Instance;
options.ResponseUnmarshaller = RegisterScalableTargetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region TagResource
///
/// Adds or edits tags on an Application Auto Scaling scalable target.
///
///
///
/// Each tag consists of a tag key and a tag value, which are both case-sensitive strings.
/// To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing
/// tag key and a new tag value.
///
///
///
/// You can use this operation to tag an Application Auto Scaling scalable target, but
/// you cannot tag a scaling policy or scheduled action.
///
///
///
/// You can also add tags to an Application Auto Scaling scalable target while creating
/// it (RegisterScalableTarget
).
///
///
///
/// For general information about tags, including the format and syntax, see Tagging
/// Amazon Web Services resources in the Amazon Web Services General Reference.
///
///
///
/// Use tags to control access to a scalable target. For more information, see Tagging
/// support for Application Auto Scaling in the Application Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by ApplicationAutoScaling.
///
/// The specified resource doesn't exist.
///
///
/// The request contains too many tags. Try the request again with fewer tags.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for TagResource Operation
public virtual TagResourceResponse TagResource(TagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Adds or edits tags on an Application Auto Scaling scalable target.
///
///
///
/// Each tag consists of a tag key and a tag value, which are both case-sensitive strings.
/// To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing
/// tag key and a new tag value.
///
///
///
/// You can use this operation to tag an Application Auto Scaling scalable target, but
/// you cannot tag a scaling policy or scheduled action.
///
///
///
/// You can also add tags to an Application Auto Scaling scalable target while creating
/// it (RegisterScalableTarget
).
///
///
///
/// For general information about tags, including the format and syntax, see Tagging
/// Amazon Web Services resources in the Amazon Web Services General Reference.
///
///
///
/// Use tags to control access to a scalable target. For more information, see Tagging
/// support for Application Auto Scaling in the Application Auto Scaling User Guide.
///
///
/// 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 ApplicationAutoScaling.
///
/// The specified resource doesn't exist.
///
///
/// The request contains too many tags. Try the request again with fewer tags.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for TagResource Operation
public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UntagResource
///
/// Deletes tags from an Application Auto Scaling scalable target. To delete a tag, specify
/// the tag key and the Application Auto Scaling scalable target.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by ApplicationAutoScaling.
///
/// The specified resource doesn't exist.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for UntagResource Operation
public virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes tags from an Application Auto Scaling scalable target. To delete a tag, specify
/// the tag key and the Application Auto Scaling scalable target.
///
/// 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 ApplicationAutoScaling.
///
/// The specified resource doesn't exist.
///
///
/// An exception was thrown for a validation issue. Review the available parameters for
/// the API request.
///
/// REST API Reference for UntagResource Operation
public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}