Skip to content

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