/*
 * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.ec2.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.DescribeNetworkAclsRequestMarshaller;
/**
 * 
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class DescribeNetworkAclsRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest 
     * The filters.
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     * The IDs of the network ACLs.
     *  
     * Default: Describes all your network ACLs.
     *  
     * The token returned from a previous paginated request. Pagination continues from the end of the items returned by
     * the previous request.
     *  
     * The maximum number of items to return for this request. To get the next page of items, make another request with
     * the token returned in the output. For more information, see Pagination.
     *  
     * The filters.
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     *  
     * 
     * 
*/
    private com.amazonaws.internal.SdkInternalListassociation.association-id - The ID of an association ID for the ACL.
     * association.network-acl-id - The ID of the network ACL involved in the association.
     * association.subnet-id - The ID of the subnet involved in the association.
     * default - Indicates whether the ACL is the default network ACL for the VPC.
     * entry.cidr - The IPv4 CIDR range specified in the entry.
     * entry.icmp.code - The ICMP code specified in the entry, if any.
     * entry.icmp.type - The ICMP type specified in the entry, if any.
     * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     * entry.port-range.from - The start of the port range specified in the entry.
     * entry.port-range.to - The end of the port range specified in the entry.
     * entry.protocol - The protocol specified in the entry (tcp | udp |
     * icmp or a protocol number).
     * entry.rule-action - Allows or denies the matching traffic (allow | deny).
     * entry.egress - A Boolean that indicates the type of rule. Specify true for egress
     * rules, or false for ingress rules.
     * entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     * network-acl-id - The ID of the network ACL.
     * owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     * tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in
     * the filter name and the tag value as the filter value. For example, to find all resources that have a tag with
     * the key Owner and the value TeamA, specify tag:Owner for the filter name
     * and TeamA for the filter value.
     * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned
     * a tag with a specific key, regardless of the tag value.
     * vpc-id - The ID of the VPC for the network ACL.
     * 
     * 
* 
     * @return The filters.association.association-id - The ID of an association ID for the ACL.
     * association.network-acl-id - The ID of the network ACL involved in the association.
     * association.subnet-id - The ID of the subnet involved in the association.
     * default - Indicates whether the ACL is the default network ACL for the VPC.
     * entry.cidr - The IPv4 CIDR range specified in the entry.
     * entry.icmp.code - The ICMP code specified in the entry, if any.
     * entry.icmp.type - The ICMP type specified in the entry, if any.
     * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     * entry.port-range.from - The start of the port range specified in the entry.
     * entry.port-range.to - The end of the port range specified in the entry.
     * entry.protocol - The protocol specified in the entry (tcp | udp |
     * icmp or a protocol number).
     * entry.rule-action - Allows or denies the matching traffic (allow | deny).
     * entry.egress - A Boolean that indicates the type of rule. Specify true for egress
     * rules, or false for ingress rules.
     * entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     * network-acl-id - The ID of the network ACL.
     * owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     * tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in
     * the filter name and the tag value as the filter value. For example, to find all resources that have a tag with
     * the key Owner and the value TeamA, specify tag:Owner for the filter name
     * and TeamA for the filter value.
     * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned
     * a tag with a specific key, regardless of the tag value.
     * vpc-id - The ID of the VPC for the network ACL.
     * 
     *         association.association-id - The ID of an association ID for the ACL.
     *         
     *         association.network-acl-id - The ID of the network ACL involved in the association.
     *         
     *         association.subnet-id - The ID of the subnet involved in the association.
     *         
     *         default - Indicates whether the ACL is the default network ACL for the VPC.
     *         
     *         entry.cidr - The IPv4 CIDR range specified in the entry.
     *         
     *         entry.icmp.code - The ICMP code specified in the entry, if any.
     *         
     *         entry.icmp.type - The ICMP type specified in the entry, if any.
     *         
     *         entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     *         
     *         entry.port-range.from - The start of the port range specified in the entry.
     *         
     *         entry.port-range.to - The end of the port range specified in the entry.
     *         
     *         entry.protocol - The protocol specified in the entry (tcp | udp |
     *         icmp or a protocol number).
     *         
     *         entry.rule-action - Allows or denies the matching traffic (allow |
     *         deny).
     *         
     *         entry.egress - A Boolean that indicates the type of rule. Specify true for
     *         egress rules, or false for ingress rules.
     *         
     *         entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     *         
     *         network-acl-id - The ID of the network ACL.
     *         
     *         owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     *         
     *         tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag
     *         key in the filter name and the tag value as the filter value. For example, to find all resources that
     *         have a tag with the key Owner and the value TeamA, specify
     *         tag:Owner for the filter name and TeamA for the filter value.
     *         
     *         tag-key - The key of a tag assigned to the resource. Use this filter to find all resources
     *         assigned a tag with a specific key, regardless of the tag value.
     *         
     *         vpc-id - The ID of the VPC for the network ACL.
     *         
