/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace ApplicationAutoScaling { namespace Model { /** */ class RegisterScalableTargetRequest : public ApplicationAutoScalingRequest { public: AWS_APPLICATIONAUTOSCALING_API RegisterScalableTargetRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RegisterScalableTarget"; } AWS_APPLICATIONAUTOSCALING_API Aws::String SerializePayload() const override; AWS_APPLICATIONAUTOSCALING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The namespace of the Amazon Web Services service that provides the resource. * For a resource provided by your own application or service, use * custom-resource instead.

*/ inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; } /** *

The namespace of the Amazon Web Services service that provides the resource. * For a resource provided by your own application or service, use * custom-resource instead.

*/ inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; } /** *

The namespace of the Amazon Web Services service that provides the resource. * For a resource provided by your own application or service, use * custom-resource instead.

*/ inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; } /** *

The namespace of the Amazon Web Services service that provides the resource. * For a resource provided by your own application or service, use * custom-resource instead.

*/ inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); } /** *

The namespace of the Amazon Web Services service that provides the resource. * For a resource provided by your own application or service, use * custom-resource instead.

*/ inline RegisterScalableTargetRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;} /** *

The namespace of the Amazon Web Services service that provides the resource. * For a resource provided by your own application or service, use * custom-resource instead.

*/ inline RegisterScalableTargetRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;} /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline RegisterScalableTargetRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline RegisterScalableTargetRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The identifier of the resource that is associated with the scalable target. * This string consists of the resource type and unique identifier.

  • *

    ECS service - The resource type is service and the unique * identifier is the cluster name and service name. Example: * service/default/sample-webapp.

  • Spot Fleet - The * resource type is spot-fleet-request and 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 instancegroup and * 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 fleet and the unique * identifier is the fleet name. Example: fleet/sample-fleet.

    *
  • DynamoDB table - The resource type is table and the * unique identifier is the table name. Example: table/my-table.

    *
  • DynamoDB global secondary index - The resource type is * index and the unique identifier is the index name. Example: * table/my-table/index/my-table-index.

  • Aurora DB * cluster - The resource type is cluster and the unique identifier is * the cluster name. Example: cluster:my-db-cluster.

  • *

    SageMaker endpoint variant - The resource type is variant and * 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 OutputValue from 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 * function and the unique identifier is the function name with a * function version or alias name suffix that is not $LATEST. Example: * function:my-function:prod or * function:my-function:1.

  • Amazon Keyspaces table - * The resource type is table and 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-group and the unique identifier is the replication * group name. Example: replication-group/mycluster.

  • *

    Neptune cluster - The resource type is cluster and the unique * identifier is the cluster name. Example: cluster:mycluster.

    *
  • SageMaker Serverless endpoint - The resource type is * variant and the unique identifier is the resource ID. Example: * endpoint/my-end-point/variant/KMeansClustering.

*/ inline RegisterScalableTargetRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The scalable dimension associated with the scalable target. This string * consists of the service namespace, resource type, and scaling property.

    *
  • ecs:service:DesiredCount - The desired 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 desired 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: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.

