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";
    
        grouping rule-defn {
          description "Rule parameters";
          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
        }  // grouping rule-defn
    
        grouping app-rule {
          description "Rules for application";
          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";
              uses wireless-rule-cfg:rule-defn;
            }  // list rule-defn
          }  // container rule-defns
        }  // grouping app-rule
    
        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";
              uses wireless-rule-cfg:app-rule;
            }  // list app-rule
          }  // container app-rules
        }  // container rule-cfg-data
      }  // module Cisco-IOS-XE-wireless-rule-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.