--- /dev/null
+module choice-monitoring {
+ yang-version 1;
+ namespace "urn:ietf:params:xml:ns:yang:choice-monitoring";
+ prefix "ncm";
+
+ import ietf-yang-types { prefix yang; }
+ import ietf-inet-types { prefix inet; }
+
+ organization "OPEN DAYLIGHT";
+ contact "http://www.opendaylight.org/";
+
+ description
+ "Test model for testing of resolving choice, case nodes and generation types from them.";
+
+ revision 2013-07-01 {
+
+ }
+
+ typedef tls-fingerprint-type {
+ type string {
+ pattern '([0-9a-fA-F]){2}(:([0-9a-fA-F]){2})*';
+ }
+ }
+
+ typedef netconf-datastore-type {
+ type enumeration {
+ enum running;
+ enum candidate;
+ enum startup;
+ }
+ }
+
+ container netconf-state {
+ config false;
+
+ container datastores {
+ list datastore {
+ key name;
+
+ leaf name {
+ type netconf-datastore-type;
+ }
+ container locks {
+ choice lock-type {
+
+ case global-lock {
+ container global-lock {
+
+ leaf locked-by-session {
+ type uint32;
+ mandatory true;
+ }
+
+ leaf locked-time {
+ type yang:date-and-time;
+ mandatory true;
+ }
+
+ container capabilities {
+ leaf-list capability {
+ type inet:uri;
+ }
+ }
+ }
+ }
+
+ case partial-lock {
+ list partial-lock {
+ key lock-id;
+
+ leaf lock-id {
+ type uint32;
+ }
+ leaf-list select {
+ type yang:xpath1.0;
+ min-elements 1;
+ }
+ leaf-list locked-node {
+ type string;
+ }
+ }
+ }
+
+ case fingerprint {
+ choice algorithm-and-hash {
+ mandatory true;
+ case md5 {
+ leaf md5 {
+ type tls-fingerprint-type;
+ }
+ }
+
+ case sha1 {
+ leaf sha1 {
+ type tls-fingerprint-type;
+ }
+ }
+
+ case sha224 {
+ leaf sha224 {
+ type tls-fingerprint-type;
+ }
+ }
+
+ case sha256 {
+ leaf sha256 {
+ type tls-fingerprint-type;
+ }
+ }
+
+ case sha384 {
+ leaf sha384 {
+ type tls-fingerprint-type;
+ }
+ }
+
+ case sha512 {
+ leaf sha512 {
+ type tls-fingerprint-type;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}