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 <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace MediaLive
22 {
23 namespace Model
24 {
25 
26   /**
27    * The current source for one of the pipelines in the multiplex.<p><h3>See
28    * Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/MultiplexProgramPipelineDetail">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API MultiplexProgramPipelineDetail
33   {
34   public:
35     MultiplexProgramPipelineDetail();
36     MultiplexProgramPipelineDetail(Aws::Utils::Json::JsonView jsonValue);
37     MultiplexProgramPipelineDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * Identifies the channel pipeline that is currently active for the pipeline
43      * (identified by PipelineId) in the multiplex.
44      */
GetActiveChannelPipeline()45     inline const Aws::String& GetActiveChannelPipeline() const{ return m_activeChannelPipeline; }
46 
47     /**
48      * Identifies the channel pipeline that is currently active for the pipeline
49      * (identified by PipelineId) in the multiplex.
50      */
ActiveChannelPipelineHasBeenSet()51     inline bool ActiveChannelPipelineHasBeenSet() const { return m_activeChannelPipelineHasBeenSet; }
52 
53     /**
54      * Identifies the channel pipeline that is currently active for the pipeline
55      * (identified by PipelineId) in the multiplex.
56      */
SetActiveChannelPipeline(const Aws::String & value)57     inline void SetActiveChannelPipeline(const Aws::String& value) { m_activeChannelPipelineHasBeenSet = true; m_activeChannelPipeline = value; }
58 
59     /**
60      * Identifies the channel pipeline that is currently active for the pipeline
61      * (identified by PipelineId) in the multiplex.
62      */
SetActiveChannelPipeline(Aws::String && value)63     inline void SetActiveChannelPipeline(Aws::String&& value) { m_activeChannelPipelineHasBeenSet = true; m_activeChannelPipeline = std::move(value); }
64 
65     /**
66      * Identifies the channel pipeline that is currently active for the pipeline
67      * (identified by PipelineId) in the multiplex.
68      */
SetActiveChannelPipeline(const char * value)69     inline void SetActiveChannelPipeline(const char* value) { m_activeChannelPipelineHasBeenSet = true; m_activeChannelPipeline.assign(value); }
70 
71     /**
72      * Identifies the channel pipeline that is currently active for the pipeline
73      * (identified by PipelineId) in the multiplex.
74      */
WithActiveChannelPipeline(const Aws::String & value)75     inline MultiplexProgramPipelineDetail& WithActiveChannelPipeline(const Aws::String& value) { SetActiveChannelPipeline(value); return *this;}
76 
77     /**
78      * Identifies the channel pipeline that is currently active for the pipeline
79      * (identified by PipelineId) in the multiplex.
80      */
WithActiveChannelPipeline(Aws::String && value)81     inline MultiplexProgramPipelineDetail& WithActiveChannelPipeline(Aws::String&& value) { SetActiveChannelPipeline(std::move(value)); return *this;}
82 
83     /**
84      * Identifies the channel pipeline that is currently active for the pipeline
85      * (identified by PipelineId) in the multiplex.
86      */
WithActiveChannelPipeline(const char * value)87     inline MultiplexProgramPipelineDetail& WithActiveChannelPipeline(const char* value) { SetActiveChannelPipeline(value); return *this;}
88 
89 
90     /**
91      * Identifies a specific pipeline in the multiplex.
92      */
GetPipelineId()93     inline const Aws::String& GetPipelineId() const{ return m_pipelineId; }
94 
95     /**
96      * Identifies a specific pipeline in the multiplex.
97      */
PipelineIdHasBeenSet()98     inline bool PipelineIdHasBeenSet() const { return m_pipelineIdHasBeenSet; }
99 
100     /**
101      * Identifies a specific pipeline in the multiplex.
102      */
SetPipelineId(const Aws::String & value)103     inline void SetPipelineId(const Aws::String& value) { m_pipelineIdHasBeenSet = true; m_pipelineId = value; }
104 
105     /**
106      * Identifies a specific pipeline in the multiplex.
107      */
SetPipelineId(Aws::String && value)108     inline void SetPipelineId(Aws::String&& value) { m_pipelineIdHasBeenSet = true; m_pipelineId = std::move(value); }
109 
110     /**
111      * Identifies a specific pipeline in the multiplex.
112      */
SetPipelineId(const char * value)113     inline void SetPipelineId(const char* value) { m_pipelineIdHasBeenSet = true; m_pipelineId.assign(value); }
114 
115     /**
116      * Identifies a specific pipeline in the multiplex.
117      */
WithPipelineId(const Aws::String & value)118     inline MultiplexProgramPipelineDetail& WithPipelineId(const Aws::String& value) { SetPipelineId(value); return *this;}
119 
120     /**
121      * Identifies a specific pipeline in the multiplex.
122      */
WithPipelineId(Aws::String && value)123     inline MultiplexProgramPipelineDetail& WithPipelineId(Aws::String&& value) { SetPipelineId(std::move(value)); return *this;}
124 
125     /**
126      * Identifies a specific pipeline in the multiplex.
127      */
WithPipelineId(const char * value)128     inline MultiplexProgramPipelineDetail& WithPipelineId(const char* value) { SetPipelineId(value); return *this;}
129 
130   private:
131 
132     Aws::String m_activeChannelPipeline;
133     bool m_activeChannelPipelineHasBeenSet;
134 
135     Aws::String m_pipelineId;
136     bool m_pipelineIdHasBeenSet;
137   };
138 
139 } // namespace Model
140 } // namespace MediaLive
141 } // namespace Aws
142