Cisco-IOS-XE-wireless-rule-cfg

Model for rule configuration for wireless application based on regular expression match. Copyright (c) 2020 by Cisco Systems, In...

  • Version: 2020-07-01

    Cisco-IOS-XE-wireless-rule-cfg@2020-07-01


    
      module Cisco-IOS-XE-wireless-rule-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rule-cfg";
    
        prefix wireless-rule-cfg;
    
        import Cisco-IOS-XE-wireless-enum-types {
          prefix wireless-enum-types;
        }
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "Model for rule configuration for wireless application based on regular expression match.
         Copyright (c) 2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-07-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.0.0";
    
        container rule-cfg-data {
          description "Rule configuration data";
          container app-rules {
            description
              "Container of application rules";
            list app-rule {
              key "app";
              description
                "List of application rules";
              leaf app {
                type wireless-enum-types:app-type;
                description "Application name";
              }
    
              container rule-defns {
                description
                  "Container of rule definitions";
                list rule-defn {
                  key "rule-name";
                  unique "rule-priority";
                  description
                    "List of rule definitions";
                  leaf rule-priority {
                    type uint32 {
                      range "0 .. 4096";
                    }
                    description "Rule priority";
                  }
    
                  leaf rule-name {
                    type string {
                      length "0..32";
                      pattern '[A-Za-z0-9\-_.]*';
                    }
                    description "Rule name";
                  }
    
                  leaf rule-regex {
                    type string {
                      length "0..128";
                    }
                    description
                      "Regex string for rule";
                  }
    
                  choice rule-action-choice {
                    default
                      "rule-action-unconfigured";
                    description
                      "Supported action per application";
                    leaf rule-action-set {
                      type empty;
                      description
                        "Action is unconfigured";
                    }
    
                    case rule-action-mdns-grouping {
                      leaf id {
                        type uint32 {
                          range "0 .. 4096";
                        }
                        must
                          "(../id = 0) or (../id >= 1 and string-length(../rule-regex) > 0)" {
                          error-message
                            "Group id configuration requires non-empty regular expression";
                          error-app-tag
                            "must-violation";
                        }
                        default "0";
                        description "MDNS ID";
                      }
    
                      leaf group-name {
                        type string {
                          length "0..128";
                        }
                        must
                          "(string-length(../group-name) = 0) or (string-length(../group-name) > 0 and string-length(../rule-regex) > 0)" {
                          error-message
                            "Group name configuration requires non-empty regular expression";
                          error-app-tag
                            "must-violation";
                        }
                        default "";
                        description
                          "MDNS group name";
                      }
                    }  // case rule-action-mdns-grouping
                  }  // choice rule-action-choice
                }  // list rule-defn
              }  // container rule-defns
            }  // list app-rule
          }  // container app-rules
        }  // container rule-cfg-data
      }  // module Cisco-IOS-XE-wireless-rule-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.