summaryrefslogtreecommitdiffstats
path: root/interface-role/api/src/main/yang/interface-role@2017-06-15.yang
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2017-06-16 14:36:52 +0200
committerMarek Gradzki <mgradzki@cisco.com>2017-06-16 14:55:14 +0200
commitb4581d183065af6b82026003959b96fbe6850dd1 (patch)
tree6d7f8654ce4eeb13350a3d32314bd267a79c9c61 /interface-role/api/src/main/yang/interface-role@2017-06-15.yang
parentc312c69343e8336456a109ff82d9bc4c6dc9b1ea (diff)
Rename yang files to match model revision
Also order of revisions was sorted starting from most current. Change-Id: I21fd35cfdb1cc5601b3fb40c9f3755bd3b995b14 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'interface-role/api/src/main/yang/interface-role@2017-06-15.yang')
-rw-r--r--interface-role/api/src/main/yang/interface-role@2017-06-15.yang71
1 files changed, 71 insertions, 0 deletions
diff --git a/interface-role/api/src/main/yang/interface-role@2017-06-15.yang b/interface-role/api/src/main/yang/interface-role@2017-06-15.yang
new file mode 100644
index 000000000..a41544d0c
--- /dev/null
+++ b/interface-role/api/src/main/yang/interface-role@2017-06-15.yang
@@ -0,0 +1,71 @@
+module interface-role {
+
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:interface:role";
+ prefix "if-role";
+
+ revision "2017-06-15" {
+ description "Basic specification of interface roles";
+ }
+
+ import ietf-interfaces {
+ prefix "if";
+ }
+
+ import yang-ext {
+ prefix "ext";
+ }
+
+ identity network-role-base {
+ description "Base identity for network interface roles";
+ }
+
+ identity virtual-domain-interface {
+ base network-role-base;
+ description "Tenant network interface. Interface must be enabled and have ip assigned";
+ }
+
+ identity public-interface {
+ base network-role-base;
+ description "Public interface for external access. Interface must be enabled and have ip assigned";
+ }
+
+ typedef network-role {
+ type identityref {
+ base network-role-base;
+ }
+ description "Base type for network interface roles";
+ }
+
+ grouping interface-role-grouping {
+ container roles {
+ list role {
+ key role-name;
+
+ leaf role-name {
+ type string;
+ description "Unique name for role";
+ mandatory true;
+ }
+
+ leaf role-type {
+ type network-role;
+ description "Specifies type of network role";
+ mandatory true;
+ }
+
+ leaf description {
+ type string;
+ description "Any additional metadata for this assignment of network role";
+ }
+ }
+ }
+ }
+
+ augment /if:interfaces/if:interface {
+ ext:augment-identifier "interface-role-augmentation";
+
+ uses interface-role-grouping;
+ }
+}
+