aws_sdk_elasticloadbalancing/client/create_load_balancer.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateLoadBalancer`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`load_balancer_name(impl Into<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::load_balancer_name) / [`set_load_balancer_name(Option<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_load_balancer_name):<br>required: **true**<br><p>The name of the load balancer.</p> <p>This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.</p><br>
7 /// - [`listeners(Listener)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::listeners) / [`set_listeners(Option<Vec::<Listener>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_listeners):<br>required: **true**<br><p>The listeners.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html">Listeners for Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p><br>
8 /// - [`availability_zones(impl Into<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::availability_zones) / [`set_availability_zones(Option<Vec::<String>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_availability_zones):<br>required: **false**<br><p>One or more Availability Zones from the same region as the load balancer.</p> <p>You must specify at least one Availability Zone.</p> <p>You can add more Availability Zones after you create the load balancer using <code>EnableAvailabilityZonesForLoadBalancer</code>.</p><br>
9 /// - [`subnets(impl Into<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::subnets) / [`set_subnets(Option<Vec::<String>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_subnets):<br>required: **false**<br><p>The IDs of the subnets in your VPC to attach to the load balancer. Specify one subnet per Availability Zone specified in <code>AvailabilityZones</code>.</p><br>
10 /// - [`security_groups(impl Into<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::security_groups) / [`set_security_groups(Option<Vec::<String>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_security_groups):<br>required: **false**<br><p>The IDs of the security groups to assign to the load balancer.</p><br>
11 /// - [`scheme(impl Into<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::scheme) / [`set_scheme(Option<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_scheme):<br>required: **false**<br><p>The type of a load balancer. Valid only for load balancers in a VPC.</p> <p>By default, Elastic Load Balancing creates an Internet-facing load balancer with a DNS name that resolves to public IP addresses. For more information about Internet-facing and Internal load balancers, see <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme">Load Balancer Scheme</a> in the <i>Elastic Load Balancing User Guide</i>.</p> <p>Specify <code>internal</code> to create a load balancer with a DNS name that resolves to private IP addresses.</p><br>
12 /// - [`tags(Tag)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tags to assign to the load balancer.</p> <p>For more information about tagging your load balancer, see <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html">Tag Your Classic Load Balancer</a> in the <i>Classic Load Balancers Guide</i>.</p><br>
13 /// - On success, responds with [`CreateLoadBalancerOutput`](crate::operation::create_load_balancer::CreateLoadBalancerOutput) with field(s):
14 /// - [`dns_name(Option<String>)`](crate::operation::create_load_balancer::CreateLoadBalancerOutput::dns_name): <p>The DNS name of the load balancer.</p>
15 /// - On failure, responds with [`SdkError<CreateLoadBalancerError>`](crate::operation::create_load_balancer::CreateLoadBalancerError)
16 pub fn create_load_balancer(&self) -> crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder {
17 crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::new(self.handle.clone())
18 }
19}