From b5c95ea8f825561e71455fbf08851ecdc92014ab Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Mon, 22 Jul 2013 16:22:21 +0200 Subject: [PATCH] Added toester demo yang file. Signed-off-by: Tony Tkacik --- .../modeling-sample/src/main/yang/sample.yang | 62 ------ .../src/main/yang/toaster.yang | 187 ++++++++++++++++++ 2 files changed, 187 insertions(+), 62 deletions(-) delete mode 100644 opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/sample.yang create mode 100644 opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/toaster.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/sample.yang b/opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/sample.yang deleted file mode 100644 index 3ecdc0a3ce..0000000000 --- a/opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/sample.yang +++ /dev/null @@ -1,62 +0,0 @@ -module sample { - yang-version 1; - namespace "sample"; - prefix "s"; - - revision 2013-06-13 { - description "Initial demo"; - } - - - - // Simple Type definition - - typedef foo-name { - type string; - } - - // Storage / data structure - - container topologies { - list topology { - leaf foo-name { - type string; - } - } - } - - - // Notification / Event - - notification packet-in { - leaf node { - type string; - } - leaf port { - type uint16; - } - leaf content { - type binary; - } - } - - // RPC - - rpc packet-out { - input { - leaf node { - type string; - } - leaf port { - type uint16; - } - leaf content { - type binary; - } - } - output { - - } - } - -} \ No newline at end of file diff --git a/opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/toaster.yang b/opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/toaster.yang new file mode 100644 index 0000000000..fc9b6656c0 --- /dev/null +++ b/opendaylight/sal/yang-prototype/code-generator/samples/modeling-sample/src/main/yang/toaster.yang @@ -0,0 +1,187 @@ +module toaster { + + yang-version 1; + + namespace + "http://netconfcentral.org/ns/toaster"; + + prefix toast; + + organization "Netconf Central"; + + contact + "Andy Bierman "; + + description + "YANG version of the TOASTER-MIB."; + + revision "2009-11-20" { + description + "Toaster module in progress."; + } + + + identity toast-type { + description + "Base for all bread types supported by the toaster. + New bread types not listed here nay be added in the + future."; + } + + identity white-bread { + base toast:toast-type; + description "White bread."; + } + + identity wheat-bread { + base toast-type; + description "Wheat bread."; + } + + identity wonder-bread { + base toast-type; + description "Wonder bread."; + } + + identity frozen-waffle { + base toast-type; + description "Frozen waffle."; + } + + identity frozen-bagel { + base toast-type; + description "Frozen bagel."; + } + + identity hash-brown { + base toast-type; + description "Hash browned potatos."; + } + + typedef DisplayString { + type string; + description + "YANG version of the SMIv2 DisplayString TEXTUAL-CONVENTION."; + reference + "RFC 2579, section 2."; + + } + + container toaster { + presence + "Indicates the toaster service is available"; + description + "Top-level container for all toaster database objects."; + leaf toasterManufacturer { + type DisplayString; + config false; + mandatory true; + description + "The name of the toaster's manufacturer. For instance, + Microsoft Toaster."; + } + + leaf toasterModelNumber { + type DisplayString; + config false; + mandatory true; + description + "The name of the toaster's model. For instance, + Radiant Automatic."; + } + + leaf toasterStatus { + type enumeration { + enum "up" { + value 1; + description + "The toaster knob position is up. + No toast is being made now."; + } + enum "down" { + value 2; + description + "The toaster knob position is down. + Toast is being made now."; + } + } + config false; + mandatory true; + description + "This variable indicates the current state of + the toaster."; + } + } // container toaster + + rpc make-toast { + description + "Make some toast. + The toastDone notification will be sent when + the toast is finished. + An 'in-use' error will be returned if toast + is already being made. + A 'resource-denied' error will be returned + if the toaster service is disabled."; + input { + leaf toasterDoneness { + type uint32 { + range "1 .. 10"; + } + default '5'; + description + "This variable controls how well-done is the + ensuing toast. It should be on a scale of 1 to 10. + Toast made at 10 generally is considered unfit + for human consumption; toast made at 1 is warmed + lightly."; + } + + leaf toasterToastType { + type identityref { + base toast:toast-type; + } + default 'wheat-bread'; + description + "This variable informs the toaster of the type of + material that is being toasted. The toaster + uses this information, combined with + toasterDoneness, to compute for how + long the material must be toasted to achieve + the required doneness."; + } + } + } // rpc make-toast + + rpc cancel-toast { + description + "Stop making toast, if any is being made. + A 'resource-denied' error will be returned + if the toaster service is disabled."; + } // rpc cancel-toast + + notification toastDone { + description + "Indicates that the toast in progress has completed."; + leaf toastStatus { + type enumeration { + enum "done" { + value 0; + description "The toast is done."; + } + enum "cancelled" { + value 1; + description + "The toast was cancelled."; + } + enum "error" { + value 2; + description + "The toaster service was disabled or + the toaster is broken."; + } + } + description + "Indicates the final toast status"; + } + } // notification toastDone + } // module toaster -- 2.36.6