1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateFirewall`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`firewall_name(impl Into<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::firewall_name) / [`set_firewall_name(Option<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_firewall_name): <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
    ///   - [`firewall_policy_arn(impl Into<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::firewall_policy_arn) / [`set_firewall_policy_arn(Option<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_firewall_policy_arn): <p>The Amazon Resource Name (ARN) of the <code>FirewallPolicy</code> that you want to use for the firewall.</p>
    ///   - [`vpc_id(impl Into<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::vpc_id) / [`set_vpc_id(Option<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_vpc_id): <p>The unique identifier of the VPC where Network Firewall should create the firewall. </p>  <p>You can't change this setting after you create the firewall. </p>
    ///   - [`subnet_mappings(Vec<SubnetMapping>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::subnet_mappings) / [`set_subnet_mappings(Option<Vec<SubnetMapping>>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_subnet_mappings): <p>The public subnets to use for your Network Firewall firewalls. Each subnet must belong to a different Availability Zone in the VPC. Network Firewall creates a firewall endpoint in each subnet. </p>
    ///   - [`delete_protection(bool)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::delete_protection) / [`set_delete_protection(Option<bool>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_delete_protection): <p>A flag indicating whether it is possible to delete the firewall. A setting of <code>TRUE</code> indicates that the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to <code>TRUE</code>.</p>
    ///   - [`subnet_change_protection(bool)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::subnet_change_protection) / [`set_subnet_change_protection(Option<bool>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_subnet_change_protection): <p>A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
    ///   - [`firewall_policy_change_protection(bool)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::firewall_policy_change_protection) / [`set_firewall_policy_change_protection(Option<bool>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_firewall_policy_change_protection): <p>A setting indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
    ///   - [`description(impl Into<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_description): <p>A description of the firewall.</p>
    ///   - [`tags(Vec<Tag>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_tags): <p>The key:value pairs to associate with the resource.</p>
    ///   - [`encryption_configuration(EncryptionConfiguration)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::encryption_configuration) / [`set_encryption_configuration(Option<EncryptionConfiguration>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_encryption_configuration): <p>A complex type that contains settings for encryption of your firewall resources.</p>
    /// - On success, responds with [`CreateFirewallOutput`](crate::operation::create_firewall::CreateFirewallOutput) with field(s):
    ///   - [`firewall(Option<Firewall>)`](crate::operation::create_firewall::CreateFirewallOutput::firewall): <p>The configuration settings for the firewall. These settings include the firewall policy and the subnets in your VPC to use for the firewall endpoints. </p>
    ///   - [`firewall_status(Option<FirewallStatus>)`](crate::operation::create_firewall::CreateFirewallOutput::firewall_status): <p>Detailed information about the current status of a <code>Firewall</code>. You can retrieve this for a firewall by calling <code>DescribeFirewall</code> and providing the firewall name and ARN.</p>
    /// - On failure, responds with [`SdkError<CreateFirewallError>`](crate::operation::create_firewall::CreateFirewallError)
    pub fn create_firewall(
        &self,
    ) -> crate::operation::create_firewall::builders::CreateFirewallFluentBuilder {
        crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::new(
            self.handle.clone(),
        )
    }
}