/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a scalable resource.See Also:
AWS
* API Reference
The name of the scaling plan.
*/ inline const Aws::String& GetScalingPlanName() const{ return m_scalingPlanName; } /** *The name of the scaling plan.
*/ inline bool ScalingPlanNameHasBeenSet() const { return m_scalingPlanNameHasBeenSet; } /** *The name of the scaling plan.
*/ inline void SetScalingPlanName(const Aws::String& value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName = value; } /** *The name of the scaling plan.
*/ inline void SetScalingPlanName(Aws::String&& value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName = std::move(value); } /** *The name of the scaling plan.
*/ inline void SetScalingPlanName(const char* value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName.assign(value); } /** *The name of the scaling plan.
*/ inline ScalingPlanResource& WithScalingPlanName(const Aws::String& value) { SetScalingPlanName(value); return *this;} /** *The name of the scaling plan.
*/ inline ScalingPlanResource& WithScalingPlanName(Aws::String&& value) { SetScalingPlanName(std::move(value)); return *this;} /** *The name of the scaling plan.
*/ inline ScalingPlanResource& WithScalingPlanName(const char* value) { SetScalingPlanName(value); return *this;} /** *The version number of the scaling plan.
*/ inline long long GetScalingPlanVersion() const{ return m_scalingPlanVersion; } /** *The version number of the scaling plan.
*/ inline bool ScalingPlanVersionHasBeenSet() const { return m_scalingPlanVersionHasBeenSet; } /** *The version number of the scaling plan.
*/ inline void SetScalingPlanVersion(long long value) { m_scalingPlanVersionHasBeenSet = true; m_scalingPlanVersion = value; } /** *The version number of the scaling plan.
*/ inline ScalingPlanResource& WithScalingPlanVersion(long long value) { SetScalingPlanVersion(value); return *this;} /** *The namespace of the AWS service.
*/ inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; } /** *The namespace of the AWS service.
*/ inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; } /** *The namespace of the AWS service.
*/ inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; } /** *The namespace of the AWS service.
*/ inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); } /** *The namespace of the AWS service.
*/ inline ScalingPlanResource& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;} /** *The namespace of the AWS service.
*/ inline ScalingPlanResource& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;} /** *The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The ID of the resource. This string consists of the resource type and unique * identifier.
Auto Scaling group - The resource type is
* autoScalingGroup
and the unique identifier is the name of the Auto
* Scaling group. Example: autoScalingGroup/my-asg
.
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
.
DynamoDB table - The resource type is table
and the
* unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is
* index
and the unique identifier is the resource ID. 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
.
The scalable dimension for the resource.
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity
* of an Auto Scaling group.
* ecs:service:DesiredCount
- The desired task count of an ECS
* service.
ec2:spot-fleet-request:TargetCapacity
-
* The target capacity of a Spot Fleet request.
* 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.
The scalable dimension for the resource.
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity
* of an Auto Scaling group.
* ecs:service:DesiredCount
- The desired task count of an ECS
* service.
ec2:spot-fleet-request:TargetCapacity
-
* The target capacity of a Spot Fleet request.
* 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.
The scalable dimension for the resource.
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity
* of an Auto Scaling group.
* ecs:service:DesiredCount
- The desired task count of an ECS
* service.
ec2:spot-fleet-request:TargetCapacity
-
* The target capacity of a Spot Fleet request.
* 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.
The scalable dimension for the resource.
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity
* of an Auto Scaling group.
* ecs:service:DesiredCount
- The desired task count of an ECS
* service.
ec2:spot-fleet-request:TargetCapacity
-
* The target capacity of a Spot Fleet request.
* 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.
The scalable dimension for the resource.
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity
* of an Auto Scaling group.
* ecs:service:DesiredCount
- The desired task count of an ECS
* service.
ec2:spot-fleet-request:TargetCapacity
-
* The target capacity of a Spot Fleet request.
* 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.
The scalable dimension for the resource.
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity
* of an Auto Scaling group.
* ecs:service:DesiredCount
- The desired task count of an ECS
* service.
ec2:spot-fleet-request:TargetCapacity
-
* The target capacity of a Spot Fleet request.
* 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.
The scaling policies.
*/ inline const Aws::VectorThe scaling policies.
*/ inline bool ScalingPoliciesHasBeenSet() const { return m_scalingPoliciesHasBeenSet; } /** *The scaling policies.
*/ inline void SetScalingPolicies(const Aws::VectorThe scaling policies.
*/ inline void SetScalingPolicies(Aws::VectorThe scaling policies.
*/ inline ScalingPlanResource& WithScalingPolicies(const Aws::VectorThe scaling policies.
*/ inline ScalingPlanResource& WithScalingPolicies(Aws::VectorThe scaling policies.
*/ inline ScalingPlanResource& AddScalingPolicies(const ScalingPolicy& value) { m_scalingPoliciesHasBeenSet = true; m_scalingPolicies.push_back(value); return *this; } /** *The scaling policies.
*/ inline ScalingPlanResource& AddScalingPolicies(ScalingPolicy&& value) { m_scalingPoliciesHasBeenSet = true; m_scalingPolicies.push_back(std::move(value)); return *this; } /** *The scaling status of the resource.
Active
-
* The scaling configuration is active.
Inactive
-
* The scaling configuration is not active because the scaling plan is being
* created or the scaling configuration could not be applied. Check the status
* message for more information.
PartiallyActive
-
* The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied.
* Check the status message for more information.
The scaling status of the resource.
Active
-
* The scaling configuration is active.
Inactive
-
* The scaling configuration is not active because the scaling plan is being
* created or the scaling configuration could not be applied. Check the status
* message for more information.
PartiallyActive
-
* The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied.
* Check the status message for more information.
The scaling status of the resource.
Active
-
* The scaling configuration is active.
Inactive
-
* The scaling configuration is not active because the scaling plan is being
* created or the scaling configuration could not be applied. Check the status
* message for more information.
PartiallyActive
-
* The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied.
* Check the status message for more information.
The scaling status of the resource.
Active
-
* The scaling configuration is active.
Inactive
-
* The scaling configuration is not active because the scaling plan is being
* created or the scaling configuration could not be applied. Check the status
* message for more information.
PartiallyActive
-
* The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied.
* Check the status message for more information.
The scaling status of the resource.
Active
-
* The scaling configuration is active.
Inactive
-
* The scaling configuration is not active because the scaling plan is being
* created or the scaling configuration could not be applied. Check the status
* message for more information.
PartiallyActive
-
* The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied.
* Check the status message for more information.
The scaling status of the resource.
Active
-
* The scaling configuration is active.
Inactive
-
* The scaling configuration is not active because the scaling plan is being
* created or the scaling configuration could not be applied. Check the status
* message for more information.
PartiallyActive
-
* The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied.
* Check the status message for more information.
A simple message about the current scaling status of the resource.
*/ inline const Aws::String& GetScalingStatusMessage() const{ return m_scalingStatusMessage; } /** *A simple message about the current scaling status of the resource.
*/ inline bool ScalingStatusMessageHasBeenSet() const { return m_scalingStatusMessageHasBeenSet; } /** *A simple message about the current scaling status of the resource.
*/ inline void SetScalingStatusMessage(const Aws::String& value) { m_scalingStatusMessageHasBeenSet = true; m_scalingStatusMessage = value; } /** *A simple message about the current scaling status of the resource.
*/ inline void SetScalingStatusMessage(Aws::String&& value) { m_scalingStatusMessageHasBeenSet = true; m_scalingStatusMessage = std::move(value); } /** *A simple message about the current scaling status of the resource.
*/ inline void SetScalingStatusMessage(const char* value) { m_scalingStatusMessageHasBeenSet = true; m_scalingStatusMessage.assign(value); } /** *A simple message about the current scaling status of the resource.
*/ inline ScalingPlanResource& WithScalingStatusMessage(const Aws::String& value) { SetScalingStatusMessage(value); return *this;} /** *A simple message about the current scaling status of the resource.
*/ inline ScalingPlanResource& WithScalingStatusMessage(Aws::String&& value) { SetScalingStatusMessage(std::move(value)); return *this;} /** *A simple message about the current scaling status of the resource.
*/ inline ScalingPlanResource& WithScalingStatusMessage(const char* value) { SetScalingStatusMessage(value); return *this;} private: Aws::String m_scalingPlanName; bool m_scalingPlanNameHasBeenSet = false; long long m_scalingPlanVersion; bool m_scalingPlanVersionHasBeenSet = false; ServiceNamespace m_serviceNamespace; bool m_serviceNamespaceHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; ScalableDimension m_scalableDimension; bool m_scalableDimensionHasBeenSet = false; Aws::Vector