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