feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,727 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingErrors.h>
#include <aws/core/client/AWSError.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/client/AWSClient.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/application-autoscaling/model/DeleteScalingPolicyResult.h>
#include <aws/application-autoscaling/model/DeleteScheduledActionResult.h>
#include <aws/application-autoscaling/model/DeregisterScalableTargetResult.h>
#include <aws/application-autoscaling/model/DescribeScalableTargetsResult.h>
#include <aws/application-autoscaling/model/DescribeScalingActivitiesResult.h>
#include <aws/application-autoscaling/model/DescribeScalingPoliciesResult.h>
#include <aws/application-autoscaling/model/DescribeScheduledActionsResult.h>
#include <aws/application-autoscaling/model/PutScalingPolicyResult.h>
#include <aws/application-autoscaling/model/PutScheduledActionResult.h>
#include <aws/application-autoscaling/model/RegisterScalableTargetResult.h>
#include <aws/core/client/AsyncCallerContext.h>
#include <aws/core/http/HttpTypes.h>
#include <future>
#include <functional>
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace ApplicationAutoScaling
{
namespace Model
{
class DeleteScalingPolicyRequest;
class DeleteScheduledActionRequest;
class DeregisterScalableTargetRequest;
class DescribeScalableTargetsRequest;
class DescribeScalingActivitiesRequest;
class DescribeScalingPoliciesRequest;
class DescribeScheduledActionsRequest;
class PutScalingPolicyRequest;
class PutScheduledActionRequest;
class RegisterScalableTargetRequest;
typedef Aws::Utils::Outcome<DeleteScalingPolicyResult, ApplicationAutoScalingError> DeleteScalingPolicyOutcome;
typedef Aws::Utils::Outcome<DeleteScheduledActionResult, ApplicationAutoScalingError> DeleteScheduledActionOutcome;
typedef Aws::Utils::Outcome<DeregisterScalableTargetResult, ApplicationAutoScalingError> DeregisterScalableTargetOutcome;
typedef Aws::Utils::Outcome<DescribeScalableTargetsResult, ApplicationAutoScalingError> DescribeScalableTargetsOutcome;
typedef Aws::Utils::Outcome<DescribeScalingActivitiesResult, ApplicationAutoScalingError> DescribeScalingActivitiesOutcome;
typedef Aws::Utils::Outcome<DescribeScalingPoliciesResult, ApplicationAutoScalingError> DescribeScalingPoliciesOutcome;
typedef Aws::Utils::Outcome<DescribeScheduledActionsResult, ApplicationAutoScalingError> DescribeScheduledActionsOutcome;
typedef Aws::Utils::Outcome<PutScalingPolicyResult, ApplicationAutoScalingError> PutScalingPolicyOutcome;
typedef Aws::Utils::Outcome<PutScheduledActionResult, ApplicationAutoScalingError> PutScheduledActionOutcome;
typedef Aws::Utils::Outcome<RegisterScalableTargetResult, ApplicationAutoScalingError> RegisterScalableTargetOutcome;
typedef std::future<DeleteScalingPolicyOutcome> DeleteScalingPolicyOutcomeCallable;
typedef std::future<DeleteScheduledActionOutcome> DeleteScheduledActionOutcomeCallable;
typedef std::future<DeregisterScalableTargetOutcome> DeregisterScalableTargetOutcomeCallable;
typedef std::future<DescribeScalableTargetsOutcome> DescribeScalableTargetsOutcomeCallable;
typedef std::future<DescribeScalingActivitiesOutcome> DescribeScalingActivitiesOutcomeCallable;
typedef std::future<DescribeScalingPoliciesOutcome> DescribeScalingPoliciesOutcomeCallable;
typedef std::future<DescribeScheduledActionsOutcome> DescribeScheduledActionsOutcomeCallable;
typedef std::future<PutScalingPolicyOutcome> PutScalingPolicyOutcomeCallable;
typedef std::future<PutScheduledActionOutcome> PutScheduledActionOutcomeCallable;
typedef std::future<RegisterScalableTargetOutcome> RegisterScalableTargetOutcomeCallable;
} // namespace Model
class ApplicationAutoScalingClient;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::DeleteScalingPolicyRequest&, const Model::DeleteScalingPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteScalingPolicyResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::DeleteScheduledActionRequest&, const Model::DeleteScheduledActionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteScheduledActionResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::DeregisterScalableTargetRequest&, const Model::DeregisterScalableTargetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeregisterScalableTargetResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::DescribeScalableTargetsRequest&, const Model::DescribeScalableTargetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeScalableTargetsResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::DescribeScalingActivitiesRequest&, const Model::DescribeScalingActivitiesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeScalingActivitiesResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::DescribeScalingPoliciesRequest&, const Model::DescribeScalingPoliciesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeScalingPoliciesResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::DescribeScheduledActionsRequest&, const Model::DescribeScheduledActionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeScheduledActionsResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::PutScalingPolicyRequest&, const Model::PutScalingPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutScalingPolicyResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::PutScheduledActionRequest&, const Model::PutScheduledActionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutScheduledActionResponseReceivedHandler;
typedef std::function<void(const ApplicationAutoScalingClient*, const Model::RegisterScalableTargetRequest&, const Model::RegisterScalableTargetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterScalableTargetResponseReceivedHandler;
/**
* <p>With Application Auto Scaling, you can configure automatic scaling for the
* following resources:</p> <ul> <li> <p>Amazon ECS services</p> </li> <li>
* <p>Amazon EC2 Spot Fleet requests</p> </li> <li> <p>Amazon EMR clusters</p>
* </li> <li> <p>Amazon AppStream 2.0 fleets</p> </li> <li> <p>Amazon DynamoDB
* tables and global secondary indexes throughput capacity</p> </li> <li> <p>Amazon
* Aurora Replicas</p> </li> <li> <p>Amazon SageMaker endpoint variants</p> </li>
* <li> <p>Custom resources provided by your own applications or services</p> </li>
* <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>AWS Lambda function provisioned concurrency</p> </li> <li> <p>Amazon
* Keyspaces (for Apache Cassandra) tables</p> </li> </ul> <p> <b>API Summary</b>
* </p> <p>The Application Auto Scaling service API includes three key sets of
* actions: </p> <ul> <li> <p>Register and manage scalable targets - Register AWS
* or custom resources as scalable targets (a resource that Application Auto
* Scaling can scale), set minimum and maximum capacity limits, and retrieve
* information on existing scalable targets.</p> </li> <li> <p>Configure and manage
* automatic scaling - Define scaling policies to dynamically scale your resources
* in response to CloudWatch alarms, schedule one-time or recurring scaling
* actions, and retrieve your recent scaling activity history.</p> </li> <li>
* <p>Suspend and resume scaling - Temporarily suspend and later resume automatic
* scaling by calling the <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html">RegisterScalableTarget</a>
* API action for any Application Auto Scaling scalable target. You can suspend and
* resume (individually or in combination) scale-out activities that are triggered
* by a scaling policy, scale-in activities that are triggered by a scaling policy,
* and scheduled scaling.</p> </li> </ul> <p>To learn more about Application Auto
* Scaling, including information about granting IAM users required permissions for
* Application Auto Scaling actions, see the <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html">Application
* Auto Scaling User Guide</a>.</p>
*/
class AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
ApplicationAutoScalingClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
ApplicationAutoScalingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
ApplicationAutoScalingClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~ApplicationAutoScalingClient();
/**
* <p>Deletes the specified scaling policy for an Application Auto Scaling scalable
* target.</p> <p>Deleting a step scaling policy deletes the underlying alarm
* action, but does not delete the CloudWatch alarm associated with the scaling
* policy, even if it no longer has an associated action.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#delete-step-scaling-policy">Delete
* a Step Scaling Policy</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy">Delete
* a Target Tracking Scaling Policy</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScalingPolicy">AWS
* API Reference</a></p>
*/
virtual Model::DeleteScalingPolicyOutcome DeleteScalingPolicy(const Model::DeleteScalingPolicyRequest& request) const;
/**
* <p>Deletes the specified scaling policy for an Application Auto Scaling scalable
* target.</p> <p>Deleting a step scaling policy deletes the underlying alarm
* action, but does not delete the CloudWatch alarm associated with the scaling
* policy, even if it no longer has an associated action.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#delete-step-scaling-policy">Delete
* a Step Scaling Policy</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy">Delete
* a Target Tracking Scaling Policy</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScalingPolicy">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteScalingPolicyOutcomeCallable DeleteScalingPolicyCallable(const Model::DeleteScalingPolicyRequest& request) const;
/**
* <p>Deletes the specified scaling policy for an Application Auto Scaling scalable
* target.</p> <p>Deleting a step scaling policy deletes the underlying alarm
* action, but does not delete the CloudWatch alarm associated with the scaling
* policy, even if it no longer has an associated action.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#delete-step-scaling-policy">Delete
* a Step Scaling Policy</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy">Delete
* a Target Tracking Scaling Policy</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScalingPolicy">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteScalingPolicyAsync(const Model::DeleteScalingPolicyRequest& request, const DeleteScalingPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified scheduled action for an Application Auto Scaling
* scalable target.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#delete-scheduled-action">Delete
* a Scheduled Action</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledAction">AWS
* API Reference</a></p>
*/
virtual Model::DeleteScheduledActionOutcome DeleteScheduledAction(const Model::DeleteScheduledActionRequest& request) const;
/**
* <p>Deletes the specified scheduled action for an Application Auto Scaling
* scalable target.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#delete-scheduled-action">Delete
* a Scheduled Action</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledAction">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteScheduledActionOutcomeCallable DeleteScheduledActionCallable(const Model::DeleteScheduledActionRequest& request) const;
/**
* <p>Deletes the specified scheduled action for an Application Auto Scaling
* scalable target.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#delete-scheduled-action">Delete
* a Scheduled Action</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledAction">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteScheduledActionAsync(const Model::DeleteScheduledActionRequest& request, const DeleteScheduledActionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deregisters an Application Auto Scaling scalable target when you have
* finished using it. To see which resources have been registered, use <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* </p> <p>Deregistering a scalable target deletes the scaling policies and
* the scheduled actions that are associated with it.</p> <p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeregisterScalableTarget">AWS
* API Reference</a></p>
*/
virtual Model::DeregisterScalableTargetOutcome DeregisterScalableTarget(const Model::DeregisterScalableTargetRequest& request) const;
/**
* <p>Deregisters an Application Auto Scaling scalable target when you have
* finished using it. To see which resources have been registered, use <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* </p> <p>Deregistering a scalable target deletes the scaling policies and
* the scheduled actions that are associated with it.</p> <p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeregisterScalableTarget">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeregisterScalableTargetOutcomeCallable DeregisterScalableTargetCallable(const Model::DeregisterScalableTargetRequest& request) const;
/**
* <p>Deregisters an Application Auto Scaling scalable target when you have
* finished using it. To see which resources have been registered, use <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* </p> <p>Deregistering a scalable target deletes the scaling policies and
* the scheduled actions that are associated with it.</p> <p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeregisterScalableTarget">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeregisterScalableTargetAsync(const Model::DeregisterScalableTargetRequest& request, const DeregisterScalableTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the scalable targets in the specified namespace.</p>
* <p>You can filter the results using <code>ResourceIds</code> and
* <code>ScalableDimension</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalableTargets">AWS
* API Reference</a></p>
*/
virtual Model::DescribeScalableTargetsOutcome DescribeScalableTargets(const Model::DescribeScalableTargetsRequest& request) const;
/**
* <p>Gets information about the scalable targets in the specified namespace.</p>
* <p>You can filter the results using <code>ResourceIds</code> and
* <code>ScalableDimension</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalableTargets">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeScalableTargetsOutcomeCallable DescribeScalableTargetsCallable(const Model::DescribeScalableTargetsRequest& request) const;
/**
* <p>Gets information about the scalable targets in the specified namespace.</p>
* <p>You can filter the results using <code>ResourceIds</code> and
* <code>ScalableDimension</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalableTargets">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeScalableTargetsAsync(const Model::DescribeScalableTargetsRequest& request, const DescribeScalableTargetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Provides descriptive information about the scaling activities in the
* specified namespace from the previous six weeks.</p> <p>You can filter the
* results using <code>ResourceId</code> and
* <code>ScalableDimension</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingActivities">AWS
* API Reference</a></p>
*/
virtual Model::DescribeScalingActivitiesOutcome DescribeScalingActivities(const Model::DescribeScalingActivitiesRequest& request) const;
/**
* <p>Provides descriptive information about the scaling activities in the
* specified namespace from the previous six weeks.</p> <p>You can filter the
* results using <code>ResourceId</code> and
* <code>ScalableDimension</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingActivities">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeScalingActivitiesOutcomeCallable DescribeScalingActivitiesCallable(const Model::DescribeScalingActivitiesRequest& request) const;
/**
* <p>Provides descriptive information about the scaling activities in the
* specified namespace from the previous six weeks.</p> <p>You can filter the
* results using <code>ResourceId</code> and
* <code>ScalableDimension</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingActivities">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeScalingActivitiesAsync(const Model::DescribeScalingActivitiesRequest& request, const DescribeScalingActivitiesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Application Auto Scaling scaling policies for the specified
* service namespace.</p> <p>You can filter the results using
* <code>ResourceId</code>, <code>ScalableDimension</code>, and
* <code>PolicyNames</code>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingPolicies">AWS
* API Reference</a></p>
*/
virtual Model::DescribeScalingPoliciesOutcome DescribeScalingPolicies(const Model::DescribeScalingPoliciesRequest& request) const;
/**
* <p>Describes the Application Auto Scaling scaling policies for the specified
* service namespace.</p> <p>You can filter the results using
* <code>ResourceId</code>, <code>ScalableDimension</code>, and
* <code>PolicyNames</code>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingPolicies">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeScalingPoliciesOutcomeCallable DescribeScalingPoliciesCallable(const Model::DescribeScalingPoliciesRequest& request) const;
/**
* <p>Describes the Application Auto Scaling scaling policies for the specified
* service namespace.</p> <p>You can filter the results using
* <code>ResourceId</code>, <code>ScalableDimension</code>, and
* <code>PolicyNames</code>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingPolicies">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeScalingPoliciesAsync(const Model::DescribeScalingPoliciesRequest& request, const DescribeScalingPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Application Auto Scaling scheduled actions for the specified
* service namespace.</p> <p>You can filter the results using the
* <code>ResourceId</code>, <code>ScalableDimension</code>, and
* <code>ScheduledActionNames</code> parameters.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeScheduledActionsOutcome DescribeScheduledActions(const Model::DescribeScheduledActionsRequest& request) const;
/**
* <p>Describes the Application Auto Scaling scheduled actions for the specified
* service namespace.</p> <p>You can filter the results using the
* <code>ResourceId</code>, <code>ScalableDimension</code>, and
* <code>ScheduledActionNames</code> parameters.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeScheduledActionsOutcomeCallable DescribeScheduledActionsCallable(const Model::DescribeScheduledActionsRequest& request) const;
/**
* <p>Describes the Application Auto Scaling scheduled actions for the specified
* service namespace.</p> <p>You can filter the results using the
* <code>ResourceId</code>, <code>ScalableDimension</code>, and
* <code>ScheduledActionNames</code> parameters.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeScheduledActionsAsync(const Model::DescribeScheduledActionsRequest& request, const DescribeScheduledActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates or updates a scaling policy for an Application Auto Scaling scalable
* target.</p> <p>Each scalable target is identified by a service namespace,
* resource ID, and scalable dimension. A scaling policy applies to the scalable
* target identified by those three attributes. You cannot create a scaling policy
* until you have registered the resource as a scalable target.</p> <p>Multiple
* scaling policies can be in force at the same time for the same scalable target.
* You can have one or more target tracking scaling policies, one or more step
* scaling policies, or both. However, there is a chance that multiple policies
* could conflict, instructing the scalable target to scale out or in at the same
* time. Application Auto Scaling gives precedence to the policy that provides the
* largest capacity for both scale out and scale in. For example, if one policy
* increases capacity by 3, another policy increases capacity by 200 percent, and
* the current capacity is 10, Application Auto Scaling uses the policy with the
* highest calculated capacity (200% of 10 = 20) and scales out to 30. </p> <p>We
* recommend caution, however, when using target tracking scaling policies with
* step scaling policies because conflicts between these policies can cause
* undesirable behavior. For example, if the step scaling policy initiates a
* scale-in activity before the target tracking policy is ready to scale in, the
* scale-in activity will not be blocked. After the scale-in activity completes,
* the target tracking policy could instruct the scalable target to scale out
* again. </p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
* <p>If a scalable target is deregistered, the scalable target is no longer
* available to execute scaling policies. Any scaling policies that were specified
* for the scalable target are deleted.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScalingPolicy">AWS
* API Reference</a></p>
*/
virtual Model::PutScalingPolicyOutcome PutScalingPolicy(const Model::PutScalingPolicyRequest& request) const;
/**
* <p>Creates or updates a scaling policy for an Application Auto Scaling scalable
* target.</p> <p>Each scalable target is identified by a service namespace,
* resource ID, and scalable dimension. A scaling policy applies to the scalable
* target identified by those three attributes. You cannot create a scaling policy
* until you have registered the resource as a scalable target.</p> <p>Multiple
* scaling policies can be in force at the same time for the same scalable target.
* You can have one or more target tracking scaling policies, one or more step
* scaling policies, or both. However, there is a chance that multiple policies
* could conflict, instructing the scalable target to scale out or in at the same
* time. Application Auto Scaling gives precedence to the policy that provides the
* largest capacity for both scale out and scale in. For example, if one policy
* increases capacity by 3, another policy increases capacity by 200 percent, and
* the current capacity is 10, Application Auto Scaling uses the policy with the
* highest calculated capacity (200% of 10 = 20) and scales out to 30. </p> <p>We
* recommend caution, however, when using target tracking scaling policies with
* step scaling policies because conflicts between these policies can cause
* undesirable behavior. For example, if the step scaling policy initiates a
* scale-in activity before the target tracking policy is ready to scale in, the
* scale-in activity will not be blocked. After the scale-in activity completes,
* the target tracking policy could instruct the scalable target to scale out
* again. </p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
* <p>If a scalable target is deregistered, the scalable target is no longer
* available to execute scaling policies. Any scaling policies that were specified
* for the scalable target are deleted.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScalingPolicy">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutScalingPolicyOutcomeCallable PutScalingPolicyCallable(const Model::PutScalingPolicyRequest& request) const;
/**
* <p>Creates or updates a scaling policy for an Application Auto Scaling scalable
* target.</p> <p>Each scalable target is identified by a service namespace,
* resource ID, and scalable dimension. A scaling policy applies to the scalable
* target identified by those three attributes. You cannot create a scaling policy
* until you have registered the resource as a scalable target.</p> <p>Multiple
* scaling policies can be in force at the same time for the same scalable target.
* You can have one or more target tracking scaling policies, one or more step
* scaling policies, or both. However, there is a chance that multiple policies
* could conflict, instructing the scalable target to scale out or in at the same
* time. Application Auto Scaling gives precedence to the policy that provides the
* largest capacity for both scale out and scale in. For example, if one policy
* increases capacity by 3, another policy increases capacity by 200 percent, and
* the current capacity is 10, Application Auto Scaling uses the policy with the
* highest calculated capacity (200% of 10 = 20) and scales out to 30. </p> <p>We
* recommend caution, however, when using target tracking scaling policies with
* step scaling policies because conflicts between these policies can cause
* undesirable behavior. For example, if the step scaling policy initiates a
* scale-in activity before the target tracking policy is ready to scale in, the
* scale-in activity will not be blocked. After the scale-in activity completes,
* the target tracking policy could instruct the scalable target to scale out
* again. </p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
* <p>If a scalable target is deregistered, the scalable target is no longer
* available to execute scaling policies. Any scaling policies that were specified
* for the scalable target are deleted.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScalingPolicy">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutScalingPolicyAsync(const Model::PutScalingPolicyRequest& request, const PutScalingPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates or updates a scheduled action for an Application Auto Scaling
* scalable target.</p> <p>Each scalable target is identified by a service
* namespace, resource ID, and scalable dimension. A scheduled action applies to
* the scalable target identified by those three attributes. You cannot create a
* scheduled action until you have registered the resource as a scalable
* target.</p> <p>When start and end times are specified with a recurring schedule
* using a cron expression or rates, they form the boundaries of when the recurring
* action starts and stops.</p> <p>To update a scheduled action, specify the
* parameters that you want to change. If you don't specify start and end times,
* the old values are deleted.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p> <p>If
* a scalable target is deregistered, the scalable target is no longer available to
* run scheduled actions. Any scheduled actions that were specified for the
* scalable target are deleted.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledAction">AWS
* API Reference</a></p>
*/
virtual Model::PutScheduledActionOutcome PutScheduledAction(const Model::PutScheduledActionRequest& request) const;
/**
* <p>Creates or updates a scheduled action for an Application Auto Scaling
* scalable target.</p> <p>Each scalable target is identified by a service
* namespace, resource ID, and scalable dimension. A scheduled action applies to
* the scalable target identified by those three attributes. You cannot create a
* scheduled action until you have registered the resource as a scalable
* target.</p> <p>When start and end times are specified with a recurring schedule
* using a cron expression or rates, they form the boundaries of when the recurring
* action starts and stops.</p> <p>To update a scheduled action, specify the
* parameters that you want to change. If you don't specify start and end times,
* the old values are deleted.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p> <p>If
* a scalable target is deregistered, the scalable target is no longer available to
* run scheduled actions. Any scheduled actions that were specified for the
* scalable target are deleted.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledAction">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutScheduledActionOutcomeCallable PutScheduledActionCallable(const Model::PutScheduledActionRequest& request) const;
/**
* <p>Creates or updates a scheduled action for an Application Auto Scaling
* scalable target.</p> <p>Each scalable target is identified by a service
* namespace, resource ID, and scalable dimension. A scheduled action applies to
* the scalable target identified by those three attributes. You cannot create a
* scheduled action until you have registered the resource as a scalable
* target.</p> <p>When start and end times are specified with a recurring schedule
* using a cron expression or rates, they form the boundaries of when the recurring
* action starts and stops.</p> <p>To update a scheduled action, specify the
* parameters that you want to change. If you don't specify start and end times,
* the old values are deleted.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p> <p>If
* a scalable target is deregistered, the scalable target is no longer available to
* run scheduled actions. Any scheduled actions that were specified for the
* scalable target are deleted.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledAction">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutScheduledActionAsync(const Model::PutScheduledActionRequest& request, const PutScheduledActionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Registers or updates a scalable target. </p> <p>A scalable target is a
* resource that Application Auto Scaling can scale out and scale in. Scalable
* targets are uniquely identified by the combination of resource ID, scalable
* dimension, and namespace. </p> <p>When you register a new scalable target, you
* must specify values for minimum and maximum capacity. Application Auto Scaling
* scaling policies will not scale capacity to values that are outside of this
* range.</p> <p>After you register a scalable target, you do not need to register
* it again to use other Application Auto Scaling operations. To see which
* resources have been registered, use <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* You can also view the scaling policies for a service namespace by using <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* If you no longer need a scalable target, you can deregister it by using <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html">DeregisterScalableTarget</a>.</p>
* <p>To update a scalable target, specify the parameters that you want to change.
* Include the parameters that identify the scalable target: resource ID, scalable
* dimension, and namespace. Any parameters that you don't specify are not changed
* by this update request. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/RegisterScalableTarget">AWS
* API Reference</a></p>
*/
virtual Model::RegisterScalableTargetOutcome RegisterScalableTarget(const Model::RegisterScalableTargetRequest& request) const;
/**
* <p>Registers or updates a scalable target. </p> <p>A scalable target is a
* resource that Application Auto Scaling can scale out and scale in. Scalable
* targets are uniquely identified by the combination of resource ID, scalable
* dimension, and namespace. </p> <p>When you register a new scalable target, you
* must specify values for minimum and maximum capacity. Application Auto Scaling
* scaling policies will not scale capacity to values that are outside of this
* range.</p> <p>After you register a scalable target, you do not need to register
* it again to use other Application Auto Scaling operations. To see which
* resources have been registered, use <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* You can also view the scaling policies for a service namespace by using <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* If you no longer need a scalable target, you can deregister it by using <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html">DeregisterScalableTarget</a>.</p>
* <p>To update a scalable target, specify the parameters that you want to change.
* Include the parameters that identify the scalable target: resource ID, scalable
* dimension, and namespace. Any parameters that you don't specify are not changed
* by this update request. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/RegisterScalableTarget">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RegisterScalableTargetOutcomeCallable RegisterScalableTargetCallable(const Model::RegisterScalableTargetRequest& request) const;
/**
* <p>Registers or updates a scalable target. </p> <p>A scalable target is a
* resource that Application Auto Scaling can scale out and scale in. Scalable
* targets are uniquely identified by the combination of resource ID, scalable
* dimension, and namespace. </p> <p>When you register a new scalable target, you
* must specify values for minimum and maximum capacity. Application Auto Scaling
* scaling policies will not scale capacity to values that are outside of this
* range.</p> <p>After you register a scalable target, you do not need to register
* it again to use other Application Auto Scaling operations. To see which
* resources have been registered, use <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* You can also view the scaling policies for a service namespace by using <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html">DescribeScalableTargets</a>.
* If you no longer need a scalable target, you can deregister it by using <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html">DeregisterScalableTarget</a>.</p>
* <p>To update a scalable target, specify the parameters that you want to change.
* Include the parameters that identify the scalable target: resource ID, scalable
* dimension, and namespace. Any parameters that you don't specify are not changed
* by this update request. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/RegisterScalableTarget">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RegisterScalableTargetAsync(const Model::RegisterScalableTargetRequest& request, const RegisterScalableTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void DeleteScalingPolicyAsyncHelper(const Model::DeleteScalingPolicyRequest& request, const DeleteScalingPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteScheduledActionAsyncHelper(const Model::DeleteScheduledActionRequest& request, const DeleteScheduledActionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeregisterScalableTargetAsyncHelper(const Model::DeregisterScalableTargetRequest& request, const DeregisterScalableTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeScalableTargetsAsyncHelper(const Model::DescribeScalableTargetsRequest& request, const DescribeScalableTargetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeScalingActivitiesAsyncHelper(const Model::DescribeScalingActivitiesRequest& request, const DescribeScalingActivitiesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeScalingPoliciesAsyncHelper(const Model::DescribeScalingPoliciesRequest& request, const DescribeScalingPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeScheduledActionsAsyncHelper(const Model::DescribeScheduledActionsRequest& request, const DescribeScheduledActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void PutScalingPolicyAsyncHelper(const Model::PutScalingPolicyRequest& request, const PutScalingPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void PutScheduledActionAsyncHelper(const Model::PutScheduledActionRequest& request, const PutScheduledActionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RegisterScalableTargetAsyncHelper(const Model::RegisterScalableTargetRequest& request, const RegisterScalableTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
};
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,21 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace ApplicationAutoScalingEndpoint
{
AWS_APPLICATIONAUTOSCALING_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace ApplicationAutoScalingEndpoint
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,23 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingErrorMarshaller : public Aws::Client::JsonErrorMarshaller
{
public:
Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override;
};
} // namespace Client
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/core/client/AWSError.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
enum class ApplicationAutoScalingErrors
{
//From Core//
//////////////////////////////////////////////////////////////////////////////////////////
INCOMPLETE_SIGNATURE = 0,
INTERNAL_FAILURE = 1,
INVALID_ACTION = 2,
INVALID_CLIENT_TOKEN_ID = 3,
INVALID_PARAMETER_COMBINATION = 4,
INVALID_QUERY_PARAMETER = 5,
INVALID_PARAMETER_VALUE = 6,
MISSING_ACTION = 7, // SDK should never allow
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
MISSING_PARAMETER = 9, // SDK should never allow
OPT_IN_REQUIRED = 10,
REQUEST_EXPIRED = 11,
SERVICE_UNAVAILABLE = 12,
THROTTLING = 13,
VALIDATION = 14,
ACCESS_DENIED = 15,
RESOURCE_NOT_FOUND = 16,
UNRECOGNIZED_CLIENT = 17,
MALFORMED_QUERY_STRING = 18,
SLOW_DOWN = 19,
REQUEST_TIME_TOO_SKEWED = 20,
INVALID_SIGNATURE = 21,
SIGNATURE_DOES_NOT_MATCH = 22,
INVALID_ACCESS_KEY_ID = 23,
REQUEST_TIMEOUT = 24,
NETWORK_CONNECTION = 99,
UNKNOWN = 100,
///////////////////////////////////////////////////////////////////////////////////////////
CONCURRENT_UPDATE= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
FAILED_RESOURCE_ACCESS,
INTERNAL_SERVICE,
INVALID_NEXT_TOKEN,
LIMIT_EXCEEDED,
OBJECT_NOT_FOUND
};
class AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingError : public Aws::Client::AWSError<ApplicationAutoScalingErrors>
{
public:
ApplicationAutoScalingError() {}
ApplicationAutoScalingError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<ApplicationAutoScalingErrors>(rhs) {}
ApplicationAutoScalingError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<ApplicationAutoScalingErrors>(rhs) {}
ApplicationAutoScalingError(const Aws::Client::AWSError<ApplicationAutoScalingErrors>& rhs) : Aws::Client::AWSError<ApplicationAutoScalingErrors>(rhs) {}
ApplicationAutoScalingError(Aws::Client::AWSError<ApplicationAutoScalingErrors>&& rhs) : Aws::Client::AWSError<ApplicationAutoScalingErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace ApplicationAutoScalingErrorMapper
{
AWS_APPLICATIONAUTOSCALING_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
class AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~ApplicationAutoScalingRequest () {}
void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
inline Aws::Http::HeaderValueCollection GetHeaders() const override
{
auto headers = GetRequestSpecificHeaders();
if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
{
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_1 ));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2016-02-06"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,29 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#ifdef _MSC_VER
//disable windows complaining about max template size.
#pragma warning (disable : 4503)
#endif // _MSC_VER
#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#endif // _MSC_VER
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_APPLICATIONAUTOSCALING_EXPORTS
#define AWS_APPLICATIONAUTOSCALING_API __declspec(dllexport)
#else
#define AWS_APPLICATIONAUTOSCALING_API __declspec(dllimport)
#endif /* AWS_APPLICATIONAUTOSCALING_EXPORTS */
#else
#define AWS_APPLICATIONAUTOSCALING_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_APPLICATIONAUTOSCALING_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class AdjustmentType
{
NOT_SET,
ChangeInCapacity,
PercentChangeInCapacity,
ExactCapacity
};
namespace AdjustmentTypeMapper
{
AWS_APPLICATIONAUTOSCALING_API AdjustmentType GetAdjustmentTypeForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForAdjustmentType(AdjustmentType value);
} // namespace AdjustmentTypeMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a CloudWatch alarm associated with a scaling policy.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/Alarm">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API Alarm
{
public:
Alarm();
Alarm(Aws::Utils::Json::JsonView jsonValue);
Alarm& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the alarm.</p>
*/
inline const Aws::String& GetAlarmName() const{ return m_alarmName; }
/**
* <p>The name of the alarm.</p>
*/
inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); }
/**
* <p>The name of the alarm.</p>
*/
inline Alarm& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline Alarm& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline Alarm& WithAlarmName(const char* value) { SetAlarmName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline const Aws::String& GetAlarmARN() const{ return m_alarmARN; }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline bool AlarmARNHasBeenSet() const { return m_alarmARNHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline void SetAlarmARN(const Aws::String& value) { m_alarmARNHasBeenSet = true; m_alarmARN = value; }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline void SetAlarmARN(Aws::String&& value) { m_alarmARNHasBeenSet = true; m_alarmARN = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline void SetAlarmARN(const char* value) { m_alarmARNHasBeenSet = true; m_alarmARN.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline Alarm& WithAlarmARN(const Aws::String& value) { SetAlarmARN(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline Alarm& WithAlarmARN(Aws::String&& value) { SetAlarmARN(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline Alarm& WithAlarmARN(const char* value) { SetAlarmARN(value); return *this;}
private:
Aws::String m_alarmName;
bool m_alarmNameHasBeenSet;
Aws::String m_alarmARN;
bool m_alarmARNHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,290 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/application-autoscaling/model/MetricStatistic.h>
#include <aws/application-autoscaling/model/MetricDimension.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a CloudWatch metric of your choosing for a target tracking scaling
* policy to use with Application Auto Scaling.</p> <p>For information about the
* available metrics for a service, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html">AWS
* Services That Publish CloudWatch Metrics</a> in the <i>Amazon CloudWatch User
* Guide</i>.</p> <p>To create your customized metric specification:</p> <ul> <li>
* <p>Add values for each required parameter from CloudWatch. You can use an
* existing metric, or a new metric that you create. To use your own metric, you
* must first publish the metric to CloudWatch. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publish
* Custom Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p> </li> <li>
* <p>Choose a metric that changes proportionally with capacity. The value of the
* metric should increase or decrease in inverse proportion to the number of
* capacity units. That is, the value of the metric should decrease when capacity
* increases, and increase when capacity decreases. </p> </li> </ul> <p>For more
* information about CloudWatch, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html">Amazon
* CloudWatch Concepts</a>. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/CustomizedMetricSpecification">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API CustomizedMetricSpecification
{
public:
CustomizedMetricSpecification();
CustomizedMetricSpecification(Aws::Utils::Json::JsonView jsonValue);
CustomizedMetricSpecification& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the metric. </p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric. </p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric. </p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric. </p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric. </p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric. </p>
*/
inline CustomizedMetricSpecification& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric. </p>
*/
inline CustomizedMetricSpecification& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric. </p>
*/
inline CustomizedMetricSpecification& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace of the metric.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace of the metric.</p>
*/
inline CustomizedMetricSpecification& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline CustomizedMetricSpecification& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline CustomizedMetricSpecification& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline const Aws::Vector<MetricDimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline void SetDimensions(const Aws::Vector<MetricDimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline void SetDimensions(Aws::Vector<MetricDimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline CustomizedMetricSpecification& WithDimensions(const Aws::Vector<MetricDimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline CustomizedMetricSpecification& WithDimensions(Aws::Vector<MetricDimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline CustomizedMetricSpecification& AddDimensions(const MetricDimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The dimensions of the metric. </p> <p>Conditional: If you published your
* metric with dimensions, you must specify the same dimensions in your scaling
* policy.</p>
*/
inline CustomizedMetricSpecification& AddDimensions(MetricDimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The statistic of the metric.</p>
*/
inline const MetricStatistic& GetStatistic() const{ return m_statistic; }
/**
* <p>The statistic of the metric.</p>
*/
inline bool StatisticHasBeenSet() const { return m_statisticHasBeenSet; }
/**
* <p>The statistic of the metric.</p>
*/
inline void SetStatistic(const MetricStatistic& value) { m_statisticHasBeenSet = true; m_statistic = value; }
/**
* <p>The statistic of the metric.</p>
*/
inline void SetStatistic(MetricStatistic&& value) { m_statisticHasBeenSet = true; m_statistic = std::move(value); }
/**
* <p>The statistic of the metric.</p>
*/
inline CustomizedMetricSpecification& WithStatistic(const MetricStatistic& value) { SetStatistic(value); return *this;}
/**
* <p>The statistic of the metric.</p>
*/
inline CustomizedMetricSpecification& WithStatistic(MetricStatistic&& value) { SetStatistic(std::move(value)); return *this;}
/**
* <p>The unit of the metric.</p>
*/
inline const Aws::String& GetUnit() const{ return m_unit; }
/**
* <p>The unit of the metric.</p>
*/
inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
/**
* <p>The unit of the metric.</p>
*/
inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; }
/**
* <p>The unit of the metric.</p>
*/
inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); }
/**
* <p>The unit of the metric.</p>
*/
inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); }
/**
* <p>The unit of the metric.</p>
*/
inline CustomizedMetricSpecification& WithUnit(const Aws::String& value) { SetUnit(value); return *this;}
/**
* <p>The unit of the metric.</p>
*/
inline CustomizedMetricSpecification& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;}
/**
* <p>The unit of the metric.</p>
*/
inline CustomizedMetricSpecification& WithUnit(const char* value) { SetUnit(value); return *this;}
private:
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::Vector<MetricDimension> m_dimensions;
bool m_dimensionsHasBeenSet;
MetricStatistic m_statistic;
bool m_statisticHasBeenSet;
Aws::String m_unit;
bool m_unitHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,701 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API DeleteScalingPolicyRequest : public ApplicationAutoScalingRequest
{
public:
DeleteScalingPolicyRequest();
// 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 "DeleteScalingPolicy"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the scaling policy.</p>
*/
inline const Aws::String& GetPolicyName() const{ return m_policyName; }
/**
* <p>The name of the scaling policy.</p>
*/
inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); }
/**
* <p>The name of the scaling policy.</p>
*/
inline DeleteScalingPolicyRequest& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;}
/**
* <p>The name of the scaling policy.</p>
*/
inline DeleteScalingPolicyRequest& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;}
/**
* <p>The name of the scaling policy.</p>
*/
inline DeleteScalingPolicyRequest& WithPolicyName(const char* value) { SetPolicyName(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DeleteScalingPolicyRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DeleteScalingPolicyRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeleteScalingPolicyRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeleteScalingPolicyRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeleteScalingPolicyRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DeleteScalingPolicyRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DeleteScalingPolicyRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
private:
Aws::String m_policyName;
bool m_policyNameHasBeenSet;
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API DeleteScalingPolicyResult
{
public:
DeleteScalingPolicyResult();
DeleteScalingPolicyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteScalingPolicyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,701 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API DeleteScheduledActionRequest : public ApplicationAutoScalingRequest
{
public:
DeleteScheduledActionRequest();
// 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 "DeleteScheduledAction"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DeleteScheduledActionRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DeleteScheduledActionRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The name of the scheduled action.</p>
*/
inline const Aws::String& GetScheduledActionName() const{ return m_scheduledActionName; }
/**
* <p>The name of the scheduled action.</p>
*/
inline bool ScheduledActionNameHasBeenSet() const { return m_scheduledActionNameHasBeenSet; }
/**
* <p>The name of the scheduled action.</p>
*/
inline void SetScheduledActionName(const Aws::String& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = value; }
/**
* <p>The name of the scheduled action.</p>
*/
inline void SetScheduledActionName(Aws::String&& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = std::move(value); }
/**
* <p>The name of the scheduled action.</p>
*/
inline void SetScheduledActionName(const char* value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName.assign(value); }
/**
* <p>The name of the scheduled action.</p>
*/
inline DeleteScheduledActionRequest& WithScheduledActionName(const Aws::String& value) { SetScheduledActionName(value); return *this;}
/**
* <p>The name of the scheduled action.</p>
*/
inline DeleteScheduledActionRequest& WithScheduledActionName(Aws::String&& value) { SetScheduledActionName(std::move(value)); return *this;}
/**
* <p>The name of the scheduled action.</p>
*/
inline DeleteScheduledActionRequest& WithScheduledActionName(const char* value) { SetScheduledActionName(value); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeleteScheduledActionRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeleteScheduledActionRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeleteScheduledActionRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DeleteScheduledActionRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DeleteScheduledActionRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
private:
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_scheduledActionName;
bool m_scheduledActionNameHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API DeleteScheduledActionResult
{
public:
DeleteScheduledActionResult();
DeleteScheduledActionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteScheduledActionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,663 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API DeregisterScalableTargetRequest : public ApplicationAutoScalingRequest
{
public:
DeregisterScalableTargetRequest();
// 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 "DeregisterScalableTarget"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DeregisterScalableTargetRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DeregisterScalableTargetRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeregisterScalableTargetRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeregisterScalableTargetRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DeregisterScalableTargetRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DeregisterScalableTargetRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DeregisterScalableTargetRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(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;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API DeregisterScalableTargetResult
{
public:
DeregisterScalableTargetResult();
DeregisterScalableTargetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeregisterScalableTargetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,808 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API DescribeScalableTargetsRequest : public ApplicationAutoScalingRequest
{
public:
DescribeScalableTargetsRequest();
// 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 "DescribeScalableTargets"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScalableTargetsRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScalableTargetsRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::Vector<Aws::String>& GetResourceIds() const{ return m_resourceIds; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdsHasBeenSet() const { return m_resourceIdsHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceIds(const Aws::Vector<Aws::String>& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = value; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceIds(Aws::Vector<Aws::String>&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = std::move(value); }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalableTargetsRequest& WithResourceIds(const Aws::Vector<Aws::String>& value) { SetResourceIds(value); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalableTargetsRequest& WithResourceIds(Aws::Vector<Aws::String>&& value) { SetResourceIds(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalableTargetsRequest& AddResourceIds(const Aws::String& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalableTargetsRequest& AddResourceIds(Aws::String&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(std::move(value)); return *this; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalableTargetsRequest& AddResourceIds(const char* value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property. If you
* specify a scalable dimension, you must also specify a resource ID.</p> <ul> <li>
* <p> <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property. If you
* specify a scalable dimension, you must also specify a resource ID.</p> <ul> <li>
* <p> <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property. If you
* specify a scalable dimension, you must also specify a resource ID.</p> <ul> <li>
* <p> <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property. If you
* specify a scalable dimension, you must also specify a resource ID.</p> <ul> <li>
* <p> <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property. If you
* specify a scalable dimension, you must also specify a resource ID.</p> <ul> <li>
* <p> <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScalableTargetsRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property. If you
* specify a scalable dimension, you must also specify a resource ID.</p> <ul> <li>
* <p> <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScalableTargetsRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline DescribeScalableTargetsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalableTargetsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalableTargetsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalableTargetsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::Vector<Aws::String> m_resourceIds;
bool m_resourceIdsHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableTarget.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API DescribeScalableTargetsResult
{
public:
DescribeScalableTargetsResult();
DescribeScalableTargetsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeScalableTargetsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The scalable targets that match the request parameters.</p>
*/
inline const Aws::Vector<ScalableTarget>& GetScalableTargets() const{ return m_scalableTargets; }
/**
* <p>The scalable targets that match the request parameters.</p>
*/
inline void SetScalableTargets(const Aws::Vector<ScalableTarget>& value) { m_scalableTargets = value; }
/**
* <p>The scalable targets that match the request parameters.</p>
*/
inline void SetScalableTargets(Aws::Vector<ScalableTarget>&& value) { m_scalableTargets = std::move(value); }
/**
* <p>The scalable targets that match the request parameters.</p>
*/
inline DescribeScalableTargetsResult& WithScalableTargets(const Aws::Vector<ScalableTarget>& value) { SetScalableTargets(value); return *this;}
/**
* <p>The scalable targets that match the request parameters.</p>
*/
inline DescribeScalableTargetsResult& WithScalableTargets(Aws::Vector<ScalableTarget>&& value) { SetScalableTargets(std::move(value)); return *this;}
/**
* <p>The scalable targets that match the request parameters.</p>
*/
inline DescribeScalableTargetsResult& AddScalableTargets(const ScalableTarget& value) { m_scalableTargets.push_back(value); return *this; }
/**
* <p>The scalable targets that match the request parameters.</p>
*/
inline DescribeScalableTargetsResult& AddScalableTargets(ScalableTarget&& value) { m_scalableTargets.push_back(std::move(value)); return *this; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalableTargetsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalableTargetsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalableTargetsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<ScalableTarget> m_scalableTargets;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,763 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API DescribeScalingActivitiesRequest : public ApplicationAutoScalingRequest
{
public:
DescribeScalingActivitiesRequest();
// 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 "DescribeScalingActivities"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScalingActivitiesRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScalingActivitiesRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalingActivitiesRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalingActivitiesRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalingActivitiesRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScalingActivitiesRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScalingActivitiesRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline DescribeScalingActivitiesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalingActivitiesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalingActivitiesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalingActivitiesRequest& WithNextToken(const char* value) { SetNextToken(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_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalingActivity.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API DescribeScalingActivitiesResult
{
public:
DescribeScalingActivitiesResult();
DescribeScalingActivitiesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeScalingActivitiesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of scaling activity objects.</p>
*/
inline const Aws::Vector<ScalingActivity>& GetScalingActivities() const{ return m_scalingActivities; }
/**
* <p>A list of scaling activity objects.</p>
*/
inline void SetScalingActivities(const Aws::Vector<ScalingActivity>& value) { m_scalingActivities = value; }
/**
* <p>A list of scaling activity objects.</p>
*/
inline void SetScalingActivities(Aws::Vector<ScalingActivity>&& value) { m_scalingActivities = std::move(value); }
/**
* <p>A list of scaling activity objects.</p>
*/
inline DescribeScalingActivitiesResult& WithScalingActivities(const Aws::Vector<ScalingActivity>& value) { SetScalingActivities(value); return *this;}
/**
* <p>A list of scaling activity objects.</p>
*/
inline DescribeScalingActivitiesResult& WithScalingActivities(Aws::Vector<ScalingActivity>&& value) { SetScalingActivities(std::move(value)); return *this;}
/**
* <p>A list of scaling activity objects.</p>
*/
inline DescribeScalingActivitiesResult& AddScalingActivities(const ScalingActivity& value) { m_scalingActivities.push_back(value); return *this; }
/**
* <p>A list of scaling activity objects.</p>
*/
inline DescribeScalingActivitiesResult& AddScalingActivities(ScalingActivity&& value) { m_scalingActivities.push_back(std::move(value)); return *this; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalingActivitiesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalingActivitiesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalingActivitiesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<ScalingActivity> m_scalingActivities;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,813 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API DescribeScalingPoliciesRequest : public ApplicationAutoScalingRequest
{
public:
DescribeScalingPoliciesRequest();
// 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 "DescribeScalingPolicies"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline const Aws::Vector<Aws::String>& GetPolicyNames() const{ return m_policyNames; }
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline bool PolicyNamesHasBeenSet() const { return m_policyNamesHasBeenSet; }
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline void SetPolicyNames(const Aws::Vector<Aws::String>& value) { m_policyNamesHasBeenSet = true; m_policyNames = value; }
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline void SetPolicyNames(Aws::Vector<Aws::String>&& value) { m_policyNamesHasBeenSet = true; m_policyNames = std::move(value); }
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline DescribeScalingPoliciesRequest& WithPolicyNames(const Aws::Vector<Aws::String>& value) { SetPolicyNames(value); return *this;}
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline DescribeScalingPoliciesRequest& WithPolicyNames(Aws::Vector<Aws::String>&& value) { SetPolicyNames(std::move(value)); return *this;}
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline DescribeScalingPoliciesRequest& AddPolicyNames(const Aws::String& value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(value); return *this; }
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline DescribeScalingPoliciesRequest& AddPolicyNames(Aws::String&& value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(std::move(value)); return *this; }
/**
* <p>The names of the scaling policies to describe.</p>
*/
inline DescribeScalingPoliciesRequest& AddPolicyNames(const char* value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(value); return *this; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScalingPoliciesRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScalingPoliciesRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalingPoliciesRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalingPoliciesRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScalingPoliciesRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScalingPoliciesRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScalingPoliciesRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of scalable targets. This value can be between 1 and 50.
* The default value is 50.</p> <p>If this parameter is used, the operation returns
* up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline DescribeScalingPoliciesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalingPoliciesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalingPoliciesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScalingPoliciesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_policyNames;
bool m_policyNamesHasBeenSet;
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalingPolicy.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API DescribeScalingPoliciesResult
{
public:
DescribeScalingPoliciesResult();
DescribeScalingPoliciesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeScalingPoliciesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the scaling policies.</p>
*/
inline const Aws::Vector<ScalingPolicy>& GetScalingPolicies() const{ return m_scalingPolicies; }
/**
* <p>Information about the scaling policies.</p>
*/
inline void SetScalingPolicies(const Aws::Vector<ScalingPolicy>& value) { m_scalingPolicies = value; }
/**
* <p>Information about the scaling policies.</p>
*/
inline void SetScalingPolicies(Aws::Vector<ScalingPolicy>&& value) { m_scalingPolicies = std::move(value); }
/**
* <p>Information about the scaling policies.</p>
*/
inline DescribeScalingPoliciesResult& WithScalingPolicies(const Aws::Vector<ScalingPolicy>& value) { SetScalingPolicies(value); return *this;}
/**
* <p>Information about the scaling policies.</p>
*/
inline DescribeScalingPoliciesResult& WithScalingPolicies(Aws::Vector<ScalingPolicy>&& value) { SetScalingPolicies(std::move(value)); return *this;}
/**
* <p>Information about the scaling policies.</p>
*/
inline DescribeScalingPoliciesResult& AddScalingPolicies(const ScalingPolicy& value) { m_scalingPolicies.push_back(value); return *this; }
/**
* <p>Information about the scaling policies.</p>
*/
inline DescribeScalingPoliciesResult& AddScalingPolicies(ScalingPolicy&& value) { m_scalingPolicies.push_back(std::move(value)); return *this; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalingPoliciesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalingPoliciesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScalingPoliciesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<ScalingPolicy> m_scalingPolicies;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,813 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API DescribeScheduledActionsRequest : public ApplicationAutoScalingRequest
{
public:
DescribeScheduledActionsRequest();
// 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 "DescribeScheduledActions"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline const Aws::Vector<Aws::String>& GetScheduledActionNames() const{ return m_scheduledActionNames; }
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline bool ScheduledActionNamesHasBeenSet() const { return m_scheduledActionNamesHasBeenSet; }
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline void SetScheduledActionNames(const Aws::Vector<Aws::String>& value) { m_scheduledActionNamesHasBeenSet = true; m_scheduledActionNames = value; }
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline void SetScheduledActionNames(Aws::Vector<Aws::String>&& value) { m_scheduledActionNamesHasBeenSet = true; m_scheduledActionNames = std::move(value); }
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline DescribeScheduledActionsRequest& WithScheduledActionNames(const Aws::Vector<Aws::String>& value) { SetScheduledActionNames(value); return *this;}
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline DescribeScheduledActionsRequest& WithScheduledActionNames(Aws::Vector<Aws::String>&& value) { SetScheduledActionNames(std::move(value)); return *this;}
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline DescribeScheduledActionsRequest& AddScheduledActionNames(const Aws::String& value) { m_scheduledActionNamesHasBeenSet = true; m_scheduledActionNames.push_back(value); return *this; }
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline DescribeScheduledActionsRequest& AddScheduledActionNames(Aws::String&& value) { m_scheduledActionNamesHasBeenSet = true; m_scheduledActionNames.push_back(std::move(value)); return *this; }
/**
* <p>The names of the scheduled actions to describe.</p>
*/
inline DescribeScheduledActionsRequest& AddScheduledActionNames(const char* value) { m_scheduledActionNamesHasBeenSet = true; m_scheduledActionNames.push_back(value); return *this; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScheduledActionsRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline DescribeScheduledActionsRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScheduledActionsRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScheduledActionsRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier. If you specify a
* scalable dimension, you must also specify a resource ID.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline DescribeScheduledActionsRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScheduledActionsRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property. If you specify a scalable dimension, you
* must also specify a resource ID.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline DescribeScheduledActionsRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The maximum number of scheduled action results. This value can be between 1
* and 50. The default value is 50.</p> <p>If this parameter is used, the operation
* returns up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of scheduled action results. This value can be between 1
* and 50. The default value is 50.</p> <p>If this parameter is used, the operation
* returns up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of scheduled action results. This value can be between 1
* and 50. The default value is 50.</p> <p>If this parameter is used, the operation
* returns up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of scheduled action results. This value can be between 1
* and 50. The default value is 50.</p> <p>If this parameter is used, the operation
* returns up to <code>MaxResults</code> results at a time, along with a
* <code>NextToken</code> value. To get the next set of results, include the
* <code>NextToken</code> value in a subsequent call. If this parameter is not
* used, the operation returns up to 50 results and a <code>NextToken</code> value,
* if applicable.</p>
*/
inline DescribeScheduledActionsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScheduledActionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScheduledActionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results.</p>
*/
inline DescribeScheduledActionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_scheduledActionNames;
bool m_scheduledActionNamesHasBeenSet;
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScheduledAction.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API DescribeScheduledActionsResult
{
public:
DescribeScheduledActionsResult();
DescribeScheduledActionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeScheduledActionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the scheduled actions.</p>
*/
inline const Aws::Vector<ScheduledAction>& GetScheduledActions() const{ return m_scheduledActions; }
/**
* <p>Information about the scheduled actions.</p>
*/
inline void SetScheduledActions(const Aws::Vector<ScheduledAction>& value) { m_scheduledActions = value; }
/**
* <p>Information about the scheduled actions.</p>
*/
inline void SetScheduledActions(Aws::Vector<ScheduledAction>&& value) { m_scheduledActions = std::move(value); }
/**
* <p>Information about the scheduled actions.</p>
*/
inline DescribeScheduledActionsResult& WithScheduledActions(const Aws::Vector<ScheduledAction>& value) { SetScheduledActions(value); return *this;}
/**
* <p>Information about the scheduled actions.</p>
*/
inline DescribeScheduledActionsResult& WithScheduledActions(Aws::Vector<ScheduledAction>&& value) { SetScheduledActions(std::move(value)); return *this;}
/**
* <p>Information about the scheduled actions.</p>
*/
inline DescribeScheduledActionsResult& AddScheduledActions(const ScheduledAction& value) { m_scheduledActions.push_back(value); return *this; }
/**
* <p>Information about the scheduled actions.</p>
*/
inline DescribeScheduledActionsResult& AddScheduledActions(ScheduledAction&& value) { m_scheduledActions.push_back(std::move(value)); return *this; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScheduledActionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScheduledActionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token required to get the next set of results. This value is
* <code>null</code> if there are no more results to return.</p>
*/
inline DescribeScheduledActionsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<ScheduledAction> m_scheduledActions;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class MetricAggregationType
{
NOT_SET,
Average,
Minimum,
Maximum
};
namespace MetricAggregationTypeMapper
{
AWS_APPLICATIONAUTOSCALING_API MetricAggregationType GetMetricAggregationTypeForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForMetricAggregationType(MetricAggregationType value);
} // namespace MetricAggregationTypeMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Describes the dimension names and values associated with a
* metric.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/MetricDimension">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API MetricDimension
{
public:
MetricDimension();
MetricDimension(Aws::Utils::Json::JsonView jsonValue);
MetricDimension& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the dimension.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the dimension.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the dimension.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the dimension.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the dimension.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the dimension.</p>
*/
inline MetricDimension& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the dimension.</p>
*/
inline MetricDimension& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the dimension.</p>
*/
inline MetricDimension& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The value of the dimension.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value of the dimension.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value of the dimension.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value of the dimension.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value of the dimension.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value of the dimension.</p>
*/
inline MetricDimension& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value of the dimension.</p>
*/
inline MetricDimension& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value of the dimension.</p>
*/
inline MetricDimension& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class MetricStatistic
{
NOT_SET,
Average,
Minimum,
Maximum,
SampleCount,
Sum
};
namespace MetricStatisticMapper
{
AWS_APPLICATIONAUTOSCALING_API MetricStatistic GetMetricStatisticForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForMetricStatistic(MetricStatistic value);
} // namespace MetricStatisticMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,45 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class MetricType
{
NOT_SET,
DynamoDBReadCapacityUtilization,
DynamoDBWriteCapacityUtilization,
ALBRequestCountPerTarget,
RDSReaderAverageCPUUtilization,
RDSReaderAverageDatabaseConnections,
EC2SpotFleetRequestAverageCPUUtilization,
EC2SpotFleetRequestAverageNetworkIn,
EC2SpotFleetRequestAverageNetworkOut,
SageMakerVariantInvocationsPerInstance,
ECSServiceAverageCPUUtilization,
ECSServiceAverageMemoryUtilization,
AppStreamAverageCapacityUtilization,
ComprehendInferenceUtilization,
LambdaProvisionedConcurrencyUtilization,
CassandraReadCapacityUtilization,
CassandraWriteCapacityUtilization
};
namespace MetricTypeMapper
{
AWS_APPLICATIONAUTOSCALING_API MetricType GetMetricTypeForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForMetricType(MetricType value);
} // namespace MetricTypeMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class PolicyType
{
NOT_SET,
StepScaling,
TargetTrackingScaling
};
namespace PolicyTypeMapper
{
AWS_APPLICATIONAUTOSCALING_API PolicyType GetPolicyTypeForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForPolicyType(PolicyType value);
} // namespace PolicyTypeMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,256 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/model/MetricType.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a predefined metric for a target tracking scaling policy to use
* with Application Auto Scaling.</p> <p>Only the AWS services that you're using
* send metrics to Amazon CloudWatch. To determine whether a desired metric already
* exists by looking up its namespace and dimension using the CloudWatch metrics
* dashboard in the console, follow the procedure in <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html">Building
* Dashboards with CloudWatch</a> in the <i>Application Auto Scaling User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PredefinedMetricSpecification">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API PredefinedMetricSpecification
{
public:
PredefinedMetricSpecification();
PredefinedMetricSpecification(Aws::Utils::Json::JsonView jsonValue);
PredefinedMetricSpecification& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The metric type. The <code>ALBRequestCountPerTarget</code> metric type
* applies only to Spot Fleet requests and ECS services.</p>
*/
inline const MetricType& GetPredefinedMetricType() const{ return m_predefinedMetricType; }
/**
* <p>The metric type. The <code>ALBRequestCountPerTarget</code> metric type
* applies only to Spot Fleet requests and ECS services.</p>
*/
inline bool PredefinedMetricTypeHasBeenSet() const { return m_predefinedMetricTypeHasBeenSet; }
/**
* <p>The metric type. The <code>ALBRequestCountPerTarget</code> metric type
* applies only to Spot Fleet requests and ECS services.</p>
*/
inline void SetPredefinedMetricType(const MetricType& value) { m_predefinedMetricTypeHasBeenSet = true; m_predefinedMetricType = value; }
/**
* <p>The metric type. The <code>ALBRequestCountPerTarget</code> metric type
* applies only to Spot Fleet requests and ECS services.</p>
*/
inline void SetPredefinedMetricType(MetricType&& value) { m_predefinedMetricTypeHasBeenSet = true; m_predefinedMetricType = std::move(value); }
/**
* <p>The metric type. The <code>ALBRequestCountPerTarget</code> metric type
* applies only to Spot Fleet requests and ECS services.</p>
*/
inline PredefinedMetricSpecification& WithPredefinedMetricType(const MetricType& value) { SetPredefinedMetricType(value); return *this;}
/**
* <p>The metric type. The <code>ALBRequestCountPerTarget</code> metric type
* applies only to Spot Fleet requests and ECS services.</p>
*/
inline PredefinedMetricSpecification& WithPredefinedMetricType(MetricType&& value) { SetPredefinedMetricType(std::move(value)); return *this;}
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline const Aws::String& GetResourceLabel() const{ return m_resourceLabel; }
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline bool ResourceLabelHasBeenSet() const { return m_resourceLabelHasBeenSet; }
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline void SetResourceLabel(const Aws::String& value) { m_resourceLabelHasBeenSet = true; m_resourceLabel = value; }
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline void SetResourceLabel(Aws::String&& value) { m_resourceLabelHasBeenSet = true; m_resourceLabel = std::move(value); }
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline void SetResourceLabel(const char* value) { m_resourceLabelHasBeenSet = true; m_resourceLabel.assign(value); }
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline PredefinedMetricSpecification& WithResourceLabel(const Aws::String& value) { SetResourceLabel(value); return *this;}
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline PredefinedMetricSpecification& WithResourceLabel(Aws::String&& value) { SetResourceLabel(std::move(value)); return *this;}
/**
* <p>Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is <code>ALBRequestCountPerTarget</code>
* and there is a target group attached to the Spot Fleet request or ECS
* service.</p> <p>Elastic Load Balancing sends data about your load balancers to
* Amazon CloudWatch. CloudWatch collects the data and specifies the format to use
* to access the data. The format is
* app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
* where:</p> <ul> <li> <p>app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;
* is the final portion of the load balancer ARN</p> </li> <li>
* <p>targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is the final
* portion of the target group ARN.</p> </li> </ul> <p>To find the ARN for an
* Application Load Balancer, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
* API operation. To find the ARN for the target group, use the <a
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
* API operation.</p>
*/
inline PredefinedMetricSpecification& WithResourceLabel(const char* value) { SetResourceLabel(value); return *this;}
private:
MetricType m_predefinedMetricType;
bool m_predefinedMetricTypeHasBeenSet;
Aws::String m_resourceLabel;
bool m_resourceLabelHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,872 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/application-autoscaling/model/PolicyType.h>
#include <aws/application-autoscaling/model/StepScalingPolicyConfiguration.h>
#include <aws/application-autoscaling/model/TargetTrackingScalingPolicyConfiguration.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API PutScalingPolicyRequest : public ApplicationAutoScalingRequest
{
public:
PutScalingPolicyRequest();
// 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 "PutScalingPolicy"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the scaling policy.</p>
*/
inline const Aws::String& GetPolicyName() const{ return m_policyName; }
/**
* <p>The name of the scaling policy.</p>
*/
inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); }
/**
* <p>The name of the scaling policy.</p>
*/
inline PutScalingPolicyRequest& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;}
/**
* <p>The name of the scaling policy.</p>
*/
inline PutScalingPolicyRequest& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;}
/**
* <p>The name of the scaling policy.</p>
*/
inline PutScalingPolicyRequest& WithPolicyName(const char* value) { SetPolicyName(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline PutScalingPolicyRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline PutScalingPolicyRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline PutScalingPolicyRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline PutScalingPolicyRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline PutScalingPolicyRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline PutScalingPolicyRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline PutScalingPolicyRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The policy type. This parameter is required if you are creating a scaling
* policy.</p> <p>The following policy types are supported: </p> <p>
* <code>TargetTrackingScaling</code>—Not supported for Amazon EMR</p> <p>
* <code>StepScaling</code>—Not supported for DynamoDB, Amazon Comprehend, Lambda,
* or Amazon Keyspaces (for Apache Cassandra).</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline const PolicyType& GetPolicyType() const{ return m_policyType; }
/**
* <p>The policy type. This parameter is required if you are creating a scaling
* policy.</p> <p>The following policy types are supported: </p> <p>
* <code>TargetTrackingScaling</code>—Not supported for Amazon EMR</p> <p>
* <code>StepScaling</code>—Not supported for DynamoDB, Amazon Comprehend, Lambda,
* or Amazon Keyspaces (for Apache Cassandra).</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
/**
* <p>The policy type. This parameter is required if you are creating a scaling
* policy.</p> <p>The following policy types are supported: </p> <p>
* <code>TargetTrackingScaling</code>—Not supported for Amazon EMR</p> <p>
* <code>StepScaling</code>—Not supported for DynamoDB, Amazon Comprehend, Lambda,
* or Amazon Keyspaces (for Apache Cassandra).</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline void SetPolicyType(const PolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
/**
* <p>The policy type. This parameter is required if you are creating a scaling
* policy.</p> <p>The following policy types are supported: </p> <p>
* <code>TargetTrackingScaling</code>—Not supported for Amazon EMR</p> <p>
* <code>StepScaling</code>—Not supported for DynamoDB, Amazon Comprehend, Lambda,
* or Amazon Keyspaces (for Apache Cassandra).</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline void SetPolicyType(PolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); }
/**
* <p>The policy type. This parameter is required if you are creating a scaling
* policy.</p> <p>The following policy types are supported: </p> <p>
* <code>TargetTrackingScaling</code>—Not supported for Amazon EMR</p> <p>
* <code>StepScaling</code>—Not supported for DynamoDB, Amazon Comprehend, Lambda,
* or Amazon Keyspaces (for Apache Cassandra).</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline PutScalingPolicyRequest& WithPolicyType(const PolicyType& value) { SetPolicyType(value); return *this;}
/**
* <p>The policy type. This parameter is required if you are creating a scaling
* policy.</p> <p>The following policy types are supported: </p> <p>
* <code>TargetTrackingScaling</code>—Not supported for Amazon EMR</p> <p>
* <code>StepScaling</code>—Not supported for DynamoDB, Amazon Comprehend, Lambda,
* or Amazon Keyspaces (for Apache Cassandra).</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html">Target
* Tracking Scaling Policies</a> and <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html">Step
* Scaling Policies</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline PutScalingPolicyRequest& WithPolicyType(PolicyType&& value) { SetPolicyType(std::move(value)); return *this;}
/**
* <p>A step scaling policy.</p> <p>This parameter is required if you are creating
* a policy and the policy type is <code>StepScaling</code>.</p>
*/
inline const StepScalingPolicyConfiguration& GetStepScalingPolicyConfiguration() const{ return m_stepScalingPolicyConfiguration; }
/**
* <p>A step scaling policy.</p> <p>This parameter is required if you are creating
* a policy and the policy type is <code>StepScaling</code>.</p>
*/
inline bool StepScalingPolicyConfigurationHasBeenSet() const { return m_stepScalingPolicyConfigurationHasBeenSet; }
/**
* <p>A step scaling policy.</p> <p>This parameter is required if you are creating
* a policy and the policy type is <code>StepScaling</code>.</p>
*/
inline void SetStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = value; }
/**
* <p>A step scaling policy.</p> <p>This parameter is required if you are creating
* a policy and the policy type is <code>StepScaling</code>.</p>
*/
inline void SetStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = std::move(value); }
/**
* <p>A step scaling policy.</p> <p>This parameter is required if you are creating
* a policy and the policy type is <code>StepScaling</code>.</p>
*/
inline PutScalingPolicyRequest& WithStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { SetStepScalingPolicyConfiguration(value); return *this;}
/**
* <p>A step scaling policy.</p> <p>This parameter is required if you are creating
* a policy and the policy type is <code>StepScaling</code>.</p>
*/
inline PutScalingPolicyRequest& WithStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { SetStepScalingPolicyConfiguration(std::move(value)); return *this;}
/**
* <p>A target tracking scaling policy. Includes support for predefined or
* customized metrics.</p> <p>This parameter is required if you are creating a
* policy and the policy type is <code>TargetTrackingScaling</code>.</p>
*/
inline const TargetTrackingScalingPolicyConfiguration& GetTargetTrackingScalingPolicyConfiguration() const{ return m_targetTrackingScalingPolicyConfiguration; }
/**
* <p>A target tracking scaling policy. Includes support for predefined or
* customized metrics.</p> <p>This parameter is required if you are creating a
* policy and the policy type is <code>TargetTrackingScaling</code>.</p>
*/
inline bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const { return m_targetTrackingScalingPolicyConfigurationHasBeenSet; }
/**
* <p>A target tracking scaling policy. Includes support for predefined or
* customized metrics.</p> <p>This parameter is required if you are creating a
* policy and the policy type is <code>TargetTrackingScaling</code>.</p>
*/
inline void SetTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = value; }
/**
* <p>A target tracking scaling policy. Includes support for predefined or
* customized metrics.</p> <p>This parameter is required if you are creating a
* policy and the policy type is <code>TargetTrackingScaling</code>.</p>
*/
inline void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = std::move(value); }
/**
* <p>A target tracking scaling policy. Includes support for predefined or
* customized metrics.</p> <p>This parameter is required if you are creating a
* policy and the policy type is <code>TargetTrackingScaling</code>.</p>
*/
inline PutScalingPolicyRequest& WithTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { SetTargetTrackingScalingPolicyConfiguration(value); return *this;}
/**
* <p>A target tracking scaling policy. Includes support for predefined or
* customized metrics.</p> <p>This parameter is required if you are creating a
* policy and the policy type is <code>TargetTrackingScaling</code>.</p>
*/
inline PutScalingPolicyRequest& WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { SetTargetTrackingScalingPolicyConfiguration(std::move(value)); return *this;}
private:
Aws::String m_policyName;
bool m_policyNameHasBeenSet;
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
PolicyType m_policyType;
bool m_policyTypeHasBeenSet;
StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration;
bool m_stepScalingPolicyConfigurationHasBeenSet;
TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration;
bool m_targetTrackingScalingPolicyConfigurationHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/application-autoscaling/model/Alarm.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API PutScalingPolicyResult
{
public:
PutScalingPolicyResult();
PutScalingPolicyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
PutScalingPolicyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The Amazon Resource Name (ARN) of the resulting scaling policy.</p>
*/
inline const Aws::String& GetPolicyARN() const{ return m_policyARN; }
/**
* <p>The Amazon Resource Name (ARN) of the resulting scaling policy.</p>
*/
inline void SetPolicyARN(const Aws::String& value) { m_policyARN = value; }
/**
* <p>The Amazon Resource Name (ARN) of the resulting scaling policy.</p>
*/
inline void SetPolicyARN(Aws::String&& value) { m_policyARN = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the resulting scaling policy.</p>
*/
inline void SetPolicyARN(const char* value) { m_policyARN.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the resulting scaling policy.</p>
*/
inline PutScalingPolicyResult& WithPolicyARN(const Aws::String& value) { SetPolicyARN(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the resulting scaling policy.</p>
*/
inline PutScalingPolicyResult& WithPolicyARN(Aws::String&& value) { SetPolicyARN(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the resulting scaling policy.</p>
*/
inline PutScalingPolicyResult& WithPolicyARN(const char* value) { SetPolicyARN(value); return *this;}
/**
* <p>The CloudWatch alarms created for the target tracking scaling policy.</p>
*/
inline const Aws::Vector<Alarm>& GetAlarms() const{ return m_alarms; }
/**
* <p>The CloudWatch alarms created for the target tracking scaling policy.</p>
*/
inline void SetAlarms(const Aws::Vector<Alarm>& value) { m_alarms = value; }
/**
* <p>The CloudWatch alarms created for the target tracking scaling policy.</p>
*/
inline void SetAlarms(Aws::Vector<Alarm>&& value) { m_alarms = std::move(value); }
/**
* <p>The CloudWatch alarms created for the target tracking scaling policy.</p>
*/
inline PutScalingPolicyResult& WithAlarms(const Aws::Vector<Alarm>& value) { SetAlarms(value); return *this;}
/**
* <p>The CloudWatch alarms created for the target tracking scaling policy.</p>
*/
inline PutScalingPolicyResult& WithAlarms(Aws::Vector<Alarm>&& value) { SetAlarms(std::move(value)); return *this;}
/**
* <p>The CloudWatch alarms created for the target tracking scaling policy.</p>
*/
inline PutScalingPolicyResult& AddAlarms(const Alarm& value) { m_alarms.push_back(value); return *this; }
/**
* <p>The CloudWatch alarms created for the target tracking scaling policy.</p>
*/
inline PutScalingPolicyResult& AddAlarms(Alarm&& value) { m_alarms.push_back(std::move(value)); return *this; }
private:
Aws::String m_policyARN;
Aws::Vector<Alarm> m_alarms;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,993 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/core/utils/DateTime.h>
#include <aws/application-autoscaling/model/ScalableTargetAction.h>
#include <utility>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
/**
*/
class AWS_APPLICATIONAUTOSCALING_API PutScheduledActionRequest : public ApplicationAutoScalingRequest
{
public:
PutScheduledActionRequest();
// 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 "PutScheduledAction"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline PutScheduledActionRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline PutScheduledActionRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline const Aws::String& GetSchedule() const{ return m_schedule; }
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; }
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline void SetSchedule(const Aws::String& value) { m_scheduleHasBeenSet = true; m_schedule = value; }
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline void SetSchedule(Aws::String&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); }
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline void SetSchedule(const char* value) { m_scheduleHasBeenSet = true; m_schedule.assign(value); }
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline PutScheduledActionRequest& WithSchedule(const Aws::String& value) { SetSchedule(value); return *this;}
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline PutScheduledActionRequest& WithSchedule(Aws::String&& value) { SetSchedule(std::move(value)); return *this;}
/**
* <p>The schedule for this action. The following formats are supported:</p> <ul>
* <li> <p>At expressions -
* "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
* </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
* <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
* "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
* for one-time schedules. Specify the time in UTC.</p> <p>For rate expressions,
* <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
* <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
* | <code>days</code>.</p> <p>For more information about cron expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron
* Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> <p>For
* examples of using these expressions, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html">Scheduled
* Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline PutScheduledActionRequest& WithSchedule(const char* value) { SetSchedule(value); return *this;}
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline const Aws::String& GetScheduledActionName() const{ return m_scheduledActionName; }
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline bool ScheduledActionNameHasBeenSet() const { return m_scheduledActionNameHasBeenSet; }
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline void SetScheduledActionName(const Aws::String& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = value; }
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline void SetScheduledActionName(Aws::String&& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = std::move(value); }
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline void SetScheduledActionName(const char* value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName.assign(value); }
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline PutScheduledActionRequest& WithScheduledActionName(const Aws::String& value) { SetScheduledActionName(value); return *this;}
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline PutScheduledActionRequest& WithScheduledActionName(Aws::String&& value) { SetScheduledActionName(std::move(value)); return *this;}
/**
* <p>The name of the scheduled action. This name must be unique among all other
* scheduled actions on the specified scalable target. </p>
*/
inline PutScheduledActionRequest& WithScheduledActionName(const char* value) { SetScheduledActionName(value); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline PutScheduledActionRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline PutScheduledActionRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scheduled action. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline PutScheduledActionRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline PutScheduledActionRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline PutScheduledActionRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The date and time for this scheduled action to start.</p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The date and time for this scheduled action to start.</p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p>The date and time for this scheduled action to start.</p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p>The date and time for this scheduled action to start.</p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p>The date and time for this scheduled action to start.</p>
*/
inline PutScheduledActionRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The date and time for this scheduled action to start.</p>
*/
inline PutScheduledActionRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The date and time for the recurring schedule to end.</p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p>The date and time for the recurring schedule to end.</p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p>The date and time for the recurring schedule to end.</p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p>The date and time for the recurring schedule to end.</p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p>The date and time for the recurring schedule to end.</p>
*/
inline PutScheduledActionRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p>The date and time for the recurring schedule to end.</p>
*/
inline PutScheduledActionRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
/**
* <p>The new minimum and maximum capacity. You can set both values or just one. At
* the scheduled time, if the current capacity is below the minimum capacity,
* Application Auto Scaling scales out to the minimum capacity. If the current
* capacity is above the maximum capacity, Application Auto Scaling scales in to
* the maximum capacity.</p>
*/
inline const ScalableTargetAction& GetScalableTargetAction() const{ return m_scalableTargetAction; }
/**
* <p>The new minimum and maximum capacity. You can set both values or just one. At
* the scheduled time, if the current capacity is below the minimum capacity,
* Application Auto Scaling scales out to the minimum capacity. If the current
* capacity is above the maximum capacity, Application Auto Scaling scales in to
* the maximum capacity.</p>
*/
inline bool ScalableTargetActionHasBeenSet() const { return m_scalableTargetActionHasBeenSet; }
/**
* <p>The new minimum and maximum capacity. You can set both values or just one. At
* the scheduled time, if the current capacity is below the minimum capacity,
* Application Auto Scaling scales out to the minimum capacity. If the current
* capacity is above the maximum capacity, Application Auto Scaling scales in to
* the maximum capacity.</p>
*/
inline void SetScalableTargetAction(const ScalableTargetAction& value) { m_scalableTargetActionHasBeenSet = true; m_scalableTargetAction = value; }
/**
* <p>The new minimum and maximum capacity. You can set both values or just one. At
* the scheduled time, if the current capacity is below the minimum capacity,
* Application Auto Scaling scales out to the minimum capacity. If the current
* capacity is above the maximum capacity, Application Auto Scaling scales in to
* the maximum capacity.</p>
*/
inline void SetScalableTargetAction(ScalableTargetAction&& value) { m_scalableTargetActionHasBeenSet = true; m_scalableTargetAction = std::move(value); }
/**
* <p>The new minimum and maximum capacity. You can set both values or just one. At
* the scheduled time, if the current capacity is below the minimum capacity,
* Application Auto Scaling scales out to the minimum capacity. If the current
* capacity is above the maximum capacity, Application Auto Scaling scales in to
* the maximum capacity.</p>
*/
inline PutScheduledActionRequest& WithScalableTargetAction(const ScalableTargetAction& value) { SetScalableTargetAction(value); return *this;}
/**
* <p>The new minimum and maximum capacity. You can set both values or just one. At
* the scheduled time, if the current capacity is below the minimum capacity,
* Application Auto Scaling scales out to the minimum capacity. If the current
* capacity is above the maximum capacity, Application Auto Scaling scales in to
* the maximum capacity.</p>
*/
inline PutScheduledActionRequest& WithScalableTargetAction(ScalableTargetAction&& value) { SetScalableTargetAction(std::move(value)); return *this;}
private:
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_schedule;
bool m_scheduleHasBeenSet;
Aws::String m_scheduledActionName;
bool m_scheduledActionNameHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
ScalableTargetAction m_scalableTargetAction;
bool m_scalableTargetActionHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API PutScheduledActionResult
{
public:
PutScheduledActionResult();
PutScheduledActionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
PutScheduledActionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,960 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/ApplicationAutoScalingRequest.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/application-autoscaling/model/SuspendedState.h>
#include <utility>
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;
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline RegisterScalableTargetRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource. For a resource
* provided by your own application or service, use <code>custom-resource</code>
* instead.</p>
*/
inline RegisterScalableTargetRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline RegisterScalableTargetRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline RegisterScalableTargetRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource that is associated with the scalable target.
* This string consists of the resource type and unique identifier.</p> <ul> <li>
* <p>ECS service - The resource type is <code>service</code> and the unique
* identifier is the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline RegisterScalableTargetRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline RegisterScalableTargetRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline RegisterScalableTargetRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>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. </p> <p>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.</p>
*/
inline int GetMinCapacity() const{ return m_minCapacity; }
/**
* <p>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. </p> <p>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.</p>
*/
inline bool MinCapacityHasBeenSet() const { return m_minCapacityHasBeenSet; }
/**
* <p>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. </p> <p>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.</p>
*/
inline void SetMinCapacity(int value) { m_minCapacityHasBeenSet = true; m_minCapacity = value; }
/**
* <p>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. </p> <p>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.</p>
*/
inline RegisterScalableTargetRequest& WithMinCapacity(int value) { SetMinCapacity(value); return *this;}
/**
* <p>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. </p> <p>This parameter is
* required if you are registering a scalable target.</p>
*/
inline int GetMaxCapacity() const{ return m_maxCapacity; }
/**
* <p>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. </p> <p>This parameter is
* required if you are registering a scalable target.</p>
*/
inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
/**
* <p>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. </p> <p>This parameter is
* required if you are registering a scalable target.</p>
*/
inline void SetMaxCapacity(int value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; }
/**
* <p>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. </p> <p>This parameter is
* required if you are registering a scalable target.</p>
*/
inline RegisterScalableTargetRequest& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;}
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline RegisterScalableTargetRequest& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline RegisterScalableTargetRequest& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
/**
* <p>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.
* </p> <p>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 <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles">Application
* Auto Scaling IAM Roles</a>.</p>
*/
inline RegisterScalableTargetRequest& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspending
* and Resuming Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline const SuspendedState& GetSuspendedState() const{ return m_suspendedState; }
/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspending
* and Resuming Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline bool SuspendedStateHasBeenSet() const { return m_suspendedStateHasBeenSet; }
/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspending
* and Resuming Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline void SetSuspendedState(const SuspendedState& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = value; }
/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspending
* and Resuming Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline void SetSuspendedState(SuspendedState&& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = std::move(value); }
/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspending
* and Resuming Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
inline RegisterScalableTargetRequest& WithSuspendedState(const SuspendedState& value) { SetSuspendedState(value); return *this;}
/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspending
* and Resuming Scaling</a> in the <i>Application Auto Scaling User Guide</i>.</p>
*/
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

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
class AWS_APPLICATIONAUTOSCALING_API RegisterScalableTargetResult
{
public:
RegisterScalableTargetResult();
RegisterScalableTargetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
RegisterScalableTargetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,44 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class ScalableDimension
{
NOT_SET,
ecs_service_DesiredCount,
ec2_spot_fleet_request_TargetCapacity,
elasticmapreduce_instancegroup_InstanceCount,
appstream_fleet_DesiredCapacity,
dynamodb_table_ReadCapacityUnits,
dynamodb_table_WriteCapacityUnits,
dynamodb_index_ReadCapacityUnits,
dynamodb_index_WriteCapacityUnits,
rds_cluster_ReadReplicaCount,
sagemaker_variant_DesiredInstanceCount,
custom_resource_ResourceType_Property,
comprehend_document_classifier_endpoint_DesiredInferenceUnits,
lambda_function_ProvisionedConcurrency,
cassandra_table_ReadCapacityUnits,
cassandra_table_WriteCapacityUnits
};
namespace ScalableDimensionMapper
{
AWS_APPLICATIONAUTOSCALING_API ScalableDimension GetScalableDimensionForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForScalableDimension(ScalableDimension value);
} // namespace ScalableDimensionMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,818 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/core/utils/DateTime.h>
#include <aws/application-autoscaling/model/SuspendedState.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a scalable target.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScalableTarget">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API ScalableTarget
{
public:
ScalableTarget();
ScalableTarget(Aws::Utils::Json::JsonView jsonValue);
ScalableTarget& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline ScalableTarget& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline ScalableTarget& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalableTarget& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalableTarget& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scalable target. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalableTarget& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline ScalableTarget& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension associated with the scalable target. This string
* consists of the service namespace, resource type, and scaling property.</p> <ul>
* <li> <p> <code>ecs:service:DesiredCount</code> - The desired task count of an
* ECS service.</p> </li> <li> <p>
* <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
* Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline ScalableTarget& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The minimum value to scale to in response to a scale-in activity.</p>
*/
inline int GetMinCapacity() const{ return m_minCapacity; }
/**
* <p>The minimum value to scale to in response to a scale-in activity.</p>
*/
inline bool MinCapacityHasBeenSet() const { return m_minCapacityHasBeenSet; }
/**
* <p>The minimum value to scale to in response to a scale-in activity.</p>
*/
inline void SetMinCapacity(int value) { m_minCapacityHasBeenSet = true; m_minCapacity = value; }
/**
* <p>The minimum value to scale to in response to a scale-in activity.</p>
*/
inline ScalableTarget& WithMinCapacity(int value) { SetMinCapacity(value); return *this;}
/**
* <p>The maximum value to scale to in response to a scale-out activity.</p>
*/
inline int GetMaxCapacity() const{ return m_maxCapacity; }
/**
* <p>The maximum value to scale to in response to a scale-out activity.</p>
*/
inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
/**
* <p>The maximum value to scale to in response to a scale-out activity.</p>
*/
inline void SetMaxCapacity(int value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; }
/**
* <p>The maximum value to scale to in response to a scale-out activity.</p>
*/
inline ScalableTarget& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;}
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline ScalableTarget& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline ScalableTarget& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
/**
* <p>The ARN of an IAM role that allows Application Auto Scaling to modify the
* scalable target on your behalf.</p>
*/
inline ScalableTarget& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
/**
* <p>The Unix timestamp for when the scalable target was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
/**
* <p>The Unix timestamp for when the scalable target was created.</p>
*/
inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
/**
* <p>The Unix timestamp for when the scalable target was created.</p>
*/
inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
/**
* <p>The Unix timestamp for when the scalable target was created.</p>
*/
inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
/**
* <p>The Unix timestamp for when the scalable target was created.</p>
*/
inline ScalableTarget& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
/**
* <p>The Unix timestamp for when the scalable target was created.</p>
*/
inline ScalableTarget& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
inline const SuspendedState& GetSuspendedState() const{ return m_suspendedState; }
inline bool SuspendedStateHasBeenSet() const { return m_suspendedStateHasBeenSet; }
inline void SetSuspendedState(const SuspendedState& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = value; }
inline void SetSuspendedState(SuspendedState&& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = std::move(value); }
inline ScalableTarget& WithSuspendedState(const SuspendedState& value) { SetSuspendedState(value); return *this;}
inline ScalableTarget& 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;
Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;
SuspendedState m_suspendedState;
bool m_suspendedStateHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,95 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents the minimum and maximum capacity for a scheduled
* action.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScalableTargetAction">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API ScalableTargetAction
{
public:
ScalableTargetAction();
ScalableTargetAction(Aws::Utils::Json::JsonView jsonValue);
ScalableTargetAction& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The minimum capacity.</p> <p>For Lambda provisioned concurrency, the minimum
* value allowed is 0. For all other resources, the minimum value allowed is 1.</p>
*/
inline int GetMinCapacity() const{ return m_minCapacity; }
/**
* <p>The minimum capacity.</p> <p>For Lambda provisioned concurrency, the minimum
* value allowed is 0. For all other resources, the minimum value allowed is 1.</p>
*/
inline bool MinCapacityHasBeenSet() const { return m_minCapacityHasBeenSet; }
/**
* <p>The minimum capacity.</p> <p>For Lambda provisioned concurrency, the minimum
* value allowed is 0. For all other resources, the minimum value allowed is 1.</p>
*/
inline void SetMinCapacity(int value) { m_minCapacityHasBeenSet = true; m_minCapacity = value; }
/**
* <p>The minimum capacity.</p> <p>For Lambda provisioned concurrency, the minimum
* value allowed is 0. For all other resources, the minimum value allowed is 1.</p>
*/
inline ScalableTargetAction& WithMinCapacity(int value) { SetMinCapacity(value); return *this;}
/**
* <p>The maximum capacity.</p>
*/
inline int GetMaxCapacity() const{ return m_maxCapacity; }
/**
* <p>The maximum capacity.</p>
*/
inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
/**
* <p>The maximum capacity.</p>
*/
inline void SetMaxCapacity(int value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; }
/**
* <p>The maximum capacity.</p>
*/
inline ScalableTargetAction& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;}
private:
int m_minCapacity;
bool m_minCapacityHasBeenSet;
int m_maxCapacity;
bool m_maxCapacityHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,986 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/core/utils/DateTime.h>
#include <aws/application-autoscaling/model/ScalingActivityStatusCode.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a scaling activity.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScalingActivity">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API ScalingActivity
{
public:
ScalingActivity();
ScalingActivity(Aws::Utils::Json::JsonView jsonValue);
ScalingActivity& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline const Aws::String& GetActivityId() const{ return m_activityId; }
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline bool ActivityIdHasBeenSet() const { return m_activityIdHasBeenSet; }
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline void SetActivityId(const Aws::String& value) { m_activityIdHasBeenSet = true; m_activityId = value; }
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline void SetActivityId(Aws::String&& value) { m_activityIdHasBeenSet = true; m_activityId = std::move(value); }
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline void SetActivityId(const char* value) { m_activityIdHasBeenSet = true; m_activityId.assign(value); }
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline ScalingActivity& WithActivityId(const Aws::String& value) { SetActivityId(value); return *this;}
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline ScalingActivity& WithActivityId(Aws::String&& value) { SetActivityId(std::move(value)); return *this;}
/**
* <p>The unique identifier of the scaling activity.</p>
*/
inline ScalingActivity& WithActivityId(const char* value) { SetActivityId(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline ScalingActivity& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline ScalingActivity& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalingActivity& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalingActivity& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling activity. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalingActivity& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline ScalingActivity& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline ScalingActivity& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline ScalingActivity& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline ScalingActivity& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>A simple description of what action the scaling activity intends to
* accomplish.</p>
*/
inline ScalingActivity& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline const Aws::String& GetCause() const{ return m_cause; }
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline bool CauseHasBeenSet() const { return m_causeHasBeenSet; }
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline void SetCause(const Aws::String& value) { m_causeHasBeenSet = true; m_cause = value; }
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline void SetCause(Aws::String&& value) { m_causeHasBeenSet = true; m_cause = std::move(value); }
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline void SetCause(const char* value) { m_causeHasBeenSet = true; m_cause.assign(value); }
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline ScalingActivity& WithCause(const Aws::String& value) { SetCause(value); return *this;}
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline ScalingActivity& WithCause(Aws::String&& value) { SetCause(std::move(value)); return *this;}
/**
* <p>A simple description of what caused the scaling activity to happen.</p>
*/
inline ScalingActivity& WithCause(const char* value) { SetCause(value); return *this;}
/**
* <p>The Unix timestamp for when the scaling activity began.</p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The Unix timestamp for when the scaling activity began.</p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p>The Unix timestamp for when the scaling activity began.</p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p>The Unix timestamp for when the scaling activity began.</p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p>The Unix timestamp for when the scaling activity began.</p>
*/
inline ScalingActivity& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The Unix timestamp for when the scaling activity began.</p>
*/
inline ScalingActivity& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The Unix timestamp for when the scaling activity ended.</p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p>The Unix timestamp for when the scaling activity ended.</p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p>The Unix timestamp for when the scaling activity ended.</p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p>The Unix timestamp for when the scaling activity ended.</p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p>The Unix timestamp for when the scaling activity ended.</p>
*/
inline ScalingActivity& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p>The Unix timestamp for when the scaling activity ended.</p>
*/
inline ScalingActivity& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
/**
* <p>Indicates the status of the scaling activity.</p>
*/
inline const ScalingActivityStatusCode& GetStatusCode() const{ return m_statusCode; }
/**
* <p>Indicates the status of the scaling activity.</p>
*/
inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
/**
* <p>Indicates the status of the scaling activity.</p>
*/
inline void SetStatusCode(const ScalingActivityStatusCode& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
/**
* <p>Indicates the status of the scaling activity.</p>
*/
inline void SetStatusCode(ScalingActivityStatusCode&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); }
/**
* <p>Indicates the status of the scaling activity.</p>
*/
inline ScalingActivity& WithStatusCode(const ScalingActivityStatusCode& value) { SetStatusCode(value); return *this;}
/**
* <p>Indicates the status of the scaling activity.</p>
*/
inline ScalingActivity& WithStatusCode(ScalingActivityStatusCode&& value) { SetStatusCode(std::move(value)); return *this;}
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; }
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; }
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; }
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); }
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); }
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline ScalingActivity& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;}
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline ScalingActivity& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;}
/**
* <p>A simple message about the current status of the scaling activity.</p>
*/
inline ScalingActivity& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;}
/**
* <p>The details about the scaling activity.</p>
*/
inline const Aws::String& GetDetails() const{ return m_details; }
/**
* <p>The details about the scaling activity.</p>
*/
inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; }
/**
* <p>The details about the scaling activity.</p>
*/
inline void SetDetails(const Aws::String& value) { m_detailsHasBeenSet = true; m_details = value; }
/**
* <p>The details about the scaling activity.</p>
*/
inline void SetDetails(Aws::String&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); }
/**
* <p>The details about the scaling activity.</p>
*/
inline void SetDetails(const char* value) { m_detailsHasBeenSet = true; m_details.assign(value); }
/**
* <p>The details about the scaling activity.</p>
*/
inline ScalingActivity& WithDetails(const Aws::String& value) { SetDetails(value); return *this;}
/**
* <p>The details about the scaling activity.</p>
*/
inline ScalingActivity& WithDetails(Aws::String&& value) { SetDetails(std::move(value)); return *this;}
/**
* <p>The details about the scaling activity.</p>
*/
inline ScalingActivity& WithDetails(const char* value) { SetDetails(value); return *this;}
private:
Aws::String m_activityId;
bool m_activityIdHasBeenSet;
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::String m_cause;
bool m_causeHasBeenSet;
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
ScalingActivityStatusCode m_statusCode;
bool m_statusCodeHasBeenSet;
Aws::String m_statusMessage;
bool m_statusMessageHasBeenSet;
Aws::String m_details;
bool m_detailsHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class ScalingActivityStatusCode
{
NOT_SET,
Pending,
InProgress,
Successful,
Overridden,
Unfulfilled,
Failed
};
namespace ScalingActivityStatusCodeMapper
{
AWS_APPLICATIONAUTOSCALING_API ScalingActivityStatusCode GetScalingActivityStatusCodeForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForScalingActivityStatusCode(ScalingActivityStatusCode value);
} // namespace ScalingActivityStatusCodeMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,929 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/application-autoscaling/model/PolicyType.h>
#include <aws/application-autoscaling/model/StepScalingPolicyConfiguration.h>
#include <aws/application-autoscaling/model/TargetTrackingScalingPolicyConfiguration.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/DateTime.h>
#include <aws/application-autoscaling/model/Alarm.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a scaling policy to use with Application Auto
* Scaling.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScalingPolicy">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API ScalingPolicy
{
public:
ScalingPolicy();
ScalingPolicy(Aws::Utils::Json::JsonView jsonValue);
ScalingPolicy& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline const Aws::String& GetPolicyARN() const{ return m_policyARN; }
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline bool PolicyARNHasBeenSet() const { return m_policyARNHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline void SetPolicyARN(const Aws::String& value) { m_policyARNHasBeenSet = true; m_policyARN = value; }
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline void SetPolicyARN(Aws::String&& value) { m_policyARNHasBeenSet = true; m_policyARN = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline void SetPolicyARN(const char* value) { m_policyARNHasBeenSet = true; m_policyARN.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline ScalingPolicy& WithPolicyARN(const Aws::String& value) { SetPolicyARN(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline ScalingPolicy& WithPolicyARN(Aws::String&& value) { SetPolicyARN(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the scaling policy.</p>
*/
inline ScalingPolicy& WithPolicyARN(const char* value) { SetPolicyARN(value); return *this;}
/**
* <p>The name of the scaling policy.</p>
*/
inline const Aws::String& GetPolicyName() const{ return m_policyName; }
/**
* <p>The name of the scaling policy.</p>
*/
inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); }
/**
* <p>The name of the scaling policy.</p>
*/
inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); }
/**
* <p>The name of the scaling policy.</p>
*/
inline ScalingPolicy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;}
/**
* <p>The name of the scaling policy.</p>
*/
inline ScalingPolicy& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;}
/**
* <p>The name of the scaling policy.</p>
*/
inline ScalingPolicy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline ScalingPolicy& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
/**
* <p>The namespace of the AWS service that provides the resource, or a
* <code>custom-resource</code>.</p>
*/
inline ScalingPolicy& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalingPolicy& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalingPolicy& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
/**
* <p>The identifier of the resource associated with the scaling policy. This
* string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
* service - The resource type is <code>service</code> and the unique identifier is
* the cluster name and service name. Example:
* <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet request
* - The resource type is <code>spot-fleet-request</code> and the unique identifier
* is the Spot Fleet request ID. Example:
* <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
* </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
* the unique identifier is the cluster ID and instance group ID. Example:
* <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
* <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
* identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
* </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
* unique identifier is the table name. Example: <code>table/my-table</code>.</p>
* </li> <li> <p>DynamoDB global secondary index - The resource type is
* <code>index</code> and the unique identifier is the index name. Example:
* <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
* cluster - The resource type is <code>cluster</code> and the unique identifier is
* the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
* <p>Amazon SageMaker endpoint variant - The resource type is <code>variant</code>
* and the unique identifier is the resource ID. Example:
* <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
* <p>Custom resources are not supported with a resource type. This parameter must
* specify the <code>OutputValue</code> 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 <a
* href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
* repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
* endpoint - The resource type and unique identifier are specified using the
* endpoint ARN. Example:
* <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
* </li> <li> <p>Lambda provisioned concurrency - The resource type is
* <code>function</code> and the unique identifier is the function name with a
* function version or alias name suffix that is not <code>$LATEST</code>. Example:
* <code>function:my-function:prod</code> or
* <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
* The resource type is <code>table</code> and the unique identifier is the table
* name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> </ul>
*/
inline ScalingPolicy& WithResourceId(const char* value) { SetResourceId(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline ScalingPolicy& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
/**
* <p>The scalable dimension. This string consists of the service namespace,
* resource type, and scaling property.</p> <ul> <li> <p>
* <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
* service.</p> </li> <li> <p> <code>ec2:spot-fleet-request:TargetCapacity</code> -
* The target capacity of a Spot Fleet request.</p> </li> <li> <p>
* <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
* of an EMR Instance Group.</p> </li> <li> <p>
* <code>appstream:fleet:DesiredCapacity</code> - The desired capacity of an
* AppStream 2.0 fleet.</p> </li> <li> <p>
* <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB table.</p> </li> <li> <p>
* <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
* for a DynamoDB global secondary index.</p> </li> <li> <p>
* <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
* Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
* PostgreSQL-compatible edition.</p> </li> <li> <p>
* <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
* instances for an Amazon SageMaker model endpoint variant.</p> </li> <li> <p>
* <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
* a custom resource provided by your own application or service.</p> </li> <li>
* <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
* The number of inference units for an Amazon Comprehend document classification
* endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
* - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
* <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
* for an Amazon Keyspaces table.</p> </li> <li> <p>
* <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
* for an Amazon Keyspaces table.</p> </li> </ul>
*/
inline ScalingPolicy& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
/**
* <p>The scaling policy type.</p>
*/
inline const PolicyType& GetPolicyType() const{ return m_policyType; }
/**
* <p>The scaling policy type.</p>
*/
inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
/**
* <p>The scaling policy type.</p>
*/
inline void SetPolicyType(const PolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; }
/**
* <p>The scaling policy type.</p>
*/
inline void SetPolicyType(PolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); }
/**
* <p>The scaling policy type.</p>
*/
inline ScalingPolicy& WithPolicyType(const PolicyType& value) { SetPolicyType(value); return *this;}
/**
* <p>The scaling policy type.</p>
*/
inline ScalingPolicy& WithPolicyType(PolicyType&& value) { SetPolicyType(std::move(value)); return *this;}
/**
* <p>A step scaling policy.</p>
*/
inline const StepScalingPolicyConfiguration& GetStepScalingPolicyConfiguration() const{ return m_stepScalingPolicyConfiguration; }
/**
* <p>A step scaling policy.</p>
*/
inline bool StepScalingPolicyConfigurationHasBeenSet() const { return m_stepScalingPolicyConfigurationHasBeenSet; }
/**
* <p>A step scaling policy.</p>
*/
inline void SetStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = value; }
/**
* <p>A step scaling policy.</p>
*/
inline void SetStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { m_stepScalingPolicyConfigurationHasBeenSet = true; m_stepScalingPolicyConfiguration = std::move(value); }
/**
* <p>A step scaling policy.</p>
*/
inline ScalingPolicy& WithStepScalingPolicyConfiguration(const StepScalingPolicyConfiguration& value) { SetStepScalingPolicyConfiguration(value); return *this;}
/**
* <p>A step scaling policy.</p>
*/
inline ScalingPolicy& WithStepScalingPolicyConfiguration(StepScalingPolicyConfiguration&& value) { SetStepScalingPolicyConfiguration(std::move(value)); return *this;}
/**
* <p>A target tracking scaling policy.</p>
*/
inline const TargetTrackingScalingPolicyConfiguration& GetTargetTrackingScalingPolicyConfiguration() const{ return m_targetTrackingScalingPolicyConfiguration; }
/**
* <p>A target tracking scaling policy.</p>
*/
inline bool TargetTrackingScalingPolicyConfigurationHasBeenSet() const { return m_targetTrackingScalingPolicyConfigurationHasBeenSet; }
/**
* <p>A target tracking scaling policy.</p>
*/
inline void SetTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = value; }
/**
* <p>A target tracking scaling policy.</p>
*/
inline void SetTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { m_targetTrackingScalingPolicyConfigurationHasBeenSet = true; m_targetTrackingScalingPolicyConfiguration = std::move(value); }
/**
* <p>A target tracking scaling policy.</p>
*/
inline ScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(const TargetTrackingScalingPolicyConfiguration& value) { SetTargetTrackingScalingPolicyConfiguration(value); return *this;}
/**
* <p>A target tracking scaling policy.</p>
*/
inline ScalingPolicy& WithTargetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfiguration&& value) { SetTargetTrackingScalingPolicyConfiguration(std::move(value)); return *this;}
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline const Aws::Vector<Alarm>& GetAlarms() const{ return m_alarms; }
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; }
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline void SetAlarms(const Aws::Vector<Alarm>& value) { m_alarmsHasBeenSet = true; m_alarms = value; }
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline void SetAlarms(Aws::Vector<Alarm>&& value) { m_alarmsHasBeenSet = true; m_alarms = std::move(value); }
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline ScalingPolicy& WithAlarms(const Aws::Vector<Alarm>& value) { SetAlarms(value); return *this;}
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline ScalingPolicy& WithAlarms(Aws::Vector<Alarm>&& value) { SetAlarms(std::move(value)); return *this;}
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline ScalingPolicy& AddAlarms(const Alarm& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(value); return *this; }
/**
* <p>The CloudWatch alarms associated with the scaling policy.</p>
*/
inline ScalingPolicy& AddAlarms(Alarm&& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(std::move(value)); return *this; }
/**
* <p>The Unix timestamp for when the scaling policy was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
/**
* <p>The Unix timestamp for when the scaling policy was created.</p>
*/
inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
/**
* <p>The Unix timestamp for when the scaling policy was created.</p>
*/
inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
/**
* <p>The Unix timestamp for when the scaling policy was created.</p>
*/
inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
/**
* <p>The Unix timestamp for when the scaling policy was created.</p>
*/
inline ScalingPolicy& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
/**
* <p>The Unix timestamp for when the scaling policy was created.</p>
*/
inline ScalingPolicy& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
private:
Aws::String m_policyARN;
bool m_policyARNHasBeenSet;
Aws::String m_policyName;
bool m_policyNameHasBeenSet;
ServiceNamespace m_serviceNamespace;
bool m_serviceNamespaceHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
ScalableDimension m_scalableDimension;
bool m_scalableDimensionHasBeenSet;
PolicyType m_policyType;
bool m_policyTypeHasBeenSet;
StepScalingPolicyConfiguration m_stepScalingPolicyConfiguration;
bool m_stepScalingPolicyConfigurationHasBeenSet;
TargetTrackingScalingPolicyConfiguration m_targetTrackingScalingPolicyConfiguration;
bool m_targetTrackingScalingPolicyConfigurationHasBeenSet;
Aws::Vector<Alarm> m_alarms;
bool m_alarmsHasBeenSet;
Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ApplicationAutoScaling
{
namespace Model
{
enum class ServiceNamespace
{
NOT_SET,
ecs,
elasticmapreduce,
ec2,
appstream,
dynamodb,
rds,
sagemaker,
custom_resource,
comprehend,
lambda,
cassandra
};
namespace ServiceNamespaceMapper
{
AWS_APPLICATIONAUTOSCALING_API ServiceNamespace GetServiceNamespaceForName(const Aws::String& name);
AWS_APPLICATIONAUTOSCALING_API Aws::String GetNameForServiceNamespace(ServiceNamespace value);
} // namespace ServiceNamespaceMapper
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,180 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a step adjustment for a <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html">StepScalingPolicyConfiguration</a>.
* Describes an adjustment based on the difference between the value of the
* aggregated CloudWatch metric and the breach threshold that you've defined for
* the alarm. </p> <p>For the following examples, suppose that you have an alarm
* with a breach threshold of 50:</p> <ul> <li> <p>To trigger the adjustment when
* the metric is greater than or equal to 50 and less than 60, specify a lower
* bound of 0 and an upper bound of 10.</p> </li> <li> <p>To trigger the adjustment
* when the metric is greater than 40 and less than or equal to 50, specify a lower
* bound of -10 and an upper bound of 0.</p> </li> </ul> <p>There are a few rules
* for the step adjustments for your step policy:</p> <ul> <li> <p>The ranges of
* your step adjustments can't overlap or have a gap.</p> </li> <li> <p>At most one
* step adjustment can have a null lower bound. If one step adjustment has a
* negative lower bound, then there must be a step adjustment with a null lower
* bound.</p> </li> <li> <p>At most one step adjustment can have a null upper
* bound. If one step adjustment has a positive upper bound, then there must be a
* step adjustment with a null upper bound.</p> </li> <li> <p>The upper and lower
* bound can't be null in the same step adjustment.</p> </li> </ul><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/StepAdjustment">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API StepAdjustment
{
public:
StepAdjustment();
StepAdjustment(Aws::Utils::Json::JsonView jsonValue);
StepAdjustment& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The lower bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the lower
* bound is inclusive (the metric must be greater than or equal to the threshold
* plus the lower bound). Otherwise, it is exclusive (the metric must be greater
* than the threshold plus the lower bound). A null value indicates negative
* infinity.</p>
*/
inline double GetMetricIntervalLowerBound() const{ return m_metricIntervalLowerBound; }
/**
* <p>The lower bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the lower
* bound is inclusive (the metric must be greater than or equal to the threshold
* plus the lower bound). Otherwise, it is exclusive (the metric must be greater
* than the threshold plus the lower bound). A null value indicates negative
* infinity.</p>
*/
inline bool MetricIntervalLowerBoundHasBeenSet() const { return m_metricIntervalLowerBoundHasBeenSet; }
/**
* <p>The lower bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the lower
* bound is inclusive (the metric must be greater than or equal to the threshold
* plus the lower bound). Otherwise, it is exclusive (the metric must be greater
* than the threshold plus the lower bound). A null value indicates negative
* infinity.</p>
*/
inline void SetMetricIntervalLowerBound(double value) { m_metricIntervalLowerBoundHasBeenSet = true; m_metricIntervalLowerBound = value; }
/**
* <p>The lower bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the lower
* bound is inclusive (the metric must be greater than or equal to the threshold
* plus the lower bound). Otherwise, it is exclusive (the metric must be greater
* than the threshold plus the lower bound). A null value indicates negative
* infinity.</p>
*/
inline StepAdjustment& WithMetricIntervalLowerBound(double value) { SetMetricIntervalLowerBound(value); return *this;}
/**
* <p>The upper bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the upper
* bound is exclusive (the metric must be less than the threshold plus the upper
* bound). Otherwise, it is inclusive (the metric must be less than or equal to the
* threshold plus the upper bound). A null value indicates positive infinity.</p>
* <p>The upper bound must be greater than the lower bound.</p>
*/
inline double GetMetricIntervalUpperBound() const{ return m_metricIntervalUpperBound; }
/**
* <p>The upper bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the upper
* bound is exclusive (the metric must be less than the threshold plus the upper
* bound). Otherwise, it is inclusive (the metric must be less than or equal to the
* threshold plus the upper bound). A null value indicates positive infinity.</p>
* <p>The upper bound must be greater than the lower bound.</p>
*/
inline bool MetricIntervalUpperBoundHasBeenSet() const { return m_metricIntervalUpperBoundHasBeenSet; }
/**
* <p>The upper bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the upper
* bound is exclusive (the metric must be less than the threshold plus the upper
* bound). Otherwise, it is inclusive (the metric must be less than or equal to the
* threshold plus the upper bound). A null value indicates positive infinity.</p>
* <p>The upper bound must be greater than the lower bound.</p>
*/
inline void SetMetricIntervalUpperBound(double value) { m_metricIntervalUpperBoundHasBeenSet = true; m_metricIntervalUpperBound = value; }
/**
* <p>The upper bound for the difference between the alarm threshold and the
* CloudWatch metric. If the metric value is above the breach threshold, the upper
* bound is exclusive (the metric must be less than the threshold plus the upper
* bound). Otherwise, it is inclusive (the metric must be less than or equal to the
* threshold plus the upper bound). A null value indicates positive infinity.</p>
* <p>The upper bound must be greater than the lower bound.</p>
*/
inline StepAdjustment& WithMetricIntervalUpperBound(double value) { SetMetricIntervalUpperBound(value); return *this;}
/**
* <p>The amount by which to scale, based on the specified adjustment type. A
* positive value adds to the current capacity while a negative number removes from
* the current capacity. </p>
*/
inline int GetScalingAdjustment() const{ return m_scalingAdjustment; }
/**
* <p>The amount by which to scale, based on the specified adjustment type. A
* positive value adds to the current capacity while a negative number removes from
* the current capacity. </p>
*/
inline bool ScalingAdjustmentHasBeenSet() const { return m_scalingAdjustmentHasBeenSet; }
/**
* <p>The amount by which to scale, based on the specified adjustment type. A
* positive value adds to the current capacity while a negative number removes from
* the current capacity. </p>
*/
inline void SetScalingAdjustment(int value) { m_scalingAdjustmentHasBeenSet = true; m_scalingAdjustment = value; }
/**
* <p>The amount by which to scale, based on the specified adjustment type. A
* positive value adds to the current capacity while a negative number removes from
* the current capacity. </p>
*/
inline StepAdjustment& WithScalingAdjustment(int value) { SetScalingAdjustment(value); return *this;}
private:
double m_metricIntervalLowerBound;
bool m_metricIntervalLowerBoundHasBeenSet;
double m_metricIntervalUpperBound;
bool m_metricIntervalUpperBoundHasBeenSet;
int m_scalingAdjustment;
bool m_scalingAdjustmentHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,388 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/model/AdjustmentType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/application-autoscaling/model/MetricAggregationType.h>
#include <aws/application-autoscaling/model/StepAdjustment.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a step scaling policy configuration to use with Application Auto
* Scaling.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/StepScalingPolicyConfiguration">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration
{
public:
StepScalingPolicyConfiguration();
StepScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue);
StepScalingPolicyConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Specifies whether the <code>ScalingAdjustment</code> value in a <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html">StepAdjustment</a>
* is an absolute number or a percentage of the current capacity. </p> <p>
* <code>AdjustmentType</code> is required if you are adding a new step scaling
* policy configuration.</p>
*/
inline const AdjustmentType& GetAdjustmentType() const{ return m_adjustmentType; }
/**
* <p>Specifies whether the <code>ScalingAdjustment</code> value in a <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html">StepAdjustment</a>
* is an absolute number or a percentage of the current capacity. </p> <p>
* <code>AdjustmentType</code> is required if you are adding a new step scaling
* policy configuration.</p>
*/
inline bool AdjustmentTypeHasBeenSet() const { return m_adjustmentTypeHasBeenSet; }
/**
* <p>Specifies whether the <code>ScalingAdjustment</code> value in a <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html">StepAdjustment</a>
* is an absolute number or a percentage of the current capacity. </p> <p>
* <code>AdjustmentType</code> is required if you are adding a new step scaling
* policy configuration.</p>
*/
inline void SetAdjustmentType(const AdjustmentType& value) { m_adjustmentTypeHasBeenSet = true; m_adjustmentType = value; }
/**
* <p>Specifies whether the <code>ScalingAdjustment</code> value in a <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html">StepAdjustment</a>
* is an absolute number or a percentage of the current capacity. </p> <p>
* <code>AdjustmentType</code> is required if you are adding a new step scaling
* policy configuration.</p>
*/
inline void SetAdjustmentType(AdjustmentType&& value) { m_adjustmentTypeHasBeenSet = true; m_adjustmentType = std::move(value); }
/**
* <p>Specifies whether the <code>ScalingAdjustment</code> value in a <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html">StepAdjustment</a>
* is an absolute number or a percentage of the current capacity. </p> <p>
* <code>AdjustmentType</code> is required if you are adding a new step scaling
* policy configuration.</p>
*/
inline StepScalingPolicyConfiguration& WithAdjustmentType(const AdjustmentType& value) { SetAdjustmentType(value); return *this;}
/**
* <p>Specifies whether the <code>ScalingAdjustment</code> value in a <a
* href="https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html">StepAdjustment</a>
* is an absolute number or a percentage of the current capacity. </p> <p>
* <code>AdjustmentType</code> is required if you are adding a new step scaling
* policy configuration.</p>
*/
inline StepScalingPolicyConfiguration& WithAdjustmentType(AdjustmentType&& value) { SetAdjustmentType(std::move(value)); return *this;}
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline const Aws::Vector<StepAdjustment>& GetStepAdjustments() const{ return m_stepAdjustments; }
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline bool StepAdjustmentsHasBeenSet() const { return m_stepAdjustmentsHasBeenSet; }
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline void SetStepAdjustments(const Aws::Vector<StepAdjustment>& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments = value; }
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline void SetStepAdjustments(Aws::Vector<StepAdjustment>&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments = std::move(value); }
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline StepScalingPolicyConfiguration& WithStepAdjustments(const Aws::Vector<StepAdjustment>& value) { SetStepAdjustments(value); return *this;}
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline StepScalingPolicyConfiguration& WithStepAdjustments(Aws::Vector<StepAdjustment>&& value) { SetStepAdjustments(std::move(value)); return *this;}
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline StepScalingPolicyConfiguration& AddStepAdjustments(const StepAdjustment& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(value); return *this; }
/**
* <p>A set of adjustments that enable you to scale based on the size of the alarm
* breach.</p> <p>At least one step adjustment is required if you are adding a new
* step scaling policy configuration.</p>
*/
inline StepScalingPolicyConfiguration& AddStepAdjustments(StepAdjustment&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(std::move(value)); return *this; }
/**
* <p>The minimum value to scale by when scaling by percentages. For example,
* suppose that you create a step scaling policy to scale out an Amazon ECS service
* by 25 percent and you specify a <code>MinAdjustmentMagnitude</code> of 2. If the
* service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1.
* However, because you specified a <code>MinAdjustmentMagnitude</code> of 2,
* Application Auto Scaling scales out the service by 2 tasks.</p> <p>Valid only if
* the adjustment type is <code>PercentChangeInCapacity</code>. </p>
*/
inline int GetMinAdjustmentMagnitude() const{ return m_minAdjustmentMagnitude; }
/**
* <p>The minimum value to scale by when scaling by percentages. For example,
* suppose that you create a step scaling policy to scale out an Amazon ECS service
* by 25 percent and you specify a <code>MinAdjustmentMagnitude</code> of 2. If the
* service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1.
* However, because you specified a <code>MinAdjustmentMagnitude</code> of 2,
* Application Auto Scaling scales out the service by 2 tasks.</p> <p>Valid only if
* the adjustment type is <code>PercentChangeInCapacity</code>. </p>
*/
inline bool MinAdjustmentMagnitudeHasBeenSet() const { return m_minAdjustmentMagnitudeHasBeenSet; }
/**
* <p>The minimum value to scale by when scaling by percentages. For example,
* suppose that you create a step scaling policy to scale out an Amazon ECS service
* by 25 percent and you specify a <code>MinAdjustmentMagnitude</code> of 2. If the
* service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1.
* However, because you specified a <code>MinAdjustmentMagnitude</code> of 2,
* Application Auto Scaling scales out the service by 2 tasks.</p> <p>Valid only if
* the adjustment type is <code>PercentChangeInCapacity</code>. </p>
*/
inline void SetMinAdjustmentMagnitude(int value) { m_minAdjustmentMagnitudeHasBeenSet = true; m_minAdjustmentMagnitude = value; }
/**
* <p>The minimum value to scale by when scaling by percentages. For example,
* suppose that you create a step scaling policy to scale out an Amazon ECS service
* by 25 percent and you specify a <code>MinAdjustmentMagnitude</code> of 2. If the
* service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1.
* However, because you specified a <code>MinAdjustmentMagnitude</code> of 2,
* Application Auto Scaling scales out the service by 2 tasks.</p> <p>Valid only if
* the adjustment type is <code>PercentChangeInCapacity</code>. </p>
*/
inline StepScalingPolicyConfiguration& WithMinAdjustmentMagnitude(int value) { SetMinAdjustmentMagnitude(value); return *this;}
/**
* <p>The amount of time, in seconds, to wait for a previous scaling activity to
* take effect.</p> <p>With scale-out policies, the intention is to continuously
* (but not excessively) scale out. After Application Auto Scaling successfully
* scales out using a step scaling policy, it starts to calculate the cooldown
* time. While the cooldown period is in effect, capacity added by the initiating
* scale-out activity is calculated as part of the desired capacity for the next
* scale-out activity. For example, when an alarm triggers a step scaling policy to
* increase the capacity by 2, the scaling activity completes successfully, and a
* cooldown period starts. If the alarm triggers again during the cooldown period
* but at a more aggressive step adjustment of 3, the previous increase of 2 is
* considered part of the current capacity. Therefore, only 1 is added to the
* capacity.</p> <p>With scale-in policies, the intention is to scale in
* conservatively to protect your applications availability, so scale-in
* activities are blocked until the cooldown period has expired. However, if
* another alarm triggers a scale-out activity during the cooldown period after a
* scale-in activity, Application Auto Scaling scales out the target immediately.
* In this case, the cooldown period for the scale-in activity stops and doesn't
* complete.</p> <p>Application Auto Scaling provides a default value of 300 for
* the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li> <li>
* <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline int GetCooldown() const{ return m_cooldown; }
/**
* <p>The amount of time, in seconds, to wait for a previous scaling activity to
* take effect.</p> <p>With scale-out policies, the intention is to continuously
* (but not excessively) scale out. After Application Auto Scaling successfully
* scales out using a step scaling policy, it starts to calculate the cooldown
* time. While the cooldown period is in effect, capacity added by the initiating
* scale-out activity is calculated as part of the desired capacity for the next
* scale-out activity. For example, when an alarm triggers a step scaling policy to
* increase the capacity by 2, the scaling activity completes successfully, and a
* cooldown period starts. If the alarm triggers again during the cooldown period
* but at a more aggressive step adjustment of 3, the previous increase of 2 is
* considered part of the current capacity. Therefore, only 1 is added to the
* capacity.</p> <p>With scale-in policies, the intention is to scale in
* conservatively to protect your applications availability, so scale-in
* activities are blocked until the cooldown period has expired. However, if
* another alarm triggers a scale-out activity during the cooldown period after a
* scale-in activity, Application Auto Scaling scales out the target immediately.
* In this case, the cooldown period for the scale-in activity stops and doesn't
* complete.</p> <p>Application Auto Scaling provides a default value of 300 for
* the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li> <li>
* <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline bool CooldownHasBeenSet() const { return m_cooldownHasBeenSet; }
/**
* <p>The amount of time, in seconds, to wait for a previous scaling activity to
* take effect.</p> <p>With scale-out policies, the intention is to continuously
* (but not excessively) scale out. After Application Auto Scaling successfully
* scales out using a step scaling policy, it starts to calculate the cooldown
* time. While the cooldown period is in effect, capacity added by the initiating
* scale-out activity is calculated as part of the desired capacity for the next
* scale-out activity. For example, when an alarm triggers a step scaling policy to
* increase the capacity by 2, the scaling activity completes successfully, and a
* cooldown period starts. If the alarm triggers again during the cooldown period
* but at a more aggressive step adjustment of 3, the previous increase of 2 is
* considered part of the current capacity. Therefore, only 1 is added to the
* capacity.</p> <p>With scale-in policies, the intention is to scale in
* conservatively to protect your applications availability, so scale-in
* activities are blocked until the cooldown period has expired. However, if
* another alarm triggers a scale-out activity during the cooldown period after a
* scale-in activity, Application Auto Scaling scales out the target immediately.
* In this case, the cooldown period for the scale-in activity stops and doesn't
* complete.</p> <p>Application Auto Scaling provides a default value of 300 for
* the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li> <li>
* <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline void SetCooldown(int value) { m_cooldownHasBeenSet = true; m_cooldown = value; }
/**
* <p>The amount of time, in seconds, to wait for a previous scaling activity to
* take effect.</p> <p>With scale-out policies, the intention is to continuously
* (but not excessively) scale out. After Application Auto Scaling successfully
* scales out using a step scaling policy, it starts to calculate the cooldown
* time. While the cooldown period is in effect, capacity added by the initiating
* scale-out activity is calculated as part of the desired capacity for the next
* scale-out activity. For example, when an alarm triggers a step scaling policy to
* increase the capacity by 2, the scaling activity completes successfully, and a
* cooldown period starts. If the alarm triggers again during the cooldown period
* but at a more aggressive step adjustment of 3, the previous increase of 2 is
* considered part of the current capacity. Therefore, only 1 is added to the
* capacity.</p> <p>With scale-in policies, the intention is to scale in
* conservatively to protect your applications availability, so scale-in
* activities are blocked until the cooldown period has expired. However, if
* another alarm triggers a scale-out activity during the cooldown period after a
* scale-in activity, Application Auto Scaling scales out the target immediately.
* In this case, the cooldown period for the scale-in activity stops and doesn't
* complete.</p> <p>Application Auto Scaling provides a default value of 300 for
* the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li> <li>
* <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline StepScalingPolicyConfiguration& WithCooldown(int value) { SetCooldown(value); return *this;}
/**
* <p>The aggregation type for the CloudWatch metrics. Valid values are
* <code>Minimum</code>, <code>Maximum</code>, and <code>Average</code>. If the
* aggregation type is null, the value is treated as <code>Average</code>.</p>
*/
inline const MetricAggregationType& GetMetricAggregationType() const{ return m_metricAggregationType; }
/**
* <p>The aggregation type for the CloudWatch metrics. Valid values are
* <code>Minimum</code>, <code>Maximum</code>, and <code>Average</code>. If the
* aggregation type is null, the value is treated as <code>Average</code>.</p>
*/
inline bool MetricAggregationTypeHasBeenSet() const { return m_metricAggregationTypeHasBeenSet; }
/**
* <p>The aggregation type for the CloudWatch metrics. Valid values are
* <code>Minimum</code>, <code>Maximum</code>, and <code>Average</code>. If the
* aggregation type is null, the value is treated as <code>Average</code>.</p>
*/
inline void SetMetricAggregationType(const MetricAggregationType& value) { m_metricAggregationTypeHasBeenSet = true; m_metricAggregationType = value; }
/**
* <p>The aggregation type for the CloudWatch metrics. Valid values are
* <code>Minimum</code>, <code>Maximum</code>, and <code>Average</code>. If the
* aggregation type is null, the value is treated as <code>Average</code>.</p>
*/
inline void SetMetricAggregationType(MetricAggregationType&& value) { m_metricAggregationTypeHasBeenSet = true; m_metricAggregationType = std::move(value); }
/**
* <p>The aggregation type for the CloudWatch metrics. Valid values are
* <code>Minimum</code>, <code>Maximum</code>, and <code>Average</code>. If the
* aggregation type is null, the value is treated as <code>Average</code>.</p>
*/
inline StepScalingPolicyConfiguration& WithMetricAggregationType(const MetricAggregationType& value) { SetMetricAggregationType(value); return *this;}
/**
* <p>The aggregation type for the CloudWatch metrics. Valid values are
* <code>Minimum</code>, <code>Maximum</code>, and <code>Average</code>. If the
* aggregation type is null, the value is treated as <code>Average</code>.</p>
*/
inline StepScalingPolicyConfiguration& WithMetricAggregationType(MetricAggregationType&& value) { SetMetricAggregationType(std::move(value)); return *this;}
private:
AdjustmentType m_adjustmentType;
bool m_adjustmentTypeHasBeenSet;
Aws::Vector<StepAdjustment> m_stepAdjustments;
bool m_stepAdjustmentsHasBeenSet;
int m_minAdjustmentMagnitude;
bool m_minAdjustmentMagnitudeHasBeenSet;
int m_cooldown;
bool m_cooldownHasBeenSet;
MetricAggregationType m_metricAggregationType;
bool m_metricAggregationTypeHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,147 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Specifies whether the scaling activities for a scalable target are in a
* suspended state. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/SuspendedState">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API SuspendedState
{
public:
SuspendedState();
SuspendedState(Aws::Utils::Json::JsonView jsonValue);
SuspendedState& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline bool GetDynamicScalingInSuspended() const{ return m_dynamicScalingInSuspended; }
/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline bool DynamicScalingInSuspendedHasBeenSet() const { return m_dynamicScalingInSuspendedHasBeenSet; }
/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline void SetDynamicScalingInSuspended(bool value) { m_dynamicScalingInSuspendedHasBeenSet = true; m_dynamicScalingInSuspended = value; }
/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline SuspendedState& WithDynamicScalingInSuspended(bool value) { SetDynamicScalingInSuspended(value); return *this;}
/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline bool GetDynamicScalingOutSuspended() const{ return m_dynamicScalingOutSuspended; }
/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline bool DynamicScalingOutSuspendedHasBeenSet() const { return m_dynamicScalingOutSuspendedHasBeenSet; }
/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline void SetDynamicScalingOutSuspended(bool value) { m_dynamicScalingOutSuspendedHasBeenSet = true; m_dynamicScalingOutSuspended = value; }
/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline SuspendedState& WithDynamicScalingOutSuspended(bool value) { SetDynamicScalingOutSuspended(value); return *this;}
/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline bool GetScheduledScalingSuspended() const{ return m_scheduledScalingSuspended; }
/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline bool ScheduledScalingSuspendedHasBeenSet() const { return m_scheduledScalingSuspendedHasBeenSet; }
/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline void SetScheduledScalingSuspended(bool value) { m_scheduledScalingSuspendedHasBeenSet = true; m_scheduledScalingSuspended = value; }
/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline SuspendedState& WithScheduledScalingSuspended(bool value) { SetScheduledScalingSuspended(value); return *this;}
private:
bool m_dynamicScalingInSuspended;
bool m_dynamicScalingInSuspendedHasBeenSet;
bool m_dynamicScalingOutSuspended;
bool m_dynamicScalingOutSuspendedHasBeenSet;
bool m_scheduledScalingSuspended;
bool m_scheduledScalingSuspendedHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws

View File

@@ -0,0 +1,366 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
#include <aws/application-autoscaling/model/PredefinedMetricSpecification.h>
#include <aws/application-autoscaling/model/CustomizedMetricSpecification.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{
/**
* <p>Represents a target tracking scaling policy configuration to use with
* Application Auto Scaling.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/TargetTrackingScalingPolicyConfiguration">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration
{
public:
TargetTrackingScalingPolicyConfiguration();
TargetTrackingScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue);
TargetTrackingScalingPolicyConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
* (Base 10) or 2e-360 to 2e360 (Base 2).</p>
*/
inline double GetTargetValue() const{ return m_targetValue; }
/**
* <p>The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
* (Base 10) or 2e-360 to 2e360 (Base 2).</p>
*/
inline bool TargetValueHasBeenSet() const { return m_targetValueHasBeenSet; }
/**
* <p>The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
* (Base 10) or 2e-360 to 2e360 (Base 2).</p>
*/
inline void SetTargetValue(double value) { m_targetValueHasBeenSet = true; m_targetValue = value; }
/**
* <p>The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
* (Base 10) or 2e-360 to 2e360 (Base 2).</p>
*/
inline TargetTrackingScalingPolicyConfiguration& WithTargetValue(double value) { SetTargetValue(value); return *this;}
/**
* <p>A predefined metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline const PredefinedMetricSpecification& GetPredefinedMetricSpecification() const{ return m_predefinedMetricSpecification; }
/**
* <p>A predefined metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline bool PredefinedMetricSpecificationHasBeenSet() const { return m_predefinedMetricSpecificationHasBeenSet; }
/**
* <p>A predefined metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline void SetPredefinedMetricSpecification(const PredefinedMetricSpecification& value) { m_predefinedMetricSpecificationHasBeenSet = true; m_predefinedMetricSpecification = value; }
/**
* <p>A predefined metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline void SetPredefinedMetricSpecification(PredefinedMetricSpecification&& value) { m_predefinedMetricSpecificationHasBeenSet = true; m_predefinedMetricSpecification = std::move(value); }
/**
* <p>A predefined metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline TargetTrackingScalingPolicyConfiguration& WithPredefinedMetricSpecification(const PredefinedMetricSpecification& value) { SetPredefinedMetricSpecification(value); return *this;}
/**
* <p>A predefined metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline TargetTrackingScalingPolicyConfiguration& WithPredefinedMetricSpecification(PredefinedMetricSpecification&& value) { SetPredefinedMetricSpecification(std::move(value)); return *this;}
/**
* <p>A customized metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline const CustomizedMetricSpecification& GetCustomizedMetricSpecification() const{ return m_customizedMetricSpecification; }
/**
* <p>A customized metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline bool CustomizedMetricSpecificationHasBeenSet() const { return m_customizedMetricSpecificationHasBeenSet; }
/**
* <p>A customized metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline void SetCustomizedMetricSpecification(const CustomizedMetricSpecification& value) { m_customizedMetricSpecificationHasBeenSet = true; m_customizedMetricSpecification = value; }
/**
* <p>A customized metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline void SetCustomizedMetricSpecification(CustomizedMetricSpecification&& value) { m_customizedMetricSpecificationHasBeenSet = true; m_customizedMetricSpecification = std::move(value); }
/**
* <p>A customized metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline TargetTrackingScalingPolicyConfiguration& WithCustomizedMetricSpecification(const CustomizedMetricSpecification& value) { SetCustomizedMetricSpecification(value); return *this;}
/**
* <p>A customized metric. You can specify either a predefined metric or a
* customized metric.</p>
*/
inline TargetTrackingScalingPolicyConfiguration& WithCustomizedMetricSpecification(CustomizedMetricSpecification&& value) { SetCustomizedMetricSpecification(std::move(value)); return *this;}
/**
* <p>The amount of time, in seconds, to wait for a previous scale-out activity to
* take effect.</p> <p>With the <i>scale-out cooldown period</i>, the intention is
* to continuously (but not excessively) scale out. After Application Auto Scaling
* successfully scales out using a target tracking scaling policy, it starts to
* calculate the cooldown time. While the scale-out cooldown period is in effect,
* the capacity added by the initiating scale-out activity is calculated as part of
* the desired capacity for the next scale-out activity.</p> <p>Application Auto
* Scaling provides a default value of 300 for the following scalable targets:</p>
* <ul> <li> <p>ECS services</p> </li> <li> <p>Spot Fleet requests</p> </li> <li>
* <p>EMR clusters</p> </li> <li> <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora
* DB clusters</p> </li> <li> <p>Amazon SageMaker endpoint variants</p> </li> <li>
* <p>Custom resources</p> </li> </ul> <p>For all other scalable targets, the
* default value is 0:</p> <ul> <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB
* global secondary indexes</p> </li> <li> <p>Amazon Comprehend document
* classification endpoints</p> </li> <li> <p>Lambda provisioned concurrency</p>
* </li> <li> <p>Amazon Keyspaces tables</p> </li> </ul>
*/
inline int GetScaleOutCooldown() const{ return m_scaleOutCooldown; }
/**
* <p>The amount of time, in seconds, to wait for a previous scale-out activity to
* take effect.</p> <p>With the <i>scale-out cooldown period</i>, the intention is
* to continuously (but not excessively) scale out. After Application Auto Scaling
* successfully scales out using a target tracking scaling policy, it starts to
* calculate the cooldown time. While the scale-out cooldown period is in effect,
* the capacity added by the initiating scale-out activity is calculated as part of
* the desired capacity for the next scale-out activity.</p> <p>Application Auto
* Scaling provides a default value of 300 for the following scalable targets:</p>
* <ul> <li> <p>ECS services</p> </li> <li> <p>Spot Fleet requests</p> </li> <li>
* <p>EMR clusters</p> </li> <li> <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora
* DB clusters</p> </li> <li> <p>Amazon SageMaker endpoint variants</p> </li> <li>
* <p>Custom resources</p> </li> </ul> <p>For all other scalable targets, the
* default value is 0:</p> <ul> <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB
* global secondary indexes</p> </li> <li> <p>Amazon Comprehend document
* classification endpoints</p> </li> <li> <p>Lambda provisioned concurrency</p>
* </li> <li> <p>Amazon Keyspaces tables</p> </li> </ul>
*/
inline bool ScaleOutCooldownHasBeenSet() const { return m_scaleOutCooldownHasBeenSet; }
/**
* <p>The amount of time, in seconds, to wait for a previous scale-out activity to
* take effect.</p> <p>With the <i>scale-out cooldown period</i>, the intention is
* to continuously (but not excessively) scale out. After Application Auto Scaling
* successfully scales out using a target tracking scaling policy, it starts to
* calculate the cooldown time. While the scale-out cooldown period is in effect,
* the capacity added by the initiating scale-out activity is calculated as part of
* the desired capacity for the next scale-out activity.</p> <p>Application Auto
* Scaling provides a default value of 300 for the following scalable targets:</p>
* <ul> <li> <p>ECS services</p> </li> <li> <p>Spot Fleet requests</p> </li> <li>
* <p>EMR clusters</p> </li> <li> <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora
* DB clusters</p> </li> <li> <p>Amazon SageMaker endpoint variants</p> </li> <li>
* <p>Custom resources</p> </li> </ul> <p>For all other scalable targets, the
* default value is 0:</p> <ul> <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB
* global secondary indexes</p> </li> <li> <p>Amazon Comprehend document
* classification endpoints</p> </li> <li> <p>Lambda provisioned concurrency</p>
* </li> <li> <p>Amazon Keyspaces tables</p> </li> </ul>
*/
inline void SetScaleOutCooldown(int value) { m_scaleOutCooldownHasBeenSet = true; m_scaleOutCooldown = value; }
/**
* <p>The amount of time, in seconds, to wait for a previous scale-out activity to
* take effect.</p> <p>With the <i>scale-out cooldown period</i>, the intention is
* to continuously (but not excessively) scale out. After Application Auto Scaling
* successfully scales out using a target tracking scaling policy, it starts to
* calculate the cooldown time. While the scale-out cooldown period is in effect,
* the capacity added by the initiating scale-out activity is calculated as part of
* the desired capacity for the next scale-out activity.</p> <p>Application Auto
* Scaling provides a default value of 300 for the following scalable targets:</p>
* <ul> <li> <p>ECS services</p> </li> <li> <p>Spot Fleet requests</p> </li> <li>
* <p>EMR clusters</p> </li> <li> <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora
* DB clusters</p> </li> <li> <p>Amazon SageMaker endpoint variants</p> </li> <li>
* <p>Custom resources</p> </li> </ul> <p>For all other scalable targets, the
* default value is 0:</p> <ul> <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB
* global secondary indexes</p> </li> <li> <p>Amazon Comprehend document
* classification endpoints</p> </li> <li> <p>Lambda provisioned concurrency</p>
* </li> <li> <p>Amazon Keyspaces tables</p> </li> </ul>
*/
inline TargetTrackingScalingPolicyConfiguration& WithScaleOutCooldown(int value) { SetScaleOutCooldown(value); return *this;}
/**
* <p>The amount of time, in seconds, after a scale-in activity completes before
* another scale-in activity can start.</p> <p>With the <i>scale-in cooldown
* period</i>, the intention is to scale in conservatively to protect your
* applications availability, so scale-in activities are blocked until the
* cooldown period has expired. However, if another alarm triggers a scale-out
* activity during the scale-in cooldown period, Application Auto Scaling scales
* out the target immediately. In this case, the scale-in cooldown period stops and
* doesn't complete.</p> <p>Application Auto Scaling provides a default value of
* 300 for the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li>
* <li> <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline int GetScaleInCooldown() const{ return m_scaleInCooldown; }
/**
* <p>The amount of time, in seconds, after a scale-in activity completes before
* another scale-in activity can start.</p> <p>With the <i>scale-in cooldown
* period</i>, the intention is to scale in conservatively to protect your
* applications availability, so scale-in activities are blocked until the
* cooldown period has expired. However, if another alarm triggers a scale-out
* activity during the scale-in cooldown period, Application Auto Scaling scales
* out the target immediately. In this case, the scale-in cooldown period stops and
* doesn't complete.</p> <p>Application Auto Scaling provides a default value of
* 300 for the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li>
* <li> <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline bool ScaleInCooldownHasBeenSet() const { return m_scaleInCooldownHasBeenSet; }
/**
* <p>The amount of time, in seconds, after a scale-in activity completes before
* another scale-in activity can start.</p> <p>With the <i>scale-in cooldown
* period</i>, the intention is to scale in conservatively to protect your
* applications availability, so scale-in activities are blocked until the
* cooldown period has expired. However, if another alarm triggers a scale-out
* activity during the scale-in cooldown period, Application Auto Scaling scales
* out the target immediately. In this case, the scale-in cooldown period stops and
* doesn't complete.</p> <p>Application Auto Scaling provides a default value of
* 300 for the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li>
* <li> <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline void SetScaleInCooldown(int value) { m_scaleInCooldownHasBeenSet = true; m_scaleInCooldown = value; }
/**
* <p>The amount of time, in seconds, after a scale-in activity completes before
* another scale-in activity can start.</p> <p>With the <i>scale-in cooldown
* period</i>, the intention is to scale in conservatively to protect your
* applications availability, so scale-in activities are blocked until the
* cooldown period has expired. However, if another alarm triggers a scale-out
* activity during the scale-in cooldown period, Application Auto Scaling scales
* out the target immediately. In this case, the scale-in cooldown period stops and
* doesn't complete.</p> <p>Application Auto Scaling provides a default value of
* 300 for the following scalable targets:</p> <ul> <li> <p>ECS services</p> </li>
* <li> <p>Spot Fleet requests</p> </li> <li> <p>EMR clusters</p> </li> <li>
* <p>AppStream 2.0 fleets</p> </li> <li> <p>Aurora DB clusters</p> </li> <li>
* <p>Amazon SageMaker endpoint variants</p> </li> <li> <p>Custom resources</p>
* </li> </ul> <p>For all other scalable targets, the default value is 0:</p> <ul>
* <li> <p>DynamoDB tables</p> </li> <li> <p>DynamoDB global secondary indexes</p>
* </li> <li> <p>Amazon Comprehend document classification endpoints</p> </li> <li>
* <p>Lambda provisioned concurrency</p> </li> <li> <p>Amazon Keyspaces tables</p>
* </li> </ul>
*/
inline TargetTrackingScalingPolicyConfiguration& WithScaleInCooldown(int value) { SetScaleInCooldown(value); return *this;}
/**
* <p>Indicates whether scale in by the target tracking scaling policy is disabled.
* If the value is <code>true</code>, scale in is disabled and the target tracking
* scaling policy won't remove capacity from the scalable target. Otherwise, scale
* in is enabled and the target tracking scaling policy can remove capacity from
* the scalable target. The default value is <code>false</code>.</p>
*/
inline bool GetDisableScaleIn() const{ return m_disableScaleIn; }
/**
* <p>Indicates whether scale in by the target tracking scaling policy is disabled.
* If the value is <code>true</code>, scale in is disabled and the target tracking
* scaling policy won't remove capacity from the scalable target. Otherwise, scale
* in is enabled and the target tracking scaling policy can remove capacity from
* the scalable target. The default value is <code>false</code>.</p>
*/
inline bool DisableScaleInHasBeenSet() const { return m_disableScaleInHasBeenSet; }
/**
* <p>Indicates whether scale in by the target tracking scaling policy is disabled.
* If the value is <code>true</code>, scale in is disabled and the target tracking
* scaling policy won't remove capacity from the scalable target. Otherwise, scale
* in is enabled and the target tracking scaling policy can remove capacity from
* the scalable target. The default value is <code>false</code>.</p>
*/
inline void SetDisableScaleIn(bool value) { m_disableScaleInHasBeenSet = true; m_disableScaleIn = value; }
/**
* <p>Indicates whether scale in by the target tracking scaling policy is disabled.
* If the value is <code>true</code>, scale in is disabled and the target tracking
* scaling policy won't remove capacity from the scalable target. Otherwise, scale
* in is enabled and the target tracking scaling policy can remove capacity from
* the scalable target. The default value is <code>false</code>.</p>
*/
inline TargetTrackingScalingPolicyConfiguration& WithDisableScaleIn(bool value) { SetDisableScaleIn(value); return *this;}
private:
double m_targetValue;
bool m_targetValueHasBeenSet;
PredefinedMetricSpecification m_predefinedMetricSpecification;
bool m_predefinedMetricSpecificationHasBeenSet;
CustomizedMetricSpecification m_customizedMetricSpecification;
bool m_customizedMetricSpecificationHasBeenSet;
int m_scaleOutCooldown;
bool m_scaleOutCooldownHasBeenSet;
int m_scaleInCooldown;
bool m_scaleInCooldownHasBeenSet;
bool m_disableScaleIn;
bool m_disableScaleInHasBeenSet;
};
} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws