/* * 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"; } // It requires rfc6991 (revision 2013-07-15), but odl don't have it, so this patch verify build will fail. import ietf-inet-types { prefix "inet"; revision-date 2010-09-24; } import neutron-attrs { prefix "attrs"; } organization "OpenDaylight Neutron Group"; contact "R. Moats "; description "This YANG module defines Openstack Juno House Neutron VPNaaS model"; revision "2014-10-02" { description "Initial version"; } grouping firewall-attributes { leaf descr { type string; description "Detailed description of the firewall."; } 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 firewallpolicy-attributes { leaf descr { type string; description "Detailed description of the firewall policy."; } 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; } leaf-list firewall-rules { description "whether the firewall policy is audited or not"; type yang:uuid; } } grouping firewallrule-attributes { leaf descr { type string; description "Detailed description of the firewall rule."; } leaf status { type string; description "Status of the firewall rule."; } 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 string; } leaf ip-version { description "the ip version this rule applies to"; type int16; } leaf source-ip-addr { type inet:ip-address; description "the source ip address for this rule"; } leaf destination-ip-addr { type inet:ip-address; description "the destination ip address for this rule"; } leaf source-port { description "the source port for this rule"; type int16; } leaf destination-port { description "the destination port for this rule"; type int16; } leaf position { description "the priority position this rule occupies"; type int16; } leaf action { description "the action fot this rule"; type string; } } grouping fwaas-attributes { container firewalls { list firewall { key "uuid"; uses attrs:base-attributes; uses attrs:admin-attributes; uses firewall-attributes; } } container firewall-policies { list firewall-policy { key "uuid"; uses attrs:base-attributes; uses firewallpolicy-attributes; } } container firewall-rules { list firewall-rule { key "uuid"; uses attrs:base-attributes; uses firewallrule-attributes; } } } }