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/core/utils/memory/stl/AWSVector.h> 10 #include <aws/medialive/model/MultiplexSettings.h> 11 #include <aws/medialive/model/MultiplexState.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <aws/medialive/model/MultiplexOutputDestination.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 template<typename RESULT_TYPE> 19 class AmazonWebServiceResult; 20 21 namespace Utils 22 { 23 namespace Json 24 { 25 class JsonValue; 26 } // namespace Json 27 } // namespace Utils 28 namespace MediaLive 29 { 30 namespace Model 31 { 32 /** 33 * Placeholder documentation for StartMultiplexResponse<p><h3>See Also:</h3> <a 34 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartMultiplexResponse">AWS 35 * API Reference</a></p> 36 */ 37 class AWS_MEDIALIVE_API StartMultiplexResult 38 { 39 public: 40 StartMultiplexResult(); 41 StartMultiplexResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 42 StartMultiplexResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 43 44 45 /** 46 * The unique arn of the multiplex. 47 */ GetArn()48 inline const Aws::String& GetArn() const{ return m_arn; } 49 50 /** 51 * The unique arn of the multiplex. 52 */ SetArn(const Aws::String & value)53 inline void SetArn(const Aws::String& value) { m_arn = value; } 54 55 /** 56 * The unique arn of the multiplex. 57 */ SetArn(Aws::String && value)58 inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } 59 60 /** 61 * The unique arn of the multiplex. 62 */ SetArn(const char * value)63 inline void SetArn(const char* value) { m_arn.assign(value); } 64 65 /** 66 * The unique arn of the multiplex. 67 */ WithArn(const Aws::String & value)68 inline StartMultiplexResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} 69 70 /** 71 * The unique arn of the multiplex. 72 */ WithArn(Aws::String && value)73 inline StartMultiplexResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 74 75 /** 76 * The unique arn of the multiplex. 77 */ WithArn(const char * value)78 inline StartMultiplexResult& WithArn(const char* value) { SetArn(value); return *this;} 79 80 81 /** 82 * A list of availability zones for the multiplex. 83 */ GetAvailabilityZones()84 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; } 85 86 /** 87 * A list of availability zones for the multiplex. 88 */ SetAvailabilityZones(const Aws::Vector<Aws::String> & value)89 inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZones = value; } 90 91 /** 92 * A list of availability zones for the multiplex. 93 */ SetAvailabilityZones(Aws::Vector<Aws::String> && value)94 inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZones = std::move(value); } 95 96 /** 97 * A list of availability zones for the multiplex. 98 */ WithAvailabilityZones(const Aws::Vector<Aws::String> & value)99 inline StartMultiplexResult& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;} 100 101 /** 102 * A list of availability zones for the multiplex. 103 */ WithAvailabilityZones(Aws::Vector<Aws::String> && value)104 inline StartMultiplexResult& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(std::move(value)); return *this;} 105 106 /** 107 * A list of availability zones for the multiplex. 108 */ AddAvailabilityZones(const Aws::String & value)109 inline StartMultiplexResult& AddAvailabilityZones(const Aws::String& value) { m_availabilityZones.push_back(value); return *this; } 110 111 /** 112 * A list of availability zones for the multiplex. 113 */ AddAvailabilityZones(Aws::String && value)114 inline StartMultiplexResult& AddAvailabilityZones(Aws::String&& value) { m_availabilityZones.push_back(std::move(value)); return *this; } 115 116 /** 117 * A list of availability zones for the multiplex. 118 */ AddAvailabilityZones(const char * value)119 inline StartMultiplexResult& AddAvailabilityZones(const char* value) { m_availabilityZones.push_back(value); return *this; } 120 121 122 /** 123 * A list of the multiplex output destinations. 124 */ GetDestinations()125 inline const Aws::Vector<MultiplexOutputDestination>& GetDestinations() const{ return m_destinations; } 126 127 /** 128 * A list of the multiplex output destinations. 129 */ SetDestinations(const Aws::Vector<MultiplexOutputDestination> & value)130 inline void SetDestinations(const Aws::Vector<MultiplexOutputDestination>& value) { m_destinations = value; } 131 132 /** 133 * A list of the multiplex output destinations. 134 */ SetDestinations(Aws::Vector<MultiplexOutputDestination> && value)135 inline void SetDestinations(Aws::Vector<MultiplexOutputDestination>&& value) { m_destinations = std::move(value); } 136 137 /** 138 * A list of the multiplex output destinations. 139 */ WithDestinations(const Aws::Vector<MultiplexOutputDestination> & value)140 inline StartMultiplexResult& WithDestinations(const Aws::Vector<MultiplexOutputDestination>& value) { SetDestinations(value); return *this;} 141 142 /** 143 * A list of the multiplex output destinations. 144 */ WithDestinations(Aws::Vector<MultiplexOutputDestination> && value)145 inline StartMultiplexResult& WithDestinations(Aws::Vector<MultiplexOutputDestination>&& value) { SetDestinations(std::move(value)); return *this;} 146 147 /** 148 * A list of the multiplex output destinations. 149 */ AddDestinations(const MultiplexOutputDestination & value)150 inline StartMultiplexResult& AddDestinations(const MultiplexOutputDestination& value) { m_destinations.push_back(value); return *this; } 151 152 /** 153 * A list of the multiplex output destinations. 154 */ AddDestinations(MultiplexOutputDestination && value)155 inline StartMultiplexResult& AddDestinations(MultiplexOutputDestination&& value) { m_destinations.push_back(std::move(value)); return *this; } 156 157 158 /** 159 * The unique id of the multiplex. 160 */ GetId()161 inline const Aws::String& GetId() const{ return m_id; } 162 163 /** 164 * The unique id of the multiplex. 165 */ SetId(const Aws::String & value)166 inline void SetId(const Aws::String& value) { m_id = value; } 167 168 /** 169 * The unique id of the multiplex. 170 */ SetId(Aws::String && value)171 inline void SetId(Aws::String&& value) { m_id = std::move(value); } 172 173 /** 174 * The unique id of the multiplex. 175 */ SetId(const char * value)176 inline void SetId(const char* value) { m_id.assign(value); } 177 178 /** 179 * The unique id of the multiplex. 180 */ WithId(const Aws::String & value)181 inline StartMultiplexResult& WithId(const Aws::String& value) { SetId(value); return *this;} 182 183 /** 184 * The unique id of the multiplex. 185 */ WithId(Aws::String && value)186 inline StartMultiplexResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 187 188 /** 189 * The unique id of the multiplex. 190 */ WithId(const char * value)191 inline StartMultiplexResult& WithId(const char* value) { SetId(value); return *this;} 192 193 194 /** 195 * Configuration for a multiplex event. 196 */ GetMultiplexSettings()197 inline const MultiplexSettings& GetMultiplexSettings() const{ return m_multiplexSettings; } 198 199 /** 200 * Configuration for a multiplex event. 201 */ SetMultiplexSettings(const MultiplexSettings & value)202 inline void SetMultiplexSettings(const MultiplexSettings& value) { m_multiplexSettings = value; } 203 204 /** 205 * Configuration for a multiplex event. 206 */ SetMultiplexSettings(MultiplexSettings && value)207 inline void SetMultiplexSettings(MultiplexSettings&& value) { m_multiplexSettings = std::move(value); } 208 209 /** 210 * Configuration for a multiplex event. 211 */ WithMultiplexSettings(const MultiplexSettings & value)212 inline StartMultiplexResult& WithMultiplexSettings(const MultiplexSettings& value) { SetMultiplexSettings(value); return *this;} 213 214 /** 215 * Configuration for a multiplex event. 216 */ WithMultiplexSettings(MultiplexSettings && value)217 inline StartMultiplexResult& WithMultiplexSettings(MultiplexSettings&& value) { SetMultiplexSettings(std::move(value)); return *this;} 218 219 220 /** 221 * The name of the multiplex. 222 */ GetName()223 inline const Aws::String& GetName() const{ return m_name; } 224 225 /** 226 * The name of the multiplex. 227 */ SetName(const Aws::String & value)228 inline void SetName(const Aws::String& value) { m_name = value; } 229 230 /** 231 * The name of the multiplex. 232 */ SetName(Aws::String && value)233 inline void SetName(Aws::String&& value) { m_name = std::move(value); } 234 235 /** 236 * The name of the multiplex. 237 */ SetName(const char * value)238 inline void SetName(const char* value) { m_name.assign(value); } 239 240 /** 241 * The name of the multiplex. 242 */ WithName(const Aws::String & value)243 inline StartMultiplexResult& WithName(const Aws::String& value) { SetName(value); return *this;} 244 245 /** 246 * The name of the multiplex. 247 */ WithName(Aws::String && value)248 inline StartMultiplexResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 249 250 /** 251 * The name of the multiplex. 252 */ WithName(const char * value)253 inline StartMultiplexResult& WithName(const char* value) { SetName(value); return *this;} 254 255 256 /** 257 * The number of currently healthy pipelines. 258 */ GetPipelinesRunningCount()259 inline int GetPipelinesRunningCount() const{ return m_pipelinesRunningCount; } 260 261 /** 262 * The number of currently healthy pipelines. 263 */ SetPipelinesRunningCount(int value)264 inline void SetPipelinesRunningCount(int value) { m_pipelinesRunningCount = value; } 265 266 /** 267 * The number of currently healthy pipelines. 268 */ WithPipelinesRunningCount(int value)269 inline StartMultiplexResult& WithPipelinesRunningCount(int value) { SetPipelinesRunningCount(value); return *this;} 270 271 272 /** 273 * The number of programs in the multiplex. 274 */ GetProgramCount()275 inline int GetProgramCount() const{ return m_programCount; } 276 277 /** 278 * The number of programs in the multiplex. 279 */ SetProgramCount(int value)280 inline void SetProgramCount(int value) { m_programCount = value; } 281 282 /** 283 * The number of programs in the multiplex. 284 */ WithProgramCount(int value)285 inline StartMultiplexResult& WithProgramCount(int value) { SetProgramCount(value); return *this;} 286 287 288 /** 289 * The current state of the multiplex. 290 */ GetState()291 inline const MultiplexState& GetState() const{ return m_state; } 292 293 /** 294 * The current state of the multiplex. 295 */ SetState(const MultiplexState & value)296 inline void SetState(const MultiplexState& value) { m_state = value; } 297 298 /** 299 * The current state of the multiplex. 300 */ SetState(MultiplexState && value)301 inline void SetState(MultiplexState&& value) { m_state = std::move(value); } 302 303 /** 304 * The current state of the multiplex. 305 */ WithState(const MultiplexState & value)306 inline StartMultiplexResult& WithState(const MultiplexState& value) { SetState(value); return *this;} 307 308 /** 309 * The current state of the multiplex. 310 */ WithState(MultiplexState && value)311 inline StartMultiplexResult& WithState(MultiplexState&& value) { SetState(std::move(value)); return *this;} 312 313 314 /** 315 * A collection of key-value pairs. 316 */ GetTags()317 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 318 319 /** 320 * A collection of key-value pairs. 321 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)322 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; } 323 324 /** 325 * A collection of key-value pairs. 326 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)327 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); } 328 329 /** 330 * A collection of key-value pairs. 331 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)332 inline StartMultiplexResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 333 334 /** 335 * A collection of key-value pairs. 336 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)337 inline StartMultiplexResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 338 339 /** 340 * A collection of key-value pairs. 341 */ AddTags(const Aws::String & key,const Aws::String & value)342 inline StartMultiplexResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } 343 344 /** 345 * A collection of key-value pairs. 346 */ AddTags(Aws::String && key,const Aws::String & value)347 inline StartMultiplexResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } 348 349 /** 350 * A collection of key-value pairs. 351 */ AddTags(const Aws::String & key,Aws::String && value)352 inline StartMultiplexResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } 353 354 /** 355 * A collection of key-value pairs. 356 */ AddTags(Aws::String && key,Aws::String && value)357 inline StartMultiplexResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } 358 359 /** 360 * A collection of key-value pairs. 361 */ AddTags(const char * key,Aws::String && value)362 inline StartMultiplexResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } 363 364 /** 365 * A collection of key-value pairs. 366 */ AddTags(Aws::String && key,const char * value)367 inline StartMultiplexResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } 368 369 /** 370 * A collection of key-value pairs. 371 */ AddTags(const char * key,const char * value)372 inline StartMultiplexResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } 373 374 private: 375 376 Aws::String m_arn; 377 378 Aws::Vector<Aws::String> m_availabilityZones; 379 380 Aws::Vector<MultiplexOutputDestination> m_destinations; 381 382 Aws::String m_id; 383 384 MultiplexSettings m_multiplexSettings; 385 386 Aws::String m_name; 387 388 int m_pipelinesRunningCount; 389 390 int m_programCount; 391 392 MultiplexState m_state; 393 394 Aws::Map<Aws::String, Aws::String> m_tags; 395 }; 396 397 } // namespace Model 398 } // namespace MediaLive 399 } // namespace Aws 400