Junos schedulers configuration module
Version: 2019-01-01
module junos-nfx-conf-schedulers { yang-version 1; namespace "http://yang.juniper.net/junos-nfx/conf/schedulers"; prefix jc-schedulers; 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-nfx-conf-root { prefix jc; revision-date "2019-01-01"; } organization "Juniper Networks, Inc."; contact "yang-support@juniper.net"; description "Junos schedulers configuration module"; revision "2019-01-01" { description "Junos: 21.3R1.9"; } augment /jc:configuration { uses schedulers-group; } augment /jc:configuration/jc:groups { uses schedulers-group; } grouping schedulers-group { container schedulers { description "Security scheduler"; uses apply-advanced; list scheduler { key "name"; ordered-by user; description "Scheduler configuration"; uses scheduler_object_type; } // list scheduler } // container schedulers } // grouping schedulers-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 scheduler_object_type { 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 security scheduler"; } uses apply-advanced; leaf description { type string { junos:posix-pattern "^[^&<> ]+$"; junos:pattern-message "Must be a string excluding '&', '<', '>' and ' '"; length "1 .. 900"; } description "Text description of scheduler"; } list start-date { key "start-date stop-date"; max-elements 2; ordered-by user; description "Start date and time ([YYYY-]MM-DD.hh:mm)"; leaf start-date { type string { junos:posix-pattern "^((2[0-9][0-9][0-9][-])?(0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[.][0-9]{2,2}[:][0-9]{2,2})$"; junos:pattern-message "Invalid date format [YYYY-]MM-DD.hh:mm"; } description "Start date and time ([YYYY-]MM-DD.hh:mm)"; } leaf stop-date { type string { junos:posix-pattern "^((2[0-9][0-9][0-9][-])?(0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[.][0-9]{2,2}[:][0-9]{2,2})$"; junos:pattern-message "Invalid date format [YYYY-]MM-DD.hh:mm"; } description "Stop date and time ([YYYY-]MM-DD.hh:mm)"; } uses apply-advanced; } // list start-date container daily { description "Everyday; can be overwritten by specific weekday"; uses daily-object; } // container daily container sunday { description "Every Sunday"; uses daily-object; } // container sunday container monday { description "Every Monday"; uses daily-object; } // container monday container tuesday { description "Every Tuesday"; uses daily-object; } // container tuesday container wednesday { description "Every Wednesday"; uses daily-object; } // container wednesday container thursday { description "Every Thursday"; uses daily-object; } // container thursday container friday { description "Every Friday"; uses daily-object; } // container friday container saturday { description "Every Saturday"; uses daily-object; } // container saturday } // grouping scheduler_object_type grouping daily-object { description "Daily schedule"; uses apply-advanced; choice daily_type { list start-time { key "start-time-value stop-time"; max-elements 2; description "Time range for day"; leaf start-time-value { type string { junos:posix-pattern "^((0[0-9]|1[0-9]|2[0-3])([:][0-5][0-9])?([:][0-5][0-9])?)$"; junos:pattern-message "Must be a valid time in hh:mm format"; } description "Start time for day (hh:mm)"; } leaf stop-time { type string { junos:posix-pattern "^((0[0-9]|1[0-9]|2[0-3])([:][0-5][0-9])?([:][0-5][0-9])?)$"; junos:pattern-message "Must be a valid time in hh:mm format"; } description "Stop time for day (hh:mm)"; } uses apply-advanced; } // list start-time leaf exclude { type empty; description "Exclude day from week"; } leaf all-day { type empty; description "Include complete day"; } } // choice daily_type } // grouping daily-object } // module junos-nfx-conf-schedulers
© 2023 YumaWorks, Inc. All rights reserved.