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/medialive/MediaLiveRequest.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/medialive/model/MultiplexSettings.h> 11 #include <aws/core/utils/memory/stl/AWSString.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <utility> 14 #include <aws/core/utils/UUID.h> 15 16 namespace Aws 17 { 18 namespace MediaLive 19 { 20 namespace Model 21 { 22 23 /** 24 * A request to create a multiplex.<p><h3>See Also:</h3> <a 25 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplexRequest">AWS 26 * API Reference</a></p> 27 */ 28 class AWS_MEDIALIVE_API CreateMultiplexRequest : public MediaLiveRequest 29 { 30 public: 31 CreateMultiplexRequest(); 32 33 // Service request name is the Operation name which will send this request out, 34 // each operation should has unique request name, so that we can get operation's name from this request. 35 // Note: this is not true for response, multiple operations may have the same response name, 36 // so we can not get operation's name from response. GetServiceRequestName()37 inline virtual const char* GetServiceRequestName() const override { return "CreateMultiplex"; } 38 39 Aws::String SerializePayload() const override; 40 41 42 /** 43 * A list of availability zones for the multiplex. You must specify exactly two. 44 */ GetAvailabilityZones()45 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; } 46 47 /** 48 * A list of availability zones for the multiplex. You must specify exactly two. 49 */ AvailabilityZonesHasBeenSet()50 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } 51 52 /** 53 * A list of availability zones for the multiplex. You must specify exactly two. 54 */ SetAvailabilityZones(const Aws::Vector<Aws::String> & value)55 inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } 56 57 /** 58 * A list of availability zones for the multiplex. You must specify exactly two. 59 */ SetAvailabilityZones(Aws::Vector<Aws::String> && value)60 inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } 61 62 /** 63 * A list of availability zones for the multiplex. You must specify exactly two. 64 */ WithAvailabilityZones(const Aws::Vector<Aws::String> & value)65 inline CreateMultiplexRequest& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;} 66 67 /** 68 * A list of availability zones for the multiplex. You must specify exactly two. 69 */ WithAvailabilityZones(Aws::Vector<Aws::String> && value)70 inline CreateMultiplexRequest& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(std::move(value)); return *this;} 71 72 /** 73 * A list of availability zones for the multiplex. You must specify exactly two. 74 */ AddAvailabilityZones(const Aws::String & value)75 inline CreateMultiplexRequest& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } 76 77 /** 78 * A list of availability zones for the multiplex. You must specify exactly two. 79 */ AddAvailabilityZones(Aws::String && value)80 inline CreateMultiplexRequest& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } 81 82 /** 83 * A list of availability zones for the multiplex. You must specify exactly two. 84 */ AddAvailabilityZones(const char * value)85 inline CreateMultiplexRequest& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } 86 87 88 /** 89 * Configuration for a multiplex event. 90 */ GetMultiplexSettings()91 inline const MultiplexSettings& GetMultiplexSettings() const{ return m_multiplexSettings; } 92 93 /** 94 * Configuration for a multiplex event. 95 */ MultiplexSettingsHasBeenSet()96 inline bool MultiplexSettingsHasBeenSet() const { return m_multiplexSettingsHasBeenSet; } 97 98 /** 99 * Configuration for a multiplex event. 100 */ SetMultiplexSettings(const MultiplexSettings & value)101 inline void SetMultiplexSettings(const MultiplexSettings& value) { m_multiplexSettingsHasBeenSet = true; m_multiplexSettings = value; } 102 103 /** 104 * Configuration for a multiplex event. 105 */ SetMultiplexSettings(MultiplexSettings && value)106 inline void SetMultiplexSettings(MultiplexSettings&& value) { m_multiplexSettingsHasBeenSet = true; m_multiplexSettings = std::move(value); } 107 108 /** 109 * Configuration for a multiplex event. 110 */ WithMultiplexSettings(const MultiplexSettings & value)111 inline CreateMultiplexRequest& WithMultiplexSettings(const MultiplexSettings& value) { SetMultiplexSettings(value); return *this;} 112 113 /** 114 * Configuration for a multiplex event. 115 */ WithMultiplexSettings(MultiplexSettings && value)116 inline CreateMultiplexRequest& WithMultiplexSettings(MultiplexSettings&& value) { SetMultiplexSettings(std::move(value)); return *this;} 117 118 119 /** 120 * Name of multiplex. 121 */ GetName()122 inline const Aws::String& GetName() const{ return m_name; } 123 124 /** 125 * Name of multiplex. 126 */ NameHasBeenSet()127 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 128 129 /** 130 * Name of multiplex. 131 */ SetName(const Aws::String & value)132 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 133 134 /** 135 * Name of multiplex. 136 */ SetName(Aws::String && value)137 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 138 139 /** 140 * Name of multiplex. 141 */ SetName(const char * value)142 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 143 144 /** 145 * Name of multiplex. 146 */ WithName(const Aws::String & value)147 inline CreateMultiplexRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 148 149 /** 150 * Name of multiplex. 151 */ WithName(Aws::String && value)152 inline CreateMultiplexRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 153 154 /** 155 * Name of multiplex. 156 */ WithName(const char * value)157 inline CreateMultiplexRequest& WithName(const char* value) { SetName(value); return *this;} 158 159 160 /** 161 * Unique request ID. This prevents retries from creating multiple 162 resources. 163 164 */ GetRequestId()165 inline const Aws::String& GetRequestId() const{ return m_requestId; } 166 167 /** 168 * Unique request ID. This prevents retries from creating multiple 169 resources. 170 171 */ RequestIdHasBeenSet()172 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } 173 174 /** 175 * Unique request ID. This prevents retries from creating multiple 176 resources. 177 178 */ SetRequestId(const Aws::String & value)179 inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } 180 181 /** 182 * Unique request ID. This prevents retries from creating multiple 183 resources. 184 185 */ SetRequestId(Aws::String && value)186 inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } 187 188 /** 189 * Unique request ID. This prevents retries from creating multiple 190 resources. 191 192 */ SetRequestId(const char * value)193 inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } 194 195 /** 196 * Unique request ID. This prevents retries from creating multiple 197 resources. 198 199 */ WithRequestId(const Aws::String & value)200 inline CreateMultiplexRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} 201 202 /** 203 * Unique request ID. This prevents retries from creating multiple 204 resources. 205 206 */ WithRequestId(Aws::String && value)207 inline CreateMultiplexRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} 208 209 /** 210 * Unique request ID. This prevents retries from creating multiple 211 resources. 212 213 */ WithRequestId(const char * value)214 inline CreateMultiplexRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} 215 216 217 /** 218 * A collection of key-value pairs. 219 */ GetTags()220 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 221 222 /** 223 * A collection of key-value pairs. 224 */ TagsHasBeenSet()225 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 226 227 /** 228 * A collection of key-value pairs. 229 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)230 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 231 232 /** 233 * A collection of key-value pairs. 234 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)235 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 236 237 /** 238 * A collection of key-value pairs. 239 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)240 inline CreateMultiplexRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 241 242 /** 243 * A collection of key-value pairs. 244 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)245 inline CreateMultiplexRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 246 247 /** 248 * A collection of key-value pairs. 249 */ AddTags(const Aws::String & key,const Aws::String & value)250 inline CreateMultiplexRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 251 252 /** 253 * A collection of key-value pairs. 254 */ AddTags(Aws::String && key,const Aws::String & value)255 inline CreateMultiplexRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 256 257 /** 258 * A collection of key-value pairs. 259 */ AddTags(const Aws::String & key,Aws::String && value)260 inline CreateMultiplexRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 261 262 /** 263 * A collection of key-value pairs. 264 */ AddTags(Aws::String && key,Aws::String && value)265 inline CreateMultiplexRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 266 267 /** 268 * A collection of key-value pairs. 269 */ AddTags(const char * key,Aws::String && value)270 inline CreateMultiplexRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 271 272 /** 273 * A collection of key-value pairs. 274 */ AddTags(Aws::String && key,const char * value)275 inline CreateMultiplexRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 276 277 /** 278 * A collection of key-value pairs. 279 */ AddTags(const char * key,const char * value)280 inline CreateMultiplexRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 281 282 private: 283 284 Aws::Vector<Aws::String> m_availabilityZones; 285 bool m_availabilityZonesHasBeenSet; 286 287 MultiplexSettings m_multiplexSettings; 288 bool m_multiplexSettingsHasBeenSet; 289 290 Aws::String m_name; 291 bool m_nameHasBeenSet; 292 293 Aws::String m_requestId; 294 bool m_requestIdHasBeenSet; 295 296 Aws::Map<Aws::String, Aws::String> m_tags; 297 bool m_tagsHasBeenSet; 298 }; 299 300 } // namespace Model 301 } // namespace MediaLive 302 } // namespace Aws 303