* The filters. *
*
     * association.association-id - The ID of an association ID for the ACL.
     * 
     * association.network-acl-id - The ID of the network ACL involved in the association.
     * 
     * association.subnet-id - The ID of the subnet involved in the association.
     * 
     * default - Indicates whether the ACL is the default network ACL for the VPC.
     * 
     * entry.cidr - The IPv4 CIDR range specified in the entry.
     * 
     * entry.icmp.code - The ICMP code specified in the entry, if any.
     * 
     * entry.icmp.type - The ICMP type specified in the entry, if any.
     * 
     * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     * 
     * entry.port-range.from - The start of the port range specified in the entry.
     * 
     * entry.port-range.to - The end of the port range specified in the entry.
     * 
     * entry.protocol - The protocol specified in the entry (tcp | udp |
     * icmp or a protocol number).
     * 
     * entry.rule-action - Allows or denies the matching traffic (allow | deny).
     * 
     * entry.egress - A Boolean that indicates the type of rule. Specify true for egress
     * rules, or false for ingress rules.
     * 
     * entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     * 
     * network-acl-id - The ID of the network ACL.
     * 
     * owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     * 
     * tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in
     * the filter name and the tag value as the filter value. For example, to find all resources that have a tag with
     * the key Owner and the value TeamA, specify tag:Owner for the filter name
     * and TeamA for the filter value.
     * 
     * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned
     * a tag with a specific key, regardless of the tag value.
     * 
     * vpc-id - The ID of the VPC for the network ACL.
     * 
     *        association.association-id - The ID of an association ID for the ACL.
     *        
     *        association.network-acl-id - The ID of the network ACL involved in the association.
     *        
     *        association.subnet-id - The ID of the subnet involved in the association.
     *        
     *        default - Indicates whether the ACL is the default network ACL for the VPC.
     *        
     *        entry.cidr - The IPv4 CIDR range specified in the entry.
     *        
     *        entry.icmp.code - The ICMP code specified in the entry, if any.
     *        
     *        entry.icmp.type - The ICMP type specified in the entry, if any.
     *        
     *        entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     *        
     *        entry.port-range.from - The start of the port range specified in the entry.
     *        
     *        entry.port-range.to - The end of the port range specified in the entry.
     *        
     *        entry.protocol - The protocol specified in the entry (tcp | udp |
     *        icmp or a protocol number).
     *        
     *        entry.rule-action - Allows or denies the matching traffic (allow |
     *        deny).
     *        
     *        entry.egress - A Boolean that indicates the type of rule. Specify true for
     *        egress rules, or false for ingress rules.
     *        
     *        entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     *        
     *        network-acl-id - The ID of the network ACL.
     *        
     *        owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     *        
     *        tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag
     *        key in the filter name and the tag value as the filter value. For example, to find all resources that have
     *        a tag with the key Owner and the value TeamA, specify tag:Owner for
     *        the filter name and TeamA for the filter value.
     *        
     *        tag-key - The key of a tag assigned to the resource. Use this filter to find all resources
     *        assigned a tag with a specific key, regardless of the tag value.
     *        
     *        vpc-id - The ID of the VPC for the network ACL.
     *        
