// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateInterconnect`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`interconnect_name(impl Into<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::interconnect_name) / [`set_interconnect_name(Option<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::set_interconnect_name):<br>required: **true**<br><p>The name of the interconnect.</p><br>
/// - [`bandwidth(impl Into<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::bandwidth) / [`set_bandwidth(Option<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::set_bandwidth):<br>required: **true**<br><p>The port bandwidth, in Gbps. The possible values are 1 and 10.</p><br>
/// - [`location(impl Into<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::location) / [`set_location(Option<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::set_location):<br>required: **true**<br><p>The location of the interconnect.</p><br>
/// - [`lag_id(impl Into<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::lag_id) / [`set_lag_id(Option<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::set_lag_id):<br>required: **false**<br><p>The ID of the LAG.</p><br>
/// - [`tags(Tag)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to associate with the interconnect.</p><br>
/// - [`provider_name(impl Into<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::provider_name) / [`set_provider_name(Option<String>)`](crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::set_provider_name):<br>required: **false**<br><p>The name of the service provider associated with the interconnect.</p><br>
/// - On success, responds with [`CreateInterconnectOutput`](crate::operation::create_interconnect::CreateInterconnectOutput) with field(s):
/// - [`interconnect_id(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::interconnect_id): <p>The ID of the interconnect.</p>
/// - [`interconnect_name(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::interconnect_name): <p>The name of the interconnect.</p>
/// - [`interconnect_state(Option<InterconnectState>)`](crate::operation::create_interconnect::CreateInterconnectOutput::interconnect_state): <p>The state of the interconnect. The following are the possible values:</p> <ul> <li> <p><code>requested</code>: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.</p></li> <li> <p><code>pending</code>: The interconnect is approved, and is being initialized.</p></li> <li> <p><code>available</code>: The network link is up, and the interconnect is ready for use.</p></li> <li> <p><code>down</code>: The network link is down.</p></li> <li> <p><code>deleting</code>: The interconnect is being deleted.</p></li> <li> <p><code>deleted</code>: The interconnect is deleted.</p></li> <li> <p><code>unknown</code>: The state of the interconnect is not available.</p></li> </ul>
/// - [`region(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::region): <p>The Amazon Web Services Region where the connection is located.</p>
/// - [`location(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::location): <p>The location of the connection.</p>
/// - [`bandwidth(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::bandwidth): <p>The bandwidth of the connection.</p>
/// - [`loa_issue_time(Option<DateTime>)`](crate::operation::create_interconnect::CreateInterconnectOutput::loa_issue_time): <p>The time of the most recent call to <code>DescribeLoa</code> for this connection.</p>
/// - [`lag_id(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::lag_id): <p>The ID of the LAG.</p>
/// - [`aws_device(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::aws_device): <p>The Direct Connect endpoint on which the physical connection terminates.</p>
/// - [`jumbo_frame_capable(Option<bool>)`](crate::operation::create_interconnect::CreateInterconnectOutput::jumbo_frame_capable): <p>Indicates whether jumbo frames are supported.</p>
/// - [`aws_device_v2(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::aws_device_v2): <p>The Direct Connect endpoint that terminates the physical connection.</p>
/// - [`aws_logical_device_id(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::aws_logical_device_id): <p>The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.</p>
/// - [`has_logical_redundancy(Option<HasLogicalRedundancy>)`](crate::operation::create_interconnect::CreateInterconnectOutput::has_logical_redundancy): <p>Indicates whether the interconnect supports a secondary BGP in the same address family (IPv4/IPv6).</p>
/// - [`tags(Option<Vec::<Tag>>)`](crate::operation::create_interconnect::CreateInterconnectOutput::tags): <p>The tags associated with the interconnect.</p>
/// - [`provider_name(Option<String>)`](crate::operation::create_interconnect::CreateInterconnectOutput::provider_name): <p>The name of the service provider associated with the interconnect.</p>
/// - On failure, responds with [`SdkError<CreateInterconnectError>`](crate::operation::create_interconnect::CreateInterconnectError)
pub fn create_interconnect(&self) -> crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder {
crate::operation::create_interconnect::builders::CreateInterconnectFluentBuilder::new(self.handle.clone())
}
}