AWS::ApplicationAutoScaling::ScalableTarget¶
The AWS::ApplicationAutoScaling::ScalableTarget resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or...
Generated by cfn-typegen --out cfn_types AWS::ApplicationAutoScaling::ScalableTarget into cfn_types/applicationautoscaling.py:
# Generated by cfn-typegen from the CloudFormation registry schemas. Do not edit.
# fmt: off
# ruff: noqa
"""AWS::ApplicationAutoScaling resources."""
from collections.abc import Sequence
from typing import Any, Literal, NotRequired, Unpack
from typing_extensions import TypedDict
from cfn_typed.base import DeletionPolicy, DependsOn, ResourceAttrs, Tag, UpdateReplacePolicy, build
from cfn_typed.intrinsics import Expr
CONSTRAINTS:dict[str,Any]={
'AWS::ApplicationAutoScaling::ScalableTarget':{'Tags':{'T':{'P':{'Value':{'l':0,'L':256},'Key':{'l':1,'L':128}}}}},
}
ATTRIBUTES:dict[str,Any]={"AWS::ApplicationAutoScaling::ScalableTarget":["Id","ResourceId","ScalableDimension","ServiceNamespace"]}
RULES:dict[str,Any]={}
Nested types (6)
These are defined above the properties in the generated module.
class ScalableTargetScalableTargetAction(TypedDict, closed=True):
'``ScalableTargetAction`` specifies the minimum and maximum capacity for the ``ScalableTargetAction`` property of the [AWS::ApplicationAutoScaling::ScalableTa...'
MinCapacity: NotRequired[Expr[int]]
'The minimum capacity.'
MaxCapacity: NotRequired[Expr[int]]
'The maximum capacity.'
class ScalableTargetScheduledAction(TypedDict, closed=True):
'``ScheduledAction`` is a property of the [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-res...'
Timezone: NotRequired[Expr[str]]
'The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression.'
ScheduledActionName: Expr[str]
'The name of the scheduled action.'
EndTime: NotRequired[Expr[str]]
'The date and time that the action is scheduled to end, in UTC.'
Schedule: Expr[str]
'The schedule for this action.'
StartTime: NotRequired[Expr[str]]
'The date and time that the action is scheduled to begin, in UTC.'
ScalableTargetAction: NotRequired[Expr[ScalableTargetScalableTargetAction]]
'The new minimum and maximum capacity.'
class ScalableTargetSuspendedState(TypedDict, closed=True):
'``SuspendedState`` is a property of the [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-reso...'
DynamicScalingOutSuspended: NotRequired[Expr[bool]]
'Whether scale out by a target tracking scaling policy or a step scaling policy is suspended.'
ScheduledScalingSuspended: NotRequired[Expr[bool]]
'Whether scheduled scaling is suspended.'
DynamicScalingInSuspended: NotRequired[Expr[bool]]
'Whether scale in by a target tracking scaling policy or a step scaling policy is suspended.'
class ScalableTargetProps(TypedDict, closed=True):
'The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or...'
ScheduledActions: NotRequired[Expr[Sequence[Expr[ScalableTargetScheduledAction]]]]
'The scheduled actions for the scalable target.'
ResourceId: Expr[str]
'The identifier of the resource associated with the scalable target.'
ServiceNamespace: Expr[str]
'The namespace of the AWS service that provides the resource, or a ``custom-resource``.'
ScalableDimension: Expr[str]
'The scalable dimension associated with the scalable target.'
SuspendedState: NotRequired[Expr[ScalableTargetSuspendedState]]
'An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling.'
MinCapacity: Expr[int]
'The minimum value that you plan to scale in to.'
RoleARN: NotRequired[Expr[str]]
'Specify the Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that allows Application Auto Scaling to modify the scalable target on ...'
Tags: NotRequired[Expr[Sequence[Expr[Tag]]]]
MaxCapacity: Expr[int]
'The maximum value that you plan to scale out to.'
class ScalableTarget(ResourceAttrs):
'The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or...'
Type: Literal['AWS::ApplicationAutoScaling::ScalableTarget']
Properties: ScalableTargetProps
def scalable_target(
*,
depends_on: DependsOn | None = None,
deletion_policy: DeletionPolicy | None = None,
update_replace_policy: UpdateReplacePolicy | None = None,
condition: str | None = None,
metadata: dict[str, Any] | None = None,
**props: Unpack[ScalableTargetProps],
) -> ScalableTarget:
return build('AWS::ApplicationAutoScaling::ScalableTarget', props, depends_on, deletion_policy, update_replace_policy, condition, metadata)
Attributes¶
Read-only values for get_att(logical_id, attribute). They are not accepted as inputs.
Id