+++ /dev/null
- module toaster2 {
-
- yang-version 1;
-
- namespace
- "http://netconfcentral.org/ns/toaster2";
-
- prefix toast;
-
- organization "Netconf Central";
-
- contact
- "Andy Bierman <andy@netconfcentral.org>";
-
- 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 {
- length "0 .. 255";
- }
- 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.";
- }
-
- list toasterSlot {
- key "slotId";
- leaf slotId {
- type string;
- }
- }
-
- 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.";
- }
-
- leaf darknessFactor {
- type uint32;
- config true;
- default 1000;
- description
- "The darkness factor. Basically, the number of ms to multiple the doneness value by.";
- }
- } // container toaster
-
- list lst {
- container cont1 {
- container cont11 {
- leaf lf111 {
- type uint32;
- }
- leaf lf112 {
- type string;
- }
- }
- list lst11 {
- leaf lf111 {
- type string;
- }
- }
- }
- list lst1 {
- key "key1 key2";
- leaf key1 {
- type int32;
- }
- leaf key2 {
- type int8;
- }
- leaf lf11 {
- type int16;
- }
- }
- leaf lf1 {
- type string;
- }
- }
-
- 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
-
- rpc restock-toaster {
- description
- "Restocks the toaster with the amount of bread specified.";
-
- input {
- leaf amountOfBreadToStock {
- type uint32;
- description
- "Indicates the amount of bread to re-stock";
- }
- }
- }
-
- notification toasterOutOfBread {
- description
- "Indicates that the toaster has run of out bread.";
- } // notification toasterOutOfStock
-
- notification toasterRestocked {
- description
- "Indicates that the toaster has run of out bread.";
- leaf amountOfBread {
- type uint32;
- description
- "Indicates the amount of bread that was re-stocked";
- }
- } // notification toasterOutOfStock
-
- } // module toaster