diff --git a/clients/client-application-auto-scaling/README.md b/clients/client-application-auto-scaling/README.md
index 4dc772a0c26c0..a2b21e8452e34 100644
--- a/clients/client-application-auto-scaling/README.md
+++ b/clients/client-application-auto-scaling/README.md
@@ -334,6 +334,14 @@ DescribeScheduledActions
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/classes/describescheduledactionscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/describescheduledactionscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/describescheduledactionscommandoutput.html)
+
+
+ListTagsForResource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/classes/listtagsforresourcecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/listtagsforresourcecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/listtagsforresourcecommandoutput.html)
+
@@ -359,3 +367,19 @@ RegisterScalableTarget
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/classes/registerscalabletargetcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/registerscalabletargetcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/registerscalabletargetcommandoutput.html)
+TagResource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/classes/tagresourcecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/tagresourcecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/tagresourcecommandoutput.html)
+
+
+UntagResource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/classes/untagresourcecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/untagresourcecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-application-auto-scaling/interfaces/untagresourcecommandoutput.html)
+
+
With Application Auto Scaling, you can configure automatic scaling for the following @@ -375,6 +386,40 @@ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { } } + /** + *
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.
+ */ + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options?: __HttpHandlerOptions + ): PromiseCreates 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 @@ -398,8 +443,8 @@ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { *
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 - * execute scaling policies. Any scaling policies that were specified for the scalable - * target are deleted.
+ * use scaling policies. Any scaling policies that were specified for the scalable target + * are deleted. *When start and end times are specified with a recurring schedule using a cron expression + *
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.
@@ -478,7 +523,8 @@ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { } /** - *Registers or updates a scalable target, the resource that you want to scale.
+ *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.
@@ -486,9 +532,9 @@ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { * 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 choose to 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.
+ *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 @@ -497,11 +543,17 @@ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { * 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 to update an existing
- * scalable target, Application Auto Scaling retrieves the current capacity of the resource. If it is 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.
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.
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.
+ */ + public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): PromiseDeletes tags from an Application Auto Scaling scalable target. To delete a tag, specify the tag key and + * the Application Auto Scaling scalable target.
+ */ + public untagResource( + args: UntagResourceCommandInput, + options?: __HttpHandlerOptions + ): PromiseReturns 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.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ApplicationAutoScalingClient, ListTagsForResourceCommand } from "@aws-sdk/client-application-auto-scaling"; // ES Modules import + * // const { ApplicationAutoScalingClient, ListTagsForResourceCommand } = require("@aws-sdk/client-application-auto-scaling"); // CommonJS import + * const client = new ApplicationAutoScalingClient(config); + * const command = new ListTagsForResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListTagsForResourceCommandInput} for command's `input` shape. + * @see {@link ListTagsForResourceCommandOutput} for command's `response` shape. + * @see {@link ApplicationAutoScalingClientResolvedConfig | config} for ApplicationAutoScalingClient's `config` shape. + * + * @throws {@link ResourceNotFoundException} (client fault) + *The specified resource doesn't exist.
+ * + * + */ +export class ListTagsForResourceCommand extends $Command< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + ApplicationAutoScalingClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + constructor(readonly input: ListTagsForResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackFor 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 - * execute scaling policies. Any scaling policies that were specified for the scalable - * target are deleted.
+ * use scaling policies. Any scaling policies that were specified for the scalable target + * are deleted. *When start and end times are specified with a recurring schedule using a cron expression + *
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.
diff --git a/clients/client-application-auto-scaling/src/commands/RegisterScalableTargetCommand.ts b/clients/client-application-auto-scaling/src/commands/RegisterScalableTargetCommand.ts index e34e7f1b4eba0..53bffbb975767 100644 --- a/clients/client-application-auto-scaling/src/commands/RegisterScalableTargetCommand.ts +++ b/clients/client-application-auto-scaling/src/commands/RegisterScalableTargetCommand.ts @@ -39,7 +39,8 @@ export interface RegisterScalableTargetCommandInput extends RegisterScalableTarg export interface RegisterScalableTargetCommandOutput extends RegisterScalableTargetResponse, __MetadataBearer {} /** - *Registers or updates a scalable target, the resource that you want to scale.
+ *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.
@@ -47,9 +48,9 @@ export interface RegisterScalableTargetCommandOutput extends RegisterScalableTar * 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 choose to 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.
+ *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 @@ -58,11 +59,17 @@ export interface RegisterScalableTargetCommandOutput extends RegisterScalableTar * 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 to update an existing
- * scalable target, Application Auto Scaling retrieves the current capacity of the resource. If it is 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.
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.
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.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ApplicationAutoScalingClient, TagResourceCommand } from "@aws-sdk/client-application-auto-scaling"; // ES Modules import + * // const { ApplicationAutoScalingClient, TagResourceCommand } = require("@aws-sdk/client-application-auto-scaling"); // CommonJS import + * const client = new ApplicationAutoScalingClient(config); + * const command = new TagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link TagResourceCommandInput} for command's `input` shape. + * @see {@link TagResourceCommandOutput} for command's `response` shape. + * @see {@link ApplicationAutoScalingClientResolvedConfig | config} for ApplicationAutoScalingClient's `config` shape. + * + * @throws {@link ResourceNotFoundException} (client fault) + *The specified resource doesn't exist.
+ * + * @throws {@link TooManyTagsException} (client fault) + *The request contains too many tags. Try the request again with fewer tags.
+ * + * @throws {@link ValidationException} (client fault) + *An exception was thrown for a validation issue. Review the available parameters for the + * API request.
+ * + * + */ +export class TagResourceCommand extends $Command< + TagResourceCommandInput, + TagResourceCommandOutput, + ApplicationAutoScalingClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + constructor(readonly input: TagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackDeletes tags from an Application Auto Scaling scalable target. To delete a tag, specify the tag key and + * the Application Auto Scaling scalable target.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ApplicationAutoScalingClient, UntagResourceCommand } from "@aws-sdk/client-application-auto-scaling"; // ES Modules import + * // const { ApplicationAutoScalingClient, UntagResourceCommand } = require("@aws-sdk/client-application-auto-scaling"); // CommonJS import + * const client = new ApplicationAutoScalingClient(config); + * const command = new UntagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UntagResourceCommandInput} for command's `input` shape. + * @see {@link UntagResourceCommandOutput} for command's `response` shape. + * @see {@link ApplicationAutoScalingClientResolvedConfig | config} for ApplicationAutoScalingClient's `config` shape. + * + * @throws {@link ResourceNotFoundException} (client fault) + *The specified resource doesn't exist.
+ * + * @throws {@link ValidationException} (client fault) + *An exception was thrown for a validation issue. Review the available parameters for the + * API request.
+ * + * + */ +export class UntagResourceCommand extends $Command< + UntagResourceCommandInput, + UntagResourceCommandOutput, + ApplicationAutoScalingClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + constructor(readonly input: UntagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackThe ARN of the scalable target.
+ */ + ScalableTargetARN?: string; } export interface DescribeScalableTargetsResponse { @@ -1782,12 +1787,14 @@ export enum MetricAggregationType { * 50: *To trigger the adjustment when the metric is greater than or equal to 50 and less - * than 60, specify a lower bound of 0 and an upper bound of 10.
+ *To initiate the adjustment when the metric is greater than or equal to 50 and less
+ * than 60, specify a lower bound of 0
and an upper bound of
+ * 10
.
To trigger the adjustment when the metric is greater than 40 and less than or - * equal to 50, specify a lower bound of -10 and an upper bound of 0.
+ *To initiate the adjustment when the metric is greater than 40 and less than or
+ * equal to 50, specify a lower bound of -10
and an upper bound of
+ * 0
.
There are a few rules for the step adjustments for your step policy:
@@ -1814,7 +1821,7 @@ export interface StepAdjustment { /** *The lower bound for the difference between the alarm threshold and the CloudWatch metric. If * the metric value is above the breach threshold, the lower bound is inclusive (the metric - * must be greater than or equal to the threshold plus the lower bound). Otherwise, it is + * must be greater than or equal to the threshold plus the lower bound). Otherwise, it's * exclusive (the metric must be greater than the threshold plus the lower bound). A null * value indicates negative infinity.
*/ @@ -1823,7 +1830,7 @@ export interface StepAdjustment { /** *The upper bound for the difference between the alarm threshold and the CloudWatch metric. If * the metric value is above the breach threshold, the upper bound is exclusive (the metric - * must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the + * must be less than the threshold plus the upper bound). Otherwise, it's inclusive (the * metric must be less than or equal to the threshold plus the upper bound). A null value * indicates positive infinity.
*The upper bound must be greater than the lower bound.
@@ -2020,8 +2027,7 @@ export interface TargetTrackingMetricStat { /** *The statistic to return. It can include any CloudWatch statistic or extended statistic. For a * list of valid values, see the table in Statistics in the Amazon CloudWatch User Guide.
- *The most commonly used metrics for scaling is Average
- *
The most commonly used metric for scaling is Average
.
The name of the metric. To get the exact metric name, namespace, and dimensions, inspect - * the Metric object that is returned by a call to ListMetrics.
+ * the Metric object that's returned by a call to ListMetrics. */ MetricName?: string; @@ -3086,6 +3092,50 @@ export interface DescribeScheduledActionsResponse { NextToken?: string; } +export interface ListTagsForResourceRequest { + /** + *Specify the ARN of the scalable target.
+ *For example:
+ * arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123
+ *
To get the ARN for a scalable target, use DescribeScalableTargets.
+ */ + ResourceARN: string | undefined; +} + +export interface ListTagsForResourceResponse { + /** + *A list of tags. Each tag consists of a tag key and a tag value.
+ */ + Tags?: RecordThe specified resource doesn't exist.
+ */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + Message?: string; + /** + *The name of the Application Auto Scaling resource. This value is an Amazon Resource Name (ARN).
+ */ + ResourceName?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeA per-account resource limit is exceeded. For more information, see Application Auto Scaling service quotas.
*/ @@ -3755,7 +3805,7 @@ export interface RegisterScalableTargetRequest { *The maximum value that you plan to scale out to. When a scaling policy is in effect, * Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to * changing demand. This property is required when registering a new scalable target.
- *Although you can specify a large maximum capacity, note that service quotas may impose + *
Although you can specify a large maximum capacity, note that service quotas might impose * lower limits. Each service has its own default quotas for the maximum capacity of the * resource. If you want to specify a higher limit, you can request an increase. For more * information, consult the documentation for that service. For information about the default @@ -3799,9 +3849,95 @@ export interface RegisterScalableTargetRequest { * Guide.
*/ SuspendedState?: SuspendedState; + + /** + *Assigns one or more tags to the scalable target. Use this parameter to tag the scalable + * target when it is created. To tag an existing scalable target, use the TagResource operation.
+ *Each tag consists of a tag key and a tag value. Both the tag key and the tag value are + * required. You cannot have more than one tag on a scalable target with the same tag + * key.
+ *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.
+ */ + Tags?: RecordThe ARN of the scalable target.
+ */ + ScalableTargetARN?: string; } -export interface RegisterScalableTargetResponse {} +export interface TagResourceRequest { + /** + *Identifies the Application Auto Scaling scalable target that you want to apply tags to.
+ *For example:
+ * arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123
+ *
To get the ARN for a scalable target, use DescribeScalableTargets.
+ */ + ResourceARN: string | undefined; + + /** + *The tags assigned to the resource. A tag is a label that you assign to an AWS + * resource.
+ *Each tag consists of a tag key and a tag value.
+ *You cannot have more than one tag on an Application Auto Scaling scalable target with the same tag key. + * If you specify an existing tag key with a different tag value, Application Auto Scaling replaces the + * current tag value with the specified one.
+ *For information about the rules that apply to tag keys and tag values, see User-defined tag + * restrictions in the Amazon Web Services Billing and Cost Management User + * Guide.
+ */ + Tags: RecordThe request contains too many tags. Try the request again with fewer tags.
+ */ +export class TooManyTagsException extends __BaseException { + readonly name: "TooManyTagsException" = "TooManyTagsException"; + readonly $fault: "client" = "client"; + Message?: string; + /** + *The name of the Application Auto Scaling resource. This value is an Amazon Resource Name (ARN).
+ */ + ResourceName?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeIdentifies the Application Auto Scaling scalable target from which to remove tags.
+ *For example:
+ * arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123
+ *
To get the ARN for a scalable target, use DescribeScalableTargets.
+ */ + ResourceARN: string | undefined; + + /** + *One or more tag keys. Specify only the tag keys, not the tag values.
+ */ + TagKeys: string[] | undefined; +} + +export interface UntagResourceResponse {} /** * @internal @@ -4029,6 +4165,20 @@ export const DescribeScheduledActionsResponseFilterSensitiveLog = (obj: Describe ...obj, }); +/** + * @internal + */ +export const ListTagsForResourceRequestFilterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const ListTagsForResourceResponseFilterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, +}); + /** * @internal */ @@ -4070,3 +4220,31 @@ export const RegisterScalableTargetRequestFilterSensitiveLog = (obj: RegisterSca export const RegisterScalableTargetResponseFilterSensitiveLog = (obj: RegisterScalableTargetResponse): any => ({ ...obj, }); + +/** + * @internal + */ +export const TagResourceRequestFilterSensitiveLog = (obj: TagResourceRequest): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const TagResourceResponseFilterSensitiveLog = (obj: TagResourceResponse): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const UntagResourceRequestFilterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const UntagResourceResponseFilterSensitiveLog = (obj: UntagResourceResponse): any => ({ + ...obj, +}); diff --git a/clients/client-application-auto-scaling/src/protocols/Aws_json1_1.ts b/clients/client-application-auto-scaling/src/protocols/Aws_json1_1.ts index 58280511696ea..6bbfdddfd6516 100644 --- a/clients/client-application-auto-scaling/src/protocols/Aws_json1_1.ts +++ b/clients/client-application-auto-scaling/src/protocols/Aws_json1_1.ts @@ -47,12 +47,18 @@ import { DescribeScheduledActionsCommandInput, DescribeScheduledActionsCommandOutput, } from "../commands/DescribeScheduledActionsCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; import { PutScalingPolicyCommandInput, PutScalingPolicyCommandOutput } from "../commands/PutScalingPolicyCommand"; import { PutScheduledActionCommandInput, PutScheduledActionCommandOutput } from "../commands/PutScheduledActionCommand"; import { RegisterScalableTargetCommandInput, RegisterScalableTargetCommandOutput, } from "../commands/RegisterScalableTargetCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { ApplicationAutoScalingServiceException as __BaseException } from "../models/ApplicationAutoScalingServiceException"; import { Alarm, @@ -76,6 +82,8 @@ import { InternalServiceException, InvalidNextTokenException, LimitExceededException, + ListTagsForResourceRequest, + ListTagsForResourceResponse, MetricDimension, NotScaledReason, ObjectNotFoundException, @@ -86,6 +94,7 @@ import { PutScheduledActionResponse, RegisterScalableTargetRequest, RegisterScalableTargetResponse, + ResourceNotFoundException, ScalableTarget, ScalableTargetAction, ScalingActivity, @@ -94,11 +103,16 @@ import { StepAdjustment, StepScalingPolicyConfiguration, SuspendedState, + TagResourceRequest, + TagResourceResponse, TargetTrackingMetric, TargetTrackingMetricDataQuery, TargetTrackingMetricDimension, TargetTrackingMetricStat, TargetTrackingScalingPolicyConfiguration, + TooManyTagsException, + UntagResourceRequest, + UntagResourceResponse, ValidationException, } from "../models/models_0"; @@ -193,6 +207,19 @@ export const serializeAws_json1_1DescribeScheduledActionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AnyScaleFrontendService.ListTagsForResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListTagsForResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1PutScalingPolicyCommand = async ( input: PutScalingPolicyCommandInput, context: __SerdeContext @@ -232,6 +259,32 @@ export const serializeAws_json1_1RegisterScalableTargetCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AnyScaleFrontendService.TagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1TagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "AnyScaleFrontendService.UntagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UntagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const deserializeAws_json1_1DeleteScalingPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -585,6 +638,47 @@ const deserializeAws_json1_1DescribeScheduledActionsCommandError = async ( } }; +export const deserializeAws_json1_1ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): PromiseThe name of the metric. To get the exact metric name, namespace, and dimensions, inspect\n the Metric object that is returned by a call to ListMetrics.
" + "smithy.api#documentation": "The name of the metric. To get the exact metric name, namespace, and dimensions, inspect\n the Metric object that's returned by a call to ListMetrics.
" } }, "Namespace": { @@ -1750,6 +1769,9 @@ "com.amazonaws.applicationautoscaling#ErrorMessage": { "type": "string" }, + "com.amazonaws.applicationautoscaling#ExceptionMessage": { + "type": "string" + }, "com.amazonaws.applicationautoscaling#Expression": { "type": "string", "traits": { @@ -1841,6 +1863,52 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.applicationautoscaling#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.applicationautoscaling#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.applicationautoscaling#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.applicationautoscaling#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "Returns all the tags on the specified Application Auto Scaling scalable target.
\nFor general information about tags, including the format and syntax, see Tagging Amazon Web Services\n resources in the Amazon Web Services General Reference.
" + } + }, + "com.amazonaws.applicationautoscaling#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.applicationautoscaling#AmazonResourceName", + "traits": { + "smithy.api#documentation": "Specify the ARN of the scalable target.
\nFor example:\n arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123
\n
To get the ARN for a scalable target, use DescribeScalableTargets.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.applicationautoscaling#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.applicationautoscaling#TagMap", + "traits": { + "smithy.api#documentation": "A list of tags. Each tag consists of a tag key and a tag value.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.applicationautoscaling#MaxResults": { "type": "integer" }, @@ -2215,7 +2283,7 @@ } ], "traits": { - "smithy.api#documentation": "Creates or updates a scaling policy for an Application Auto Scaling scalable target.
\nEach scalable target is identified by a service namespace, resource ID, and scalable\n dimension. A scaling policy applies to the scalable target identified by those three\n attributes. You cannot create a scaling policy until you have registered the resource as a\n scalable target.
\nMultiple scaling policies can be in force at the same time for the same scalable target.\n You can have one or more target tracking scaling policies, one or more step scaling\n policies, or both. However, there is a chance that multiple policies could conflict,\n instructing the scalable target to scale out or in at the same time. Application Auto Scaling gives\n precedence to the policy that provides the largest capacity for both scale out and scale\n in. For example, if one policy increases capacity by 3, another policy increases capacity\n by 200 percent, and the current capacity is 10, Application Auto Scaling uses the policy with the highest\n calculated capacity (200% of 10 = 20) and scales out to 30.
\nWe recommend caution, however, when using target tracking scaling policies with step\n scaling policies because conflicts between these policies can cause undesirable behavior.\n For example, if the step scaling policy initiates a scale-in activity before the target\n tracking policy is ready to scale in, the scale-in activity will not be blocked. After the\n scale-in activity completes, the target tracking policy could instruct the scalable target\n to scale out again.
\nFor more information, see Target tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.
\nIf a scalable target is deregistered, the scalable target is no longer available to\n execute scaling policies. Any scaling policies that were specified for the scalable\n target are deleted.
\nCreates or updates a scaling policy for an Application Auto Scaling scalable target.
\nEach scalable target is identified by a service namespace, resource ID, and scalable\n dimension. A scaling policy applies to the scalable target identified by those three\n attributes. You cannot create a scaling policy until you have registered the resource as a\n scalable target.
\nMultiple scaling policies can be in force at the same time for the same scalable target.\n You can have one or more target tracking scaling policies, one or more step scaling\n policies, or both. However, there is a chance that multiple policies could conflict,\n instructing the scalable target to scale out or in at the same time. Application Auto Scaling gives\n precedence to the policy that provides the largest capacity for both scale out and scale\n in. For example, if one policy increases capacity by 3, another policy increases capacity\n by 200 percent, and the current capacity is 10, Application Auto Scaling uses the policy with the highest\n calculated capacity (200% of 10 = 20) and scales out to 30.
\nWe recommend caution, however, when using target tracking scaling policies with step\n scaling policies because conflicts between these policies can cause undesirable behavior.\n For example, if the step scaling policy initiates a scale-in activity before the target\n tracking policy is ready to scale in, the scale-in activity will not be blocked. After the\n scale-in activity completes, the target tracking policy could instruct the scalable target\n to scale out again.
\nFor more information, see Target tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.
\nIf a scalable target is deregistered, the scalable target is no longer available to\n use scaling policies. Any scaling policies that were specified for the scalable target\n are deleted.
\nCreates or updates a scheduled action for an Application Auto Scaling scalable target.
\nEach scalable target is identified by a service namespace, resource ID, and scalable\n dimension. A scheduled action applies to the scalable target identified by those three\n attributes. You cannot create a scheduled action until you have registered the resource as\n a scalable target.
\nWhen start and end times are specified with a recurring schedule using a cron expression\n or rates, they form the boundaries for when the recurring action starts and stops.
\nTo update a scheduled action, specify the parameters that you want to change. If you\n don't specify start and end times, the old values are deleted.
\nFor more information, see Scheduled scaling in the Application Auto Scaling User Guide.
\nIf a scalable target is deregistered, the scalable target is no longer available to\n run scheduled actions. Any scheduled actions that were specified for the scalable target\n are deleted.
\nCreates or updates a scheduled action for an Application Auto Scaling scalable target.
\nEach scalable target is identified by a service namespace, resource ID, and scalable\n dimension. A scheduled action applies to the scalable target identified by those three\n attributes. You cannot create a scheduled action until you have registered the resource as\n a scalable target.
\nWhen you specify start and end times with a recurring schedule using a cron expression\n or rates, they form the boundaries for when the recurring action starts and stops.
\nTo update a scheduled action, specify the parameters that you want to change. If you\n don't specify start and end times, the old values are deleted.
\nFor more information, see Scheduled scaling in the Application Auto Scaling User Guide.
\nIf a scalable target is deregistered, the scalable target is no longer available to\n run scheduled actions. Any scheduled actions that were specified for the scalable target\n are deleted.
\nRegisters or updates a scalable target, the resource that you want to scale.
\nScalable targets are uniquely identified by the combination of resource ID, scalable\n dimension, and namespace, which represents some capacity dimension of the underlying\n service.
\nWhen you register a new scalable target, you must specify values for the minimum and\n maximum capacity. If the specified resource is not active in the target service, this\n operation does not change the resource's current capacity. Otherwise, it changes the\n resource's current capacity to a value that is inside of this range.
\nIf you choose to add a scaling policy, current capacity is adjustable within the\n specified range when scaling starts. Application Auto Scaling scaling policies will not scale capacity to\n values that are outside of the minimum and maximum range.
\nAfter you register a scalable target, you do not need to register it again to use other\n Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service\n namespace by using DescribeScalableTargets. If you no longer need a scalable target, you can\n deregister it by using DeregisterScalableTarget.
\nTo update a scalable target, specify the parameters that you want to change. Include the\n parameters that identify the scalable target: resource ID, scalable dimension, and\n namespace. Any parameters that you don't specify are not changed by this update request.
\nIf you call the RegisterScalableTarget
API to update an existing\n scalable target, Application Auto Scaling retrieves the current capacity of the resource. If it is below\n the minimum capacity or above the maximum capacity, Application Auto Scaling adjusts the capacity of the\n scalable target to place it within these bounds, even if you don't include the\n MinCapacity
or MaxCapacity
request parameters.
Registers or updates a scalable target, which is the resource that you want to\n scale.
\nScalable targets are uniquely identified by the combination of resource ID, scalable\n dimension, and namespace, which represents some capacity dimension of the underlying\n service.
\nWhen you register a new scalable target, you must specify values for the minimum and\n maximum capacity. If the specified resource is not active in the target service, this\n operation does not change the resource's current capacity. Otherwise, it changes the\n resource's current capacity to a value that is inside of this range.
\nIf you add a scaling policy, current capacity is adjustable within the specified range\n when scaling starts. Application Auto Scaling scaling policies will not scale capacity to values that are\n outside of the minimum and maximum range.
\nAfter you register a scalable target, you do not need to register it again to use other\n Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service\n namespace by using DescribeScalableTargets. If you no longer need a scalable target, you can\n deregister it by using DeregisterScalableTarget.
\nTo update a scalable target, specify the parameters that you want to change. Include the\n parameters that identify the scalable target: resource ID, scalable dimension, and\n namespace. Any parameters that you don't specify are not changed by this update request.
\nIf you call the RegisterScalableTarget
API operation to create a\n scalable target, there might be a brief delay until the operation achieves eventual\n consistency. You might become aware of this brief delay if you get unexpected\n errors when performing sequential operations. The typical strategy is to retry the\n request, and some Amazon Web Services SDKs include automatic backoff and retry logic.
If you call the RegisterScalableTarget
API operation to update an\n existing scalable target, Application Auto Scaling retrieves the current capacity of the resource. If\n it's below the minimum capacity or above the maximum capacity, Application Auto Scaling adjusts the\n capacity of the scalable target to place it within these bounds, even if you don't\n include the MinCapacity
or MaxCapacity
request\n parameters.
The maximum value that you plan to scale out to. When a scaling policy is in effect,\n Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to\n changing demand. This property is required when registering a new scalable target.
\nAlthough you can specify a large maximum capacity, note that service quotas may impose\n lower limits. Each service has its own default quotas for the maximum capacity of the\n resource. If you want to specify a higher limit, you can request an increase. For more\n information, consult the documentation for that service. For information about the default\n quotas for each service, see Service endpoints and\n quotas in the Amazon Web Services General Reference.
" + "smithy.api#documentation": "The maximum value that you plan to scale out to. When a scaling policy is in effect,\n Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to\n changing demand. This property is required when registering a new scalable target.
\nAlthough you can specify a large maximum capacity, note that service quotas might impose\n lower limits. Each service has its own default quotas for the maximum capacity of the\n resource. If you want to specify a higher limit, you can request an increase. For more\n information, consult the documentation for that service. For information about the default\n quotas for each service, see Service endpoints and\n quotas in the Amazon Web Services General Reference.
" } }, "RoleARN": { @@ -2468,6 +2536,12 @@ "traits": { "smithy.api#documentation": "An embedded object that contains attributes and attribute values that are used to\n suspend and resume automatic scaling. Setting the value of an attribute to\n true
suspends the specified scaling activities. Setting it to\n false
(default) resumes the specified scaling activities.
\n Suspension Outcomes\n
\nFor DynamicScalingInSuspended
, while a suspension is in effect, all\n scale-in activities that are triggered by a scaling policy are suspended.
For DynamicScalingOutSuspended
, while a suspension is in effect, all\n scale-out activities that are triggered by a scaling policy are suspended.
For ScheduledScalingSuspended
, while a suspension is in effect, all\n scaling activities that involve scheduled actions are suspended.
For more information, see Suspending and resuming scaling in the Application Auto Scaling User\n Guide.
" } + }, + "Tags": { + "target": "com.amazonaws.applicationautoscaling#TagMap", + "traits": { + "smithy.api#documentation": "Assigns one or more tags to the scalable target. Use this parameter to tag the scalable\n target when it is created. To tag an existing scalable target, use the TagResource operation.
\nEach tag consists of a tag key and a tag value. Both the tag key and the tag value are\n required. You cannot have more than one tag on a scalable target with the same tag\n key.
\nUse tags to control access to a scalable target. For more information, see Tagging support\n for Application Auto Scaling in the Application Auto Scaling User Guide.
" + } } }, "traits": { @@ -2476,7 +2550,14 @@ }, "com.amazonaws.applicationautoscaling#RegisterScalableTargetResponse": { "type": "structure", - "members": {}, + "members": { + "ScalableTargetARN": { + "target": "com.amazonaws.applicationautoscaling#XmlString", + "traits": { + "smithy.api#documentation": "The ARN of the scalable target.
" + } + } + }, "traits": { "smithy.api#output": {} } @@ -2521,6 +2602,25 @@ } } }, + "com.amazonaws.applicationautoscaling#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.applicationautoscaling#ExceptionMessage" + }, + "ResourceName": { + "target": "com.amazonaws.applicationautoscaling#AmazonResourceName", + "traits": { + "smithy.api#documentation": "The name of the Application Auto Scaling resource. This value is an Amazon Resource Name (ARN).
" + } + } + }, + "traits": { + "smithy.api#documentation": "The specified resource doesn't exist.
", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, "com.amazonaws.applicationautoscaling#ReturnData": { "type": "boolean" }, @@ -2706,6 +2806,12 @@ "traits": { "smithy.api#documentation": "Specifies whether the scaling activities for a scalable target are in a suspended\n state.
" } + }, + "ScalableTargetARN": { + "target": "com.amazonaws.applicationautoscaling#XmlString", + "traits": { + "smithy.api#documentation": "The ARN of the scalable target.
" + } } }, "traits": { @@ -3151,13 +3257,13 @@ "MetricIntervalLowerBound": { "target": "com.amazonaws.applicationautoscaling#MetricScale", "traits": { - "smithy.api#documentation": "The lower bound for the difference between the alarm threshold and the CloudWatch metric. If\n the metric value is above the breach threshold, the lower bound is inclusive (the metric\n must be greater than or equal to the threshold plus the lower bound). Otherwise, it is\n exclusive (the metric must be greater than the threshold plus the lower bound). A null\n value indicates negative infinity.
" + "smithy.api#documentation": "The lower bound for the difference between the alarm threshold and the CloudWatch metric. If\n the metric value is above the breach threshold, the lower bound is inclusive (the metric\n must be greater than or equal to the threshold plus the lower bound). Otherwise, it's\n exclusive (the metric must be greater than the threshold plus the lower bound). A null\n value indicates negative infinity.
" } }, "MetricIntervalUpperBound": { "target": "com.amazonaws.applicationautoscaling#MetricScale", "traits": { - "smithy.api#documentation": "The upper bound for the difference between the alarm threshold and the CloudWatch metric. If\n the metric value is above the breach threshold, the upper bound is exclusive (the metric\n must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the\n metric must be less than or equal to the threshold plus the upper bound). A null value\n indicates positive infinity.
\nThe upper bound must be greater than the lower bound.
" + "smithy.api#documentation": "The upper bound for the difference between the alarm threshold and the CloudWatch metric. If\n the metric value is above the breach threshold, the upper bound is exclusive (the metric\n must be less than the threshold plus the upper bound). Otherwise, it's inclusive (the\n metric must be less than or equal to the threshold plus the upper bound). A null value\n indicates positive infinity.
\nThe upper bound must be greater than the lower bound.
" } }, "ScalingAdjustment": { @@ -3169,7 +3275,7 @@ } }, "traits": { - "smithy.api#documentation": "Represents a step adjustment for a StepScalingPolicyConfiguration. Describes an adjustment based on the difference\n between the value of the aggregated CloudWatch metric and the breach threshold that you've\n defined for the alarm.
\nFor the following examples, suppose that you have an alarm with a breach threshold of\n 50:
\nTo trigger the adjustment when the metric is greater than or equal to 50 and less\n than 60, specify a lower bound of 0 and an upper bound of 10.
\nTo trigger the adjustment when the metric is greater than 40 and less than or\n equal to 50, specify a lower bound of -10 and an upper bound of 0.
\nThere are a few rules for the step adjustments for your step policy:
\nThe ranges of your step adjustments can't overlap or have a gap.
\nAt most one step adjustment can have a null lower bound. If one step adjustment\n has a negative lower bound, then there must be a step adjustment with a null lower\n bound.
\nAt most one step adjustment can have a null upper bound. If one step adjustment\n has a positive upper bound, then there must be a step adjustment with a null upper\n bound.
\nThe upper and lower bound can't be null in the same step adjustment.
\nRepresents a step adjustment for a StepScalingPolicyConfiguration. Describes an adjustment based on the difference\n between the value of the aggregated CloudWatch metric and the breach threshold that you've\n defined for the alarm.
\nFor the following examples, suppose that you have an alarm with a breach threshold of\n 50:
\nTo initiate the adjustment when the metric is greater than or equal to 50 and less\n than 60, specify a lower bound of 0
and an upper bound of\n 10
.
To initiate the adjustment when the metric is greater than 40 and less than or\n equal to 50, specify a lower bound of -10
and an upper bound of\n 0
.
There are a few rules for the step adjustments for your step policy:
\nThe ranges of your step adjustments can't overlap or have a gap.
\nAt most one step adjustment can have a null lower bound. If one step adjustment\n has a negative lower bound, then there must be a step adjustment with a null lower\n bound.
\nAt most one step adjustment can have a null upper bound. If one step adjustment\n has a positive upper bound, then there must be a step adjustment with a null upper\n bound.
\nThe upper and lower bound can't be null in the same step adjustment.
\nSpecifies whether the scaling activities for a scalable target are in a suspended state.\n
" } }, + "com.amazonaws.applicationautoscaling#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.applicationautoscaling#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.applicationautoscaling#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.applicationautoscaling#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.applicationautoscaling#TagKey" + }, + "value": { + "target": "com.amazonaws.applicationautoscaling#TagValue" + } + }, + "com.amazonaws.applicationautoscaling#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.applicationautoscaling#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.applicationautoscaling#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.applicationautoscaling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.applicationautoscaling#TooManyTagsException" + }, + { + "target": "com.amazonaws.applicationautoscaling#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Adds or edits tags on an Application Auto Scaling scalable target.
\nEach tag consists of a tag key and a tag value, which are both case-sensitive strings.\n To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag\n key and a new tag value.
\nYou can use this operation to tag an Application Auto Scaling scalable target, but you cannot tag a\n scaling policy or scheduled action.
\nYou can also add tags to an Application Auto Scaling scalable target while creating it\n (RegisterScalableTarget
).
For general information about tags, including the format and syntax, see Tagging Amazon Web Services\n resources in the Amazon Web Services General Reference.
\nUse tags to control access to a scalable target. For more information, see Tagging support\n for Application Auto Scaling in the Application Auto Scaling User Guide.
" + } + }, + "com.amazonaws.applicationautoscaling#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.applicationautoscaling#AmazonResourceName", + "traits": { + "smithy.api#documentation": "Identifies the Application Auto Scaling scalable target that you want to apply tags to.
\nFor example:\n arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123
\n
To get the ARN for a scalable target, use DescribeScalableTargets.
", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.applicationautoscaling#TagMap", + "traits": { + "smithy.api#documentation": "The tags assigned to the resource. A tag is a label that you assign to an AWS\n resource.
\nEach tag consists of a tag key and a tag value.
\nYou cannot have more than one tag on an Application Auto Scaling scalable target with the same tag key.\n If you specify an existing tag key with a different tag value, Application Auto Scaling replaces the\n current tag value with the specified one.
\nFor information about the rules that apply to tag keys and tag values, see User-defined tag\n restrictions in the Amazon Web Services Billing and Cost Management User\n Guide.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.applicationautoscaling#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.applicationautoscaling#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, "com.amazonaws.applicationautoscaling#TargetTrackingMetric": { "type": "structure", "members": { @@ -3394,7 +3591,7 @@ "Stat": { "target": "com.amazonaws.applicationautoscaling#XmlString", "traits": { - "smithy.api#documentation": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a\n list of valid values, see the table in Statistics in the Amazon CloudWatch User Guide.
\nThe most commonly used metrics for scaling is Average
\n
The statistic to return. It can include any CloudWatch statistic or extended statistic. For a\n list of valid values, see the table in Statistics in the Amazon CloudWatch User Guide.
\nThe most commonly used metric for scaling is Average
.
The name of the Application Auto Scaling resource. This value is an Amazon Resource Name (ARN).
" + } + } + }, + "traits": { + "smithy.api#documentation": "The request contains too many tags. Try the request again with fewer tags.
", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.applicationautoscaling#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.applicationautoscaling#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.applicationautoscaling#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.applicationautoscaling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.applicationautoscaling#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Deletes tags from an Application Auto Scaling scalable target. To delete a tag, specify the tag key and\n the Application Auto Scaling scalable target.
" + } + }, + "com.amazonaws.applicationautoscaling#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.applicationautoscaling#AmazonResourceName", + "traits": { + "smithy.api#documentation": "Identifies the Application Auto Scaling scalable target from which to remove tags.
\nFor example:\n arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123
\n
To get the ARN for a scalable target, use DescribeScalableTargets.
", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.applicationautoscaling#TagKeyList", + "traits": { + "smithy.api#documentation": "One or more tag keys. Specify only the tag keys, not the tag values.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.applicationautoscaling#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.applicationautoscaling#ValidationException": { "type": "structure", "members": {