1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/application-autoscaling/model/ServiceNamespace.h>
10 #include <aws/application-autoscaling/model/ScalableDimension.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <aws/application-autoscaling/model/ScalableTargetAction.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22   class JsonView;
23 } // namespace Json
24 } // namespace Utils
25 namespace ApplicationAutoScaling
26 {
27 namespace Model
28 {
29 
30   /**
31    * <p>Represents a scheduled action.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScheduledAction">AWS
33    * API Reference</a></p>
34    */
35   class AWS_APPLICATIONAUTOSCALING_API ScheduledAction
36   {
37   public:
38     ScheduledAction();
39     ScheduledAction(Aws::Utils::Json::JsonView jsonValue);
40     ScheduledAction& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The name of the scheduled action.</p>
46      */
GetScheduledActionName()47     inline const Aws::String& GetScheduledActionName() const{ return m_scheduledActionName; }
48 
49     /**
50      * <p>The name of the scheduled action.</p>
51      */
ScheduledActionNameHasBeenSet()52     inline bool ScheduledActionNameHasBeenSet() const { return m_scheduledActionNameHasBeenSet; }
53 
54     /**
55      * <p>The name of the scheduled action.</p>
56      */
SetScheduledActionName(const Aws::String & value)57     inline void SetScheduledActionName(const Aws::String& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = value; }
58 
59     /**
60      * <p>The name of the scheduled action.</p>
61      */
SetScheduledActionName(Aws::String && value)62     inline void SetScheduledActionName(Aws::String&& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = std::move(value); }
63 
64     /**
65      * <p>The name of the scheduled action.</p>
66      */
SetScheduledActionName(const char * value)67     inline void SetScheduledActionName(const char* value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName.assign(value); }
68 
69     /**
70      * <p>The name of the scheduled action.</p>
71      */
WithScheduledActionName(const Aws::String & value)72     inline ScheduledAction& WithScheduledActionName(const Aws::String& value) { SetScheduledActionName(value); return *this;}
73 
74     /**
75      * <p>The name of the scheduled action.</p>
76      */
WithScheduledActionName(Aws::String && value)77     inline ScheduledAction& WithScheduledActionName(Aws::String&& value) { SetScheduledActionName(std::move(value)); return *this;}
78 
79     /**
80      * <p>The name of the scheduled action.</p>
81      */
WithScheduledActionName(const char * value)82     inline ScheduledAction& WithScheduledActionName(const char* value) { SetScheduledActionName(value); return *this;}
83 
84 
85     /**
86      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
87      */
GetScheduledActionARN()88     inline const Aws::String& GetScheduledActionARN() const{ return m_scheduledActionARN; }
89 
90     /**
91      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
92      */
ScheduledActionARNHasBeenSet()93     inline bool ScheduledActionARNHasBeenSet() const { return m_scheduledActionARNHasBeenSet; }
94 
95     /**
96      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
97      */
SetScheduledActionARN(const Aws::String & value)98     inline void SetScheduledActionARN(const Aws::String& value) { m_scheduledActionARNHasBeenSet = true; m_scheduledActionARN = value; }
99 
100     /**
101      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
102      */
SetScheduledActionARN(Aws::String && value)103     inline void SetScheduledActionARN(Aws::String&& value) { m_scheduledActionARNHasBeenSet = true; m_scheduledActionARN = std::move(value); }
104 
105     /**
106      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
107      */
SetScheduledActionARN(const char * value)108     inline void SetScheduledActionARN(const char* value) { m_scheduledActionARNHasBeenSet = true; m_scheduledActionARN.assign(value); }
109 
110     /**
111      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
112      */
WithScheduledActionARN(const Aws::String & value)113     inline ScheduledAction& WithScheduledActionARN(const Aws::String& value) { SetScheduledActionARN(value); return *this;}
114 
115     /**
116      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
117      */
WithScheduledActionARN(Aws::String && value)118     inline ScheduledAction& WithScheduledActionARN(Aws::String&& value) { SetScheduledActionARN(std::move(value)); return *this;}
119 
120     /**
121      * <p>The Amazon Resource Name (ARN) of the scheduled action.</p>
122      */
WithScheduledActionARN(const char * value)123     inline ScheduledAction& WithScheduledActionARN(const char* value) { SetScheduledActionARN(value); return *this;}
124 
125 
126     /**
127      * <p>The namespace of the Amazon Web Services service that provides the resource,
128      * or a <code>custom-resource</code>.</p>
129      */
GetServiceNamespace()130     inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; }
131 
132     /**
133      * <p>The namespace of the Amazon Web Services service that provides the resource,
134      * or a <code>custom-resource</code>.</p>
135      */
ServiceNamespaceHasBeenSet()136     inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; }
137 
138     /**
139      * <p>The namespace of the Amazon Web Services service that provides the resource,
140      * or a <code>custom-resource</code>.</p>
141      */
SetServiceNamespace(const ServiceNamespace & value)142     inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; }
143 
144     /**
145      * <p>The namespace of the Amazon Web Services service that provides the resource,
146      * or a <code>custom-resource</code>.</p>
147      */
SetServiceNamespace(ServiceNamespace && value)148     inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); }
149 
150     /**
151      * <p>The namespace of the Amazon Web Services service that provides the resource,
152      * or a <code>custom-resource</code>.</p>
153      */
WithServiceNamespace(const ServiceNamespace & value)154     inline ScheduledAction& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;}
155 
156     /**
157      * <p>The namespace of the Amazon Web Services service that provides the resource,
158      * or a <code>custom-resource</code>.</p>
159      */
WithServiceNamespace(ServiceNamespace && value)160     inline ScheduledAction& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;}
161 
162 
163     /**
164      * <p>The schedule for this action. The following formats are supported:</p> <ul>
165      * <li> <p>At expressions -
166      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
167      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
168      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
169      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
170      * for one-time schedules. Cron expressions are useful for scheduled actions that
171      * run periodically at a specified date and time, and rate expressions are useful
172      * for scheduled actions that run at a regular interval.</p> <p>At and cron
173      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
174      * format consists of six fields separated by white spaces: [Minutes] [Hours]
175      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
176      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
177      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
178      * | <code>days</code>.</p> <p>For more information and examples, see <a
179      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
180      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
181      * Scaling User Guide</i>.</p>
182      */
GetSchedule()183     inline const Aws::String& GetSchedule() const{ return m_schedule; }
184 
185     /**
186      * <p>The schedule for this action. The following formats are supported:</p> <ul>
187      * <li> <p>At expressions -
188      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
189      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
190      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
191      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
192      * for one-time schedules. Cron expressions are useful for scheduled actions that
193      * run periodically at a specified date and time, and rate expressions are useful
194      * for scheduled actions that run at a regular interval.</p> <p>At and cron
195      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
196      * format consists of six fields separated by white spaces: [Minutes] [Hours]
197      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
198      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
199      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
200      * | <code>days</code>.</p> <p>For more information and examples, see <a
201      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
202      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
203      * Scaling User Guide</i>.</p>
204      */
ScheduleHasBeenSet()205     inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; }
206 
207     /**
208      * <p>The schedule for this action. The following formats are supported:</p> <ul>
209      * <li> <p>At expressions -
210      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
211      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
212      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
213      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
214      * for one-time schedules. Cron expressions are useful for scheduled actions that
215      * run periodically at a specified date and time, and rate expressions are useful
216      * for scheduled actions that run at a regular interval.</p> <p>At and cron
217      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
218      * format consists of six fields separated by white spaces: [Minutes] [Hours]
219      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
220      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
221      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
222      * | <code>days</code>.</p> <p>For more information and examples, see <a
223      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
224      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
225      * Scaling User Guide</i>.</p>
226      */
SetSchedule(const Aws::String & value)227     inline void SetSchedule(const Aws::String& value) { m_scheduleHasBeenSet = true; m_schedule = value; }
228 
229     /**
230      * <p>The schedule for this action. The following formats are supported:</p> <ul>
231      * <li> <p>At expressions -
232      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
233      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
234      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
235      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
236      * for one-time schedules. Cron expressions are useful for scheduled actions that
237      * run periodically at a specified date and time, and rate expressions are useful
238      * for scheduled actions that run at a regular interval.</p> <p>At and cron
239      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
240      * format consists of six fields separated by white spaces: [Minutes] [Hours]
241      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
242      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
243      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
244      * | <code>days</code>.</p> <p>For more information and examples, see <a
245      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
246      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
247      * Scaling User Guide</i>.</p>
248      */
SetSchedule(Aws::String && value)249     inline void SetSchedule(Aws::String&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); }
250 
251     /**
252      * <p>The schedule for this action. The following formats are supported:</p> <ul>
253      * <li> <p>At expressions -
254      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
255      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
256      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
257      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
258      * for one-time schedules. Cron expressions are useful for scheduled actions that
259      * run periodically at a specified date and time, and rate expressions are useful
260      * for scheduled actions that run at a regular interval.</p> <p>At and cron
261      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
262      * format consists of six fields separated by white spaces: [Minutes] [Hours]
263      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
264      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
265      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
266      * | <code>days</code>.</p> <p>For more information and examples, see <a
267      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
268      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
269      * Scaling User Guide</i>.</p>
270      */
SetSchedule(const char * value)271     inline void SetSchedule(const char* value) { m_scheduleHasBeenSet = true; m_schedule.assign(value); }
272 
273     /**
274      * <p>The schedule for this action. The following formats are supported:</p> <ul>
275      * <li> <p>At expressions -
276      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
277      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
278      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
279      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
280      * for one-time schedules. Cron expressions are useful for scheduled actions that
281      * run periodically at a specified date and time, and rate expressions are useful
282      * for scheduled actions that run at a regular interval.</p> <p>At and cron
283      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
284      * format consists of six fields separated by white spaces: [Minutes] [Hours]
285      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
286      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
287      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
288      * | <code>days</code>.</p> <p>For more information and examples, see <a
289      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
290      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
291      * Scaling User Guide</i>.</p>
292      */
WithSchedule(const Aws::String & value)293     inline ScheduledAction& WithSchedule(const Aws::String& value) { SetSchedule(value); return *this;}
294 
295     /**
296      * <p>The schedule for this action. The following formats are supported:</p> <ul>
297      * <li> <p>At expressions -
298      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
299      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
300      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
301      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
302      * for one-time schedules. Cron expressions are useful for scheduled actions that
303      * run periodically at a specified date and time, and rate expressions are useful
304      * for scheduled actions that run at a regular interval.</p> <p>At and cron
305      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
306      * format consists of six fields separated by white spaces: [Minutes] [Hours]
307      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
308      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
309      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
310      * | <code>days</code>.</p> <p>For more information and examples, see <a
311      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
312      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
313      * Scaling User Guide</i>.</p>
314      */
WithSchedule(Aws::String && value)315     inline ScheduledAction& WithSchedule(Aws::String&& value) { SetSchedule(std::move(value)); return *this;}
316 
317     /**
318      * <p>The schedule for this action. The following formats are supported:</p> <ul>
319      * <li> <p>At expressions -
320      * "<code>at(<i>yyyy</i>-<i>mm</i>-<i>dd</i>T<i>hh</i>:<i>mm</i>:<i>ss</i>)</code>"</p>
321      * </li> <li> <p>Rate expressions - "<code>rate(<i>value</i>
322      * <i>unit</i>)</code>"</p> </li> <li> <p>Cron expressions -
323      * "<code>cron(<i>fields</i>)</code>"</p> </li> </ul> <p>At expressions are useful
324      * for one-time schedules. Cron expressions are useful for scheduled actions that
325      * run periodically at a specified date and time, and rate expressions are useful
326      * for scheduled actions that run at a regular interval.</p> <p>At and cron
327      * expressions use Universal Coordinated Time (UTC) by default.</p> <p>The cron
328      * format consists of six fields separated by white spaces: [Minutes] [Hours]
329      * [Day_of_Month] [Month] [Day_of_Week] [Year].</p> <p>For rate expressions,
330      * <i>value</i> is a positive integer and <i>unit</i> is <code>minute</code> |
331      * <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code>
332      * | <code>days</code>.</p> <p>For more information and examples, see <a
333      * href="https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html">Example
334      * scheduled actions for Application Auto Scaling</a> in the <i>Application Auto
335      * Scaling User Guide</i>.</p>
336      */
WithSchedule(const char * value)337     inline ScheduledAction& WithSchedule(const char* value) { SetSchedule(value); return *this;}
338 
339 
340     /**
341      * <p>The time zone used when referring to the date and time of a scheduled action,
342      * when the scheduled action uses an at or cron expression.</p>
343      */
GetTimezone()344     inline const Aws::String& GetTimezone() const{ return m_timezone; }
345 
346     /**
347      * <p>The time zone used when referring to the date and time of a scheduled action,
348      * when the scheduled action uses an at or cron expression.</p>
349      */
TimezoneHasBeenSet()350     inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; }
351 
352     /**
353      * <p>The time zone used when referring to the date and time of a scheduled action,
354      * when the scheduled action uses an at or cron expression.</p>
355      */
SetTimezone(const Aws::String & value)356     inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; }
357 
358     /**
359      * <p>The time zone used when referring to the date and time of a scheduled action,
360      * when the scheduled action uses an at or cron expression.</p>
361      */
SetTimezone(Aws::String && value)362     inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); }
363 
364     /**
365      * <p>The time zone used when referring to the date and time of a scheduled action,
366      * when the scheduled action uses an at or cron expression.</p>
367      */
SetTimezone(const char * value)368     inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); }
369 
370     /**
371      * <p>The time zone used when referring to the date and time of a scheduled action,
372      * when the scheduled action uses an at or cron expression.</p>
373      */
WithTimezone(const Aws::String & value)374     inline ScheduledAction& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;}
375 
376     /**
377      * <p>The time zone used when referring to the date and time of a scheduled action,
378      * when the scheduled action uses an at or cron expression.</p>
379      */
WithTimezone(Aws::String && value)380     inline ScheduledAction& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;}
381 
382     /**
383      * <p>The time zone used when referring to the date and time of a scheduled action,
384      * when the scheduled action uses an at or cron expression.</p>
385      */
WithTimezone(const char * value)386     inline ScheduledAction& WithTimezone(const char* value) { SetTimezone(value); return *this;}
387 
388 
389     /**
390      * <p>The identifier of the resource associated with the scaling policy. This
391      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
392      * service - The resource type is <code>service</code> and the unique identifier is
393      * the cluster name and service name. Example:
394      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
395      * resource type is <code>spot-fleet-request</code> and the unique identifier is
396      * the Spot Fleet request ID. Example:
397      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
398      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
399      * the unique identifier is the cluster ID and instance group ID. Example:
400      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
401      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
402      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
403      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
404      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
405      * </li> <li> <p>DynamoDB global secondary index - The resource type is
406      * <code>index</code> and the unique identifier is the index name. Example:
407      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
408      * cluster - The resource type is <code>cluster</code> and the unique identifier is
409      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
410      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
411      * the unique identifier is the resource ID. Example:
412      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
413      * <p>Custom resources are not supported with a resource type. This parameter must
414      * specify the <code>OutputValue</code> from the CloudFormation template stack used
415      * to access the resources. The unique identifier is defined by the service
416      * provider. More information is available in our <a
417      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
418      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
419      * endpoint - The resource type and unique identifier are specified using the
420      * endpoint ARN. Example:
421      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
422      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
423      * and unique identifier are specified using the endpoint ARN. Example:
424      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
425      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
426      * <code>function</code> and the unique identifier is the function name with a
427      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
428      * <code>function:my-function:prod</code> or
429      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
430      * The resource type is <code>table</code> and the unique identifier is the table
431      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
432      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
433      * using the cluster ARN. Example:
434      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
435      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
436      * <code>replication-group</code> and the unique identifier is the replication
437      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
438      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
439      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
440      * </li> </ul>
441      */
GetResourceId()442     inline const Aws::String& GetResourceId() const{ return m_resourceId; }
443 
444     /**
445      * <p>The identifier of the resource associated with the scaling policy. This
446      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
447      * service - The resource type is <code>service</code> and the unique identifier is
448      * the cluster name and service name. Example:
449      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
450      * resource type is <code>spot-fleet-request</code> and the unique identifier is
451      * the Spot Fleet request ID. Example:
452      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
453      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
454      * the unique identifier is the cluster ID and instance group ID. Example:
455      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
456      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
457      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
458      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
459      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
460      * </li> <li> <p>DynamoDB global secondary index - The resource type is
461      * <code>index</code> and the unique identifier is the index name. Example:
462      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
463      * cluster - The resource type is <code>cluster</code> and the unique identifier is
464      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
465      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
466      * the unique identifier is the resource ID. Example:
467      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
468      * <p>Custom resources are not supported with a resource type. This parameter must
469      * specify the <code>OutputValue</code> from the CloudFormation template stack used
470      * to access the resources. The unique identifier is defined by the service
471      * provider. More information is available in our <a
472      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
473      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
474      * endpoint - The resource type and unique identifier are specified using the
475      * endpoint ARN. Example:
476      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
477      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
478      * and unique identifier are specified using the endpoint ARN. Example:
479      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
480      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
481      * <code>function</code> and the unique identifier is the function name with a
482      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
483      * <code>function:my-function:prod</code> or
484      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
485      * The resource type is <code>table</code> and the unique identifier is the table
486      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
487      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
488      * using the cluster ARN. Example:
489      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
490      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
491      * <code>replication-group</code> and the unique identifier is the replication
492      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
493      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
494      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
495      * </li> </ul>
496      */
ResourceIdHasBeenSet()497     inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
498 
499     /**
500      * <p>The identifier of the resource associated with the scaling policy. This
501      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
502      * service - The resource type is <code>service</code> and the unique identifier is
503      * the cluster name and service name. Example:
504      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
505      * resource type is <code>spot-fleet-request</code> and the unique identifier is
506      * the Spot Fleet request ID. Example:
507      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
508      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
509      * the unique identifier is the cluster ID and instance group ID. Example:
510      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
511      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
512      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
513      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
514      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
515      * </li> <li> <p>DynamoDB global secondary index - The resource type is
516      * <code>index</code> and the unique identifier is the index name. Example:
517      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
518      * cluster - The resource type is <code>cluster</code> and the unique identifier is
519      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
520      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
521      * the unique identifier is the resource ID. Example:
522      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
523      * <p>Custom resources are not supported with a resource type. This parameter must
524      * specify the <code>OutputValue</code> from the CloudFormation template stack used
525      * to access the resources. The unique identifier is defined by the service
526      * provider. More information is available in our <a
527      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
528      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
529      * endpoint - The resource type and unique identifier are specified using the
530      * endpoint ARN. Example:
531      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
532      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
533      * and unique identifier are specified using the endpoint ARN. Example:
534      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
535      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
536      * <code>function</code> and the unique identifier is the function name with a
537      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
538      * <code>function:my-function:prod</code> or
539      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
540      * The resource type is <code>table</code> and the unique identifier is the table
541      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
542      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
543      * using the cluster ARN. Example:
544      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
545      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
546      * <code>replication-group</code> and the unique identifier is the replication
547      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
548      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
549      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
550      * </li> </ul>
551      */
SetResourceId(const Aws::String & value)552     inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
553 
554     /**
555      * <p>The identifier of the resource associated with the scaling policy. This
556      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
557      * service - The resource type is <code>service</code> and the unique identifier is
558      * the cluster name and service name. Example:
559      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
560      * resource type is <code>spot-fleet-request</code> and the unique identifier is
561      * the Spot Fleet request ID. Example:
562      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
563      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
564      * the unique identifier is the cluster ID and instance group ID. Example:
565      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
566      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
567      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
568      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
569      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
570      * </li> <li> <p>DynamoDB global secondary index - The resource type is
571      * <code>index</code> and the unique identifier is the index name. Example:
572      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
573      * cluster - The resource type is <code>cluster</code> and the unique identifier is
574      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
575      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
576      * the unique identifier is the resource ID. Example:
577      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
578      * <p>Custom resources are not supported with a resource type. This parameter must
579      * specify the <code>OutputValue</code> from the CloudFormation template stack used
580      * to access the resources. The unique identifier is defined by the service
581      * provider. More information is available in our <a
582      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
583      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
584      * endpoint - The resource type and unique identifier are specified using the
585      * endpoint ARN. Example:
586      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
587      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
588      * and unique identifier are specified using the endpoint ARN. Example:
589      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
590      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
591      * <code>function</code> and the unique identifier is the function name with a
592      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
593      * <code>function:my-function:prod</code> or
594      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
595      * The resource type is <code>table</code> and the unique identifier is the table
596      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
597      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
598      * using the cluster ARN. Example:
599      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
600      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
601      * <code>replication-group</code> and the unique identifier is the replication
602      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
603      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
604      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
605      * </li> </ul>
606      */
SetResourceId(Aws::String && value)607     inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
608 
609     /**
610      * <p>The identifier of the resource associated with the scaling policy. This
611      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
612      * service - The resource type is <code>service</code> and the unique identifier is
613      * the cluster name and service name. Example:
614      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
615      * resource type is <code>spot-fleet-request</code> and the unique identifier is
616      * the Spot Fleet request ID. Example:
617      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
618      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
619      * the unique identifier is the cluster ID and instance group ID. Example:
620      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
621      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
622      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
623      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
624      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
625      * </li> <li> <p>DynamoDB global secondary index - The resource type is
626      * <code>index</code> and the unique identifier is the index name. Example:
627      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
628      * cluster - The resource type is <code>cluster</code> and the unique identifier is
629      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
630      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
631      * the unique identifier is the resource ID. Example:
632      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
633      * <p>Custom resources are not supported with a resource type. This parameter must
634      * specify the <code>OutputValue</code> from the CloudFormation template stack used
635      * to access the resources. The unique identifier is defined by the service
636      * provider. More information is available in our <a
637      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
638      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
639      * endpoint - The resource type and unique identifier are specified using the
640      * endpoint ARN. Example:
641      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
642      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
643      * and unique identifier are specified using the endpoint ARN. Example:
644      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
645      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
646      * <code>function</code> and the unique identifier is the function name with a
647      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
648      * <code>function:my-function:prod</code> or
649      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
650      * The resource type is <code>table</code> and the unique identifier is the table
651      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
652      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
653      * using the cluster ARN. Example:
654      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
655      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
656      * <code>replication-group</code> and the unique identifier is the replication
657      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
658      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
659      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
660      * </li> </ul>
661      */
SetResourceId(const char * value)662     inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
663 
664     /**
665      * <p>The identifier of the resource associated with the scaling policy. This
666      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
667      * service - The resource type is <code>service</code> and the unique identifier is
668      * the cluster name and service name. Example:
669      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
670      * resource type is <code>spot-fleet-request</code> and the unique identifier is
671      * the Spot Fleet request ID. Example:
672      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
673      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
674      * the unique identifier is the cluster ID and instance group ID. Example:
675      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
676      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
677      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
678      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
679      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
680      * </li> <li> <p>DynamoDB global secondary index - The resource type is
681      * <code>index</code> and the unique identifier is the index name. Example:
682      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
683      * cluster - The resource type is <code>cluster</code> and the unique identifier is
684      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
685      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
686      * the unique identifier is the resource ID. Example:
687      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
688      * <p>Custom resources are not supported with a resource type. This parameter must
689      * specify the <code>OutputValue</code> from the CloudFormation template stack used
690      * to access the resources. The unique identifier is defined by the service
691      * provider. More information is available in our <a
692      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
693      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
694      * endpoint - The resource type and unique identifier are specified using the
695      * endpoint ARN. Example:
696      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
697      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
698      * and unique identifier are specified using the endpoint ARN. Example:
699      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
700      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
701      * <code>function</code> and the unique identifier is the function name with a
702      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
703      * <code>function:my-function:prod</code> or
704      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
705      * The resource type is <code>table</code> and the unique identifier is the table
706      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
707      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
708      * using the cluster ARN. Example:
709      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
710      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
711      * <code>replication-group</code> and the unique identifier is the replication
712      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
713      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
714      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
715      * </li> </ul>
716      */
WithResourceId(const Aws::String & value)717     inline ScheduledAction& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
718 
719     /**
720      * <p>The identifier of the resource associated with the scaling policy. This
721      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
722      * service - The resource type is <code>service</code> and the unique identifier is
723      * the cluster name and service name. Example:
724      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
725      * resource type is <code>spot-fleet-request</code> and the unique identifier is
726      * the Spot Fleet request ID. Example:
727      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
728      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
729      * the unique identifier is the cluster ID and instance group ID. Example:
730      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
731      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
732      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
733      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
734      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
735      * </li> <li> <p>DynamoDB global secondary index - The resource type is
736      * <code>index</code> and the unique identifier is the index name. Example:
737      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
738      * cluster - The resource type is <code>cluster</code> and the unique identifier is
739      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
740      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
741      * the unique identifier is the resource ID. Example:
742      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
743      * <p>Custom resources are not supported with a resource type. This parameter must
744      * specify the <code>OutputValue</code> from the CloudFormation template stack used
745      * to access the resources. The unique identifier is defined by the service
746      * provider. More information is available in our <a
747      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
748      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
749      * endpoint - The resource type and unique identifier are specified using the
750      * endpoint ARN. Example:
751      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
752      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
753      * and unique identifier are specified using the endpoint ARN. Example:
754      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
755      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
756      * <code>function</code> and the unique identifier is the function name with a
757      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
758      * <code>function:my-function:prod</code> or
759      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
760      * The resource type is <code>table</code> and the unique identifier is the table
761      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
762      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
763      * using the cluster ARN. Example:
764      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
765      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
766      * <code>replication-group</code> and the unique identifier is the replication
767      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
768      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
769      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
770      * </li> </ul>
771      */
WithResourceId(Aws::String && value)772     inline ScheduledAction& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
773 
774     /**
775      * <p>The identifier of the resource associated with the scaling policy. This
776      * string consists of the resource type and unique identifier.</p> <ul> <li> <p>ECS
777      * service - The resource type is <code>service</code> and the unique identifier is
778      * the cluster name and service name. Example:
779      * <code>service/default/sample-webapp</code>.</p> </li> <li> <p>Spot Fleet - The
780      * resource type is <code>spot-fleet-request</code> and the unique identifier is
781      * the Spot Fleet request ID. Example:
782      * <code>spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE</code>.</p>
783      * </li> <li> <p>EMR cluster - The resource type is <code>instancegroup</code> and
784      * the unique identifier is the cluster ID and instance group ID. Example:
785      * <code>instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0</code>.</p> </li> <li>
786      * <p>AppStream 2.0 fleet - The resource type is <code>fleet</code> and the unique
787      * identifier is the fleet name. Example: <code>fleet/sample-fleet</code>.</p>
788      * </li> <li> <p>DynamoDB table - The resource type is <code>table</code> and the
789      * unique identifier is the table name. Example: <code>table/my-table</code>.</p>
790      * </li> <li> <p>DynamoDB global secondary index - The resource type is
791      * <code>index</code> and the unique identifier is the index name. Example:
792      * <code>table/my-table/index/my-table-index</code>.</p> </li> <li> <p>Aurora DB
793      * cluster - The resource type is <code>cluster</code> and the unique identifier is
794      * the cluster name. Example: <code>cluster:my-db-cluster</code>.</p> </li> <li>
795      * <p>SageMaker endpoint variant - The resource type is <code>variant</code> and
796      * the unique identifier is the resource ID. Example:
797      * <code>endpoint/my-end-point/variant/KMeansClustering</code>.</p> </li> <li>
798      * <p>Custom resources are not supported with a resource type. This parameter must
799      * specify the <code>OutputValue</code> from the CloudFormation template stack used
800      * to access the resources. The unique identifier is defined by the service
801      * provider. More information is available in our <a
802      * href="https://github.com/aws/aws-auto-scaling-custom-resource">GitHub
803      * repository</a>.</p> </li> <li> <p>Amazon Comprehend document classification
804      * endpoint - The resource type and unique identifier are specified using the
805      * endpoint ARN. Example:
806      * <code>arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE</code>.</p>
807      * </li> <li> <p>Amazon Comprehend entity recognizer endpoint - The resource type
808      * and unique identifier are specified using the endpoint ARN. Example:
809      * <code>arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE</code>.</p>
810      * </li> <li> <p>Lambda provisioned concurrency - The resource type is
811      * <code>function</code> and the unique identifier is the function name with a
812      * function version or alias name suffix that is not <code>$LATEST</code>. Example:
813      * <code>function:my-function:prod</code> or
814      * <code>function:my-function:1</code>.</p> </li> <li> <p>Amazon Keyspaces table -
815      * The resource type is <code>table</code> and the unique identifier is the table
816      * name. Example: <code>keyspace/mykeyspace/table/mytable</code>.</p> </li> <li>
817      * <p>Amazon MSK cluster - The resource type and unique identifier are specified
818      * using the cluster ARN. Example:
819      * <code>arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5</code>.</p>
820      * </li> <li> <p>Amazon ElastiCache replication group - The resource type is
821      * <code>replication-group</code> and the unique identifier is the replication
822      * group name. Example: <code>replication-group/mycluster</code>.</p> </li> <li>
823      * <p>Neptune cluster - The resource type is <code>cluster</code> and the unique
824      * identifier is the cluster name. Example: <code>cluster:mycluster</code>.</p>
825      * </li> </ul>
826      */
WithResourceId(const char * value)827     inline ScheduledAction& WithResourceId(const char* value) { SetResourceId(value); return *this;}
828 
829 
830     /**
831      * <p>The scalable dimension. This string consists of the service namespace,
832      * resource type, and scaling property.</p> <ul> <li> <p>
833      * <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
834      * service.</p> </li> <li> <p>
835      * <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
836      * of an EMR Instance Group.</p> </li> <li> <p>
837      * <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
838      * Spot Fleet.</p> </li> <li> <p> <code>appstream:fleet:DesiredCapacity</code> -
839      * The desired capacity of an AppStream 2.0 fleet.</p> </li> <li> <p>
840      * <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
841      * for a DynamoDB table.</p> </li> <li> <p>
842      * <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
843      * for a DynamoDB table.</p> </li> <li> <p>
844      * <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
845      * for a DynamoDB global secondary index.</p> </li> <li> <p>
846      * <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
847      * for a DynamoDB global secondary index.</p> </li> <li> <p>
848      * <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
849      * Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
850      * PostgreSQL-compatible edition.</p> </li> <li> <p>
851      * <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
852      * instances for an SageMaker model endpoint variant.</p> </li> <li> <p>
853      * <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
854      * a custom resource provided by your own application or service.</p> </li> <li>
855      * <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
856      * The number of inference units for an Amazon Comprehend document classification
857      * endpoint.</p> </li> <li> <p>
858      * <code>comprehend:entity-recognizer-endpoint:DesiredInferenceUnits</code> - The
859      * number of inference units for an Amazon Comprehend entity recognizer
860      * endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
861      * - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
862      * <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
863      * for an Amazon Keyspaces table.</p> </li> <li> <p>
864      * <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
865      * for an Amazon Keyspaces table.</p> </li> <li> <p>
866      * <code>kafka:broker-storage:VolumeSize</code> - The provisioned volume size (in
867      * GiB) for brokers in an Amazon MSK cluster.</p> </li> <li> <p>
868      * <code>elasticache:replication-group:NodeGroups</code> - The number of node
869      * groups for an Amazon ElastiCache replication group.</p> </li> <li> <p>
870      * <code>elasticache:replication-group:Replicas</code> - The number of replicas per
871      * node group for an Amazon ElastiCache replication group.</p> </li> <li> <p>
872      * <code>neptune:cluster:ReadReplicaCount</code> - The count of read replicas in an
873      * Amazon Neptune DB cluster.</p> </li> </ul>
874      */
GetScalableDimension()875     inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; }
876 
877     /**
878      * <p>The scalable dimension. This string consists of the service namespace,
879      * resource type, and scaling property.</p> <ul> <li> <p>
880      * <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
881      * service.</p> </li> <li> <p>
882      * <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
883      * of an EMR Instance Group.</p> </li> <li> <p>
884      * <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
885      * Spot Fleet.</p> </li> <li> <p> <code>appstream:fleet:DesiredCapacity</code> -
886      * The desired capacity of an AppStream 2.0 fleet.</p> </li> <li> <p>
887      * <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
888      * for a DynamoDB table.</p> </li> <li> <p>
889      * <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
890      * for a DynamoDB table.</p> </li> <li> <p>
891      * <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
892      * for a DynamoDB global secondary index.</p> </li> <li> <p>
893      * <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
894      * for a DynamoDB global secondary index.</p> </li> <li> <p>
895      * <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
896      * Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
897      * PostgreSQL-compatible edition.</p> </li> <li> <p>
898      * <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
899      * instances for an SageMaker model endpoint variant.</p> </li> <li> <p>
900      * <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
901      * a custom resource provided by your own application or service.</p> </li> <li>
902      * <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
903      * The number of inference units for an Amazon Comprehend document classification
904      * endpoint.</p> </li> <li> <p>
905      * <code>comprehend:entity-recognizer-endpoint:DesiredInferenceUnits</code> - The
906      * number of inference units for an Amazon Comprehend entity recognizer
907      * endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
908      * - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
909      * <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
910      * for an Amazon Keyspaces table.</p> </li> <li> <p>
911      * <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
912      * for an Amazon Keyspaces table.</p> </li> <li> <p>
913      * <code>kafka:broker-storage:VolumeSize</code> - The provisioned volume size (in
914      * GiB) for brokers in an Amazon MSK cluster.</p> </li> <li> <p>
915      * <code>elasticache:replication-group:NodeGroups</code> - The number of node
916      * groups for an Amazon ElastiCache replication group.</p> </li> <li> <p>
917      * <code>elasticache:replication-group:Replicas</code> - The number of replicas per
918      * node group for an Amazon ElastiCache replication group.</p> </li> <li> <p>
919      * <code>neptune:cluster:ReadReplicaCount</code> - The count of read replicas in an
920      * Amazon Neptune DB cluster.</p> </li> </ul>
921      */
ScalableDimensionHasBeenSet()922     inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; }
923 
924     /**
925      * <p>The scalable dimension. This string consists of the service namespace,
926      * resource type, and scaling property.</p> <ul> <li> <p>
927      * <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
928      * service.</p> </li> <li> <p>
929      * <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
930      * of an EMR Instance Group.</p> </li> <li> <p>
931      * <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
932      * Spot Fleet.</p> </li> <li> <p> <code>appstream:fleet:DesiredCapacity</code> -
933      * The desired capacity of an AppStream 2.0 fleet.</p> </li> <li> <p>
934      * <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
935      * for a DynamoDB table.</p> </li> <li> <p>
936      * <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
937      * for a DynamoDB table.</p> </li> <li> <p>
938      * <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
939      * for a DynamoDB global secondary index.</p> </li> <li> <p>
940      * <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
941      * for a DynamoDB global secondary index.</p> </li> <li> <p>
942      * <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
943      * Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
944      * PostgreSQL-compatible edition.</p> </li> <li> <p>
945      * <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
946      * instances for an SageMaker model endpoint variant.</p> </li> <li> <p>
947      * <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
948      * a custom resource provided by your own application or service.</p> </li> <li>
949      * <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
950      * The number of inference units for an Amazon Comprehend document classification
951      * endpoint.</p> </li> <li> <p>
952      * <code>comprehend:entity-recognizer-endpoint:DesiredInferenceUnits</code> - The
953      * number of inference units for an Amazon Comprehend entity recognizer
954      * endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
955      * - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
956      * <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
957      * for an Amazon Keyspaces table.</p> </li> <li> <p>
958      * <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
959      * for an Amazon Keyspaces table.</p> </li> <li> <p>
960      * <code>kafka:broker-storage:VolumeSize</code> - The provisioned volume size (in
961      * GiB) for brokers in an Amazon MSK cluster.</p> </li> <li> <p>
962      * <code>elasticache:replication-group:NodeGroups</code> - The number of node
963      * groups for an Amazon ElastiCache replication group.</p> </li> <li> <p>
964      * <code>elasticache:replication-group:Replicas</code> - The number of replicas per
965      * node group for an Amazon ElastiCache replication group.</p> </li> <li> <p>
966      * <code>neptune:cluster:ReadReplicaCount</code> - The count of read replicas in an
967      * Amazon Neptune DB cluster.</p> </li> </ul>
968      */
SetScalableDimension(const ScalableDimension & value)969     inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; }
970 
971     /**
972      * <p>The scalable dimension. This string consists of the service namespace,
973      * resource type, and scaling property.</p> <ul> <li> <p>
974      * <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
975      * service.</p> </li> <li> <p>
976      * <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
977      * of an EMR Instance Group.</p> </li> <li> <p>
978      * <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
979      * Spot Fleet.</p> </li> <li> <p> <code>appstream:fleet:DesiredCapacity</code> -
980      * The desired capacity of an AppStream 2.0 fleet.</p> </li> <li> <p>
981      * <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
982      * for a DynamoDB table.</p> </li> <li> <p>
983      * <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
984      * for a DynamoDB table.</p> </li> <li> <p>
985      * <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
986      * for a DynamoDB global secondary index.</p> </li> <li> <p>
987      * <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
988      * for a DynamoDB global secondary index.</p> </li> <li> <p>
989      * <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
990      * Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
991      * PostgreSQL-compatible edition.</p> </li> <li> <p>
992      * <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
993      * instances for an SageMaker model endpoint variant.</p> </li> <li> <p>
994      * <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
995      * a custom resource provided by your own application or service.</p> </li> <li>
996      * <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
997      * The number of inference units for an Amazon Comprehend document classification
998      * endpoint.</p> </li> <li> <p>
999      * <code>comprehend:entity-recognizer-endpoint:DesiredInferenceUnits</code> - The
1000      * number of inference units for an Amazon Comprehend entity recognizer
1001      * endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
1002      * - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
1003      * <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
1004      * for an Amazon Keyspaces table.</p> </li> <li> <p>
1005      * <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
1006      * for an Amazon Keyspaces table.</p> </li> <li> <p>
1007      * <code>kafka:broker-storage:VolumeSize</code> - The provisioned volume size (in
1008      * GiB) for brokers in an Amazon MSK cluster.</p> </li> <li> <p>
1009      * <code>elasticache:replication-group:NodeGroups</code> - The number of node
1010      * groups for an Amazon ElastiCache replication group.</p> </li> <li> <p>
1011      * <code>elasticache:replication-group:Replicas</code> - The number of replicas per
1012      * node group for an Amazon ElastiCache replication group.</p> </li> <li> <p>
1013      * <code>neptune:cluster:ReadReplicaCount</code> - The count of read replicas in an
1014      * Amazon Neptune DB cluster.</p> </li> </ul>
1015      */
SetScalableDimension(ScalableDimension && value)1016     inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); }
1017 
1018     /**
1019      * <p>The scalable dimension. This string consists of the service namespace,
1020      * resource type, and scaling property.</p> <ul> <li> <p>
1021      * <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
1022      * service.</p> </li> <li> <p>
1023      * <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
1024      * of an EMR Instance Group.</p> </li> <li> <p>
1025      * <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
1026      * Spot Fleet.</p> </li> <li> <p> <code>appstream:fleet:DesiredCapacity</code> -
1027      * The desired capacity of an AppStream 2.0 fleet.</p> </li> <li> <p>
1028      * <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
1029      * for a DynamoDB table.</p> </li> <li> <p>
1030      * <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
1031      * for a DynamoDB table.</p> </li> <li> <p>
1032      * <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
1033      * for a DynamoDB global secondary index.</p> </li> <li> <p>
1034      * <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
1035      * for a DynamoDB global secondary index.</p> </li> <li> <p>
1036      * <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
1037      * Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
1038      * PostgreSQL-compatible edition.</p> </li> <li> <p>
1039      * <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
1040      * instances for an SageMaker model endpoint variant.</p> </li> <li> <p>
1041      * <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
1042      * a custom resource provided by your own application or service.</p> </li> <li>
1043      * <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
1044      * The number of inference units for an Amazon Comprehend document classification
1045      * endpoint.</p> </li> <li> <p>
1046      * <code>comprehend:entity-recognizer-endpoint:DesiredInferenceUnits</code> - The
1047      * number of inference units for an Amazon Comprehend entity recognizer
1048      * endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
1049      * - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
1050      * <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
1051      * for an Amazon Keyspaces table.</p> </li> <li> <p>
1052      * <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
1053      * for an Amazon Keyspaces table.</p> </li> <li> <p>
1054      * <code>kafka:broker-storage:VolumeSize</code> - The provisioned volume size (in
1055      * GiB) for brokers in an Amazon MSK cluster.</p> </li> <li> <p>
1056      * <code>elasticache:replication-group:NodeGroups</code> - The number of node
1057      * groups for an Amazon ElastiCache replication group.</p> </li> <li> <p>
1058      * <code>elasticache:replication-group:Replicas</code> - The number of replicas per
1059      * node group for an Amazon ElastiCache replication group.</p> </li> <li> <p>
1060      * <code>neptune:cluster:ReadReplicaCount</code> - The count of read replicas in an
1061      * Amazon Neptune DB cluster.</p> </li> </ul>
1062      */
WithScalableDimension(const ScalableDimension & value)1063     inline ScheduledAction& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;}
1064 
1065     /**
1066      * <p>The scalable dimension. This string consists of the service namespace,
1067      * resource type, and scaling property.</p> <ul> <li> <p>
1068      * <code>ecs:service:DesiredCount</code> - The desired task count of an ECS
1069      * service.</p> </li> <li> <p>
1070      * <code>elasticmapreduce:instancegroup:InstanceCount</code> - The instance count
1071      * of an EMR Instance Group.</p> </li> <li> <p>
1072      * <code>ec2:spot-fleet-request:TargetCapacity</code> - The target capacity of a
1073      * Spot Fleet.</p> </li> <li> <p> <code>appstream:fleet:DesiredCapacity</code> -
1074      * The desired capacity of an AppStream 2.0 fleet.</p> </li> <li> <p>
1075      * <code>dynamodb:table:ReadCapacityUnits</code> - The provisioned read capacity
1076      * for a DynamoDB table.</p> </li> <li> <p>
1077      * <code>dynamodb:table:WriteCapacityUnits</code> - The provisioned write capacity
1078      * for a DynamoDB table.</p> </li> <li> <p>
1079      * <code>dynamodb:index:ReadCapacityUnits</code> - The provisioned read capacity
1080      * for a DynamoDB global secondary index.</p> </li> <li> <p>
1081      * <code>dynamodb:index:WriteCapacityUnits</code> - The provisioned write capacity
1082      * for a DynamoDB global secondary index.</p> </li> <li> <p>
1083      * <code>rds:cluster:ReadReplicaCount</code> - The count of Aurora Replicas in an
1084      * Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora
1085      * PostgreSQL-compatible edition.</p> </li> <li> <p>
1086      * <code>sagemaker:variant:DesiredInstanceCount</code> - The number of EC2
1087      * instances for an SageMaker model endpoint variant.</p> </li> <li> <p>
1088      * <code>custom-resource:ResourceType:Property</code> - The scalable dimension for
1089      * a custom resource provided by your own application or service.</p> </li> <li>
1090      * <p> <code>comprehend:document-classifier-endpoint:DesiredInferenceUnits</code> -
1091      * The number of inference units for an Amazon Comprehend document classification
1092      * endpoint.</p> </li> <li> <p>
1093      * <code>comprehend:entity-recognizer-endpoint:DesiredInferenceUnits</code> - The
1094      * number of inference units for an Amazon Comprehend entity recognizer
1095      * endpoint.</p> </li> <li> <p> <code>lambda:function:ProvisionedConcurrency</code>
1096      * - The provisioned concurrency for a Lambda function.</p> </li> <li> <p>
1097      * <code>cassandra:table:ReadCapacityUnits</code> - The provisioned read capacity
1098      * for an Amazon Keyspaces table.</p> </li> <li> <p>
1099      * <code>cassandra:table:WriteCapacityUnits</code> - The provisioned write capacity
1100      * for an Amazon Keyspaces table.</p> </li> <li> <p>
1101      * <code>kafka:broker-storage:VolumeSize</code> - The provisioned volume size (in
1102      * GiB) for brokers in an Amazon MSK cluster.</p> </li> <li> <p>
1103      * <code>elasticache:replication-group:NodeGroups</code> - The number of node
1104      * groups for an Amazon ElastiCache replication group.</p> </li> <li> <p>
1105      * <code>elasticache:replication-group:Replicas</code> - The number of replicas per
1106      * node group for an Amazon ElastiCache replication group.</p> </li> <li> <p>
1107      * <code>neptune:cluster:ReadReplicaCount</code> - The count of read replicas in an
1108      * Amazon Neptune DB cluster.</p> </li> </ul>
1109      */
WithScalableDimension(ScalableDimension && value)1110     inline ScheduledAction& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;}
1111 
1112 
1113     /**
1114      * <p>The date and time that the action is scheduled to begin, in UTC.</p>
1115      */
GetStartTime()1116     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
1117 
1118     /**
1119      * <p>The date and time that the action is scheduled to begin, in UTC.</p>
1120      */
StartTimeHasBeenSet()1121     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
1122 
1123     /**
1124      * <p>The date and time that the action is scheduled to begin, in UTC.</p>
1125      */
SetStartTime(const Aws::Utils::DateTime & value)1126     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
1127 
1128     /**
1129      * <p>The date and time that the action is scheduled to begin, in UTC.</p>
1130      */
SetStartTime(Aws::Utils::DateTime && value)1131     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
1132 
1133     /**
1134      * <p>The date and time that the action is scheduled to begin, in UTC.</p>
1135      */
WithStartTime(const Aws::Utils::DateTime & value)1136     inline ScheduledAction& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
1137 
1138     /**
1139      * <p>The date and time that the action is scheduled to begin, in UTC.</p>
1140      */
WithStartTime(Aws::Utils::DateTime && value)1141     inline ScheduledAction& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
1142 
1143 
1144     /**
1145      * <p>The date and time that the action is scheduled to end, in UTC.</p>
1146      */
GetEndTime()1147     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
1148 
1149     /**
1150      * <p>The date and time that the action is scheduled to end, in UTC.</p>
1151      */
EndTimeHasBeenSet()1152     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
1153 
1154     /**
1155      * <p>The date and time that the action is scheduled to end, in UTC.</p>
1156      */
SetEndTime(const Aws::Utils::DateTime & value)1157     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
1158 
1159     /**
1160      * <p>The date and time that the action is scheduled to end, in UTC.</p>
1161      */
SetEndTime(Aws::Utils::DateTime && value)1162     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
1163 
1164     /**
1165      * <p>The date and time that the action is scheduled to end, in UTC.</p>
1166      */
WithEndTime(const Aws::Utils::DateTime & value)1167     inline ScheduledAction& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
1168 
1169     /**
1170      * <p>The date and time that the action is scheduled to end, in UTC.</p>
1171      */
WithEndTime(Aws::Utils::DateTime && value)1172     inline ScheduledAction& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
1173 
1174 
1175     /**
1176      * <p>The new minimum and maximum capacity. You can set both values or just one. At
1177      * the scheduled time, if the current capacity is below the minimum capacity,
1178      * Application Auto Scaling scales out to the minimum capacity. If the current
1179      * capacity is above the maximum capacity, Application Auto Scaling scales in to
1180      * the maximum capacity.</p>
1181      */
GetScalableTargetAction()1182     inline const ScalableTargetAction& GetScalableTargetAction() const{ return m_scalableTargetAction; }
1183 
1184     /**
1185      * <p>The new minimum and maximum capacity. You can set both values or just one. At
1186      * the scheduled time, if the current capacity is below the minimum capacity,
1187      * Application Auto Scaling scales out to the minimum capacity. If the current
1188      * capacity is above the maximum capacity, Application Auto Scaling scales in to
1189      * the maximum capacity.</p>
1190      */
ScalableTargetActionHasBeenSet()1191     inline bool ScalableTargetActionHasBeenSet() const { return m_scalableTargetActionHasBeenSet; }
1192 
1193     /**
1194      * <p>The new minimum and maximum capacity. You can set both values or just one. At
1195      * the scheduled time, if the current capacity is below the minimum capacity,
1196      * Application Auto Scaling scales out to the minimum capacity. If the current
1197      * capacity is above the maximum capacity, Application Auto Scaling scales in to
1198      * the maximum capacity.</p>
1199      */
SetScalableTargetAction(const ScalableTargetAction & value)1200     inline void SetScalableTargetAction(const ScalableTargetAction& value) { m_scalableTargetActionHasBeenSet = true; m_scalableTargetAction = value; }
1201 
1202     /**
1203      * <p>The new minimum and maximum capacity. You can set both values or just one. At
1204      * the scheduled time, if the current capacity is below the minimum capacity,
1205      * Application Auto Scaling scales out to the minimum capacity. If the current
1206      * capacity is above the maximum capacity, Application Auto Scaling scales in to
1207      * the maximum capacity.</p>
1208      */
SetScalableTargetAction(ScalableTargetAction && value)1209     inline void SetScalableTargetAction(ScalableTargetAction&& value) { m_scalableTargetActionHasBeenSet = true; m_scalableTargetAction = std::move(value); }
1210 
1211     /**
1212      * <p>The new minimum and maximum capacity. You can set both values or just one. At
1213      * the scheduled time, if the current capacity is below the minimum capacity,
1214      * Application Auto Scaling scales out to the minimum capacity. If the current
1215      * capacity is above the maximum capacity, Application Auto Scaling scales in to
1216      * the maximum capacity.</p>
1217      */
WithScalableTargetAction(const ScalableTargetAction & value)1218     inline ScheduledAction& WithScalableTargetAction(const ScalableTargetAction& value) { SetScalableTargetAction(value); return *this;}
1219 
1220     /**
1221      * <p>The new minimum and maximum capacity. You can set both values or just one. At
1222      * the scheduled time, if the current capacity is below the minimum capacity,
1223      * Application Auto Scaling scales out to the minimum capacity. If the current
1224      * capacity is above the maximum capacity, Application Auto Scaling scales in to
1225      * the maximum capacity.</p>
1226      */
WithScalableTargetAction(ScalableTargetAction && value)1227     inline ScheduledAction& WithScalableTargetAction(ScalableTargetAction&& value) { SetScalableTargetAction(std::move(value)); return *this;}
1228 
1229 
1230     /**
1231      * <p>The date and time that the scheduled action was created.</p>
1232      */
GetCreationTime()1233     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
1234 
1235     /**
1236      * <p>The date and time that the scheduled action was created.</p>
1237      */
CreationTimeHasBeenSet()1238     inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
1239 
1240     /**
1241      * <p>The date and time that the scheduled action was created.</p>
1242      */
SetCreationTime(const Aws::Utils::DateTime & value)1243     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
1244 
1245     /**
1246      * <p>The date and time that the scheduled action was created.</p>
1247      */
SetCreationTime(Aws::Utils::DateTime && value)1248     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
1249 
1250     /**
1251      * <p>The date and time that the scheduled action was created.</p>
1252      */
WithCreationTime(const Aws::Utils::DateTime & value)1253     inline ScheduledAction& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
1254 
1255     /**
1256      * <p>The date and time that the scheduled action was created.</p>
1257      */
WithCreationTime(Aws::Utils::DateTime && value)1258     inline ScheduledAction& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
1259 
1260   private:
1261 
1262     Aws::String m_scheduledActionName;
1263     bool m_scheduledActionNameHasBeenSet;
1264 
1265     Aws::String m_scheduledActionARN;
1266     bool m_scheduledActionARNHasBeenSet;
1267 
1268     ServiceNamespace m_serviceNamespace;
1269     bool m_serviceNamespaceHasBeenSet;
1270 
1271     Aws::String m_schedule;
1272     bool m_scheduleHasBeenSet;
1273 
1274     Aws::String m_timezone;
1275     bool m_timezoneHasBeenSet;
1276 
1277     Aws::String m_resourceId;
1278     bool m_resourceIdHasBeenSet;
1279 
1280     ScalableDimension m_scalableDimension;
1281     bool m_scalableDimensionHasBeenSet;
1282 
1283     Aws::Utils::DateTime m_startTime;
1284     bool m_startTimeHasBeenSet;
1285 
1286     Aws::Utils::DateTime m_endTime;
1287     bool m_endTimeHasBeenSet;
1288 
1289     ScalableTargetAction m_scalableTargetAction;
1290     bool m_scalableTargetActionHasBeenSet;
1291 
1292     Aws::Utils::DateTime m_creationTime;
1293     bool m_creationTimeHasBeenSet;
1294   };
1295 
1296 } // namespace Model
1297 } // namespace ApplicationAutoScaling
1298 } // namespace Aws
1299