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/MultiplexProgramSettings.h> 10 #include <aws/medialive/model/MultiplexProgramPacketIdentifiersMap.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/medialive/model/MultiplexProgramPipelineDetail.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace MediaLive 26 { 27 namespace Model 28 { 29 30 /** 31 * The multiplex program object.<p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/MultiplexProgram">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_MEDIALIVE_API MultiplexProgram 36 { 37 public: 38 MultiplexProgram(); 39 MultiplexProgram(Aws::Utils::Json::JsonView jsonValue); 40 MultiplexProgram& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * The MediaLive channel associated with the program. 46 */ GetChannelId()47 inline const Aws::String& GetChannelId() const{ return m_channelId; } 48 49 /** 50 * The MediaLive channel associated with the program. 51 */ ChannelIdHasBeenSet()52 inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; } 53 54 /** 55 * The MediaLive channel associated with the program. 56 */ SetChannelId(const Aws::String & value)57 inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; } 58 59 /** 60 * The MediaLive channel associated with the program. 61 */ SetChannelId(Aws::String && value)62 inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); } 63 64 /** 65 * The MediaLive channel associated with the program. 66 */ SetChannelId(const char * value)67 inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); } 68 69 /** 70 * The MediaLive channel associated with the program. 71 */ WithChannelId(const Aws::String & value)72 inline MultiplexProgram& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;} 73 74 /** 75 * The MediaLive channel associated with the program. 76 */ WithChannelId(Aws::String && value)77 inline MultiplexProgram& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;} 78 79 /** 80 * The MediaLive channel associated with the program. 81 */ WithChannelId(const char * value)82 inline MultiplexProgram& WithChannelId(const char* value) { SetChannelId(value); return *this;} 83 84 85 /** 86 * The settings for this multiplex program. 87 */ GetMultiplexProgramSettings()88 inline const MultiplexProgramSettings& GetMultiplexProgramSettings() const{ return m_multiplexProgramSettings; } 89 90 /** 91 * The settings for this multiplex program. 92 */ MultiplexProgramSettingsHasBeenSet()93 inline bool MultiplexProgramSettingsHasBeenSet() const { return m_multiplexProgramSettingsHasBeenSet; } 94 95 /** 96 * The settings for this multiplex program. 97 */ SetMultiplexProgramSettings(const MultiplexProgramSettings & value)98 inline void SetMultiplexProgramSettings(const MultiplexProgramSettings& value) { m_multiplexProgramSettingsHasBeenSet = true; m_multiplexProgramSettings = value; } 99 100 /** 101 * The settings for this multiplex program. 102 */ SetMultiplexProgramSettings(MultiplexProgramSettings && value)103 inline void SetMultiplexProgramSettings(MultiplexProgramSettings&& value) { m_multiplexProgramSettingsHasBeenSet = true; m_multiplexProgramSettings = std::move(value); } 104 105 /** 106 * The settings for this multiplex program. 107 */ WithMultiplexProgramSettings(const MultiplexProgramSettings & value)108 inline MultiplexProgram& WithMultiplexProgramSettings(const MultiplexProgramSettings& value) { SetMultiplexProgramSettings(value); return *this;} 109 110 /** 111 * The settings for this multiplex program. 112 */ WithMultiplexProgramSettings(MultiplexProgramSettings && value)113 inline MultiplexProgram& WithMultiplexProgramSettings(MultiplexProgramSettings&& value) { SetMultiplexProgramSettings(std::move(value)); return *this;} 114 115 116 /** 117 * The packet identifier map for this multiplex program. 118 */ GetPacketIdentifiersMap()119 inline const MultiplexProgramPacketIdentifiersMap& GetPacketIdentifiersMap() const{ return m_packetIdentifiersMap; } 120 121 /** 122 * The packet identifier map for this multiplex program. 123 */ PacketIdentifiersMapHasBeenSet()124 inline bool PacketIdentifiersMapHasBeenSet() const { return m_packetIdentifiersMapHasBeenSet; } 125 126 /** 127 * The packet identifier map for this multiplex program. 128 */ SetPacketIdentifiersMap(const MultiplexProgramPacketIdentifiersMap & value)129 inline void SetPacketIdentifiersMap(const MultiplexProgramPacketIdentifiersMap& value) { m_packetIdentifiersMapHasBeenSet = true; m_packetIdentifiersMap = value; } 130 131 /** 132 * The packet identifier map for this multiplex program. 133 */ SetPacketIdentifiersMap(MultiplexProgramPacketIdentifiersMap && value)134 inline void SetPacketIdentifiersMap(MultiplexProgramPacketIdentifiersMap&& value) { m_packetIdentifiersMapHasBeenSet = true; m_packetIdentifiersMap = std::move(value); } 135 136 /** 137 * The packet identifier map for this multiplex program. 138 */ WithPacketIdentifiersMap(const MultiplexProgramPacketIdentifiersMap & value)139 inline MultiplexProgram& WithPacketIdentifiersMap(const MultiplexProgramPacketIdentifiersMap& value) { SetPacketIdentifiersMap(value); return *this;} 140 141 /** 142 * The packet identifier map for this multiplex program. 143 */ WithPacketIdentifiersMap(MultiplexProgramPacketIdentifiersMap && value)144 inline MultiplexProgram& WithPacketIdentifiersMap(MultiplexProgramPacketIdentifiersMap&& value) { SetPacketIdentifiersMap(std::move(value)); return *this;} 145 146 147 /** 148 * Contains information about the current sources for the specified program in the 149 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 150 * pipelines in a given source channel (the channel identified by the program). But 151 * only one of those channel pipelines is ever active at one time. 152 */ GetPipelineDetails()153 inline const Aws::Vector<MultiplexProgramPipelineDetail>& GetPipelineDetails() const{ return m_pipelineDetails; } 154 155 /** 156 * Contains information about the current sources for the specified program in the 157 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 158 * pipelines in a given source channel (the channel identified by the program). But 159 * only one of those channel pipelines is ever active at one time. 160 */ PipelineDetailsHasBeenSet()161 inline bool PipelineDetailsHasBeenSet() const { return m_pipelineDetailsHasBeenSet; } 162 163 /** 164 * Contains information about the current sources for the specified program in the 165 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 166 * pipelines in a given source channel (the channel identified by the program). But 167 * only one of those channel pipelines is ever active at one time. 168 */ SetPipelineDetails(const Aws::Vector<MultiplexProgramPipelineDetail> & value)169 inline void SetPipelineDetails(const Aws::Vector<MultiplexProgramPipelineDetail>& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails = value; } 170 171 /** 172 * Contains information about the current sources for the specified program in the 173 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 174 * pipelines in a given source channel (the channel identified by the program). But 175 * only one of those channel pipelines is ever active at one time. 176 */ SetPipelineDetails(Aws::Vector<MultiplexProgramPipelineDetail> && value)177 inline void SetPipelineDetails(Aws::Vector<MultiplexProgramPipelineDetail>&& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails = std::move(value); } 178 179 /** 180 * Contains information about the current sources for the specified program in the 181 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 182 * pipelines in a given source channel (the channel identified by the program). But 183 * only one of those channel pipelines is ever active at one time. 184 */ WithPipelineDetails(const Aws::Vector<MultiplexProgramPipelineDetail> & value)185 inline MultiplexProgram& WithPipelineDetails(const Aws::Vector<MultiplexProgramPipelineDetail>& value) { SetPipelineDetails(value); return *this;} 186 187 /** 188 * Contains information about the current sources for the specified program in the 189 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 190 * pipelines in a given source channel (the channel identified by the program). But 191 * only one of those channel pipelines is ever active at one time. 192 */ WithPipelineDetails(Aws::Vector<MultiplexProgramPipelineDetail> && value)193 inline MultiplexProgram& WithPipelineDetails(Aws::Vector<MultiplexProgramPipelineDetail>&& value) { SetPipelineDetails(std::move(value)); return *this;} 194 195 /** 196 * Contains information about the current sources for the specified program in the 197 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 198 * pipelines in a given source channel (the channel identified by the program). But 199 * only one of those channel pipelines is ever active at one time. 200 */ AddPipelineDetails(const MultiplexProgramPipelineDetail & value)201 inline MultiplexProgram& AddPipelineDetails(const MultiplexProgramPipelineDetail& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails.push_back(value); return *this; } 202 203 /** 204 * Contains information about the current sources for the specified program in the 205 * specified multiplex. Keep in mind that each multiplex pipeline connects to both 206 * pipelines in a given source channel (the channel identified by the program). But 207 * only one of those channel pipelines is ever active at one time. 208 */ AddPipelineDetails(MultiplexProgramPipelineDetail && value)209 inline MultiplexProgram& AddPipelineDetails(MultiplexProgramPipelineDetail&& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails.push_back(std::move(value)); return *this; } 210 211 212 /** 213 * The name of the multiplex program. 214 */ GetProgramName()215 inline const Aws::String& GetProgramName() const{ return m_programName; } 216 217 /** 218 * The name of the multiplex program. 219 */ ProgramNameHasBeenSet()220 inline bool ProgramNameHasBeenSet() const { return m_programNameHasBeenSet; } 221 222 /** 223 * The name of the multiplex program. 224 */ SetProgramName(const Aws::String & value)225 inline void SetProgramName(const Aws::String& value) { m_programNameHasBeenSet = true; m_programName = value; } 226 227 /** 228 * The name of the multiplex program. 229 */ SetProgramName(Aws::String && value)230 inline void SetProgramName(Aws::String&& value) { m_programNameHasBeenSet = true; m_programName = std::move(value); } 231 232 /** 233 * The name of the multiplex program. 234 */ SetProgramName(const char * value)235 inline void SetProgramName(const char* value) { m_programNameHasBeenSet = true; m_programName.assign(value); } 236 237 /** 238 * The name of the multiplex program. 239 */ WithProgramName(const Aws::String & value)240 inline MultiplexProgram& WithProgramName(const Aws::String& value) { SetProgramName(value); return *this;} 241 242 /** 243 * The name of the multiplex program. 244 */ WithProgramName(Aws::String && value)245 inline MultiplexProgram& WithProgramName(Aws::String&& value) { SetProgramName(std::move(value)); return *this;} 246 247 /** 248 * The name of the multiplex program. 249 */ WithProgramName(const char * value)250 inline MultiplexProgram& WithProgramName(const char* value) { SetProgramName(value); return *this;} 251 252 private: 253 254 Aws::String m_channelId; 255 bool m_channelIdHasBeenSet; 256 257 MultiplexProgramSettings m_multiplexProgramSettings; 258 bool m_multiplexProgramSettingsHasBeenSet; 259 260 MultiplexProgramPacketIdentifiersMap m_packetIdentifiersMap; 261 bool m_packetIdentifiersMapHasBeenSet; 262 263 Aws::Vector<MultiplexProgramPipelineDetail> m_pipelineDetails; 264 bool m_pipelineDetailsHasBeenSet; 265 266 Aws::String m_programName; 267 bool m_programNameHasBeenSet; 268 }; 269 270 } // namespace Model 271 } // namespace MediaLive 272 } // namespace Aws 273