/** * 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 #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ApplicationAutoScaling { namespace Model { /** *

Represents a scaling policy to use with Application Auto Scaling.

For * more information about configuring scaling policies for a specific service, see * Amazon * Web Services services that you can use with Application Auto Scaling in the * Application Auto Scaling User Guide.

See Also:

AWS * API Reference

*/ class ScalingPolicy { public: AWS_APPLICATIONAUTOSCALING_API ScalingPolicy(); AWS_APPLICATIONAUTOSCALING_API ScalingPolicy(Aws::Utils::Json::JsonView jsonValue); AWS_APPLICATIONAUTOSCALING_API ScalingPolicy& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline const Aws::String& GetPolicyARN() const{ return m_policyARN; } /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline bool PolicyARNHasBeenSet() const { return m_policyARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline void SetPolicyARN(const Aws::String& value) { m_policyARNHasBeenSet = true; m_policyARN = value; } /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline void SetPolicyARN(Aws::String&& value) { m_policyARNHasBeenSet = true; m_policyARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline void SetPolicyARN(const char* value) { m_policyARNHasBeenSet = true; m_policyARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline ScalingPolicy& WithPolicyARN(const Aws::String& value) { SetPolicyARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline ScalingPolicy& WithPolicyARN(Aws::String&& value) { SetPolicyARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the scaling policy.

*/ inline ScalingPolicy& WithPolicyARN(const char* value) { SetPolicyARN(value); return *this;} /** *

The name of the scaling policy.

*/ inline const Aws::String& GetPolicyName() const{ return m_policyName; } /** *

The name of the scaling policy.

*/ inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } /** *

The name of the scaling policy.

*/ inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } /** *

The name of the scaling policy.

*/ inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } /** *

The name of the scaling policy.

*/ inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } /** *

The name of the scaling policy.

*/ inline ScalingPolicy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} /** *

The name of the scaling policy.

*/ inline ScalingPolicy& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} /** *

The name of the scaling policy.

*/ inline ScalingPolicy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} /** *

The namespace of the Amazon Web Services service that provides the resource, * or a custom-resource.

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

The namespace of the Amazon Web Services service that provides the resource, * or a custom-resource.

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

The namespace of the Amazon Web Services service that provides the resource, * or a custom-resource.

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

The namespace of the Amazon Web Services service that provides the resource, * or a custom-resource.

*/ 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, * or a custom-resource.

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

The namespace of the Amazon Web Services service that provides the resource, * or a custom-resource.

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

