module clixon-example { yang-version 1.1; namespace "urn:example:clixon"; prefix ex; revision 2019-01-13 { description "Released in Clixon 3.9"; } import ietf-interfaces { prefix if; } import ietf-ip { prefix ip; } import iana-if-type { prefix ianaift; } /* Example interface type for tests, local callbacks, etc */ identity eth { base if:interface-type; } identity loopback { base if:interface-type; } /* Translation function example - See also example_cli */ list translate{ key k; leaf k{ type string; } leaf value{ type string; } } /* State data (not config) for the example application*/ container state { config false; description "state data for the example application (must be here for example get operation)"; leaf-list op { type string; } } /* Example notification as used in RFC 5277 and RFC 8040 */ notification event { description "Example notification event."; leaf event-class { type string; description "Event class identifier."; } container reportingEntity { description "Event specific information."; leaf card { type string; description "Line card identifier."; } } leaf severity { type string; description "Event severity description."; } } rpc client-rpc { description "Example local client-side RPC that is processed by the the netconf/restconf and not sent to the backend. This is a clixon implementation detail: some rpc:s are better processed by the client for API or perf reasons"; input { leaf x { type string; } } output { leaf x { type string; } } } rpc empty { description "Smallest possible RPC with no input or output sections"; } rpc optional { description "Small RPC with optional input and output"; input { leaf x { type string; } } output { leaf x { type string; } } } rpc example { description "Some example input/output for testing RFC7950 7.14. RPC simply echoes the input for debugging."; input { leaf x { description "If a leaf in the input tree has a 'mandatory' statement with the value 'true', the leaf MUST be present in an RPC invocation."; type string; mandatory true; } leaf y { description "If a leaf in the input tree has a 'mandatory' statement with the value 'true', the leaf MUST be present in an RPC invocation."; type string; default "42"; } leaf-list z { description "If a leaf-list in the input tree has one or more default values, the server MUST use these values (XXX not supported)"; type string; } leaf w { description "If any node has a 'when' statement that would evaluate to 'false',then this node MUST NOT be present in the input tree. (XXX not supported)"; type string; when "/translate/k=5/value='w'"; } } output { leaf x { type string; } leaf y { type string; } leaf z { type string; } leaf w { type string; } } } }