* The filters. *
*
     * association.association-id - The ID of an association ID for the ACL.
     * 
     * association.network-acl-id - The ID of the network ACL involved in the association.
     * 
     * association.subnet-id - The ID of the subnet involved in the association.
     * 
     * default - Indicates whether the ACL is the default network ACL for the VPC.
     * 
     * entry.cidr - The IPv4 CIDR range specified in the entry.
     * 
     * entry.icmp.code - The ICMP code specified in the entry, if any.
     * 
     * entry.icmp.type - The ICMP type specified in the entry, if any.
     * 
     * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     * 
     * entry.port-range.from - The start of the port range specified in the entry.
     * 
     * entry.port-range.to - The end of the port range specified in the entry.
     * 
     * entry.protocol - The protocol specified in the entry (tcp | udp |
     * icmp or a protocol number).
     * 
     * entry.rule-action - Allows or denies the matching traffic (allow | deny).
     * 
     * entry.egress - A Boolean that indicates the type of rule. Specify true for egress
     * rules, or false for ingress rules.
     * 
     * entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     * 
     * network-acl-id - The ID of the network ACL.
     * 
     * owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     * 
     * tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in
     * the filter name and the tag value as the filter value. For example, to find all resources that have a tag with
     * the key Owner and the value TeamA, specify tag:Owner for the filter name
     * and TeamA for the filter value.
     * 
     * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned
     * a tag with a specific key, regardless of the tag value.
     * 
     * vpc-id - The ID of the VPC for the network ACL.
     * 
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setFilters(java.util.Collection)} or {@link #withFilters(java.util.Collection)} if you want to override * the existing values. *
* * @param filters * The filters. *
     *        association.association-id - The ID of an association ID for the ACL.
     *        
     *        association.network-acl-id - The ID of the network ACL involved in the association.
     *        
     *        association.subnet-id - The ID of the subnet involved in the association.
     *        
     *        default - Indicates whether the ACL is the default network ACL for the VPC.
     *        
     *        entry.cidr - The IPv4 CIDR range specified in the entry.
     *        
     *        entry.icmp.code - The ICMP code specified in the entry, if any.
     *        
     *        entry.icmp.type - The ICMP type specified in the entry, if any.
     *        
     *        entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     *        
     *        entry.port-range.from - The start of the port range specified in the entry.
     *        
     *        entry.port-range.to - The end of the port range specified in the entry.
     *        
     *        entry.protocol - The protocol specified in the entry (tcp | udp |
     *        icmp or a protocol number).
     *        
     *        entry.rule-action - Allows or denies the matching traffic (allow |
     *        deny).
     *        
     *        entry.egress - A Boolean that indicates the type of rule. Specify true for
     *        egress rules, or false for ingress rules.
     *        
     *        entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     *        
     *        network-acl-id - The ID of the network ACL.
     *        
     *        owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     *        
     *        tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag
     *        key in the filter name and the tag value as the filter value. For example, to find all resources that have
     *        a tag with the key Owner and the value TeamA, specify tag:Owner for
     *        the filter name and TeamA for the filter value.
     *        
     *        tag-key - The key of a tag assigned to the resource. Use this filter to find all resources
     *        assigned a tag with a specific key, regardless of the tag value.
     *        
     *        vpc-id - The ID of the VPC for the network ACL.
     *        
* The filters. *
*
     * association.association-id - The ID of an association ID for the ACL.
     * 
     * association.network-acl-id - The ID of the network ACL involved in the association.
     * 
     * association.subnet-id - The ID of the subnet involved in the association.
     * 
     * default - Indicates whether the ACL is the default network ACL for the VPC.
     * 
     * entry.cidr - The IPv4 CIDR range specified in the entry.
     * 
     * entry.icmp.code - The ICMP code specified in the entry, if any.
     * 
     * entry.icmp.type - The ICMP type specified in the entry, if any.
     * 
     * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     * 
     * entry.port-range.from - The start of the port range specified in the entry.
     * 
     * entry.port-range.to - The end of the port range specified in the entry.
     * 
     * entry.protocol - The protocol specified in the entry (tcp | udp |
     * icmp or a protocol number).
     * 
     * entry.rule-action - Allows or denies the matching traffic (allow | deny).
     * 
     * entry.egress - A Boolean that indicates the type of rule. Specify true for egress
     * rules, or false for ingress rules.
     * 
     * entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     * 
     * network-acl-id - The ID of the network ACL.
     * 
     * owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     * 
     * tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in
     * the filter name and the tag value as the filter value. For example, to find all resources that have a tag with
     * the key Owner and the value TeamA, specify tag:Owner for the filter name
     * and TeamA for the filter value.
     * 
     * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned
     * a tag with a specific key, regardless of the tag value.
     * 
     * vpc-id - The ID of the VPC for the network ACL.
     * 
     *        association.association-id - The ID of an association ID for the ACL.
     *        
     *        association.network-acl-id - The ID of the network ACL involved in the association.
     *        
     *        association.subnet-id - The ID of the subnet involved in the association.
     *        
     *        default - Indicates whether the ACL is the default network ACL for the VPC.
     *        
     *        entry.cidr - The IPv4 CIDR range specified in the entry.
     *        
     *        entry.icmp.code - The ICMP code specified in the entry, if any.
     *        
     *        entry.icmp.type - The ICMP type specified in the entry, if any.
     *        
     *        entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
     *        
     *        entry.port-range.from - The start of the port range specified in the entry.
     *        
     *        entry.port-range.to - The end of the port range specified in the entry.
     *        
     *        entry.protocol - The protocol specified in the entry (tcp | udp |
     *        icmp or a protocol number).
     *        
     *        entry.rule-action - Allows or denies the matching traffic (allow |
     *        deny).
     *        
     *        entry.egress - A Boolean that indicates the type of rule. Specify true for
     *        egress rules, or false for ingress rules.
     *        
     *        entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.
     *        
     *        network-acl-id - The ID of the network ACL.
     *        
     *        owner-id - The ID of the Amazon Web Services account that owns the network ACL.
     *        
     *        tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag
     *        key in the filter name and the tag value as the filter value. For example, to find all resources that have
     *        a tag with the key Owner and the value TeamA, specify tag:Owner for
     *        the filter name and TeamA for the filter value.
     *        
     *        tag-key - The key of a tag assigned to the resource. Use this filter to find all resources
     *        assigned a tag with a specific key, regardless of the tag value.
     *        
     *        vpc-id - The ID of the VPC for the network ACL.
     *        
* The IDs of the network ACLs. *
** Default: Describes all your network ACLs. *
* * @return The IDs of the network ACLs. *
     *         Default: Describes all your network ACLs.
     */
    public java.util.List 
     * The IDs of the network ACLs.
     *  
     * Default: Describes all your network ACLs.
     * 
     *        Default: Describes all your network ACLs.
     */
    public void setNetworkAclIds(java.util.Collection 
     * The IDs of the network ACLs.
     *  
     * Default: Describes all your network ACLs.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setNetworkAclIds(java.util.Collection)} or {@link #withNetworkAclIds(java.util.Collection)} if you want
     * to override the existing values.
     * 
     *        Default: Describes all your network ACLs.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeNetworkAclsRequest withNetworkAclIds(String... networkAclIds) {
        if (this.networkAclIds == null) {
            setNetworkAclIds(new com.amazonaws.internal.SdkInternalList 
     * The IDs of the network ACLs.
     *  
     * Default: Describes all your network ACLs.
     * 
     *        Default: Describes all your network ACLs.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeNetworkAclsRequest withNetworkAclIds(java.util.Collection 
     * The token returned from a previous paginated request. Pagination continues from the end of the items returned by
     * the previous request.
     *  
     * The token returned from a previous paginated request. Pagination continues from the end of the items returned by
     * the previous request.
     *  
     * The token returned from a previous paginated request. Pagination continues from the end of the items returned by
     * the previous request.
     *  
     * The maximum number of items to return for this request. To get the next page of items, make another request with
     * the token returned in the output. For more information, see Pagination.
     *  
     * The maximum number of items to return for this request. To get the next page of items, make another request with
     * the token returned in the output. For more information, see Pagination.
     *  
     * The maximum number of items to return for this request. To get the next page of items, make another request with
     * the token returned in the output. For more information, see Pagination.
     *