+++ /dev/null
-module toaster {
-
- yang-version 1;
-
- namespace
- "http://netconfcentral.org/ns/toaster";
-
- 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.";
- }
-
- leaf domain {
- description
- "Toaster domain.";
-
- config true;
-
- type string;
- }
-
- 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 testToasterBits {
- type bits {
- bit testbit1 {
- position 0;
- }
- bit testbit2 {
- position 1;
- }
- }
- default "testbit2";
- }
-
- leaf testUnion {
- type union {
- type int32;
- type string;
- }
-
- }
-
- leaf-list allow-user {
- type string;
- description "A list of user name patterns to allow";
-
- }
-
- choice how {
- default interval;
- case interval {
- leaf interval {
- type uint16;
- default 30;
- units minutes;
- }
- }
- case daily {
- leaf daily {
- type string;
- }
- leaf time-of-day {
- type string;
- units 24-hour-clock;
- default 1am;
- }
- }
- case manual {
- leaf manual {
- type string;
- }
- }
-
- case other {
- description "2nd level choice";
-
- choice scheduled {
- case weekly {
- leaf weekly {
- type string;
- }
- }
- case monthly {
- leaf monthly {
- type string;
- }
- }
- case yearly {
- leaf yearly {
- type string;
- }
- }
- }
- }
- }
-
- 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.";
- }
- }
-
- 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 cancel-toast {
- description
- "Stop making toast, if any is being made.
- A 'resource-denied' error will be returned
- if the toaster service is disabled.";
- }
-
- 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";
- }
- }
- }