Junos multi-chassis configuration module
Version: 2019-01-01
module junos-conf-multi-chassis { yang-version 1; namespace "http://yang.juniper.net/junos/conf/multi-chassis"; prefix jc-multi-chassis; import junos-common-ddl-extensions { prefix junos; revision-date "2019-01-01"; } import junos-common-types { prefix jt; revision-date "2019-01-01"; } import junos-conf-root { prefix jc; revision-date "2019-01-01"; } organization "Juniper Networks, Inc."; contact "yang-support@juniper.net"; description "Junos multi-chassis configuration module"; revision "2019-01-01" { description "Junos: 21.3R1.9"; } augment /jc:configuration { uses multi-chassis-group; } augment /jc:configuration/jc:groups { uses multi-chassis-group; } grouping multi-chassis-group { container multi-chassis { presence "enable multi-chassis"; description "Multi-chassis configuration"; uses apply-advanced; container mc-lag { presence "enable mc-lag"; description "Multi-chassis Lag configuration"; uses apply-advanced; container consistency-check { presence "enable consistency-check"; description "Consistency Check properties"; uses apply-advanced; leaf comparison-delay-time { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "5 .. 600"; } } units "seconds"; description "Time after which local and remote config are compared"; } container traceoptions { description "Trace options for MCLAG_CFGCHK"; uses apply-advanced; leaf no-remote-trace { junos:must "("system tracing")"; junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured"; type empty; description "Disable remote tracing"; } container file { description "Trace file information"; leaf filename { type string { junos:posix-pattern "![/ %]"; junos:pattern-message "Must not contain '/', % or a space"; length "1 .. 1024"; } description "Name of file in which to write trace information"; } leaf size { type string; description "Maximum trace file size"; } leaf files { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "2 .. 1000"; } } default "3"; description "Maximum number of trace files"; } choice world-readable-choice { leaf world-readable { type empty; description "Allow any user to read the log file"; } leaf no-world-readable { type empty; description "Don't allow any user to read the log file"; } } // choice world-readable-choice leaf match { type jt:regular-expression; description "Regular expression for lines to be logged"; } } // container file list flag { key "name"; ordered-by user; description "Trace flag information"; leaf name { type enumeration { enum "error" { value 0; description "Trace all errors"; } enum "event" { value 1; description "Trace all events"; } enum "packet" { value 2; description "Trace all packets"; } enum "pipe" { value 3; description "Trace pipe messages"; } enum "pipe-detail" { value 4; description "Trace pipe messages in detail"; } enum "all" { value 5; description "Trace everything"; } } } } // list flag } // container traceoptions } // container consistency-check } // container mc-lag list multi-chassis-protection { key "name"; description "Inter-Chassis protection configuration"; uses multi-chassis-protection-group; } // list multi-chassis-protection } // container multi-chassis } // grouping multi-chassis-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 grouping multi-chassis-protection-group { leaf name { junos:must "(("protocols iccp peer $$" || any "logical-systems <*> protocols iccp peer $$"))"; junos:must-message "The peer ip must match with ones defined at <protocols iccp peer>"; type jt:ipv4addr; description "IP address for this peer"; } uses apply-advanced; leaf interface { type string { junos:posix-pattern "^((ge-)|(mge-)|(xe-)|(ae)|(xle-)|(et-)|(sxe-))"; junos:pattern-message "Only ae, ge, mge, xe, xle, sxe and et inteface is supported"; length "1 .. 40"; } description "Inter-Chassis protection link"; } leaf icl-down-delay { type union { type string { pattern "<.*>|$.*"; } type int32 { range "1 .. 6000"; } } units "seconds"; default "1"; description "Time in seconds between ICL down and MCAEs moving to standby"; } } // grouping multi-chassis-protection-group } // module junos-conf-multi-chassis
© 2023 YumaWorks, Inc. All rights reserved.