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/InputClippingSettings.h> 10 #include <aws/core/utils/memory/stl/AWSVector.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 * Action to prepare an input for a future immediate input switch.<p><h3>See 30 * Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/InputPrepareScheduleActionSettings">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_MEDIALIVE_API InputPrepareScheduleActionSettings 35 { 36 public: 37 InputPrepareScheduleActionSettings(); 38 InputPrepareScheduleActionSettings(Aws::Utils::Json::JsonView jsonValue); 39 InputPrepareScheduleActionSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * The name of the input attachment that should be prepared by this action. If no 45 * name is provided, the action will stop the most recent prepare (if any) when 46 * activated. 47 */ GetInputAttachmentNameReference()48 inline const Aws::String& GetInputAttachmentNameReference() const{ return m_inputAttachmentNameReference; } 49 50 /** 51 * The name of the input attachment that should be prepared by this action. If no 52 * name is provided, the action will stop the most recent prepare (if any) when 53 * activated. 54 */ InputAttachmentNameReferenceHasBeenSet()55 inline bool InputAttachmentNameReferenceHasBeenSet() const { return m_inputAttachmentNameReferenceHasBeenSet; } 56 57 /** 58 * The name of the input attachment that should be prepared by this action. If no 59 * name is provided, the action will stop the most recent prepare (if any) when 60 * activated. 61 */ SetInputAttachmentNameReference(const Aws::String & value)62 inline void SetInputAttachmentNameReference(const Aws::String& value) { m_inputAttachmentNameReferenceHasBeenSet = true; m_inputAttachmentNameReference = value; } 63 64 /** 65 * The name of the input attachment that should be prepared by this action. If no 66 * name is provided, the action will stop the most recent prepare (if any) when 67 * activated. 68 */ SetInputAttachmentNameReference(Aws::String && value)69 inline void SetInputAttachmentNameReference(Aws::String&& value) { m_inputAttachmentNameReferenceHasBeenSet = true; m_inputAttachmentNameReference = std::move(value); } 70 71 /** 72 * The name of the input attachment that should be prepared by this action. If no 73 * name is provided, the action will stop the most recent prepare (if any) when 74 * activated. 75 */ SetInputAttachmentNameReference(const char * value)76 inline void SetInputAttachmentNameReference(const char* value) { m_inputAttachmentNameReferenceHasBeenSet = true; m_inputAttachmentNameReference.assign(value); } 77 78 /** 79 * The name of the input attachment that should be prepared by this action. If no 80 * name is provided, the action will stop the most recent prepare (if any) when 81 * activated. 82 */ WithInputAttachmentNameReference(const Aws::String & value)83 inline InputPrepareScheduleActionSettings& WithInputAttachmentNameReference(const Aws::String& value) { SetInputAttachmentNameReference(value); return *this;} 84 85 /** 86 * The name of the input attachment that should be prepared by this action. If no 87 * name is provided, the action will stop the most recent prepare (if any) when 88 * activated. 89 */ WithInputAttachmentNameReference(Aws::String && value)90 inline InputPrepareScheduleActionSettings& WithInputAttachmentNameReference(Aws::String&& value) { SetInputAttachmentNameReference(std::move(value)); return *this;} 91 92 /** 93 * The name of the input attachment that should be prepared by this action. If no 94 * name is provided, the action will stop the most recent prepare (if any) when 95 * activated. 96 */ WithInputAttachmentNameReference(const char * value)97 inline InputPrepareScheduleActionSettings& WithInputAttachmentNameReference(const char* value) { SetInputAttachmentNameReference(value); return *this;} 98 99 100 /** 101 * Settings to let you create a clip of the file input, in order to set up the 102 * input to ingest only a portion of the file. 103 */ GetInputClippingSettings()104 inline const InputClippingSettings& GetInputClippingSettings() const{ return m_inputClippingSettings; } 105 106 /** 107 * Settings to let you create a clip of the file input, in order to set up the 108 * input to ingest only a portion of the file. 109 */ InputClippingSettingsHasBeenSet()110 inline bool InputClippingSettingsHasBeenSet() const { return m_inputClippingSettingsHasBeenSet; } 111 112 /** 113 * Settings to let you create a clip of the file input, in order to set up the 114 * input to ingest only a portion of the file. 115 */ SetInputClippingSettings(const InputClippingSettings & value)116 inline void SetInputClippingSettings(const InputClippingSettings& value) { m_inputClippingSettingsHasBeenSet = true; m_inputClippingSettings = value; } 117 118 /** 119 * Settings to let you create a clip of the file input, in order to set up the 120 * input to ingest only a portion of the file. 121 */ SetInputClippingSettings(InputClippingSettings && value)122 inline void SetInputClippingSettings(InputClippingSettings&& value) { m_inputClippingSettingsHasBeenSet = true; m_inputClippingSettings = std::move(value); } 123 124 /** 125 * Settings to let you create a clip of the file input, in order to set up the 126 * input to ingest only a portion of the file. 127 */ WithInputClippingSettings(const InputClippingSettings & value)128 inline InputPrepareScheduleActionSettings& WithInputClippingSettings(const InputClippingSettings& value) { SetInputClippingSettings(value); return *this;} 129 130 /** 131 * Settings to let you create a clip of the file input, in order to set up the 132 * input to ingest only a portion of the file. 133 */ WithInputClippingSettings(InputClippingSettings && value)134 inline InputPrepareScheduleActionSettings& WithInputClippingSettings(InputClippingSettings&& value) { SetInputClippingSettings(std::move(value)); return *this;} 135 136 137 /** 138 * The value for the variable portion of the URL for the dynamic input, for this 139 * instance of the input. Each time you use the same dynamic input in an input 140 * switch action, you can provide a different value, in order to connect the input 141 * to a different content source. 142 */ GetUrlPath()143 inline const Aws::Vector<Aws::String>& GetUrlPath() const{ return m_urlPath; } 144 145 /** 146 * The value for the variable portion of the URL for the dynamic input, for this 147 * instance of the input. Each time you use the same dynamic input in an input 148 * switch action, you can provide a different value, in order to connect the input 149 * to a different content source. 150 */ UrlPathHasBeenSet()151 inline bool UrlPathHasBeenSet() const { return m_urlPathHasBeenSet; } 152 153 /** 154 * The value for the variable portion of the URL for the dynamic input, for this 155 * instance of the input. Each time you use the same dynamic input in an input 156 * switch action, you can provide a different value, in order to connect the input 157 * to a different content source. 158 */ SetUrlPath(const Aws::Vector<Aws::String> & value)159 inline void SetUrlPath(const Aws::Vector<Aws::String>& value) { m_urlPathHasBeenSet = true; m_urlPath = value; } 160 161 /** 162 * The value for the variable portion of the URL for the dynamic input, for this 163 * instance of the input. Each time you use the same dynamic input in an input 164 * switch action, you can provide a different value, in order to connect the input 165 * to a different content source. 166 */ SetUrlPath(Aws::Vector<Aws::String> && value)167 inline void SetUrlPath(Aws::Vector<Aws::String>&& value) { m_urlPathHasBeenSet = true; m_urlPath = std::move(value); } 168 169 /** 170 * The value for the variable portion of the URL for the dynamic input, for this 171 * instance of the input. Each time you use the same dynamic input in an input 172 * switch action, you can provide a different value, in order to connect the input 173 * to a different content source. 174 */ WithUrlPath(const Aws::Vector<Aws::String> & value)175 inline InputPrepareScheduleActionSettings& WithUrlPath(const Aws::Vector<Aws::String>& value) { SetUrlPath(value); return *this;} 176 177 /** 178 * The value for the variable portion of the URL for the dynamic input, for this 179 * instance of the input. Each time you use the same dynamic input in an input 180 * switch action, you can provide a different value, in order to connect the input 181 * to a different content source. 182 */ WithUrlPath(Aws::Vector<Aws::String> && value)183 inline InputPrepareScheduleActionSettings& WithUrlPath(Aws::Vector<Aws::String>&& value) { SetUrlPath(std::move(value)); return *this;} 184 185 /** 186 * The value for the variable portion of the URL for the dynamic input, for this 187 * instance of the input. Each time you use the same dynamic input in an input 188 * switch action, you can provide a different value, in order to connect the input 189 * to a different content source. 190 */ AddUrlPath(const Aws::String & value)191 inline InputPrepareScheduleActionSettings& AddUrlPath(const Aws::String& value) { m_urlPathHasBeenSet = true; m_urlPath.push_back(value); return *this; } 192 193 /** 194 * The value for the variable portion of the URL for the dynamic input, for this 195 * instance of the input. Each time you use the same dynamic input in an input 196 * switch action, you can provide a different value, in order to connect the input 197 * to a different content source. 198 */ AddUrlPath(Aws::String && value)199 inline InputPrepareScheduleActionSettings& AddUrlPath(Aws::String&& value) { m_urlPathHasBeenSet = true; m_urlPath.push_back(std::move(value)); return *this; } 200 201 /** 202 * The value for the variable portion of the URL for the dynamic input, for this 203 * instance of the input. Each time you use the same dynamic input in an input 204 * switch action, you can provide a different value, in order to connect the input 205 * to a different content source. 206 */ AddUrlPath(const char * value)207 inline InputPrepareScheduleActionSettings& AddUrlPath(const char* value) { m_urlPathHasBeenSet = true; m_urlPath.push_back(value); return *this; } 208 209 private: 210 211 Aws::String m_inputAttachmentNameReference; 212 bool m_inputAttachmentNameReferenceHasBeenSet; 213 214 InputClippingSettings m_inputClippingSettings; 215 bool m_inputClippingSettingsHasBeenSet; 216 217 Aws::Vector<Aws::String> m_urlPath; 218 bool m_urlPathHasBeenSet; 219 }; 220 221 } // namespace Model 222 } // namespace MediaLive 223 } // namespace Aws 224