# File lib/fog/aws/requests/compute/describe_network_acls.rb, line 52
        def describe_network_acls(filters = {})
          response = Excon::Response.new

          network_acls = self.data[:network_acls].values
          network_acls = apply_tag_filters(network_acls, filters, 'networkAclId')

          aliases = {
            'vpc-id'         => 'vpcId',
            'network-acl-id' => 'networkAclId',
            'default'        => 'default',
          }
          association_aliases = {
            'association-id' => 'networkAclAssociationId',
            'network-acl-id' => 'networkAclId',
            'subnet-id'      => 'subnetId',
          }
          entry_aliases = {
            'cidr'        => 'cidrBlock',
            'egress'      => 'egress',
            'rule-action' => 'ruleAction',
            'rule-number' => 'ruleNumber',
            'protocol'    => 'protocol'
          }
          for filter_key, filter_value in filters
            filter_key = filter_key.to_s
            if association_key = filter_key.split('association.')[1]
              aliased_key = association_aliases[association_key]
              network_acls = network_acls.reject{|nacl| !nacl['associationSet'].find {|association| [*filter_value].include?(association[aliased_key])}}
            elsif entry_key = filter_key.split('entry.icmp.')[1]
              network_acls = network_acls.reject{|nacl| !nacl['entrySet'].find {|association| [*filter_value].include?(association['icmpTypeCode'][entry_key])}}
            elsif entry_key = filter_key.split('entry.port-range.')[1]
              network_acls = network_acls.reject{|nacl| !nacl['entrySet'].find {|association| [*filter_value].include?(association['portRange'][entry_key])}}
            elsif entry_key = filter_key.split('entry.')[1]
              aliased_key = entry_aliases[entry_key]
              network_acls = network_acls.reject{|nacl| !nacl['entrySet'].find {|association| [*filter_value].include?(association[aliased_key])}}
            else
              aliased_key = aliases[filter_key]
              network_acls = network_acls.reject{|nacl| ![*filter_value].include?(nacl[aliased_key])}
            end
          end

          network_acls.each do |acl|
            tags = self.data[:tag_sets][acl['networkAclId']]
            acl.merge!('tagSet' => tags) if tags
          end

          response.status = 200
          response.body = {
            'requestId'     => Fog::AWS::Mock.request_id,
            'networkAclSet' => network_acls
          }
          response
        end