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/CdiInputSpecification.h> 10 #include <aws/medialive/model/ChannelClass.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/ChannelState.h> 16 #include <aws/core/utils/memory/stl/AWSMap.h> 17 #include <aws/medialive/model/VpcOutputSettingsDescription.h> 18 #include <aws/medialive/model/OutputDestination.h> 19 #include <aws/medialive/model/ChannelEgressEndpoint.h> 20 #include <aws/medialive/model/InputAttachment.h> 21 #include <aws/medialive/model/PipelineDetail.h> 22 #include <utility> 23 24 namespace Aws 25 { 26 namespace Utils 27 { 28 namespace Json 29 { 30 class JsonValue; 31 class JsonView; 32 } // namespace Json 33 } // namespace Utils 34 namespace MediaLive 35 { 36 namespace Model 37 { 38 39 /** 40 * Placeholder documentation for Channel<p><h3>See Also:</h3> <a 41 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Channel">AWS 42 * API Reference</a></p> 43 */ 44 class AWS_MEDIALIVE_API Channel 45 { 46 public: 47 Channel(); 48 Channel(Aws::Utils::Json::JsonView jsonValue); 49 Channel& operator=(Aws::Utils::Json::JsonView jsonValue); 50 Aws::Utils::Json::JsonValue Jsonize() const; 51 52 53 /** 54 * The unique arn of the channel. 55 */ GetArn()56 inline const Aws::String& GetArn() const{ return m_arn; } 57 58 /** 59 * The unique arn of the channel. 60 */ ArnHasBeenSet()61 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 62 63 /** 64 * The unique arn of the channel. 65 */ SetArn(const Aws::String & value)66 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 67 68 /** 69 * The unique arn of the channel. 70 */ SetArn(Aws::String && value)71 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 72 73 /** 74 * The unique arn of the channel. 75 */ SetArn(const char * value)76 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 77 78 /** 79 * The unique arn of the channel. 80 */ WithArn(const Aws::String & value)81 inline Channel& WithArn(const Aws::String& value) { SetArn(value); return *this;} 82 83 /** 84 * The unique arn of the channel. 85 */ WithArn(Aws::String && value)86 inline Channel& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 87 88 /** 89 * The unique arn of the channel. 90 */ WithArn(const char * value)91 inline Channel& WithArn(const char* value) { SetArn(value); return *this;} 92 93 94 /** 95 * Specification of CDI inputs for this channel 96 */ GetCdiInputSpecification()97 inline const CdiInputSpecification& GetCdiInputSpecification() const{ return m_cdiInputSpecification; } 98 99 /** 100 * Specification of CDI inputs for this channel 101 */ CdiInputSpecificationHasBeenSet()102 inline bool CdiInputSpecificationHasBeenSet() const { return m_cdiInputSpecificationHasBeenSet; } 103 104 /** 105 * Specification of CDI inputs for this channel 106 */ SetCdiInputSpecification(const CdiInputSpecification & value)107 inline void SetCdiInputSpecification(const CdiInputSpecification& value) { m_cdiInputSpecificationHasBeenSet = true; m_cdiInputSpecification = value; } 108 109 /** 110 * Specification of CDI inputs for this channel 111 */ SetCdiInputSpecification(CdiInputSpecification && value)112 inline void SetCdiInputSpecification(CdiInputSpecification&& value) { m_cdiInputSpecificationHasBeenSet = true; m_cdiInputSpecification = std::move(value); } 113 114 /** 115 * Specification of CDI inputs for this channel 116 */ WithCdiInputSpecification(const CdiInputSpecification & value)117 inline Channel& WithCdiInputSpecification(const CdiInputSpecification& value) { SetCdiInputSpecification(value); return *this;} 118 119 /** 120 * Specification of CDI inputs for this channel 121 */ WithCdiInputSpecification(CdiInputSpecification && value)122 inline Channel& WithCdiInputSpecification(CdiInputSpecification&& value) { SetCdiInputSpecification(std::move(value)); return *this;} 123 124 125 /** 126 * The class for this channel. STANDARD for a channel with two pipelines or 127 * SINGLE_PIPELINE for a channel with one pipeline. 128 */ GetChannelClass()129 inline const ChannelClass& GetChannelClass() const{ return m_channelClass; } 130 131 /** 132 * The class for this channel. STANDARD for a channel with two pipelines or 133 * SINGLE_PIPELINE for a channel with one pipeline. 134 */ ChannelClassHasBeenSet()135 inline bool ChannelClassHasBeenSet() const { return m_channelClassHasBeenSet; } 136 137 /** 138 * The class for this channel. STANDARD for a channel with two pipelines or 139 * SINGLE_PIPELINE for a channel with one pipeline. 140 */ SetChannelClass(const ChannelClass & value)141 inline void SetChannelClass(const ChannelClass& value) { m_channelClassHasBeenSet = true; m_channelClass = value; } 142 143 /** 144 * The class for this channel. STANDARD for a channel with two pipelines or 145 * SINGLE_PIPELINE for a channel with one pipeline. 146 */ SetChannelClass(ChannelClass && value)147 inline void SetChannelClass(ChannelClass&& value) { m_channelClassHasBeenSet = true; m_channelClass = std::move(value); } 148 149 /** 150 * The class for this channel. STANDARD for a channel with two pipelines or 151 * SINGLE_PIPELINE for a channel with one pipeline. 152 */ WithChannelClass(const ChannelClass & value)153 inline Channel& WithChannelClass(const ChannelClass& value) { SetChannelClass(value); return *this;} 154 155 /** 156 * The class for this channel. STANDARD for a channel with two pipelines or 157 * SINGLE_PIPELINE for a channel with one pipeline. 158 */ WithChannelClass(ChannelClass && value)159 inline Channel& WithChannelClass(ChannelClass&& value) { SetChannelClass(std::move(value)); return *this;} 160 161 162 /** 163 * A list of destinations of the channel. For UDP outputs, there is one 164 destination 165 * per output. For other types (HLS, for example), there is 166 one destination per 167 * packager. 168 169 */ GetDestinations()170 inline const Aws::Vector<OutputDestination>& GetDestinations() const{ return m_destinations; } 171 172 /** 173 * A list of destinations of the channel. For UDP outputs, there is one 174 destination 175 * per output. For other types (HLS, for example), there is 176 one destination per 177 * packager. 178 179 */ DestinationsHasBeenSet()180 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } 181 182 /** 183 * A list of destinations of the channel. For UDP outputs, there is one 184 destination 185 * per output. For other types (HLS, for example), there is 186 one destination per 187 * packager. 188 189 */ SetDestinations(const Aws::Vector<OutputDestination> & value)190 inline void SetDestinations(const Aws::Vector<OutputDestination>& value) { m_destinationsHasBeenSet = true; m_destinations = value; } 191 192 /** 193 * A list of destinations of the channel. For UDP outputs, there is one 194 destination 195 * per output. For other types (HLS, for example), there is 196 one destination per 197 * packager. 198 199 */ SetDestinations(Aws::Vector<OutputDestination> && value)200 inline void SetDestinations(Aws::Vector<OutputDestination>&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } 201 202 /** 203 * A list of destinations of the channel. For UDP outputs, there is one 204 destination 205 * per output. For other types (HLS, for example), there is 206 one destination per 207 * packager. 208 209 */ WithDestinations(const Aws::Vector<OutputDestination> & value)210 inline Channel& WithDestinations(const Aws::Vector<OutputDestination>& value) { SetDestinations(value); return *this;} 211 212 /** 213 * A list of destinations of the channel. For UDP outputs, there is one 214 destination 215 * per output. For other types (HLS, for example), there is 216 one destination per 217 * packager. 218 219 */ WithDestinations(Aws::Vector<OutputDestination> && value)220 inline Channel& WithDestinations(Aws::Vector<OutputDestination>&& value) { SetDestinations(std::move(value)); return *this;} 221 222 /** 223 * A list of destinations of the channel. For UDP outputs, there is one 224 destination 225 * per output. For other types (HLS, for example), there is 226 one destination per 227 * packager. 228 229 */ AddDestinations(const OutputDestination & value)230 inline Channel& AddDestinations(const OutputDestination& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } 231 232 /** 233 * A list of destinations of the channel. For UDP outputs, there is one 234 destination 235 * per output. For other types (HLS, for example), there is 236 one destination per 237 * packager. 238 239 */ AddDestinations(OutputDestination && value)240 inline Channel& AddDestinations(OutputDestination&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } 241 242 243 /** 244 * The endpoints where outgoing connections initiate from 245 */ GetEgressEndpoints()246 inline const Aws::Vector<ChannelEgressEndpoint>& GetEgressEndpoints() const{ return m_egressEndpoints; } 247 248 /** 249 * The endpoints where outgoing connections initiate from 250 */ EgressEndpointsHasBeenSet()251 inline bool EgressEndpointsHasBeenSet() const { return m_egressEndpointsHasBeenSet; } 252 253 /** 254 * The endpoints where outgoing connections initiate from 255 */ SetEgressEndpoints(const Aws::Vector<ChannelEgressEndpoint> & value)256 inline void SetEgressEndpoints(const Aws::Vector<ChannelEgressEndpoint>& value) { m_egressEndpointsHasBeenSet = true; m_egressEndpoints = value; } 257 258 /** 259 * The endpoints where outgoing connections initiate from 260 */ SetEgressEndpoints(Aws::Vector<ChannelEgressEndpoint> && value)261 inline void SetEgressEndpoints(Aws::Vector<ChannelEgressEndpoint>&& value) { m_egressEndpointsHasBeenSet = true; m_egressEndpoints = std::move(value); } 262 263 /** 264 * The endpoints where outgoing connections initiate from 265 */ WithEgressEndpoints(const Aws::Vector<ChannelEgressEndpoint> & value)266 inline Channel& WithEgressEndpoints(const Aws::Vector<ChannelEgressEndpoint>& value) { SetEgressEndpoints(value); return *this;} 267 268 /** 269 * The endpoints where outgoing connections initiate from 270 */ WithEgressEndpoints(Aws::Vector<ChannelEgressEndpoint> && value)271 inline Channel& WithEgressEndpoints(Aws::Vector<ChannelEgressEndpoint>&& value) { SetEgressEndpoints(std::move(value)); return *this;} 272 273 /** 274 * The endpoints where outgoing connections initiate from 275 */ AddEgressEndpoints(const ChannelEgressEndpoint & value)276 inline Channel& AddEgressEndpoints(const ChannelEgressEndpoint& value) { m_egressEndpointsHasBeenSet = true; m_egressEndpoints.push_back(value); return *this; } 277 278 /** 279 * The endpoints where outgoing connections initiate from 280 */ AddEgressEndpoints(ChannelEgressEndpoint && value)281 inline Channel& AddEgressEndpoints(ChannelEgressEndpoint&& value) { m_egressEndpointsHasBeenSet = true; m_egressEndpoints.push_back(std::move(value)); return *this; } 282 283 284 GetEncoderSettings()285 inline const EncoderSettings& GetEncoderSettings() const{ return m_encoderSettings; } 286 287 EncoderSettingsHasBeenSet()288 inline bool EncoderSettingsHasBeenSet() const { return m_encoderSettingsHasBeenSet; } 289 290 SetEncoderSettings(const EncoderSettings & value)291 inline void SetEncoderSettings(const EncoderSettings& value) { m_encoderSettingsHasBeenSet = true; m_encoderSettings = value; } 292 293 SetEncoderSettings(EncoderSettings && value)294 inline void SetEncoderSettings(EncoderSettings&& value) { m_encoderSettingsHasBeenSet = true; m_encoderSettings = std::move(value); } 295 296 WithEncoderSettings(const EncoderSettings & value)297 inline Channel& WithEncoderSettings(const EncoderSettings& value) { SetEncoderSettings(value); return *this;} 298 299 WithEncoderSettings(EncoderSettings && value)300 inline Channel& WithEncoderSettings(EncoderSettings&& value) { SetEncoderSettings(std::move(value)); return *this;} 301 302 303 /** 304 * The unique id of the channel. 305 */ GetId()306 inline const Aws::String& GetId() const{ return m_id; } 307 308 /** 309 * The unique id of the channel. 310 */ IdHasBeenSet()311 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 312 313 /** 314 * The unique id of the channel. 315 */ SetId(const Aws::String & value)316 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 317 318 /** 319 * The unique id of the channel. 320 */ SetId(Aws::String && value)321 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 322 323 /** 324 * The unique id of the channel. 325 */ SetId(const char * value)326 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 327 328 /** 329 * The unique id of the channel. 330 */ WithId(const Aws::String & value)331 inline Channel& WithId(const Aws::String& value) { SetId(value); return *this;} 332 333 /** 334 * The unique id of the channel. 335 */ WithId(Aws::String && value)336 inline Channel& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 337 338 /** 339 * The unique id of the channel. 340 */ WithId(const char * value)341 inline Channel& WithId(const char* value) { SetId(value); return *this;} 342 343 344 /** 345 * List of input attachments for channel. 346 */ GetInputAttachments()347 inline const Aws::Vector<InputAttachment>& GetInputAttachments() const{ return m_inputAttachments; } 348 349 /** 350 * List of input attachments for channel. 351 */ InputAttachmentsHasBeenSet()352 inline bool InputAttachmentsHasBeenSet() const { return m_inputAttachmentsHasBeenSet; } 353 354 /** 355 * List of input attachments for channel. 356 */ SetInputAttachments(const Aws::Vector<InputAttachment> & value)357 inline void SetInputAttachments(const Aws::Vector<InputAttachment>& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments = value; } 358 359 /** 360 * List of input attachments for channel. 361 */ SetInputAttachments(Aws::Vector<InputAttachment> && value)362 inline void SetInputAttachments(Aws::Vector<InputAttachment>&& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments = std::move(value); } 363 364 /** 365 * List of input attachments for channel. 366 */ WithInputAttachments(const Aws::Vector<InputAttachment> & value)367 inline Channel& WithInputAttachments(const Aws::Vector<InputAttachment>& value) { SetInputAttachments(value); return *this;} 368 369 /** 370 * List of input attachments for channel. 371 */ WithInputAttachments(Aws::Vector<InputAttachment> && value)372 inline Channel& WithInputAttachments(Aws::Vector<InputAttachment>&& value) { SetInputAttachments(std::move(value)); return *this;} 373 374 /** 375 * List of input attachments for channel. 376 */ AddInputAttachments(const InputAttachment & value)377 inline Channel& AddInputAttachments(const InputAttachment& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments.push_back(value); return *this; } 378 379 /** 380 * List of input attachments for channel. 381 */ AddInputAttachments(InputAttachment && value)382 inline Channel& AddInputAttachments(InputAttachment&& value) { m_inputAttachmentsHasBeenSet = true; m_inputAttachments.push_back(std::move(value)); return *this; } 383 384 385 /** 386 * Specification of network and file inputs for this channel 387 */ GetInputSpecification()388 inline const InputSpecification& GetInputSpecification() const{ return m_inputSpecification; } 389 390 /** 391 * Specification of network and file inputs for this channel 392 */ InputSpecificationHasBeenSet()393 inline bool InputSpecificationHasBeenSet() const { return m_inputSpecificationHasBeenSet; } 394 395 /** 396 * Specification of network and file inputs for this channel 397 */ SetInputSpecification(const InputSpecification & value)398 inline void SetInputSpecification(const InputSpecification& value) { m_inputSpecificationHasBeenSet = true; m_inputSpecification = value; } 399 400 /** 401 * Specification of network and file inputs for this channel 402 */ SetInputSpecification(InputSpecification && value)403 inline void SetInputSpecification(InputSpecification&& value) { m_inputSpecificationHasBeenSet = true; m_inputSpecification = std::move(value); } 404 405 /** 406 * Specification of network and file inputs for this channel 407 */ WithInputSpecification(const InputSpecification & value)408 inline Channel& WithInputSpecification(const InputSpecification& value) { SetInputSpecification(value); return *this;} 409 410 /** 411 * Specification of network and file inputs for this channel 412 */ WithInputSpecification(InputSpecification && value)413 inline Channel& WithInputSpecification(InputSpecification&& value) { SetInputSpecification(std::move(value)); return *this;} 414 415 416 /** 417 * The log level being written to CloudWatch Logs. 418 */ GetLogLevel()419 inline const LogLevel& GetLogLevel() const{ return m_logLevel; } 420 421 /** 422 * The log level being written to CloudWatch Logs. 423 */ LogLevelHasBeenSet()424 inline bool LogLevelHasBeenSet() const { return m_logLevelHasBeenSet; } 425 426 /** 427 * The log level being written to CloudWatch Logs. 428 */ SetLogLevel(const LogLevel & value)429 inline void SetLogLevel(const LogLevel& value) { m_logLevelHasBeenSet = true; m_logLevel = value; } 430 431 /** 432 * The log level being written to CloudWatch Logs. 433 */ SetLogLevel(LogLevel && value)434 inline void SetLogLevel(LogLevel&& value) { m_logLevelHasBeenSet = true; m_logLevel = std::move(value); } 435 436 /** 437 * The log level being written to CloudWatch Logs. 438 */ WithLogLevel(const LogLevel & value)439 inline Channel& WithLogLevel(const LogLevel& value) { SetLogLevel(value); return *this;} 440 441 /** 442 * The log level being written to CloudWatch Logs. 443 */ WithLogLevel(LogLevel && value)444 inline Channel& WithLogLevel(LogLevel&& value) { SetLogLevel(std::move(value)); return *this;} 445 446 447 /** 448 * The name of the channel. (user-mutable) 449 */ GetName()450 inline const Aws::String& GetName() const{ return m_name; } 451 452 /** 453 * The name of the channel. (user-mutable) 454 */ NameHasBeenSet()455 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 456 457 /** 458 * The name of the channel. (user-mutable) 459 */ SetName(const Aws::String & value)460 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 461 462 /** 463 * The name of the channel. (user-mutable) 464 */ SetName(Aws::String && value)465 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 466 467 /** 468 * The name of the channel. (user-mutable) 469 */ SetName(const char * value)470 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 471 472 /** 473 * The name of the channel. (user-mutable) 474 */ WithName(const Aws::String & value)475 inline Channel& WithName(const Aws::String& value) { SetName(value); return *this;} 476 477 /** 478 * The name of the channel. (user-mutable) 479 */ WithName(Aws::String && value)480 inline Channel& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 481 482 /** 483 * The name of the channel. (user-mutable) 484 */ WithName(const char * value)485 inline Channel& WithName(const char* value) { SetName(value); return *this;} 486 487 488 /** 489 * Runtime details for the pipelines of a running channel. 490 */ GetPipelineDetails()491 inline const Aws::Vector<PipelineDetail>& GetPipelineDetails() const{ return m_pipelineDetails; } 492 493 /** 494 * Runtime details for the pipelines of a running channel. 495 */ PipelineDetailsHasBeenSet()496 inline bool PipelineDetailsHasBeenSet() const { return m_pipelineDetailsHasBeenSet; } 497 498 /** 499 * Runtime details for the pipelines of a running channel. 500 */ SetPipelineDetails(const Aws::Vector<PipelineDetail> & value)501 inline void SetPipelineDetails(const Aws::Vector<PipelineDetail>& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails = value; } 502 503 /** 504 * Runtime details for the pipelines of a running channel. 505 */ SetPipelineDetails(Aws::Vector<PipelineDetail> && value)506 inline void SetPipelineDetails(Aws::Vector<PipelineDetail>&& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails = std::move(value); } 507 508 /** 509 * Runtime details for the pipelines of a running channel. 510 */ WithPipelineDetails(const Aws::Vector<PipelineDetail> & value)511 inline Channel& WithPipelineDetails(const Aws::Vector<PipelineDetail>& value) { SetPipelineDetails(value); return *this;} 512 513 /** 514 * Runtime details for the pipelines of a running channel. 515 */ WithPipelineDetails(Aws::Vector<PipelineDetail> && value)516 inline Channel& WithPipelineDetails(Aws::Vector<PipelineDetail>&& value) { SetPipelineDetails(std::move(value)); return *this;} 517 518 /** 519 * Runtime details for the pipelines of a running channel. 520 */ AddPipelineDetails(const PipelineDetail & value)521 inline Channel& AddPipelineDetails(const PipelineDetail& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails.push_back(value); return *this; } 522 523 /** 524 * Runtime details for the pipelines of a running channel. 525 */ AddPipelineDetails(PipelineDetail && value)526 inline Channel& AddPipelineDetails(PipelineDetail&& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails.push_back(std::move(value)); return *this; } 527 528 529 /** 530 * The number of currently healthy pipelines. 531 */ GetPipelinesRunningCount()532 inline int GetPipelinesRunningCount() const{ return m_pipelinesRunningCount; } 533 534 /** 535 * The number of currently healthy pipelines. 536 */ PipelinesRunningCountHasBeenSet()537 inline bool PipelinesRunningCountHasBeenSet() const { return m_pipelinesRunningCountHasBeenSet; } 538 539 /** 540 * The number of currently healthy pipelines. 541 */ SetPipelinesRunningCount(int value)542 inline void SetPipelinesRunningCount(int value) { m_pipelinesRunningCountHasBeenSet = true; m_pipelinesRunningCount = value; } 543 544 /** 545 * The number of currently healthy pipelines. 546 */ WithPipelinesRunningCount(int value)547 inline Channel& WithPipelinesRunningCount(int value) { SetPipelinesRunningCount(value); return *this;} 548 549 550 /** 551 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 552 */ GetRoleArn()553 inline const Aws::String& GetRoleArn() const{ return m_roleArn; } 554 555 /** 556 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 557 */ RoleArnHasBeenSet()558 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } 559 560 /** 561 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 562 */ SetRoleArn(const Aws::String & value)563 inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } 564 565 /** 566 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 567 */ SetRoleArn(Aws::String && value)568 inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } 569 570 /** 571 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 572 */ SetRoleArn(const char * value)573 inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } 574 575 /** 576 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 577 */ WithRoleArn(const Aws::String & value)578 inline Channel& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} 579 580 /** 581 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 582 */ WithRoleArn(Aws::String && value)583 inline Channel& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} 584 585 /** 586 * The Amazon Resource Name (ARN) of the role assumed when running the Channel. 587 */ WithRoleArn(const char * value)588 inline Channel& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} 589 590 591 GetState()592 inline const ChannelState& GetState() const{ return m_state; } 593 594 StateHasBeenSet()595 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 596 597 SetState(const ChannelState & value)598 inline void SetState(const ChannelState& value) { m_stateHasBeenSet = true; m_state = value; } 599 600 SetState(ChannelState && value)601 inline void SetState(ChannelState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 602 603 WithState(const ChannelState & value)604 inline Channel& WithState(const ChannelState& value) { SetState(value); return *this;} 605 606 WithState(ChannelState && value)607 inline Channel& WithState(ChannelState&& value) { SetState(std::move(value)); return *this;} 608 609 610 /** 611 * A collection of key-value pairs. 612 */ GetTags()613 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 614 615 /** 616 * A collection of key-value pairs. 617 */ TagsHasBeenSet()618 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 619 620 /** 621 * A collection of key-value pairs. 622 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)623 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 624 625 /** 626 * A collection of key-value pairs. 627 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)628 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 629 630 /** 631 * A collection of key-value pairs. 632 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)633 inline Channel& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 634 635 /** 636 * A collection of key-value pairs. 637 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)638 inline Channel& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 639 640 /** 641 * A collection of key-value pairs. 642 */ AddTags(const Aws::String & key,const Aws::String & value)643 inline Channel& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 644 645 /** 646 * A collection of key-value pairs. 647 */ AddTags(Aws::String && key,const Aws::String & value)648 inline Channel& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 649 650 /** 651 * A collection of key-value pairs. 652 */ AddTags(const Aws::String & key,Aws::String && value)653 inline Channel& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 654 655 /** 656 * A collection of key-value pairs. 657 */ AddTags(Aws::String && key,Aws::String && value)658 inline Channel& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 659 660 /** 661 * A collection of key-value pairs. 662 */ AddTags(const char * key,Aws::String && value)663 inline Channel& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 664 665 /** 666 * A collection of key-value pairs. 667 */ AddTags(Aws::String && key,const char * value)668 inline Channel& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 669 670 /** 671 * A collection of key-value pairs. 672 */ AddTags(const char * key,const char * value)673 inline Channel& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 674 675 676 /** 677 * Settings for VPC output 678 */ GetVpc()679 inline const VpcOutputSettingsDescription& GetVpc() const{ return m_vpc; } 680 681 /** 682 * Settings for VPC output 683 */ VpcHasBeenSet()684 inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; } 685 686 /** 687 * Settings for VPC output 688 */ SetVpc(const VpcOutputSettingsDescription & value)689 inline void SetVpc(const VpcOutputSettingsDescription& value) { m_vpcHasBeenSet = true; m_vpc = value; } 690 691 /** 692 * Settings for VPC output 693 */ SetVpc(VpcOutputSettingsDescription && value)694 inline void SetVpc(VpcOutputSettingsDescription&& value) { m_vpcHasBeenSet = true; m_vpc = std::move(value); } 695 696 /** 697 * Settings for VPC output 698 */ WithVpc(const VpcOutputSettingsDescription & value)699 inline Channel& WithVpc(const VpcOutputSettingsDescription& value) { SetVpc(value); return *this;} 700 701 /** 702 * Settings for VPC output 703 */ WithVpc(VpcOutputSettingsDescription && value)704 inline Channel& WithVpc(VpcOutputSettingsDescription&& value) { SetVpc(std::move(value)); return *this;} 705 706 private: 707 708 Aws::String m_arn; 709 bool m_arnHasBeenSet; 710 711 CdiInputSpecification m_cdiInputSpecification; 712 bool m_cdiInputSpecificationHasBeenSet; 713 714 ChannelClass m_channelClass; 715 bool m_channelClassHasBeenSet; 716 717 Aws::Vector<OutputDestination> m_destinations; 718 bool m_destinationsHasBeenSet; 719 720 Aws::Vector<ChannelEgressEndpoint> m_egressEndpoints; 721 bool m_egressEndpointsHasBeenSet; 722 723 EncoderSettings m_encoderSettings; 724 bool m_encoderSettingsHasBeenSet; 725 726 Aws::String m_id; 727 bool m_idHasBeenSet; 728 729 Aws::Vector<InputAttachment> m_inputAttachments; 730 bool m_inputAttachmentsHasBeenSet; 731 732 InputSpecification m_inputSpecification; 733 bool m_inputSpecificationHasBeenSet; 734 735 LogLevel m_logLevel; 736 bool m_logLevelHasBeenSet; 737 738 Aws::String m_name; 739 bool m_nameHasBeenSet; 740 741 Aws::Vector<PipelineDetail> m_pipelineDetails; 742 bool m_pipelineDetailsHasBeenSet; 743 744 int m_pipelinesRunningCount; 745 bool m_pipelinesRunningCountHasBeenSet; 746 747 Aws::String m_roleArn; 748 bool m_roleArnHasBeenSet; 749 750 ChannelState m_state; 751 bool m_stateHasBeenSet; 752 753 Aws::Map<Aws::String, Aws::String> m_tags; 754 bool m_tagsHasBeenSet; 755 756 VpcOutputSettingsDescription m_vpc; 757 bool m_vpcHasBeenSet; 758 }; 759 760 } // namespace Model 761 } // namespace MediaLive 762 } // namespace Aws 763