// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateCustomerGateway`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`bgp_asn(i32)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::bgp_asn) / [`set_bgp_asn(Option<i32>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_bgp_asn): <p>For devices that support BGP, the customer gateway's BGP ASN.</p> <p>Default: 65000</p>
/// - [`public_ip(impl Into<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::public_ip) / [`set_public_ip(Option<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_public_ip): <p> <i>This member has been deprecated.</i> The Internet-routable IP address for the customer gateway's outside interface. The address must be static.</p>
/// - [`certificate_arn(impl Into<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::certificate_arn) / [`set_certificate_arn(Option<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_certificate_arn): <p>The Amazon Resource Name (ARN) for the customer gateway certificate.</p>
/// - [`r#type(GatewayType)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::type) / [`set_type(Option<GatewayType>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_type): <p>The type of VPN connection that this customer gateway supports (<code>ipsec.1</code>).</p>
/// - [`tag_specifications(Vec<TagSpecification>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::tag_specifications) / [`set_tag_specifications(Option<Vec<TagSpecification>>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_tag_specifications): <p>The tags to apply to the customer gateway.</p>
/// - [`device_name(impl Into<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::device_name) / [`set_device_name(Option<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_device_name): <p>A name for the customer gateway device.</p> <p>Length Constraints: Up to 255 characters.</p>
/// - [`ip_address(impl Into<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::ip_address) / [`set_ip_address(Option<String>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_ip_address): <p> IPv4 address for the customer gateway device's outside interface. The address must be static. </p>
/// - [`dry_run(bool)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::set_dry_run): <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
/// - On success, responds with [`CreateCustomerGatewayOutput`](crate::operation::create_customer_gateway::CreateCustomerGatewayOutput) with field(s):
/// - [`customer_gateway(Option<CustomerGateway>)`](crate::operation::create_customer_gateway::CreateCustomerGatewayOutput::customer_gateway): <p>Information about the customer gateway.</p>
/// - On failure, responds with [`SdkError<CreateCustomerGatewayError>`](crate::operation::create_customer_gateway::CreateCustomerGatewayError)
pub fn create_customer_gateway(
&self,
) -> crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder
{
crate::operation::create_customer_gateway::builders::CreateCustomerGatewayFluentBuilder::new(
self.handle.clone(),
)
}
}