module custom { yang-version 1; namespace "urn:custom.nodes.test"; prefix "c"; import types { prefix "types"; revision-date 2013-07-03; } organization "opendaylight"; contact "http://www.opendaylight.org/"; revision "2013-02-27" { reference " WILL BE DEFINED LATER"; } typedef union1 { type union2; } typedef union2 { type union { type int32; type types:nested-union2; } } augment "/types:interfaces/types:ifEntry" { when "if:ifType='ds0'"; container augment-holder { description "Description for augment holder"; } } augment "/types:interfaces/types:ifEntry" { when "if:ifType='ds2'"; container augment-holder2 { description "Description for augment holder"; } } augment "/types:interfaces/types:ifEntry/t3:augment-holder/t1:schemas" { when "if:leafType='ds1'"; leaf linkleaf { type binary; } } container network { mnt:mountpoint point { mnt:target-ref target; } description "network-description"; reference "network-reference"; status obsolete; config true; presence "some presence text"; } feature local-storage { description "This feature means the device supports local storage (memory, flash or disk) that can be used to store syslog messages."; } extension c-define { description "Takes as argument a name string. Makes the code generator use the given name in the #define."; argument "name" { yin-element "true"; } } notification event { leaf event-class { type string; } anyxml reporting-entity; leaf severity { type string; } } rpc get-config { description "Retrieve all or part of a specified configuration."; reference "RFC 6241, Section 7.1"; input { container source { description "Particular configuration to retrieve."; choice config-source { mandatory true; description "The configuration to retrieve."; case a { leaf candidate { if-feature candidate; type empty; description "The candidate configuration is the config source."; } } case b { leaf running { type empty; description "The running configuration is the config source."; } } case c { leaf startup { if-feature startup; type empty; description "The startup configuration is the config source. This is optional-to-implement on the server because not all servers will support filtering for this datastore."; } } } } anyxml filter { description "Subtree or XPath filter to use."; nc:get-filter-element-attributes; } } output { anyxml data { description "Copy of the source datastore subset that matched the filter criteria (if any). An empty data container indicates that the request did not produce any results."; } } } grouping target { anyxml data { config true; description "Copy of the source datastore subset."; mandatory false; must "test-condition-text"; reference "test-no-reference"; status "obsolete"; when "test-when-text"; } choice how { description "test choice description"; default interval; case interval { leaf interval { type uint16; default 30; units minutes; } } case daily { leaf daily { type empty; } leaf time-of-day { type string; units 24-hour-clock; default 1am; } } } leaf address { type string; description "Target IP address"; } container port { description "Target port container"; } list addresses { key "id"; leaf id { type int8; } } grouping target-inner { description "target-inner default description"; leaf inner-grouping-id { type int8; } } typedef group-type { type types:my-decimal-type; } opendaylight; } }