All Downloads are FREE. Search and download functionalities are using the official Maven repository.

[email protected] Maven / Gradle / Ivy

There is a newer version: 0.16.4
Show newest version
/*
 * Copyright (c) 2015 IBM Corporation.  All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
 * and is available at http://www.eclipse.org/legal/epl-v10.html
 */
module neutron-fwaas {

    yang-version 1;

    namespace "urn:opendaylight:neutron-fwaas";

    prefix neutron-fwaas;

    import ietf-yang-types { prefix "yang"; }
    import neutron-attrs { prefix "attrs"; }
    import neutron-constants { prefix "constants"; }
    import neutron-types { prefix "types"; }

    organization "OpenDaylight Neutron Group";

    contact "R. Moats ";

    description "This YANG module defines Openstack Neutron VPNaaS model";

    revision "2015-07-12" {
        description
                "OpenDaylight Beryllium release";
    }

    grouping firewall-attributes {
        leaf shared {
            description "whether the firewall is shared or not";
            type boolean;
        }
        leaf firewall-policy-id {
            description "the firewall policy UUID for this firewall";
            type yang:uuid;
        }
    }

    grouping firewall-policy-attributes {
        leaf shared {
            description "whether the firewall policy is shared or not";
            type boolean;
        }
        leaf audited {
            description "whether the firewall policy is audited or not";
            type boolean;
        }
    }

    identity action-base {
        description "firewall rule action";
    }

    identity action-allow {
        description "firewall rule allow";
        base action-base;
    }

    identity action-deny {
        description "firewall rule deny";
        base action-base;
    }

    grouping firewall-rule-attributes {
        leaf shared {
            description "whether the firewall rule is shared or not";
            type boolean;
        }
        leaf enabled {
            description "whether the firewall rule is enabled or not";
            type boolean;
        }
        leaf firewall-policy-id {
            description "the firewall policy UUID for this firewall rule";
            type yang:uuid;
        }
        leaf protocol {
            description "the protocol this rule applies to";
            type union {
                type uint8;
                type identityref {
                    base "constants:fw-protocol-base";
                }
            }
        }
        leaf ip-version {
            description "the ip version this rule applies to";
            type identityref {
                base "constants:ip-version-base";
            }
        }
        leaf source-ip-addr {
            type types:ip-prefix-or-address;
            description "the source ip address for this rule";
        }
        leaf destination-ip-addr {
            type types:ip-prefix-or-address;
            description "the destination ip address for this rule";
        }
        leaf source-port-range-min {
            description "the source port range min for this rule";
            type uint16;
        }
        leaf source-port-range-max {
            description "the source port range max for this rule";
            type uint16;
        }
        leaf destination-port-range-min {
            description "the destination port range min for this rule";
            type uint16;
        }
        leaf destination-port-range-max {
            description "the destination port range max for this rule";
            type uint16;
        }
        leaf position {
            description "the priority position this rule occupies";
            type int16;
        }
        leaf action {
            description "the action fot this rule";
            type identityref {
                base "action-base";
            }
        }
    }

    grouping firewalls-attributes {
        container firewalls {
            list firewall {
                key "uuid";
                uses attrs:base-attributes;
                uses attrs:admin-attributes;
                uses firewall-attributes;
            }
        }
    }
    grouping policies-attributes {
        container firewall-policies {
            list firewall-policy {
                key "uuid";
                uses attrs:base-attributes;
                uses firewall-policy-attributes;
            }
        }
    }
    grouping rules-attributes {
        container firewall-rules {
            list firewall-rule {
                key "uuid";
                uses attrs:base-attributes;
                uses firewall-rule-attributes;
            }
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy