junos-es-conf-schedulers

Junos schedulers configuration module

  • Version: 2019-01-01

    junos-es-conf-schedulers@2019-01-01


    
      module junos-es-conf-schedulers {
    
        yang-version 1;
    
        namespace
          "http://yang.juniper.net/junos-es/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-es-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-es-conf-schedulers
    

© 2023 YumaWorks, Inc. All rights reserved.