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 * Multiplex Program Input Destination Settings for outputting a Channel to a 28 * Multiplex<p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/MultiplexProgramChannelDestinationSettings">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_MEDIALIVE_API MultiplexProgramChannelDestinationSettings 33 { 34 public: 35 MultiplexProgramChannelDestinationSettings(); 36 MultiplexProgramChannelDestinationSettings(Aws::Utils::Json::JsonView jsonValue); 37 MultiplexProgramChannelDestinationSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * The ID of the Multiplex that the encoder is providing output to. You do not need 43 * to specify the individual inputs to the Multiplex; MediaLive will handle the 44 * connection of the two MediaLive pipelines to the two Multiplex instances. 45 The 46 * Multiplex must be in the same region as the Channel. 47 */ GetMultiplexId()48 inline const Aws::String& GetMultiplexId() const{ return m_multiplexId; } 49 50 /** 51 * The ID of the Multiplex that the encoder is providing output to. You do not need 52 * to specify the individual inputs to the Multiplex; MediaLive will handle the 53 * connection of the two MediaLive pipelines to the two Multiplex instances. 54 The 55 * Multiplex must be in the same region as the Channel. 56 */ MultiplexIdHasBeenSet()57 inline bool MultiplexIdHasBeenSet() const { return m_multiplexIdHasBeenSet; } 58 59 /** 60 * The ID of the Multiplex that the encoder is providing output to. You do not need 61 * to specify the individual inputs to the Multiplex; MediaLive will handle the 62 * connection of the two MediaLive pipelines to the two Multiplex instances. 63 The 64 * Multiplex must be in the same region as the Channel. 65 */ SetMultiplexId(const Aws::String & value)66 inline void SetMultiplexId(const Aws::String& value) { m_multiplexIdHasBeenSet = true; m_multiplexId = value; } 67 68 /** 69 * The ID of the Multiplex that the encoder is providing output to. You do not need 70 * to specify the individual inputs to the Multiplex; MediaLive will handle the 71 * connection of the two MediaLive pipelines to the two Multiplex instances. 72 The 73 * Multiplex must be in the same region as the Channel. 74 */ SetMultiplexId(Aws::String && value)75 inline void SetMultiplexId(Aws::String&& value) { m_multiplexIdHasBeenSet = true; m_multiplexId = std::move(value); } 76 77 /** 78 * The ID of the Multiplex that the encoder is providing output to. You do not need 79 * to specify the individual inputs to the Multiplex; MediaLive will handle the 80 * connection of the two MediaLive pipelines to the two Multiplex instances. 81 The 82 * Multiplex must be in the same region as the Channel. 83 */ SetMultiplexId(const char * value)84 inline void SetMultiplexId(const char* value) { m_multiplexIdHasBeenSet = true; m_multiplexId.assign(value); } 85 86 /** 87 * The ID of the Multiplex that the encoder is providing output to. You do not need 88 * to specify the individual inputs to the Multiplex; MediaLive will handle the 89 * connection of the two MediaLive pipelines to the two Multiplex instances. 90 The 91 * Multiplex must be in the same region as the Channel. 92 */ WithMultiplexId(const Aws::String & value)93 inline MultiplexProgramChannelDestinationSettings& WithMultiplexId(const Aws::String& value) { SetMultiplexId(value); return *this;} 94 95 /** 96 * The ID of the Multiplex that the encoder is providing output to. You do not need 97 * to specify the individual inputs to the Multiplex; MediaLive will handle the 98 * connection of the two MediaLive pipelines to the two Multiplex instances. 99 The 100 * Multiplex must be in the same region as the Channel. 101 */ WithMultiplexId(Aws::String && value)102 inline MultiplexProgramChannelDestinationSettings& WithMultiplexId(Aws::String&& value) { SetMultiplexId(std::move(value)); return *this;} 103 104 /** 105 * The ID of the Multiplex that the encoder is providing output to. You do not need 106 * to specify the individual inputs to the Multiplex; MediaLive will handle the 107 * connection of the two MediaLive pipelines to the two Multiplex instances. 108 The 109 * Multiplex must be in the same region as the Channel. 110 */ WithMultiplexId(const char * value)111 inline MultiplexProgramChannelDestinationSettings& WithMultiplexId(const char* value) { SetMultiplexId(value); return *this;} 112 113 114 /** 115 * The program name of the Multiplex program that the encoder is providing output 116 * to. 117 */ GetProgramName()118 inline const Aws::String& GetProgramName() const{ return m_programName; } 119 120 /** 121 * The program name of the Multiplex program that the encoder is providing output 122 * to. 123 */ ProgramNameHasBeenSet()124 inline bool ProgramNameHasBeenSet() const { return m_programNameHasBeenSet; } 125 126 /** 127 * The program name of the Multiplex program that the encoder is providing output 128 * to. 129 */ SetProgramName(const Aws::String & value)130 inline void SetProgramName(const Aws::String& value) { m_programNameHasBeenSet = true; m_programName = value; } 131 132 /** 133 * The program name of the Multiplex program that the encoder is providing output 134 * to. 135 */ SetProgramName(Aws::String && value)136 inline void SetProgramName(Aws::String&& value) { m_programNameHasBeenSet = true; m_programName = std::move(value); } 137 138 /** 139 * The program name of the Multiplex program that the encoder is providing output 140 * to. 141 */ SetProgramName(const char * value)142 inline void SetProgramName(const char* value) { m_programNameHasBeenSet = true; m_programName.assign(value); } 143 144 /** 145 * The program name of the Multiplex program that the encoder is providing output 146 * to. 147 */ WithProgramName(const Aws::String & value)148 inline MultiplexProgramChannelDestinationSettings& WithProgramName(const Aws::String& value) { SetProgramName(value); return *this;} 149 150 /** 151 * The program name of the Multiplex program that the encoder is providing output 152 * to. 153 */ WithProgramName(Aws::String && value)154 inline MultiplexProgramChannelDestinationSettings& WithProgramName(Aws::String&& value) { SetProgramName(std::move(value)); return *this;} 155 156 /** 157 * The program name of the Multiplex program that the encoder is providing output 158 * to. 159 */ WithProgramName(const char * value)160 inline MultiplexProgramChannelDestinationSettings& WithProgramName(const char* value) { SetProgramName(value); return *this;} 161 162 private: 163 164 Aws::String m_multiplexId; 165 bool m_multiplexIdHasBeenSet; 166 167 Aws::String m_programName; 168 bool m_programNameHasBeenSet; 169 }; 170 171 } // namespace Model 172 } // namespace MediaLive 173 } // namespace Aws 174