/* * 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: /// /// /// /// 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: /// /// /// 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 } }