...
Sample YANG (stores.yang) | Statements and Description |
---|
Code Block |
---|
language | text |
---|
linenumbers | true |
---|
| module stores {
yang-version 1.1;
namespace "org:onap:ccsdk:sample";
prefix book-store;
revision "2020-09-15" {
description
"Sample Model";
}
typedef year {
type uint16 {
range "1000..9999";
}
}
container bookstore {
leaf bookstore-name {
type string;
}
list categories {
key "code";
leaf code {
type string;
}
leaf name {
type string;
}
list books {
key title;
leaf title {
type string;
}
leaf-list authors {
type string;
}
}
}
}
}
|
| module Statement see example from Line 1 - YANG language defines models with modules and submodules
- Takes one argument (module name) which is the identifier
- Groups all statements that belong to the module
- This module example contains the following statements for header information:
see examples from Lines 2-16 - yang-version statement
- namespace statement prefix statement
- revision statements
typedef Statement see example from Line 12 - a statement that allows a new type to be defined based on a base type which is a YANG built-in type
container Statement see example from Line 18 - defines interior (container node) in the schema tree
- only contains child nodes, has no value
- child nodes can be a leaf, lists, containers and leaf-lists
leaf Statement see example from Line 27 - defines a leaf node in the schema tree
- its only one argument is the identifier
- has no child nodes, has one value of a particular type
- 'type statement' is mandatory
- See optional substatements available in (Section 7.6 https://www.hjp.at/doc/rfc/rfc6020.html#sec_1)
list Statement see example from Line 35 - defines an interior data node (list node) in the schema tree
- its only one argument is the identifier
- follows a block of substatements:
- mandatory substatements:
leaf-list Statement see example from Line 41 - array of leaf nodes
- one value of a particular type per leaf
- its only one argument is the identifier
|
Image Removed
Figure 1.1 Schema tree of module 'stores'
Code Block |
---|
language | xml |
---|
title | Schema tree of module 'stores |
---|
|
...
|
module: stores
+--rw bookstore
+--rw bookstore-name? string
+--rw categories* [code]
+--rw code string
+--rw name? string
+--rw books* [title]
+--rw title string
+--rw lang? string
+--rw authors* string
+--rw pub_year? year
+--rw price? uint64 |
YANG extension Statement
** the YIN version and Schema trees above are generated by YANG validator 'pyang'
...