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/medialive/MediaLive_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/medialive/model/ScheduleActionSettings.h> 10 #include <aws/medialive/model/ScheduleActionStartSettings.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace MediaLive 24 { 25 namespace Model 26 { 27 28 /** 29 * Contains information on a single schedule action.<p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ScheduleAction">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_MEDIALIVE_API ScheduleAction 34 { 35 public: 36 ScheduleAction(); 37 ScheduleAction(Aws::Utils::Json::JsonView jsonValue); 38 ScheduleAction& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * The name of the action, must be unique within the schedule. This name provides 44 * the main reference to an action once it is added to the schedule. A name is 45 * unique if it is no longer in the schedule. The schedule is automatically cleaned 46 * up to remove actions with a start time of more than 1 hour ago (approximately) 47 * so at that point a name can be reused. 48 */ GetActionName()49 inline const Aws::String& GetActionName() const{ return m_actionName; } 50 51 /** 52 * The name of the action, must be unique within the schedule. This name provides 53 * the main reference to an action once it is added to the schedule. A name is 54 * unique if it is no longer in the schedule. The schedule is automatically cleaned 55 * up to remove actions with a start time of more than 1 hour ago (approximately) 56 * so at that point a name can be reused. 57 */ ActionNameHasBeenSet()58 inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; } 59 60 /** 61 * The name of the action, must be unique within the schedule. This name provides 62 * the main reference to an action once it is added to the schedule. A name is 63 * unique if it is no longer in the schedule. The schedule is automatically cleaned 64 * up to remove actions with a start time of more than 1 hour ago (approximately) 65 * so at that point a name can be reused. 66 */ SetActionName(const Aws::String & value)67 inline void SetActionName(const Aws::String& value) { m_actionNameHasBeenSet = true; m_actionName = value; } 68 69 /** 70 * The name of the action, must be unique within the schedule. This name provides 71 * the main reference to an action once it is added to the schedule. A name is 72 * unique if it is no longer in the schedule. The schedule is automatically cleaned 73 * up to remove actions with a start time of more than 1 hour ago (approximately) 74 * so at that point a name can be reused. 75 */ SetActionName(Aws::String && value)76 inline void SetActionName(Aws::String&& value) { m_actionNameHasBeenSet = true; m_actionName = std::move(value); } 77 78 /** 79 * The name of the action, must be unique within the schedule. This name provides 80 * the main reference to an action once it is added to the schedule. A name is 81 * unique if it is no longer in the schedule. The schedule is automatically cleaned 82 * up to remove actions with a start time of more than 1 hour ago (approximately) 83 * so at that point a name can be reused. 84 */ SetActionName(const char * value)85 inline void SetActionName(const char* value) { m_actionNameHasBeenSet = true; m_actionName.assign(value); } 86 87 /** 88 * The name of the action, must be unique within the schedule. This name provides 89 * the main reference to an action once it is added to the schedule. A name is 90 * unique if it is no longer in the schedule. The schedule is automatically cleaned 91 * up to remove actions with a start time of more than 1 hour ago (approximately) 92 * so at that point a name can be reused. 93 */ WithActionName(const Aws::String & value)94 inline ScheduleAction& WithActionName(const Aws::String& value) { SetActionName(value); return *this;} 95 96 /** 97 * The name of the action, must be unique within the schedule. This name provides 98 * the main reference to an action once it is added to the schedule. A name is 99 * unique if it is no longer in the schedule. The schedule is automatically cleaned 100 * up to remove actions with a start time of more than 1 hour ago (approximately) 101 * so at that point a name can be reused. 102 */ WithActionName(Aws::String && value)103 inline ScheduleAction& WithActionName(Aws::String&& value) { SetActionName(std::move(value)); return *this;} 104 105 /** 106 * The name of the action, must be unique within the schedule. This name provides 107 * the main reference to an action once it is added to the schedule. A name is 108 * unique if it is no longer in the schedule. The schedule is automatically cleaned 109 * up to remove actions with a start time of more than 1 hour ago (approximately) 110 * so at that point a name can be reused. 111 */ WithActionName(const char * value)112 inline ScheduleAction& WithActionName(const char* value) { SetActionName(value); return *this;} 113 114 115 /** 116 * Settings for this schedule action. 117 */ GetScheduleActionSettings()118 inline const ScheduleActionSettings& GetScheduleActionSettings() const{ return m_scheduleActionSettings; } 119 120 /** 121 * Settings for this schedule action. 122 */ ScheduleActionSettingsHasBeenSet()123 inline bool ScheduleActionSettingsHasBeenSet() const { return m_scheduleActionSettingsHasBeenSet; } 124 125 /** 126 * Settings for this schedule action. 127 */ SetScheduleActionSettings(const ScheduleActionSettings & value)128 inline void SetScheduleActionSettings(const ScheduleActionSettings& value) { m_scheduleActionSettingsHasBeenSet = true; m_scheduleActionSettings = value; } 129 130 /** 131 * Settings for this schedule action. 132 */ SetScheduleActionSettings(ScheduleActionSettings && value)133 inline void SetScheduleActionSettings(ScheduleActionSettings&& value) { m_scheduleActionSettingsHasBeenSet = true; m_scheduleActionSettings = std::move(value); } 134 135 /** 136 * Settings for this schedule action. 137 */ WithScheduleActionSettings(const ScheduleActionSettings & value)138 inline ScheduleAction& WithScheduleActionSettings(const ScheduleActionSettings& value) { SetScheduleActionSettings(value); return *this;} 139 140 /** 141 * Settings for this schedule action. 142 */ WithScheduleActionSettings(ScheduleActionSettings && value)143 inline ScheduleAction& WithScheduleActionSettings(ScheduleActionSettings&& value) { SetScheduleActionSettings(std::move(value)); return *this;} 144 145 146 /** 147 * The time for the action to start in the channel. 148 */ GetScheduleActionStartSettings()149 inline const ScheduleActionStartSettings& GetScheduleActionStartSettings() const{ return m_scheduleActionStartSettings; } 150 151 /** 152 * The time for the action to start in the channel. 153 */ ScheduleActionStartSettingsHasBeenSet()154 inline bool ScheduleActionStartSettingsHasBeenSet() const { return m_scheduleActionStartSettingsHasBeenSet; } 155 156 /** 157 * The time for the action to start in the channel. 158 */ SetScheduleActionStartSettings(const ScheduleActionStartSettings & value)159 inline void SetScheduleActionStartSettings(const ScheduleActionStartSettings& value) { m_scheduleActionStartSettingsHasBeenSet = true; m_scheduleActionStartSettings = value; } 160 161 /** 162 * The time for the action to start in the channel. 163 */ SetScheduleActionStartSettings(ScheduleActionStartSettings && value)164 inline void SetScheduleActionStartSettings(ScheduleActionStartSettings&& value) { m_scheduleActionStartSettingsHasBeenSet = true; m_scheduleActionStartSettings = std::move(value); } 165 166 /** 167 * The time for the action to start in the channel. 168 */ WithScheduleActionStartSettings(const ScheduleActionStartSettings & value)169 inline ScheduleAction& WithScheduleActionStartSettings(const ScheduleActionStartSettings& value) { SetScheduleActionStartSettings(value); return *this;} 170 171 /** 172 * The time for the action to start in the channel. 173 */ WithScheduleActionStartSettings(ScheduleActionStartSettings && value)174 inline ScheduleAction& WithScheduleActionStartSettings(ScheduleActionStartSettings&& value) { SetScheduleActionStartSettings(std::move(value)); return *this;} 175 176 private: 177 178 Aws::String m_actionName; 179 bool m_actionNameHasBeenSet; 180 181 ScheduleActionSettings m_scheduleActionSettings; 182 bool m_scheduleActionSettingsHasBeenSet; 183 184 ScheduleActionStartSettings m_scheduleActionStartSettings; 185 bool m_scheduleActionStartSettingsHasBeenSet; 186 }; 187 188 } // namespace Model 189 } // namespace MediaLive 190 } // namespace Aws 191