/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes information used for one or more scheduled scaling action updates
* in a BatchPutScheduledUpdateGroupAction operation. When updating a
* scheduled scaling action, all optional parameters are left unchanged if not
* specified.See Also:
AWS
* API Reference
The name of the scaling action.
*/ inline const Aws::String& GetScheduledActionName() const{ return m_scheduledActionName; } /** *The name of the scaling action.
*/ inline bool ScheduledActionNameHasBeenSet() const { return m_scheduledActionNameHasBeenSet; } /** *The name of the scaling action.
*/ inline void SetScheduledActionName(const Aws::String& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = value; } /** *The name of the scaling action.
*/ inline void SetScheduledActionName(Aws::String&& value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName = std::move(value); } /** *The name of the scaling action.
*/ inline void SetScheduledActionName(const char* value) { m_scheduledActionNameHasBeenSet = true; m_scheduledActionName.assign(value); } /** *The name of the scaling action.
*/ inline ScheduledUpdateGroupActionRequest& WithScheduledActionName(const Aws::String& value) { SetScheduledActionName(value); return *this;} /** *The name of the scaling action.
*/ inline ScheduledUpdateGroupActionRequest& WithScheduledActionName(Aws::String&& value) { SetScheduledActionName(std::move(value)); return *this;} /** *The name of the scaling action.
*/ inline ScheduledUpdateGroupActionRequest& WithScheduledActionName(const char* value) { SetScheduledActionName(value); return *this;} /** *The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in
* UTC/GMT only and in quotes (for example,
* "2019-06-01T00:00:00Z").
If you specify
* Recurrence and StartTime, Amazon EC2 Auto Scaling
* performs the action at this time, and then performs the action based on the
* specified recurrence.
If you try to schedule the action in the past, * Amazon EC2 Auto Scaling returns an error message.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in
* UTC/GMT only and in quotes (for example,
* "2019-06-01T00:00:00Z").
If you specify
* Recurrence and StartTime, Amazon EC2 Auto Scaling
* performs the action at this time, and then performs the action based on the
* specified recurrence.
If you try to schedule the action in the past, * Amazon EC2 Auto Scaling returns an error message.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in
* UTC/GMT only and in quotes (for example,
* "2019-06-01T00:00:00Z").
If you specify
* Recurrence and StartTime, Amazon EC2 Auto Scaling
* performs the action at this time, and then performs the action based on the
* specified recurrence.
If you try to schedule the action in the past, * Amazon EC2 Auto Scaling returns an error message.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in
* UTC/GMT only and in quotes (for example,
* "2019-06-01T00:00:00Z").
If you specify
* Recurrence and StartTime, Amazon EC2 Auto Scaling
* performs the action at this time, and then performs the action based on the
* specified recurrence.
If you try to schedule the action in the past, * Amazon EC2 Auto Scaling returns an error message.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in
* UTC/GMT only and in quotes (for example,
* "2019-06-01T00:00:00Z").
If you specify
* Recurrence and StartTime, Amazon EC2 Auto Scaling
* performs the action at this time, and then performs the action based on the
* specified recurrence.
If you try to schedule the action in the past, * Amazon EC2 Auto Scaling returns an error message.
*/ inline ScheduledUpdateGroupActionRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in
* UTC/GMT only and in quotes (for example,
* "2019-06-01T00:00:00Z").
If you specify
* Recurrence and StartTime, Amazon EC2 Auto Scaling
* performs the action at this time, and then performs the action based on the
* specified recurrence.
If you try to schedule the action in the past, * Amazon EC2 Auto Scaling returns an error message.
*/ inline ScheduledUpdateGroupActionRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling * does not perform the action after this time.
*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling * does not perform the action after this time.
*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling * does not perform the action after this time.
*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling * does not perform the action after this time.
*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling * does not perform the action after this time.
*/ inline ScheduledUpdateGroupActionRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling * does not perform the action after this time.
*/ inline ScheduledUpdateGroupActionRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The recurring schedule for the action, in Unix cron syntax format. This
* format consists of five fields separated by white spaces: [Minute] [Hour]
* [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for
* example, "30 0 1 1,6,12 *"). For more information about this
* format, see Crontab.
When
* StartTime and EndTime are specified with
* Recurrence, they form the boundaries of when the recurring action
* starts and stops.
The minimum size of the Auto Scaling group.
*/ inline int GetMinSize() const{ return m_minSize; } /** *The minimum size of the Auto Scaling group.
*/ inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; } /** *The minimum size of the Auto Scaling group.
*/ inline void SetMinSize(int value) { m_minSizeHasBeenSet = true; m_minSize = value; } /** *The minimum size of the Auto Scaling group.
*/ inline ScheduledUpdateGroupActionRequest& WithMinSize(int value) { SetMinSize(value); return *this;} /** *The maximum size of the Auto Scaling group.
*/ inline int GetMaxSize() const{ return m_maxSize; } /** *The maximum size of the Auto Scaling group.
*/ inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; } /** *The maximum size of the Auto Scaling group.
*/ inline void SetMaxSize(int value) { m_maxSizeHasBeenSet = true; m_maxSize = value; } /** *The maximum size of the Auto Scaling group.
*/ inline ScheduledUpdateGroupActionRequest& WithMaxSize(int value) { SetMaxSize(value); return *this;} /** *The desired capacity is the initial capacity of the Auto Scaling group after * the scheduled action runs and the capacity it attempts to maintain.
*/ inline int GetDesiredCapacity() const{ return m_desiredCapacity; } /** *The desired capacity is the initial capacity of the Auto Scaling group after * the scheduled action runs and the capacity it attempts to maintain.
*/ inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; } /** *The desired capacity is the initial capacity of the Auto Scaling group after * the scheduled action runs and the capacity it attempts to maintain.
*/ inline void SetDesiredCapacity(int value) { m_desiredCapacityHasBeenSet = true; m_desiredCapacity = value; } /** *The desired capacity is the initial capacity of the Auto Scaling group after * the scheduled action runs and the capacity it attempts to maintain.
*/ inline ScheduledUpdateGroupActionRequest& WithDesiredCapacity(int value) { SetDesiredCapacity(value); return *this;} private: Aws::String m_scheduledActionName; bool m_scheduledActionNameHasBeenSet; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet; Aws::String m_recurrence; bool m_recurrenceHasBeenSet; int m_minSize; bool m_minSizeHasBeenSet; int m_maxSize; bool m_maxSizeHasBeenSet; int m_desiredCapacity; bool m_desiredCapacityHasBeenSet; }; } // namespace Model } // namespace AutoScaling } // namespace Aws