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 [`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):<br>required: **true**<br><p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p><br>
    ///   - [`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):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the <code>FirewallPolicy</code> that you want to use for the firewall.</p><br>
    ///   - [`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):<br>required: **true**<br><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><br>
    ///   - [`subnet_mappings(SubnetMapping)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::subnet_mappings) / [`set_subnet_mappings(Option<Vec::<SubnetMapping>>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_subnet_mappings):<br>required: **true**<br><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><br>
    ///   - [`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):<br>required: **false**<br><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><br>
    ///   - [`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):<br>required: **false**<br><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><br>
    ///   - [`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):<br>required: **false**<br><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><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_description):<br>required: **false**<br><p>A description of the firewall.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_firewall::builders::CreateFirewallFluentBuilder::set_tags):<br>required: **false**<br><p>The key:value pairs to associate with the resource.</p><br>
    ///   - [`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):<br>required: **false**<br><p>A complex type that contains settings for encryption of your firewall resources.</p><br>
    /// - 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())
    }
}