Interface Acl

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.Augmentable<Acl>, org.opendaylight.yangtools.yang.binding.BindingObject, org.opendaylight.yangtools.yang.binding.ChildOf<AccessLists>, org.opendaylight.yangtools.yang.binding.DataContainer, org.opendaylight.yangtools.yang.binding.DataObject, org.opendaylight.yangtools.yang.binding.Identifiable<AclKey>

    public interface Acl
    extends org.opendaylight.yangtools.yang.binding.ChildOf<AccessLists>, org.opendaylight.yangtools.yang.binding.Augmentable<Acl>, org.opendaylight.yangtools.yang.binding.Identifiable<AclKey>
    An Access Control List(ACL) is an ordered list of Access List Entries (ACE). Each Access Control Entry has a list of match criteria and a list of actions. Since there are several kinds of Access Control Lists implemented with attributes for different vendors, this model accommodates customizing Access Control Lists for each kind and for each vendor.

    This class represents the following YANG schema fragment defined in module ietf-access-control-list

     list acl {
       key "acl-type acl-name";
       leaf acl-name {
         type string;
       }
       leaf acl-type {
         type acl-type;
       }
       container acl-oper-data {
         config false;
       }
       container access-list-entries {
         list ace {
           key rule-name;
           ordered-by user;
           leaf rule-name {
             type string;
           }
           container matches {
             choice ace-type {
               case ace-ip {
                 choice ace-ip-version {
                   case ace-ipv4 {
                     uses packet-fields:acl-ipv4-header-fields;
                   }
                   case ace-ipv6 {
                     uses packet-fields:acl-ipv6-header-fields;
                   }
                 }
                 uses packet-fields:acl-ip-header-fields;
               }
               case ace-eth {
                 uses packet-fields:acl-eth-header-fields;
               }
             }
             uses packet-fields:metadata;
           }
           container actions {
             choice packet-handling {
               default deny;
               case deny {
                 leaf deny {
                   type empty;
                 }
               }
               case permit {
                 leaf permit {
                   type empty;
                 }
               }
             }
           }
           container ace-oper-data {
             config false;
             leaf match-counter {
               type yang:counter64;
             }
           }
         }
       }
     }
     
    The schema path to identify an instance is ietf-access-control-list/access-lists/acl

    To create instances of this class use AclBuilder.

    See Also:
    AclBuilder, AclKey
    • Field Detail

      • QNAME

        static final @NonNull org.opendaylight.yangtools.yang.common.QName QNAME
    • Method Detail

      • implementedInterface

        default java.lang.Class<Acl> implementedInterface()
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataContainer
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataObject
      • getAclName

        java.lang.String getAclName()
        The name of access-list. A device MAY restrict the length and value of this name, possibly space and special characters are not allowed.
        Returns:
        java.lang.String aclName, or null if not present
      • getAclType

        java.lang.Class<? extends AclBase> getAclType()
        Type of access control list. Indicates the primary intended type of match criteria (e.g. ethernet, IPv4, IPv6, mixed, etc) used in the list instance.
        Returns:
        java.lang.Class aclType, or null if not present
      • getAclOperData

        AclOperData getAclOperData()
        Overall Access Control List operational data
        Returns:
        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.AclOperData aclOperData, or null if not present
      • getAccessListEntries

        AccessListEntries getAccessListEntries()
        The access-list-entries container contains a list of access-list-entries(ACE).
        Returns:
        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.AccessListEntries accessListEntries, or null if not present
      • key

        AclKey key()
        Specified by:
        key in interface org.opendaylight.yangtools.yang.binding.Identifiable<AclKey>