[email protected] Maven / Gradle / Ivy
/*
* 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;
}
}
}
}