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/medialive/MediaLiveRequest.h> 9 #include <aws/medialive/model/CdiInputSpecification.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/medialive/model/EncoderSettings.h> 13 #include <aws/medialive/model/InputSpecification.h> 14 #include <aws/medialive/model/LogLevel.h> 15 #include <aws/medialive/model/OutputDestination.h> 16 #include <aws/medialive/model/InputAttachment.h> 17 #include <utility> 18 19 namespace Aws 20 { 21 namespace MediaLive 22 { 23 namespace Model 24 { 25 26 /** 27 * A request to update a channel.<p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelRequest">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_MEDIALIVE_API UpdateChannelRequest : public MediaLiveRequest 32 { 33 public: 34 UpdateChannelRequest(); 35 36 // Service request name is the Operation name which will send this request out, 37 // each operation should has unique request name, so that we can get operation's name from this request. 38 // Note: this is not true for response, multiple operations may have the same response name, 39 // so we can not get operation's name from response. GetServiceRequestName()40 inline virtual const char* GetServiceRequestName() const override { return "UpdateChannel"; } 41 42 Aws::String SerializePayload() const override; 43 44 45 /** 46 * Specification of CDI inputs for this channel 47 */ GetCdiInputSpecification()48 inline const CdiInputSpecification& GetCdiInputSpecification() const{ return m_cdiInputSpecification; } 49 50 /** 51 * Specification of CDI inputs for this channel 52 */ CdiInputSpecificationHasBeenSet()53 inline bool CdiInputSpecificationHasBeenSet() const { return m_cdiInputSpecificationHasBeenSet; } 54 55 /** 56 * Specification of CDI inputs for this channel 57 */ SetCdiInputSpecification(const CdiInputSpecification & value)58 inline void SetCdiInputSpecification(const CdiInputSpecification& value) { m_cdiInputSpecificationHasBeenSet = true; m_cdiInputSpecification = value; } 59 60 /** 61 * Specification of CDI inputs for this channel 62 */ SetCdiInputSpecification(CdiInputSpecification && value)63 inline void SetCdiInputSpecification(CdiInputSpecification&& value) { m_cdiInputSpecificationHasBeenSet = true; m_cdiInputSpecification = std::move(value); } 64 65 /** 66 * Specification of CDI inputs for this channel 67 */ WithCdiInputSpecification(const CdiInputSpecification & value)68 inline UpdateChannelRequest& WithCdiInputSpecification(const CdiInputSpecification& value) { SetCdiInputSpecification(value); return *this;} 69 70 /** 71 * Specification of CDI inputs for this channel 72 */ WithCdiInputSpecification(CdiInputSpecification && value)73 inline UpdateChannelRequest& WithCdiInputSpecification(CdiInputSpecification&& value) { SetCdiInputSpecification(std::move(value)); return *this;} 74 75 76 /** 77 * channel ID 78 */ GetChannelId()79 inline const Aws::String& GetChannelId() const{ return m_channelId; } 80 81 /** 82 * channel ID 83 */ ChannelIdHasBeenSet()84 inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; } 85 86 /** 87 * channel ID 88 */ SetChannelId(const Aws::String & value)89 inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; } 90 91 /** 92 * channel ID 93 */ SetChannelId(Aws::String && value)94 inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); } 95 96 /** 97 * channel ID 98 */ SetChannelId(const char * value)99 inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); } 100 101 /** 102 * channel ID 103 */ WithChannelId(const Aws::String & value)104 inline UpdateChannelRequest& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;} 105 106 /** 107 * channel ID 108 */ WithChannelId(Aws::String && value)109 inline UpdateChannelRequest& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;} 110 111 /** 112 * channel ID 113 */ WithChannelId(const char * value)114 inline UpdateChannelRequest& WithChannelId(const char* value) { SetChannelId(value); return *this;} 115 116 117 /** 118 * A list of output destinations for this channel. 119 */ GetDestinations()120 inline const Aws::Vector<OutputDestination>& GetDestinations() const{ return m_destinations; } 121 122 /** 123 * A list of output destinations for this channel. 124 */ DestinationsHasBeenSet()125 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } 126 127 /** 128 * A list of output destinations for this channel. 129 */ SetDestinations(const Aws::Vector<OutputDestination> & value)130 inline void SetDestinations(const Aws::Vector<OutputDestination>& value) { m_destinationsHasBeenSet = true; m_destinations = value; } 131 132 /** 133 * A list of output destinations for this channel. 134 */ SetDestinations(Aws::Vector<OutputDestination> && value)135 inline void SetDestinations(Aws::Vector<OutputDestination>&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } 136 137 /** 138 * A list of output destinations for this channel. 139 */ WithDestinations(const Aws::Vector<OutputDestination> & value)140 inline UpdateChannelRequest& WithDestinations(const Aws::Vector<OutputDestination>& value) { SetDestinations(value); return *this;} 141 142 /** 143 * A list of output destinations for this channel. 144 */ WithDestinations(Aws::Vector<OutputDestination> && value)145 inline UpdateChannelRequest& WithDestinations(Aws::Vector<OutputDestination>&& value) { SetDestinations(std::move(value)); return *this;} 146 147 /** 148 * A list of output destinations for this channel. 149 */ AddDestinations(const OutputDestination & value)150 inline UpdateChannelRequest& AddDestinations(const OutputDestination& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } 151 152 /** 153 * A list of output destinations for this channel. 154 */ AddDestinations(OutputDestination && value)155 inline UpdateChannelRequest& AddDestinations(OutputDestination&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } 156 157 158 /** 159 * The encoder settings for this channel. 160 */ GetEncoderSettings()161 inline const EncoderSettings& GetEncoderSettings() const{ return m_encoderSettings; } 162 163 /** 164 * The encoder settings for this channel. 165 */ EncoderSettingsHasBeenSet()166 inline bool EncoderSettingsHasBeenSet() const { return m_encoderSettingsHasBeenSet; } 167 168 /** 169 * The encoder settings for this channel. 170 */ SetEncoderSettings(const EncoderSettings & value)171 inline void SetEncoderSettings(const EncoderSettings& value) { m_encoderSettingsHasBeenSet = true; m_encoderSettings = value; } 172 173 /** 174 * The encoder settings for this channel. 175 */ SetEncoderSettings(EncoderSettings && value)176 inline void SetEncoderSettings(EncoderSettings&& value) { m_encoderSettingsHasBeenSet = true; m_encoderSettings = std::move(value); } 177 178 /** 179 * The encoder settings for this channel. 180 */ WithEncoderSettings(const EncoderSettings & value)181 inline UpdateChannelRequest& WithEncoderSettings(const EncoderSettings& value) { SetEncoderSettings(value); return *this;} 182 183 /** 184 * The encoder settings for this channel. 185 */ WithEncoderSettings(EncoderSettings && value)186 inline UpdateChannelRequest& WithEncoderSettings(EncoderSettings&& value) { SetEncoderSettings(std::move(value)); return *this;} 187 188 189 GetInputAttachments()190 inline const Aws::Vector<InputAttachment>& GetInputAttachments() const{ return m_inputAttachments; } 191 192 InputAttachmentsHasBeenSet()193 inline bool InputAttachmentsHasBeenSet() const { return m_inputAttachmentsHasBeenSet; } 194 195 SetInputAttachments(const Aws::Vector<InputAttachment> & value)196 inline void SetInputAttachments(const Aws::Vector<InputAttachment>& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments = value; } 197 198 SetInputAttachments(Aws::Vector<InputAttachment> && value)199 inline void SetInputAttachments(Aws::Vector<InputAttachment>&& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments = std::move(value); } 200 201 WithInputAttachments(const Aws::Vector<InputAttachment> & value)202 inline UpdateChannelRequest& WithInputAttachments(const Aws::Vector<InputAttachment>& value) { SetInputAttachments(value); return *this;} 203 204 WithInputAttachments(Aws::Vector<InputAttachment> && value)205 inline UpdateChannelRequest& WithInputAttachments(Aws::Vector<InputAttachment>&& value) { SetInputAttachments(std::move(value)); return *this;} 206 207 AddInputAttachments(const InputAttachment & value)208 inline UpdateChannelRequest& AddInputAttachments(const InputAttachment& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments.push_back(value); return *this; } 209 210 AddInputAttachments(InputAttachment && value)211 inline UpdateChannelRequest& AddInputAttachments(InputAttachment&& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments.push_back(std::move(value)); return *this; } 212 213 214 /** 215 * Specification of network and file inputs for this channel 216 */ GetInputSpecification()217 inline const InputSpecification& GetInputSpecification() const{ return m_inputSpecification; } 218 219 /** 220 * Specification of network and file inputs for this channel 221 */ InputSpecificationHasBeenSet()222 inline bool InputSpecificationHasBeenSet() const { return m_inputSpecificationHasBeenSet; } 223 224 /** 225 * Specification of network and file inputs for this channel 226 */ SetInputSpecification(const InputSpecification & value)227 inline void SetInputSpecification(const InputSpecification& value) { m_inputSpecificationHasBeenSet = true; m_inputSpecification = value; } 228 229 /** 230 * Specification of network and file inputs for this channel 231 */ SetInputSpecification(InputSpecification && value)232 inline void SetInputSpecification(InputSpecification&& value) { m_inputSpecificationHasBeenSet = true; m_inputSpecification = std::move(value); } 233 234 /** 235 * Specification of network and file inputs for this channel 236 */ WithInputSpecification(const InputSpecification & value)237 inline UpdateChannelRequest& WithInputSpecification(const InputSpecification& value) { SetInputSpecification(value); return *this;} 238 239 /** 240 * Specification of network and file inputs for this channel 241 */ WithInputSpecification(InputSpecification && value)242 inline UpdateChannelRequest& WithInputSpecification(InputSpecification&& value) { SetInputSpecification(std::move(value)); return *this;} 243 244 245 /** 246 * The log level to write to CloudWatch Logs. 247 */ GetLogLevel()248 inline const LogLevel& GetLogLevel() const{ return m_logLevel; } 249 250 /** 251 * The log level to write to CloudWatch Logs. 252 */ LogLevelHasBeenSet()253 inline bool LogLevelHasBeenSet() const { return m_logLevelHasBeenSet; } 254 255 /** 256 * The log level to write to CloudWatch Logs. 257 */ SetLogLevel(const LogLevel & value)258 inline void SetLogLevel(const LogLevel& value) { m_logLevelHasBeenSet = true; m_logLevel = value; } 259 260 /** 261 * The log level to write to CloudWatch Logs. 262 */ SetLogLevel(LogLevel && value)263 inline void SetLogLevel(LogLevel&& value) { m_logLevelHasBeenSet = true; m_logLevel = std::move(value); } 264 265 /** 266 * The log level to write to CloudWatch Logs. 267 */ WithLogLevel(const LogLevel & value)268 inline UpdateChannelRequest& WithLogLevel(const LogLevel& value) { SetLogLevel(value); return *this;} 269 270 /** 271 * The log level to write to CloudWatch Logs. 272 */ WithLogLevel(LogLevel && value)273 inline UpdateChannelRequest& WithLogLevel(LogLevel&& value) { SetLogLevel(std::move(value)); return *this;} 274 275 276 /** 277 * The name of the channel. 278 */ GetName()279 inline const Aws::String& GetName() const{ return m_name; } 280 281 /** 282 * The name of the channel. 283 */ NameHasBeenSet()284 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 285 286 /** 287 * The name of the channel. 288 */ SetName(const Aws::String & value)289 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 290 291 /** 292 * The name of the channel. 293 */ SetName(Aws::String && value)294 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 295 296 /** 297 * The name of the channel. 298 */ SetName(const char * value)299 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 300 301 /** 302 * The name of the channel. 303 */ WithName(const Aws::String & value)304 inline UpdateChannelRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 305 306 /** 307 * The name of the channel. 308 */ WithName(Aws::String && value)309 inline UpdateChannelRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 310 311 /** 312 * The name of the channel. 313 */ WithName(const char * value)314 inline UpdateChannelRequest& WithName(const char* value) { SetName(value); return *this;} 315 316 317 /** 318 * An optional Amazon Resource Name (ARN) of the role to assume when running the 319 * Channel. If you do not specify this on an update call but the role was 320 * previously set that role will be removed. 321 */ GetRoleArn()322 inline const Aws::String& GetRoleArn() const{ return m_roleArn; } 323 324 /** 325 * An optional Amazon Resource Name (ARN) of the role to assume when running the 326 * Channel. If you do not specify this on an update call but the role was 327 * previously set that role will be removed. 328 */ RoleArnHasBeenSet()329 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } 330 331 /** 332 * An optional Amazon Resource Name (ARN) of the role to assume when running the 333 * Channel. If you do not specify this on an update call but the role was 334 * previously set that role will be removed. 335 */ SetRoleArn(const Aws::String & value)336 inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } 337 338 /** 339 * An optional Amazon Resource Name (ARN) of the role to assume when running the 340 * Channel. If you do not specify this on an update call but the role was 341 * previously set that role will be removed. 342 */ SetRoleArn(Aws::String && value)343 inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } 344 345 /** 346 * An optional Amazon Resource Name (ARN) of the role to assume when running the 347 * Channel. If you do not specify this on an update call but the role was 348 * previously set that role will be removed. 349 */ SetRoleArn(const char * value)350 inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } 351 352 /** 353 * An optional Amazon Resource Name (ARN) of the role to assume when running the 354 * Channel. If you do not specify this on an update call but the role was 355 * previously set that role will be removed. 356 */ WithRoleArn(const Aws::String & value)357 inline UpdateChannelRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} 358 359 /** 360 * An optional Amazon Resource Name (ARN) of the role to assume when running the 361 * Channel. If you do not specify this on an update call but the role was 362 * previously set that role will be removed. 363 */ WithRoleArn(Aws::String && value)364 inline UpdateChannelRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} 365 366 /** 367 * An optional Amazon Resource Name (ARN) of the role to assume when running the 368 * Channel. If you do not specify this on an update call but the role was 369 * previously set that role will be removed. 370 */ WithRoleArn(const char * value)371 inline UpdateChannelRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} 372 373 private: 374 375 CdiInputSpecification m_cdiInputSpecification; 376 bool m_cdiInputSpecificationHasBeenSet; 377 378 Aws::String m_channelId; 379 bool m_channelIdHasBeenSet; 380 381 Aws::Vector<OutputDestination> m_destinations; 382 bool m_destinationsHasBeenSet; 383 384 EncoderSettings m_encoderSettings; 385 bool m_encoderSettingsHasBeenSet; 386 387 Aws::Vector<InputAttachment> m_inputAttachments; 388 bool m_inputAttachmentsHasBeenSet; 389 390 InputSpecification m_inputSpecification; 391 bool m_inputSpecificationHasBeenSet; 392 393 LogLevel m_logLevel; 394 bool m_logLevelHasBeenSet; 395 396 Aws::String m_name; 397 bool m_nameHasBeenSet; 398 399 Aws::String m_roleArn; 400 bool m_roleArnHasBeenSet; 401 }; 402 403 } // namespace Model 404 } // namespace MediaLive 405 } // namespace Aws 406