// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateLoadBalancer`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`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): <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>
/// - [`listeners(Vec<Listener>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::listeners) / [`set_listeners(Option<Vec<Listener>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_listeners): <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>
/// - [`availability_zones(Vec<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): <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>
/// - [`subnets(Vec<String>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::subnets) / [`set_subnets(Option<Vec<String>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_subnets): <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>
/// - [`security_groups(Vec<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): <p>The IDs of the security groups to assign to the load balancer.</p>
/// - [`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): <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>
/// - [`tags(Vec<Tag>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::set_tags): <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>
/// - On success, responds with [`CreateLoadBalancerOutput`](crate::operation::create_load_balancer::CreateLoadBalancerOutput) with field(s):
/// - [`dns_name(Option<String>)`](crate::operation::create_load_balancer::CreateLoadBalancerOutput::dns_name): <p>The DNS name of the load balancer.</p>
/// - On failure, responds with [`SdkError<CreateLoadBalancerError>`](crate::operation::create_load_balancer::CreateLoadBalancerError)
pub fn create_load_balancer(
&self,
) -> crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder {
crate::operation::create_load_balancer::builders::CreateLoadBalancerFluentBuilder::new(
self.handle.clone(),
)
}
}