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/elasticloadbalancing/ElasticLoadBalancing_EXPORTS.h> 8 #include <aws/elasticloadbalancing/ElasticLoadBalancingRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/elasticloadbalancing/model/Listener.h> 12 #include <aws/elasticloadbalancing/model/Tag.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace ElasticLoadBalancing 18 { 19 namespace Model 20 { 21 22 /** 23 * <p>Contains the parameters for CreateLoadBalancer.</p><p><h3>See Also:</h3> <a 24 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/CreateAccessPointInput">AWS 25 * API Reference</a></p> 26 */ 27 class AWS_ELASTICLOADBALANCING_API CreateLoadBalancerRequest : public ElasticLoadBalancingRequest 28 { 29 public: 30 CreateLoadBalancerRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "CreateLoadBalancer"; } 37 38 Aws::String SerializePayload() const override; 39 40 protected: 41 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 42 43 public: 44 45 /** 46 * <p>The name of the load balancer.</p> <p>This name must be unique within your 47 * set of load balancers for the region, must have a maximum of 32 characters, must 48 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 49 * hyphen.</p> 50 */ GetLoadBalancerName()51 inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; } 52 53 /** 54 * <p>The name of the load balancer.</p> <p>This name must be unique within your 55 * set of load balancers for the region, must have a maximum of 32 characters, must 56 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 57 * hyphen.</p> 58 */ LoadBalancerNameHasBeenSet()59 inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; } 60 61 /** 62 * <p>The name of the load balancer.</p> <p>This name must be unique within your 63 * set of load balancers for the region, must have a maximum of 32 characters, must 64 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 65 * hyphen.</p> 66 */ SetLoadBalancerName(const Aws::String & value)67 inline void SetLoadBalancerName(const Aws::String& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = value; } 68 69 /** 70 * <p>The name of the load balancer.</p> <p>This name must be unique within your 71 * set of load balancers for the region, must have a maximum of 32 characters, must 72 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 73 * hyphen.</p> 74 */ SetLoadBalancerName(Aws::String && value)75 inline void SetLoadBalancerName(Aws::String&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::move(value); } 76 77 /** 78 * <p>The name of the load balancer.</p> <p>This name must be unique within your 79 * set of load balancers for the region, must have a maximum of 32 characters, must 80 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 81 * hyphen.</p> 82 */ SetLoadBalancerName(const char * value)83 inline void SetLoadBalancerName(const char* value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName.assign(value); } 84 85 /** 86 * <p>The name of the load balancer.</p> <p>This name must be unique within your 87 * set of load balancers for the region, must have a maximum of 32 characters, must 88 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 89 * hyphen.</p> 90 */ WithLoadBalancerName(const Aws::String & value)91 inline CreateLoadBalancerRequest& WithLoadBalancerName(const Aws::String& value) { SetLoadBalancerName(value); return *this;} 92 93 /** 94 * <p>The name of the load balancer.</p> <p>This name must be unique within your 95 * set of load balancers for the region, must have a maximum of 32 characters, must 96 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 97 * hyphen.</p> 98 */ WithLoadBalancerName(Aws::String && value)99 inline CreateLoadBalancerRequest& WithLoadBalancerName(Aws::String&& value) { SetLoadBalancerName(std::move(value)); return *this;} 100 101 /** 102 * <p>The name of the load balancer.</p> <p>This name must be unique within your 103 * set of load balancers for the region, must have a maximum of 32 characters, must 104 * contain only alphanumeric characters or hyphens, and cannot begin or end with a 105 * hyphen.</p> 106 */ WithLoadBalancerName(const char * value)107 inline CreateLoadBalancerRequest& WithLoadBalancerName(const char* value) { SetLoadBalancerName(value); return *this;} 108 109 110 /** 111 * <p>The listeners.</p> <p>For more information, see <a 112 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 113 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 114 * Guide</i>.</p> 115 */ GetListeners()116 inline const Aws::Vector<Listener>& GetListeners() const{ return m_listeners; } 117 118 /** 119 * <p>The listeners.</p> <p>For more information, see <a 120 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 121 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 122 * Guide</i>.</p> 123 */ ListenersHasBeenSet()124 inline bool ListenersHasBeenSet() const { return m_listenersHasBeenSet; } 125 126 /** 127 * <p>The listeners.</p> <p>For more information, see <a 128 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 129 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 130 * Guide</i>.</p> 131 */ SetListeners(const Aws::Vector<Listener> & value)132 inline void SetListeners(const Aws::Vector<Listener>& value) { m_listenersHasBeenSet = true; m_listeners = value; } 133 134 /** 135 * <p>The listeners.</p> <p>For more information, see <a 136 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 137 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 138 * Guide</i>.</p> 139 */ SetListeners(Aws::Vector<Listener> && value)140 inline void SetListeners(Aws::Vector<Listener>&& value) { m_listenersHasBeenSet = true; m_listeners = std::move(value); } 141 142 /** 143 * <p>The listeners.</p> <p>For more information, see <a 144 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 145 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 146 * Guide</i>.</p> 147 */ WithListeners(const Aws::Vector<Listener> & value)148 inline CreateLoadBalancerRequest& WithListeners(const Aws::Vector<Listener>& value) { SetListeners(value); return *this;} 149 150 /** 151 * <p>The listeners.</p> <p>For more information, see <a 152 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 153 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 154 * Guide</i>.</p> 155 */ WithListeners(Aws::Vector<Listener> && value)156 inline CreateLoadBalancerRequest& WithListeners(Aws::Vector<Listener>&& value) { SetListeners(std::move(value)); return *this;} 157 158 /** 159 * <p>The listeners.</p> <p>For more information, see <a 160 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 161 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 162 * Guide</i>.</p> 163 */ AddListeners(const Listener & value)164 inline CreateLoadBalancerRequest& AddListeners(const Listener& value) { m_listenersHasBeenSet = true; m_listeners.push_back(value); return *this; } 165 166 /** 167 * <p>The listeners.</p> <p>For more information, see <a 168 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners 169 * for Your Classic Load Balancer</a> in the <i>Classic Load Balancers 170 * Guide</i>.</p> 171 */ AddListeners(Listener && value)172 inline CreateLoadBalancerRequest& AddListeners(Listener&& value) { m_listenersHasBeenSet = true; m_listeners.push_back(std::move(value)); return *this; } 173 174 175 /** 176 * <p>One or more Availability Zones from the same region as the load balancer.</p> 177 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 178 * Availability Zones after you create the load balancer using 179 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 180 */ GetAvailabilityZones()181 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; } 182 183 /** 184 * <p>One or more Availability Zones from the same region as the load balancer.</p> 185 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 186 * Availability Zones after you create the load balancer using 187 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 188 */ AvailabilityZonesHasBeenSet()189 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } 190 191 /** 192 * <p>One or more Availability Zones from the same region as the load balancer.</p> 193 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 194 * Availability Zones after you create the load balancer using 195 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 196 */ SetAvailabilityZones(const Aws::Vector<Aws::String> & value)197 inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } 198 199 /** 200 * <p>One or more Availability Zones from the same region as the load balancer.</p> 201 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 202 * Availability Zones after you create the load balancer using 203 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 204 */ SetAvailabilityZones(Aws::Vector<Aws::String> && value)205 inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } 206 207 /** 208 * <p>One or more Availability Zones from the same region as the load balancer.</p> 209 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 210 * Availability Zones after you create the load balancer using 211 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 212 */ WithAvailabilityZones(const Aws::Vector<Aws::String> & value)213 inline CreateLoadBalancerRequest& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;} 214 215 /** 216 * <p>One or more Availability Zones from the same region as the load balancer.</p> 217 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 218 * Availability Zones after you create the load balancer using 219 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 220 */ WithAvailabilityZones(Aws::Vector<Aws::String> && value)221 inline CreateLoadBalancerRequest& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(std::move(value)); return *this;} 222 223 /** 224 * <p>One or more Availability Zones from the same region as the load balancer.</p> 225 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 226 * Availability Zones after you create the load balancer using 227 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 228 */ AddAvailabilityZones(const Aws::String & value)229 inline CreateLoadBalancerRequest& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } 230 231 /** 232 * <p>One or more Availability Zones from the same region as the load balancer.</p> 233 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 234 * Availability Zones after you create the load balancer using 235 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 236 */ AddAvailabilityZones(Aws::String && value)237 inline CreateLoadBalancerRequest& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } 238 239 /** 240 * <p>One or more Availability Zones from the same region as the load balancer.</p> 241 * <p>You must specify at least one Availability Zone.</p> <p>You can add more 242 * Availability Zones after you create the load balancer using 243 * <a>EnableAvailabilityZonesForLoadBalancer</a>.</p> 244 */ AddAvailabilityZones(const char * value)245 inline CreateLoadBalancerRequest& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } 246 247 248 /** 249 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 250 * one subnet per Availability Zone specified in 251 * <code>AvailabilityZones</code>.</p> 252 */ GetSubnets()253 inline const Aws::Vector<Aws::String>& GetSubnets() const{ return m_subnets; } 254 255 /** 256 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 257 * one subnet per Availability Zone specified in 258 * <code>AvailabilityZones</code>.</p> 259 */ SubnetsHasBeenSet()260 inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; } 261 262 /** 263 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 264 * one subnet per Availability Zone specified in 265 * <code>AvailabilityZones</code>.</p> 266 */ SetSubnets(const Aws::Vector<Aws::String> & value)267 inline void SetSubnets(const Aws::Vector<Aws::String>& value) { m_subnetsHasBeenSet = true; m_subnets = value; } 268 269 /** 270 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 271 * one subnet per Availability Zone specified in 272 * <code>AvailabilityZones</code>.</p> 273 */ SetSubnets(Aws::Vector<Aws::String> && value)274 inline void SetSubnets(Aws::Vector<Aws::String>&& value) { m_subnetsHasBeenSet = true; m_subnets = std::move(value); } 275 276 /** 277 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 278 * one subnet per Availability Zone specified in 279 * <code>AvailabilityZones</code>.</p> 280 */ WithSubnets(const Aws::Vector<Aws::String> & value)281 inline CreateLoadBalancerRequest& WithSubnets(const Aws::Vector<Aws::String>& value) { SetSubnets(value); return *this;} 282 283 /** 284 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 285 * one subnet per Availability Zone specified in 286 * <code>AvailabilityZones</code>.</p> 287 */ WithSubnets(Aws::Vector<Aws::String> && value)288 inline CreateLoadBalancerRequest& WithSubnets(Aws::Vector<Aws::String>&& value) { SetSubnets(std::move(value)); return *this;} 289 290 /** 291 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 292 * one subnet per Availability Zone specified in 293 * <code>AvailabilityZones</code>.</p> 294 */ AddSubnets(const Aws::String & value)295 inline CreateLoadBalancerRequest& AddSubnets(const Aws::String& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } 296 297 /** 298 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 299 * one subnet per Availability Zone specified in 300 * <code>AvailabilityZones</code>.</p> 301 */ AddSubnets(Aws::String && value)302 inline CreateLoadBalancerRequest& AddSubnets(Aws::String&& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(std::move(value)); return *this; } 303 304 /** 305 * <p>The IDs of the subnets in your VPC to attach to the load balancer. Specify 306 * one subnet per Availability Zone specified in 307 * <code>AvailabilityZones</code>.</p> 308 */ AddSubnets(const char * value)309 inline CreateLoadBalancerRequest& AddSubnets(const char* value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } 310 311 312 /** 313 * <p>The IDs of the security groups to assign to the load balancer.</p> 314 */ GetSecurityGroups()315 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const{ return m_securityGroups; } 316 317 /** 318 * <p>The IDs of the security groups to assign to the load balancer.</p> 319 */ SecurityGroupsHasBeenSet()320 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } 321 322 /** 323 * <p>The IDs of the security groups to assign to the load balancer.</p> 324 */ SetSecurityGroups(const Aws::Vector<Aws::String> & value)325 inline void SetSecurityGroups(const Aws::Vector<Aws::String>& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; } 326 327 /** 328 * <p>The IDs of the security groups to assign to the load balancer.</p> 329 */ SetSecurityGroups(Aws::Vector<Aws::String> && value)330 inline void SetSecurityGroups(Aws::Vector<Aws::String>&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); } 331 332 /** 333 * <p>The IDs of the security groups to assign to the load balancer.</p> 334 */ WithSecurityGroups(const Aws::Vector<Aws::String> & value)335 inline CreateLoadBalancerRequest& WithSecurityGroups(const Aws::Vector<Aws::String>& value) { SetSecurityGroups(value); return *this;} 336 337 /** 338 * <p>The IDs of the security groups to assign to the load balancer.</p> 339 */ WithSecurityGroups(Aws::Vector<Aws::String> && value)340 inline CreateLoadBalancerRequest& WithSecurityGroups(Aws::Vector<Aws::String>&& value) { SetSecurityGroups(std::move(value)); return *this;} 341 342 /** 343 * <p>The IDs of the security groups to assign to the load balancer.</p> 344 */ AddSecurityGroups(const Aws::String & value)345 inline CreateLoadBalancerRequest& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } 346 347 /** 348 * <p>The IDs of the security groups to assign to the load balancer.</p> 349 */ AddSecurityGroups(Aws::String && value)350 inline CreateLoadBalancerRequest& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } 351 352 /** 353 * <p>The IDs of the security groups to assign to the load balancer.</p> 354 */ AddSecurityGroups(const char * value)355 inline CreateLoadBalancerRequest& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } 356 357 358 /** 359 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 360 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 361 * with a DNS name that resolves to public IP addresses. For more information about 362 * Internet-facing and Internal load balancers, see <a 363 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 364 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 365 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 366 * resolves to private IP addresses.</p> 367 */ GetScheme()368 inline const Aws::String& GetScheme() const{ return m_scheme; } 369 370 /** 371 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 372 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 373 * with a DNS name that resolves to public IP addresses. For more information about 374 * Internet-facing and Internal load balancers, see <a 375 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 376 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 377 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 378 * resolves to private IP addresses.</p> 379 */ SchemeHasBeenSet()380 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; } 381 382 /** 383 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 384 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 385 * with a DNS name that resolves to public IP addresses. For more information about 386 * Internet-facing and Internal load balancers, see <a 387 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 388 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 389 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 390 * resolves to private IP addresses.</p> 391 */ SetScheme(const Aws::String & value)392 inline void SetScheme(const Aws::String& value) { m_schemeHasBeenSet = true; m_scheme = value; } 393 394 /** 395 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 396 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 397 * with a DNS name that resolves to public IP addresses. For more information about 398 * Internet-facing and Internal load balancers, see <a 399 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 400 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 401 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 402 * resolves to private IP addresses.</p> 403 */ SetScheme(Aws::String && value)404 inline void SetScheme(Aws::String&& value) { m_schemeHasBeenSet = true; m_scheme = std::move(value); } 405 406 /** 407 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 408 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 409 * with a DNS name that resolves to public IP addresses. For more information about 410 * Internet-facing and Internal load balancers, see <a 411 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 412 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 413 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 414 * resolves to private IP addresses.</p> 415 */ SetScheme(const char * value)416 inline void SetScheme(const char* value) { m_schemeHasBeenSet = true; m_scheme.assign(value); } 417 418 /** 419 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 420 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 421 * with a DNS name that resolves to public IP addresses. For more information about 422 * Internet-facing and Internal load balancers, see <a 423 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 424 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 425 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 426 * resolves to private IP addresses.</p> 427 */ WithScheme(const Aws::String & value)428 inline CreateLoadBalancerRequest& WithScheme(const Aws::String& value) { SetScheme(value); return *this;} 429 430 /** 431 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 432 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 433 * with a DNS name that resolves to public IP addresses. For more information about 434 * Internet-facing and Internal load balancers, see <a 435 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 436 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 437 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 438 * resolves to private IP addresses.</p> 439 */ WithScheme(Aws::String && value)440 inline CreateLoadBalancerRequest& WithScheme(Aws::String&& value) { SetScheme(std::move(value)); return *this;} 441 442 /** 443 * <p>The type of a load balancer. Valid only for load balancers in a VPC.</p> 444 * <p>By default, Elastic Load Balancing creates an Internet-facing load balancer 445 * with a DNS name that resolves to public IP addresses. For more information about 446 * Internet-facing and Internal load balancers, see <a 447 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load 448 * Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> 449 * <p>Specify <code>internal</code> to create a load balancer with a DNS name that 450 * resolves to private IP addresses.</p> 451 */ WithScheme(const char * value)452 inline CreateLoadBalancerRequest& WithScheme(const char* value) { SetScheme(value); return *this;} 453 454 455 /** 456 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 457 * about tagging your load balancer, see <a 458 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 459 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 460 */ GetTags()461 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 462 463 /** 464 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 465 * about tagging your load balancer, see <a 466 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 467 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 468 */ TagsHasBeenSet()469 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 470 471 /** 472 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 473 * about tagging your load balancer, see <a 474 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 475 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 476 */ SetTags(const Aws::Vector<Tag> & value)477 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 478 479 /** 480 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 481 * about tagging your load balancer, see <a 482 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 483 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 484 */ SetTags(Aws::Vector<Tag> && value)485 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 486 487 /** 488 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 489 * about tagging your load balancer, see <a 490 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 491 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 492 */ WithTags(const Aws::Vector<Tag> & value)493 inline CreateLoadBalancerRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 494 495 /** 496 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 497 * about tagging your load balancer, see <a 498 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 499 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 500 */ WithTags(Aws::Vector<Tag> && value)501 inline CreateLoadBalancerRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 502 503 /** 504 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 505 * about tagging your load balancer, see <a 506 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 507 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 508 */ AddTags(const Tag & value)509 inline CreateLoadBalancerRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 510 511 /** 512 * <p>A list of tags to assign to the load balancer.</p> <p>For more information 513 * about tagging your load balancer, see <a 514 * href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag 515 * Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p> 516 */ AddTags(Tag && value)517 inline CreateLoadBalancerRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 518 519 private: 520 521 Aws::String m_loadBalancerName; 522 bool m_loadBalancerNameHasBeenSet; 523 524 Aws::Vector<Listener> m_listeners; 525 bool m_listenersHasBeenSet; 526 527 Aws::Vector<Aws::String> m_availabilityZones; 528 bool m_availabilityZonesHasBeenSet; 529 530 Aws::Vector<Aws::String> m_subnets; 531 bool m_subnetsHasBeenSet; 532 533 Aws::Vector<Aws::String> m_securityGroups; 534 bool m_securityGroupsHasBeenSet; 535 536 Aws::String m_scheme; 537 bool m_schemeHasBeenSet; 538 539 Aws::Vector<Tag> m_tags; 540 bool m_tagsHasBeenSet; 541 }; 542 543 } // namespace Model 544 } // namespace ElasticLoadBalancing 545 } // namespace Aws 546