Junos YANG module for configuration hierarchies.
Version: 2019-01-01
module junos-conf-root { yang-version 1; namespace "http://yang.juniper.net/junos/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"; } list apply-macro { key "name"; ordered-by user; description "Macro and parameters for commit script expansion"; uses apply-macro-type; } // list apply-macro container jsrc-partition { description "JSRC partition configuration"; leaf jsrc-partition-name { junos:must "("jsrc partition $$")"; junos:must-message "JSRC partition name must be defined in the [edit jsrc partition] hierarchy"; type string { length "1 .. 63"; } description "JSRC partition name"; } } // container jsrc-partition container jsrc { description "JSRC partition configuration"; uses jsrc-options; } // container jsrc list session-limit-group { key "name"; ordered-by user; status deprecated; description "Session-limit-group configuration"; leaf name { type string { junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$"; junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores."; length "1 .. 63"; } description "Name of the group"; } leaf maximum-sessions { type union { type uint32; type string { pattern '<.*>|$.*'; } } mandatory true; description "Maximum number of sessions per tunnel-group"; } } // list session-limit-group } // grouping juniper-config 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 jsrc-options { uses apply-advanced; list partition { key "name"; ordered-by user; description "JSRC partition definition"; leaf name { type string { length "1 .. 63"; } description "JSRC partition name"; } uses apply-advanced; leaf diameter-instance { junos:must "("diameter origin")"; junos:must-message "Diameter origin must be defined in the [edit diameter origin] hierarchy"; type string { length "1 .. 63"; } mandatory true; description "JSRC diameter instance"; } leaf destination-realm { type string { length "1 .. 63"; } mandatory true; description "JSRC destination realm"; } leaf destination-host { type string { length "1 .. 63"; } mandatory true; description "JSRC destination host"; } } // list partition } // grouping jsrc-options 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 juniper-group { description "Configuration groups"; leaf name { type string { 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 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-conf-root
© 2023 YumaWorks, Inc. All rights reserved.