The identifier of the resource associated with the scaling policy. 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 associated with the scaling policy. 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 associated with the scaling policy. 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 associated with the scaling policy. 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 associated with the scaling policy. 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 associated with the scaling policy. 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 ScalingPolicy& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The identifier of the resource associated with the scaling policy. 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 ScalingPolicy& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The identifier of the resource associated with the scaling policy. 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 ScalingPolicy& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The scalable dimension. 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. 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. 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. 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. 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 ScalingPolicy& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;} /** *

The scalable dimension. 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 ScalingPolicy& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;} /** *

The scaling policy type.

The following policy types are supported: *

TargetTrackingScaling—Not supported for Amazon EMR

* StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, * Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

*/ inline const PolicyType& GetPolicyType() const{ return m_policyType; } /** *

The scaling policy type.

The following policy types are supported: *

TargetTrackingScaling—Not supported for Amazon EMR

* StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, * Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

*/ inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } /** *

The scaling policy type.

The following policy types are supported: *

TargetTrackingScaling—Not supported for Amazon EMR

* StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, * Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

*/ inline void SetPolicyType(const PolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; } /** *

The scaling policy type.

The following policy types are supported: *

TargetTrackingScaling—Not supported for Amazon EMR

* StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, * Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

*/ inline void SetPolicyType(PolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); } /** *

The scaling policy type.

The following policy types are supported: *

TargetTrackingScaling—Not supported for Amazon EMR

* StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, * Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

*/ inline ScalingPolicy& WithPolicyType(const PolicyType& value) { SetPolicyType(value); return *this;} /** *

The scaling policy type.

The following policy types are supported: *

TargetTrackingScaling—Not supported for Amazon EMR

* StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, * Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

*/ inline ScalingPolicy& WithPolicyType(PolicyType&& value) { SetPolicyType(std::move(value)); return *this;} /** *

A step scaling policy.

*/ inline const StepScalingPolicyConfiguration& GetStepScalingPolicyConfiguration() const{ return m_stepScalingPolicyConfiguration; } /** *

A step scaling policy.

*/ inline bool StepScalingPolicyConfigurationHasBeenSet() const { return m_stepScalingPolicyConfigurationHasBeenSet; } /** *

A step scaling policy.

*/ inline void SetStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = value; } /** *

A step scaling policy.

*/ inline void SetStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = std::move(value); } /** *

A step scaling policy.

*/ inline ScalingPolicy& WithStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { SetStepScalingPolicyConfiguration(value); return *this;} /** *

A step scaling policy.

*/ inline ScalingPolicy& WithStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { SetStepScalingPolicyConfiguration(std::move(value)); return *this;} /** *

A target tracking scaling policy.

*/ inline const TargetTrackingScalingPolicyConfiguration& GetTargetTrackingScalingPolicyConfiguration() const{ return m_targetTrackingScalingPolicyConfiguration; } /** *

A target tracking scaling policy.

*/ inline bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const { return m_targetTrackingScalingPolicyConfigurationHasBeenSet; } /** *

A target tracking scaling policy.

*/ inline void SetTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = value; } /** *

A target tracking scaling policy.

*/ inline void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = std::move(value); } /** *

A target tracking scaling policy.

*/ inline ScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { SetTargetTrackingScalingPolicyConfiguration(value); return *this;} /** *

A target tracking scaling policy.

*/ inline ScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { SetTargetTrackingScalingPolicyConfiguration(std::move(value)); return *this;} /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline const Aws::Vector& GetAlarms() const{ return m_alarms; } /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; } /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline void SetAlarms(const Aws::Vector& value) { m_alarmsHasBeenSet = true; m_alarms = value; } /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline void SetAlarms(Aws::Vector&& value) { m_alarmsHasBeenSet = true; m_alarms = std::move(value); } /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline ScalingPolicy& WithAlarms(const Aws::Vector& value) { SetAlarms(value); return *this;} /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline ScalingPolicy& WithAlarms(Aws::Vector&& value) { SetAlarms(std::move(value)); return *this;} /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline ScalingPolicy& AddAlarms(const Alarm& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(value); return *this; } /** *

The CloudWatch alarms associated with the scaling policy.

*/ inline ScalingPolicy& AddAlarms(Alarm&& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(std::move(value)); return *this; } /** *

The Unix timestamp for when the scaling policy was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The Unix timestamp for when the scaling policy was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The Unix timestamp for when the scaling policy was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The Unix timestamp for when the scaling policy was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The Unix timestamp for when the scaling policy was created.

*/ inline ScalingPolicy& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The Unix timestamp for when the scaling policy was created.

*/ inline ScalingPolicy& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} private: Aws::String m_policyARN; bool m_policyARNHasBeenSet = false; Aws::String m_policyName; bool m_policyNameHasBeenSet = false; ServiceNamespace m_serviceNamespace; bool m_serviceNamespaceHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; ScalableDimension m_scalableDimension; bool m_scalableDimensionHasBeenSet = false; PolicyType m_policyType; bool m_policyTypeHasBeenSet = false; StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration; bool m_stepScalingPolicyConfigurationHasBeenSet = false; TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration; bool m_targetTrackingScalingPolicyConfigurationHasBeenSet = false; Aws::Vector m_alarms; bool m_alarmsHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; }; } // namespace Model } // namespace ApplicationAutoScaling } // namespace Aws