| module example-schema { |
| prefix aha; |
| namespace "http://example.com"; |
| |
| leaf leafUInt8 { |
| type uint8; |
| } |
| |
| leaf leafUInt16 { |
| type uint16; |
| } |
| |
| leaf leafUInt32 { |
| type uint32; |
| } |
| |
| leaf leafUInt64 { |
| type uint64; |
| } |
| |
| leaf leafInt8 { |
| type int8; |
| } |
| |
| leaf leafInt16 { |
| type int16; |
| } |
| |
| leaf leafInt32 { |
| type int32; |
| } |
| |
| leaf leafInt64 { |
| type int64; |
| } |
| |
| leaf leafString { |
| type string; |
| } |
| |
| leaf leafEnum { |
| type enumeration { |
| enum lol; |
| enum data; |
| enum coze; |
| } |
| } |
| |
| leaf leafDecimal { |
| type decimal64 { |
| fraction-digits 9; |
| } |
| } |
| |
| container pContainer { |
| presence true; |
| } |
| |
| list person { |
| key 'name'; |
| leaf name { |
| type string; |
| } |
| } |
| |
| leaf bossPerson { |
| type leafref { |
| path '../aha:person/name'; |
| } |
| } |
| |
| grouping upAndDown { |
| leaf up { |
| type boolean; |
| } |
| leaf down { |
| type boolean; |
| } |
| } |
| |
| uses upAndDown; |
| |
| container lol { |
| uses upAndDown; |
| } |
| |
| grouping targets_def { |
| list targets { |
| key 'city'; |
| leaf city { |
| type string; |
| } |
| } |
| } |
| |
| rpc launch-nukes { |
| input { |
| container payload { |
| leaf kilotons { |
| type uint64; |
| mandatory true; |
| units "kilotons"; |
| } |
| } |
| leaf description { |
| type string; |
| } |
| container cities { |
| presence true; |
| uses targets_def; |
| } |
| } |
| output { |
| leaf blast-radius { |
| type uint32; |
| units "m"; |
| } |
| leaf actual-yield { |
| type uint64; |
| units "kilotons"; |
| } |
| container damaged-places { |
| presence true; |
| uses targets_def; |
| } |
| } |
| } |
| |
| rpc noop {} |
| } |