Junos YANG module for configuration hierarchies.
Version: 2019-01-01
module junos-nfx-conf-root { yang-version 1; namespace "http://yang.juniper.net/junos-nfx/conf/root"; prefix jc; import junos-common-ddl-extensions { prefix junos; revision-date "2019-01-01"; } import junos-common-types { prefix jt; revision-date "2019-01-01"; } organization "Juniper Networks, Inc."; contact "yang-support@juniper.net"; description "Junos YANG module for configuration hierarchies."; revision "2019-01-01" { description "Junos: 21.3R1.9"; } container configuration { uses juniper-config; list groups { key "name"; ordered-by user; description "Configuration groups"; uses juniper-group; } // list groups } // container configuration grouping juniper-config { leaf rcsid { type string; description "Revision control system identifier"; } leaf version { type string; description "Software version information"; } leaf-list apply-groups { type string; ordered-by user; description "Groups from which to inherit configuration data"; } } // grouping juniper-config grouping juniper-group { description "Configuration groups"; leaf name { type string { junos:posix-pattern "^[[:alnum:]._-]+$"; junos:pattern-message "Group name must be a string of alphanumericals, dashes or underscores"; length "1 .. 254"; } description "Group name"; } container when { description "Specify additional conditions for groups"; uses apply-advanced; container time { description "Time at which group should be effective"; leaf start-time { type string; description "Start time([yyyy-mm-dd.]hh:mm)"; } container to { description "End time"; uses apply-advanced; leaf end-time { type string; description "End time([yyyy-mm-dd.]hh:mm)"; } } // container to } // container time leaf-list peers { type string { length "1 .. 255"; } ordered-by user; description "Hosts on which this group should be effective"; } leaf chassis { type enumeration { enum "lcc0" { value 0; description "Chassis lcc0"; } enum "lcc1" { value 1; description "Chassis lcc1"; } enum "lcc2" { value 2; description "Chassis lcc2"; } enum "lcc3" { value 3; description "Chassis lcc3"; } enum "lcc4" { value 4; description "Chassis lcc4"; } enum "lcc5" { value 5; description "Chassis lcc5"; } enum "lcc6" { value 6; description "Chassis lcc6"; } enum "lcc7" { value 7; description "Chassis lcc7"; } enum "scc" { value 8; description "Chassis scc"; } enum "sfc0" { value 9; description "Chassis sfc0"; } } description "Chassis id"; } leaf model { type string; description "Model name"; } leaf routing-engine { type enumeration { enum "re0" { value 0; description "RE0"; } enum "re1" { value 1; description "RE1"; } } description "Routing Engine"; } leaf member { type string; description "Member of virtual chassis"; } leaf node { type enumeration { enum "node0" { value 0; description "Node0"; } enum "node1" { value 1; description "Node1"; } } description "Node of cluster"; } } // container when uses juniper-config; } // grouping juniper-group grouping apply-advanced { description "Apply advanced configuration logic"; leaf-list apply-groups { type string; ordered-by user; description "Groups from which to inherit configuration data"; } leaf-list apply-groups-except { type string; ordered-by user; description "Don't inherit configuration data from these groups"; } list apply-macro { key "name"; ordered-by user; description "Macro and parameters for commit script expansion"; uses apply-macro-type; } // list apply-macro } // grouping apply-advanced grouping apply-macro-type { description "Macro data for commit-script expansion"; leaf name { type string; description "Name of the macro to be expanded"; } list data { key "name"; uses macro-data-type; } // list data } // grouping apply-macro-type grouping macro-data-type { leaf name { type string; description "Keyword part of the keyword-value pair"; } leaf value { type string; description "Value part of the keyword-value pair"; } } // grouping macro-data-type } // module junos-nfx-conf-root
© 2023 YumaWorks, Inc. All rights reserved.