1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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(),
        )
    }
}