*/ inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; } /** *

The scalable dimension associated with the scalable target. This string * consists of the service namespace, resource type, and scaling property.

    *
  • ecs:service:DesiredCount - The desired 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 desired 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: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.

*/ inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; } /** *

The scalable dimension associated with the scalable target. This string * consists of the service namespace, resource type, and scaling property.

    *
  • ecs:service:DesiredCount - The desired 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 desired 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: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.

*/ inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; } /** *

The scalable dimension associated with the scalable target. This string * consists of the service namespace, resource type, and scaling property.

    *
  • ecs:service:DesiredCount - The desired 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 desired 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: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.

*/ inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); } /** *

The scalable dimension associated with the scalable target. This string * consists of the service namespace, resource type, and scaling property.

    *
  • ecs:service:DesiredCount - The desired 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 desired 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: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.

*/ inline RegisterScalableTargetRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;} /** *

The scalable dimension associated with the scalable target. This string * consists of the service namespace, resource type, and scaling property.

    *
  • ecs:service:DesiredCount - The desired 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 desired 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: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.

*/ inline RegisterScalableTargetRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;} /** *

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. This property is required * when registering a new scalable target.

For the following resources, the * minimum value allowed is 0.

  • AppStream 2.0 fleets

  • *

    Aurora DB clusters

  • ECS services

  • EMR * clusters

  • Lambda provisioned concurrency

  • *

    SageMaker endpoint variants

  • SageMaker Serverless endpoint * provisioned concurrency

  • Spot Fleets

  • custom * resources

It's strongly recommended that you specify a value * greater than 0. A value greater than 0 means that data points are continuously * reported to CloudWatch that scaling policies can use to scale on a metric like * average CPU utilization.

For all other resources, the minimum allowed * value depends on the type of resource that you are using. If you provide a value * that is lower than what a resource can accept, an error occurs. In which case, * the error message will provide the minimum value that the resource can * accept.

*/ inline int GetMinCapacity() const{ return m_minCapacity; } /** *

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. This property is required * when registering a new scalable target.

For the following resources, the * minimum value allowed is 0.

  • AppStream 2.0 fleets

  • *

    Aurora DB clusters

  • ECS services

  • EMR * clusters

  • Lambda provisioned concurrency

  • *

    SageMaker endpoint variants

  • SageMaker Serverless endpoint * provisioned concurrency

  • Spot Fleets

  • custom * resources

It's strongly recommended that you specify a value * greater than 0. A value greater than 0 means that data points are continuously * reported to CloudWatch that scaling policies can use to scale on a metric like * average CPU utilization.

For all other resources, the minimum allowed * value depends on the type of resource that you are using. If you provide a value * that is lower than what a resource can accept, an error occurs. In which case, * the error message will provide the minimum value that the resource can * accept.

*/ inline bool MinCapacityHasBeenSet() const { return m_minCapacityHasBeenSet; } /** *

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. This property is required * when registering a new scalable target.

For the following resources, the * minimum value allowed is 0.

  • AppStream 2.0 fleets

  • *

    Aurora DB clusters

  • ECS services

  • EMR * clusters

  • Lambda provisioned concurrency

  • *

    SageMaker endpoint variants

  • SageMaker Serverless endpoint * provisioned concurrency

  • Spot Fleets

  • custom * resources

It's strongly recommended that you specify a value * greater than 0. A value greater than 0 means that data points are continuously * reported to CloudWatch that scaling policies can use to scale on a metric like * average CPU utilization.

For all other resources, the minimum allowed * value depends on the type of resource that you are using. If you provide a value * that is lower than what a resource can accept, an error occurs. In which case, * the error message will provide the minimum value that the resource can * accept.

*/ inline void SetMinCapacity(int value) { m_minCapacityHasBeenSet = true; m_minCapacity = value; } /** *

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. This property is required * when registering a new scalable target.

For the following resources, the * minimum value allowed is 0.

  • AppStream 2.0 fleets

  • *

    Aurora DB clusters

  • ECS services

  • EMR * clusters

  • Lambda provisioned concurrency

  • *

    SageMaker endpoint variants

  • SageMaker Serverless endpoint * provisioned concurrency

  • Spot Fleets

  • custom * resources

It's strongly recommended that you specify a value * greater than 0. A value greater than 0 means that data points are continuously * reported to CloudWatch that scaling policies can use to scale on a metric like * average CPU utilization.

For all other resources, the minimum allowed * value depends on the type of resource that you are using. If you provide a value * that is lower than what a resource can accept, an error occurs. In which case, * the error message will provide the minimum value that the resource can * accept.

*/ inline RegisterScalableTargetRequest& WithMinCapacity(int value) { SetMinCapacity(value); return *this;} /** *

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 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 quotas for each service, see Service * endpoints and quotas in the Amazon Web Services General * Reference.

*/ inline int GetMaxCapacity() const{ return m_maxCapacity; } /** *

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 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 quotas for each service, see Service * endpoints and quotas in the Amazon Web Services General * Reference.

*/ inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; } /** *

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 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 quotas for each service, see Service * endpoints and quotas in the Amazon Web Services General * Reference.

*/ inline void SetMaxCapacity(int value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; } /** *

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 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 quotas for each service, see Service * endpoints and quotas in the Amazon Web Services General * Reference.

*/ inline RegisterScalableTargetRequest& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;} /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline const Aws::String& GetRoleARN() const{ return m_roleARN; } /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline RegisterScalableTargetRequest& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline RegisterScalableTargetRequest& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} /** *

This parameter is required for services that do not support service-linked * roles (such as Amazon EMR), and it must specify the ARN of an IAM role that * allows Application Auto Scaling to modify the scalable target on your behalf. *

If the service supports service-linked roles, Application Auto Scaling * uses a service-linked role, which it creates if it does not yet exist. For more * information, see Application * Auto Scaling IAM roles.

*/ inline RegisterScalableTargetRequest& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} /** *

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.

For more information, see Suspending * and resuming scaling in the Application Auto Scaling User Guide.

*/ inline const SuspendedState& GetSuspendedState() const{ return m_suspendedState; } /** *

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.

For more information, see Suspending * and resuming scaling in the Application Auto Scaling User Guide.

*/ inline bool SuspendedStateHasBeenSet() const { return m_suspendedStateHasBeenSet; } /** *

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.

For more information, see Suspending * and resuming scaling in the Application Auto Scaling User Guide.

*/ inline void SetSuspendedState(const SuspendedState& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = value; } /** *

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.

For more information, see Suspending * and resuming scaling in the Application Auto Scaling User Guide.

*/ inline void SetSuspendedState(SuspendedState&& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = std::move(value); } /** *

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.

For more information, see Suspending * and resuming scaling in the Application Auto Scaling User Guide.

*/ inline RegisterScalableTargetRequest& WithSuspendedState(const SuspendedState& value) { SetSuspendedState(value); return *this;} /** *

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.

For more information, see Suspending * and resuming scaling in the Application Auto Scaling User Guide.

*/ inline RegisterScalableTargetRequest& WithSuspendedState(SuspendedState&& value) { SetSuspendedState(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

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.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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.

*/ inline RegisterScalableTargetRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

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.

*/ inline RegisterScalableTargetRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

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.

*/ inline RegisterScalableTargetRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

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.

*/ inline RegisterScalableTargetRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

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.

*/ inline RegisterScalableTargetRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

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.

*/ inline RegisterScalableTargetRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

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.

*/ inline RegisterScalableTargetRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

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.

*/ inline RegisterScalableTargetRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

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.

*/ inline RegisterScalableTargetRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: ServiceNamespace m_serviceNamespace; bool m_serviceNamespaceHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; ScalableDimension m_scalableDimension; bool m_scalableDimensionHasBeenSet = false; int m_minCapacity; bool m_minCapacityHasBeenSet = false; int m_maxCapacity; bool m_maxCapacityHasBeenSet = false; Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; SuspendedState m_suspendedState; bool m_suspendedStateHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace ApplicationAutoScaling } // namespace Aws