You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: _network_acl_entry.rs
    path of file: ./repos/aws-sdk-rust/sdk/finspace/src/types
    
    the code of the file until where you have to start completion: // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The network access control list (ACL) is an optional layer of security for your VPC that acts as a firewall for controlling traffic in and out of one or more subnets. The entry is a set of numbered ingress and egress rules that determine whether a packet should be allowed in or out of a subnet associated with the ACL. We process the entries in the ACL according to the rule numbers, in ascending order.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct NetworkAclEntry {
    /// <p>The rule number for the entry. For example <i>100</i>. All the network ACL entries are processed in ascending order by rule number.</p>
    pub rule_number: i32,
    /// <p>The protocol number. A value of <i>-1</i> means all the protocols.</p>
    pub protocol: ::std::string::String,
    /// <p>Indicates whether to allow or deny the traffic that matches the rule.</p>
    pub rule_action: crate::types::RuleAction,
    /// <p>The range of ports the rule applies to.</p>
    pub port_rang
    
    pub fn build(self) -> ::std::result::Result<crate::types::NetworkAclEntry, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::NetworkAclEntry {
            rule_number: self.rule_number.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "rule_number",
                    "rule_number was not specified but it is required when building NetworkAclEntry",
                )
            })?,
            protocol: self.protocol.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "protocol",
                    "protocol was not specified but it is required when building NetworkAclEntry",
                )
            })?,
            rule_action: self.rule_action.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "rule_action",
                    "rule_action was not specified but it is required when building NetworkAclEntry",
                )
            })?,
            port_range: self.port_range,
            icmp_type_code: self.icmp_type_code,
            cidr_block: self.cidr_block.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "cidr_block",
                    "cidr_block was not specified but it is required when building NetworkAclEntry",
                )
            })?,
        })
    }