/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaLive { namespace Model { /** * The multiplex program object.

See Also:

AWS * API Reference

*/ class MultiplexProgram { public: AWS_MEDIALIVE_API MultiplexProgram(); AWS_MEDIALIVE_API MultiplexProgram(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIALIVE_API MultiplexProgram& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIALIVE_API Aws::Utils::Json::JsonValue Jsonize() const; /** * The MediaLive channel associated with the program. */ inline const Aws::String& GetChannelId() const{ return m_channelId; } /** * The MediaLive channel associated with the program. */ inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; } /** * The MediaLive channel associated with the program. */ inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; } /** * The MediaLive channel associated with the program. */ inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); } /** * The MediaLive channel associated with the program. */ inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); } /** * The MediaLive channel associated with the program. */ inline MultiplexProgram& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;} /** * The MediaLive channel associated with the program. */ inline MultiplexProgram& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;} /** * The MediaLive channel associated with the program. */ inline MultiplexProgram& WithChannelId(const char* value) { SetChannelId(value); return *this;} /** * The settings for this multiplex program. */ inline const MultiplexProgramSettings& GetMultiplexProgramSettings() const{ return m_multiplexProgramSettings; } /** * The settings for this multiplex program. */ inline bool MultiplexProgramSettingsHasBeenSet() const { return m_multiplexProgramSettingsHasBeenSet; } /** * The settings for this multiplex program. */ inline void SetMultiplexProgramSettings(const MultiplexProgramSettings& value) { m_multiplexProgramSettingsHasBeenSet = true; m_multiplexProgramSettings = value; } /** * The settings for this multiplex program. */ inline void SetMultiplexProgramSettings(MultiplexProgramSettings&& value) { m_multiplexProgramSettingsHasBeenSet = true; m_multiplexProgramSettings = std::move(value); } /** * The settings for this multiplex program. */ inline MultiplexProgram& WithMultiplexProgramSettings(const MultiplexProgramSettings& value) { SetMultiplexProgramSettings(value); return *this;} /** * The settings for this multiplex program. */ inline MultiplexProgram& WithMultiplexProgramSettings(MultiplexProgramSettings&& value) { SetMultiplexProgramSettings(std::move(value)); return *this;} /** * The packet identifier map for this multiplex program. */ inline const MultiplexProgramPacketIdentifiersMap& GetPacketIdentifiersMap() const{ return m_packetIdentifiersMap; } /** * The packet identifier map for this multiplex program. */ inline bool PacketIdentifiersMapHasBeenSet() const { return m_packetIdentifiersMapHasBeenSet; } /** * The packet identifier map for this multiplex program. */ inline void SetPacketIdentifiersMap(const MultiplexProgramPacketIdentifiersMap& value) { m_packetIdentifiersMapHasBeenSet = true; m_packetIdentifiersMap = value; } /** * The packet identifier map for this multiplex program. */ inline void SetPacketIdentifiersMap(MultiplexProgramPacketIdentifiersMap&& value) { m_packetIdentifiersMapHasBeenSet = true; m_packetIdentifiersMap = std::move(value); } /** * The packet identifier map for this multiplex program. */ inline MultiplexProgram& WithPacketIdentifiersMap(const MultiplexProgramPacketIdentifiersMap& value) { SetPacketIdentifiersMap(value); return *this;} /** * The packet identifier map for this multiplex program. */ inline MultiplexProgram& WithPacketIdentifiersMap(MultiplexProgramPacketIdentifiersMap&& value) { SetPacketIdentifiersMap(std::move(value)); return *this;} /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline const Aws::Vector& GetPipelineDetails() const{ return m_pipelineDetails; } /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline bool PipelineDetailsHasBeenSet() const { return m_pipelineDetailsHasBeenSet; } /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline void SetPipelineDetails(const Aws::Vector& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails = value; } /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline void SetPipelineDetails(Aws::Vector&& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails = std::move(value); } /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline MultiplexProgram& WithPipelineDetails(const Aws::Vector& value) { SetPipelineDetails(value); return *this;} /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline MultiplexProgram& WithPipelineDetails(Aws::Vector&& value) { SetPipelineDetails(std::move(value)); return *this;} /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline MultiplexProgram& AddPipelineDetails(const MultiplexProgramPipelineDetail& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails.push_back(value); return *this; } /** * Contains information about the current sources for the specified program in the * specified multiplex. Keep in mind that each multiplex pipeline connects to both * pipelines in a given source channel (the channel identified by the program). But * only one of those channel pipelines is ever active at one time. */ inline MultiplexProgram& AddPipelineDetails(MultiplexProgramPipelineDetail&& value) { m_pipelineDetailsHasBeenSet = true; m_pipelineDetails.push_back(std::move(value)); return *this; } /** * The name of the multiplex program. */ inline const Aws::String& GetProgramName() const{ return m_programName; } /** * The name of the multiplex program. */ inline bool ProgramNameHasBeenSet() const { return m_programNameHasBeenSet; } /** * The name of the multiplex program. */ inline void SetProgramName(const Aws::String& value) { m_programNameHasBeenSet = true; m_programName = value; } /** * The name of the multiplex program. */ inline void SetProgramName(Aws::String&& value) { m_programNameHasBeenSet = true; m_programName = std::move(value); } /** * The name of the multiplex program. */ inline void SetProgramName(const char* value) { m_programNameHasBeenSet = true; m_programName.assign(value); } /** * The name of the multiplex program. */ inline MultiplexProgram& WithProgramName(const Aws::String& value) { SetProgramName(value); return *this;} /** * The name of the multiplex program. */ inline MultiplexProgram& WithProgramName(Aws::String&& value) { SetProgramName(std::move(value)); return *this;} /** * The name of the multiplex program. */ inline MultiplexProgram& WithProgramName(const char* value) { SetProgramName(value); return *this;} private: Aws::String m_channelId; bool m_channelIdHasBeenSet = false; MultiplexProgramSettings m_multiplexProgramSettings; bool m_multiplexProgramSettingsHasBeenSet = false; MultiplexProgramPacketIdentifiersMap m_packetIdentifiersMap; bool m_packetIdentifiersMapHasBeenSet = false; Aws::Vector m_pipelineDetails; bool m_pipelineDetailsHasBeenSet = false; Aws::String m_programName; bool m_programNameHasBeenSet = false; }; } // namespace Model } // namespace MediaLive } // namespace Aws