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