Class: AWSCDK::ApplicationAutoScaling::CfnScalableTargetProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ApplicationAutoScaling::CfnScalableTargetProps
- Defined in:
- application_auto_scaling/cfn_scalable_target_props.rb
Overview
Properties for defining a CfnScalableTarget.
Instance Attribute Summary collapse
-
#max_capacity ⇒ Numeric
readonly
The maximum value that you plan to scale out to.
-
#min_capacity ⇒ Numeric
readonly
The minimum value that you plan to scale in to.
-
#resource_id ⇒ String, AWSCDK::Interfaces::AWSMSK::IClusterRef
readonly
The identifier of the resource associated with the scalable target.
-
#role_arn ⇒ String, ...
readonly
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 your behalf.
-
#scalable_dimension ⇒ String
readonly
The scalable dimension associated with the scalable target.
-
#scheduled_actions ⇒ AWSCDK::IResolvable, ...
readonly
The scheduled actions for the scalable target.
-
#service_namespace ⇒ String
readonly
The namespace of the AWS service that provides the resource, or a
custom-resource. -
#suspended_state ⇒ AWSCDK::IResolvable, ...
readonly
An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(max_capacity:, min_capacity:, resource_id:, scalable_dimension:, service_namespace:, role_arn: nil, scheduled_actions: nil, suspended_state: nil) ⇒ CfnScalableTargetProps
constructor
A new instance of CfnScalableTargetProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(max_capacity:, min_capacity:, resource_id:, scalable_dimension:, service_namespace:, role_arn: nil, scheduled_actions: nil, suspended_state: nil) ⇒ CfnScalableTargetProps
Returns a new instance of CfnScalableTargetProps.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 17 def initialize(max_capacity:, min_capacity:, resource_id:, scalable_dimension:, service_namespace:, role_arn: nil, scheduled_actions: nil, suspended_state: nil) @max_capacity = max_capacity Jsii::Type.check_type(@max_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxCapacity") @min_capacity = min_capacity Jsii::Type.check_type(@min_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minCapacity") @resource_id = resource_id Jsii::Type.check_type(@resource_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19tc2suSUNsdXN0ZXJSZWYifV19fQ==")), "resourceId") @scalable_dimension = scalable_dimension Jsii::Type.check_type(@scalable_dimension, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scalableDimension") @service_namespace = service_namespace Jsii::Type.check_type(@service_namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceNamespace") @role_arn = role_arn Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn") unless @role_arn.nil? @scheduled_actions = scheduled_actions Jsii::Type.check_type(@scheduled_actions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbGljYXRpb25hdXRvc2NhbGluZy5DZm5TY2FsYWJsZVRhcmdldC5TY2hlZHVsZWRBY3Rpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "scheduledActions") unless @scheduled_actions.nil? @suspended_state = suspended_state.is_a?(Hash) ? ::AWSCDK::ApplicationAutoScaling::CfnScalableTarget::SuspendedStateProperty.new(**suspended_state.transform_keys(&:to_sym)) : suspended_state Jsii::Type.check_type(@suspended_state, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBsaWNhdGlvbmF1dG9zY2FsaW5nLkNmblNjYWxhYmxlVGFyZ2V0LlN1c3BlbmRlZFN0YXRlUHJvcGVydHkifV19fQ==")), "suspendedState") unless @suspended_state.nil? end |
Instance Attribute Details
#max_capacity ⇒ Numeric (readonly)
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.
42 43 44 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 42 def max_capacity @max_capacity end |
#min_capacity ⇒ Numeric (readonly)
The minimum value that you plan to scale in to.
When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand.
49 50 51 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 49 def min_capacity @min_capacity end |
#resource_id ⇒ String, AWSCDK::Interfaces::AWSMSK::IClusterRef (readonly)
The identifier of the resource associated with the scalable target.
This string consists of the resource type and unique identifier.
- ECS service - The resource type is
serviceand the unique identifier is the cluster name and service name. Example:service/my-cluster/my-service. - Spot Fleet - The resource type is
spot-fleet-requestand the unique identifier is the Spot Fleet request ID. Example:spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. - EMR cluster - The resource type is
instancegroupand the unique identifier is the cluster ID and instance group ID. Example:instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. - AppStream 2.0 fleet - The resource type is
fleetand the unique identifier is the fleet name. Example:fleet/sample-fleet. - DynamoDB table - The resource type is
tableand the unique identifier is the table name. Example:table/my-table. - DynamoDB global secondary index - The resource type is
indexand the unique identifier is the index name. Example:table/my-table/index/my-table-index. - Aurora DB cluster - The resource type is
clusterand the unique identifier is the cluster name. Example:cluster:my-db-cluster. - SageMaker endpoint variant - The resource type is
variantand the unique identifier is the resource ID. Example:endpoint/my-end-point/variant/KMeansClustering. - Custom resources are not supported with a resource type. This parameter must specify the
OutputValuefrom the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository . - Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example:
arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. - Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example:
arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. - Lambda provisioned concurrency - The resource type is
functionand the unique identifier is the function name with a function version or alias name suffix that is not$LATEST. Example:function:my-function:prodorfunction:my-function:1. - Amazon Keyspaces table - The resource type is
tableand the unique identifier is the table name. Example:keyspace/mykeyspace/table/mytable. - Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. Example:
arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. - Amazon ElastiCache replication group - The resource type is
replication-groupand the unique identifier is the replication group name. Example:replication-group/mycluster. - Amazon ElastiCache cache cluster - The resource type is
cache-clusterand the unique identifier is the cache cluster name. Example:cache-cluster/mycluster. - Neptune cluster - The resource type is
clusterand the unique identifier is the cluster name. Example:cluster:mycluster. - SageMaker serverless endpoint - The resource type is
variantand the unique identifier is the resource ID. Example:endpoint/my-end-point/variant/KMeansClustering. - SageMaker inference component - The resource type is
inference-componentand the unique identifier is the resource ID. Example:inference-component/my-inference-component. - Pool of WorkSpaces - The resource type is
workspacespooland the unique identifier is the pool ID. Example:workspacespool/wspool-123456.
77 78 79 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 77 def resource_id @resource_id end |
#role_arn ⇒ String, ... (readonly)
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 your behalf.
This can be either an IAM service role that Application Auto Scaling can assume to make calls to other AWS resources on your behalf, or a service-linked role for the specified service. For more information, see How Application Auto Scaling works with IAM in the Application Auto Scaling User Guide .
To automatically create a service-linked role (recommended), specify the full ARN of the service-linked role in your stack template. To find the exact ARN of the service-linked role for your AWS or custom resource, see the Service-linked roles topic in the Application Auto Scaling User Guide . Look for the ARN in the table at the bottom of the page.
123 124 125 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 123 def role_arn @role_arn end |
#scalable_dimension ⇒ String (readonly)
The scalable dimension associated with the scalable target.
This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount- The task count of an ECS service.elasticmapreduce:instancegroup:InstanceCount- The instance count of an EMR Instance Group.ec2:spot-fleet-request:TargetCapacity- The target capacity of a Spot Fleet.appstream:fleet:DesiredCapacity- The capacity of an AppStream 2.0 fleet.dynamodb:table:ReadCapacityUnits- The provisioned read capacity for a DynamoDB table.dynamodb:table:WriteCapacityUnits- The provisioned write capacity for a DynamoDB table.dynamodb:index:ReadCapacityUnits- The provisioned read capacity for a DynamoDB global secondary index.dynamodb:index:WriteCapacityUnits- The provisioned write capacity for a DynamoDB global secondary index.rds:cluster:ReadReplicaCount- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.sagemaker:variant:DesiredInstanceCount- The number of EC2 instances for a SageMaker model endpoint variant.custom-resource:ResourceType:Property- The scalable dimension for a custom resource provided by your own application or service.comprehend:document-classifier-endpoint:DesiredInferenceUnits- The number of inference units for an Amazon Comprehend document classification endpoint.comprehend:entity-recognizer-endpoint:DesiredInferenceUnits- The number of inference units for an Amazon Comprehend entity recognizer endpoint.lambda:function:ProvisionedConcurrency- The provisioned concurrency for a Lambda function.cassandra:table:ReadCapacityUnits- The provisioned read capacity for an Amazon Keyspaces table.cassandra:table:WriteCapacityUnits- The provisioned write capacity for an Amazon Keyspaces table.kafka:broker-storage:VolumeSize- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.elasticache:cache-cluster:Nodes- The number of nodes for an Amazon ElastiCache cache cluster.elasticache:replication-group:NodeGroups- The number of node groups for an Amazon ElastiCache replication group.elasticache:replication-group:Replicas- The number of replicas per node group for an Amazon ElastiCache replication group.neptune:cluster:ReadReplicaCount- The count of read replicas in an Amazon Neptune DB cluster.sagemaker:variant:DesiredProvisionedConcurrency- The provisioned concurrency for a SageMaker serverless endpoint.sagemaker:inference-component:DesiredCopyCount- The number of copies across an endpoint for a SageMaker inference component.workspaces:workspacespool:DesiredUserSessions- The number of user sessions for the WorkSpaces in the pool.
109 110 111 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 109 def scalable_dimension @scalable_dimension end |
#scheduled_actions ⇒ AWSCDK::IResolvable, ... (readonly)
The scheduled actions for the scalable target.
Duplicates aren't allowed.
130 131 132 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 130 def scheduled_actions @scheduled_actions end |
#service_namespace ⇒ String (readonly)
The namespace of the AWS service that provides the resource, or a custom-resource .
114 115 116 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 114 def service_namespace @service_namespace end |
#suspended_state ⇒ AWSCDK::IResolvable, ... (readonly)
An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling.
Setting the value of an attribute to true suspends the specified scaling activities. Setting it to false (default) resumes the specified scaling activities.
Suspension Outcomes
- For
DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended. - For
DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended. - For
ScheduledScalingSuspended, while a suspension is in effect, all scaling activities that involve scheduled actions are suspended.
143 144 145 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 143 def suspended_state @suspended_state end |
Class Method Details
.jsii_properties ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 145 def self.jsii_properties { :max_capacity => "maxCapacity", :min_capacity => "minCapacity", :resource_id => "resourceId", :scalable_dimension => "scalableDimension", :service_namespace => "serviceNamespace", :role_arn => "roleArn", :scheduled_actions => "scheduledActions", :suspended_state => "suspendedState", } end |
Instance Method Details
#to_jsii ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
# File 'application_auto_scaling/cfn_scalable_target_props.rb', line 158 def to_jsii result = {} result.merge!({ "maxCapacity" => @max_capacity, "minCapacity" => @min_capacity, "resourceId" => @resource_id, "scalableDimension" => @scalable_dimension, "serviceNamespace" => @service_namespace, "roleArn" => @role_arn, "scheduledActions" => @scheduled_actions, "suspendedState" => @suspended_state, }) result.compact end |