/** * 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 namespace Aws { namespace ApplicationAutoScaling { namespace Model { /** */ class AWS_APPLICATIONAUTOSCALING_API RegisterScalableTargetRequest : public ApplicationAutoScalingRequest { public: 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::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The namespace of the AWS 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 AWS 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 AWS 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 AWS 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 AWS 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 AWS 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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 request * - 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.

  • *

    Amazon 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.

    *
  • 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.

*/ 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.

  • * ec2:spot-fleet-request:TargetCapacity - The target capacity of a * Spot Fleet request.

  • * elasticmapreduce:instancegroup:InstanceCount - The instance count * of an EMR Instance Group.

  • * 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 an Amazon 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.

  • 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.

*/ 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.

  • * ec2:spot-fleet-request:TargetCapacity - The target capacity of a * Spot Fleet request.

  • * elasticmapreduce:instancegroup:InstanceCount - The instance count * of an EMR Instance Group.

  • * 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 an Amazon 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.

  • 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.

*/ 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.

  • * ec2:spot-fleet-request:TargetCapacity - The target capacity of a * Spot Fleet request.

  • * elasticmapreduce:instancegroup:InstanceCount - The instance count * of an EMR Instance Group.

  • * 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 an Amazon 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.

  • 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.

*/ 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.

  • * ec2:spot-fleet-request:TargetCapacity - The target capacity of a * Spot Fleet request.

  • * elasticmapreduce:instancegroup:InstanceCount - The instance count * of an EMR Instance Group.

  • * 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 an Amazon 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.

  • 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.

*/ 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.

  • * ec2:spot-fleet-request:TargetCapacity - The target capacity of a * Spot Fleet request.

  • * elasticmapreduce:instancegroup:InstanceCount - The instance count * of an EMR Instance Group.

  • * 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 an Amazon 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.

  • 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.

*/ 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.

  • * ec2:spot-fleet-request:TargetCapacity - The target capacity of a * Spot Fleet request.

  • * elasticmapreduce:instancegroup:InstanceCount - The instance count * of an EMR Instance Group.

  • * 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 an Amazon 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.

  • 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.

*/ 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 parameter is * required if you are registering a scalable target. For certain resources, the * minimum value allowed is 0. This includes Lambda provisioned concurrency, Spot * Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For * all other resources, the minimum value allowed is 1.

*/ 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 parameter is * required if you are registering a scalable target. For certain resources, the * minimum value allowed is 0. This includes Lambda provisioned concurrency, Spot * Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For * all other resources, the minimum value allowed is 1.

*/ 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 parameter is * required if you are registering a scalable target. For certain resources, the * minimum value allowed is 0. This includes Lambda provisioned concurrency, Spot * Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For * all other resources, the minimum value allowed is 1.

*/ 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 parameter is * required if you are registering a scalable target. For certain resources, the * minimum value allowed is 0. This includes Lambda provisioned concurrency, Spot * Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For * all other resources, the minimum value allowed is 1.

*/ 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 parameter is * required if you are registering a scalable target.

*/ 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 parameter is * required if you are registering a scalable target.

*/ 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 parameter is * required if you are registering a scalable target.

*/ 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 parameter is * required if you are registering a scalable target.

*/ 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;} private: ServiceNamespace m_serviceNamespace; bool m_serviceNamespaceHasBeenSet; Aws::String m_resourceId; bool m_resourceIdHasBeenSet; ScalableDimension m_scalableDimension; bool m_scalableDimensionHasBeenSet; int m_minCapacity; bool m_minCapacityHasBeenSet; int m_maxCapacity; bool m_maxCapacityHasBeenSet; Aws::String m_roleARN; bool m_roleARNHasBeenSet; SuspendedState m_suspendedState; bool m_suspendedStateHasBeenSet; }; } // namespace Model } // namespace ApplicationAutoScaling } // namespace Aws