Cisco-IOS-XE-wireless-ap-types

This module contains a collection of YANG definitions for wireless ap data types. Copyright (c) 2016-2021 by Cisco Systems, Inc....

  • Version: 2021-07-01

    Cisco-IOS-XE-wireless-ap-types@2021-07-01


    
      module Cisco-IOS-XE-wireless-ap-types {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-ap-types";
    
        prefix wireless-ap-types;
    
        import Cisco-IOS-XE-wireless-apf-cfg {
          prefix wireless-apf-cfg;
        }
        import Cisco-IOS-XE-wireless-enum-types {
          prefix wireless-enum-types;
        }
        import Cisco-IOS-XE-wireless-types {
          prefix wireless-types;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        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
          "This module contains a collection of YANG definitions
    for wireless ap data types.
    Copyright (c) 2016-2021 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2021-07-01" {
          description
            "- Added support for country configuration
    - Added support NTP AP authentication
    - Added AP management password constraints
    - Added support for AP timezone
    - Added ICAP aggregate full packet trace configuration
    - Added must constraints for country configuration";
          reference
            "7.0.0";
    
        }
    
        revision "2021-03-01" {
          description
            "- Added support for AP stats
    - Added support for Office Extended AP configuration
    - Added support for DTLS cipher suite priority configuration";
          reference
            "6.5.0";
    
        }
    
        revision "2020-11-01" {
          description
            "- Added Forensic type
    - Added support for antenna monitoring configuration
    - Increased range of anomaly detection report individual threshold
    - Added support for Personal SSID";
          reference
            "6.4.0";
    
        }
    
        revision "2020-07-01" {
          description
            "- Added support for traffic distribution stats configuration
    - Added AP DHCP fallback option";
          reference
            "6.3.0";
    
        }
    
        revision "2020-03-01" {
          description
            "- Added CAPWAP window size for multiwindow support";
          reference
            "6.2.0";
    
        }
    
        revision "2019-11-01" {
          description
            "- Added Accounting server Method List name
    - Added UDP-Lite type to tunnel configuration
    - Added support for IOX app hosting on APs
    - Added support for Auxiliary Client Interface on APs
    - Added AP LED flash config mode and duration timer";
          reference
            "6.1.0";
    
        }
    
        revision "2019-09-20" {
          description
            "- Added obsolete status for Lawful Interception";
          reference
            "6.0.0";
    
        }
    
        revision "2019-05-01" {
          description
            "- Added Hotspot 2.0 GAS request limiting leaves
    - Added NTP server information to be used by AP
    - Added ICAP Anomaly-detection reporting parameters
    - Added ICAP client statistic filter parameters
    - Added client RSSI stats config parameters
    - Added TLS mode config parameter for secure syslog
    - Added Hotspot 2.0 QoS Map action frame enable
    - Added semantic version";
          reference
            "5.1.0";
    
        }
    
        revision "2019-03-13" {
          description
            "- Added yang constraints for AP user management and dot1x credentials
    - Added AP dot1x password and management secret
    - Add DHCP server configuration
    - Added password for user management
    - Removal of unused leaves
    - Cleaned up spelling errors in descriptions
    - Removal of unused enums
    - Removal of unused container related to static domain name server configuration
    - Removal of unused container related to IPv6 TCP MSS configuration
    - Removal of unused container related to crash data radio configuration
    - Removal of unused container related to ethernet port configuration
    - Removal of unused container related to qing configuration
    - Capitalized acronyms in model descriptions
    - Removed ICAP Anomaly-detection dot1x-timeout leaf
    - Removed CAPWAP window size configuration";
          reference
            "5.0.0";
    
        }
    
        revision "2018-06-15" {
          description
            "AIRsense feature renamed to Intelligent Capture";
          reference
            "4.0.0";
    
        }
    
        revision "2018-03-22" {
          description "Leaf name changes";
          reference
            "3.0.0";
    
        }
    
        revision "2018-01-24" {
          description
            "The first generally available version";
          reference
            "2.0.0";
    
        }
    
        revision "2017-05-05" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "7.0.0";
        cisco-semver:module-version "6.5.0";
        cisco-semver:module-version "6.4.0";
        cisco-semver:module-version "6.3.0";
        cisco-semver:module-version "6.2.0";
        cisco-semver:module-version "6.1.0";
        cisco-semver:module-version "6.0.0";
        cisco-semver:module-version "5.1.0";
        cisco-semver:module-version "5.0.0";
        cisco-semver:module-version "4.0.0";
        cisco-semver:module-version "3.0.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef enm-link-latency-type {
          type enumeration {
            enum "link-auditing-disable" {
              value 0;
              description
                "option for link auditing disable";
            }
            enum "link-auditing-enable" {
              value 1;
              description
                "option for link auditing enable";
            }
            enum "link-auditing-data" {
              value 2;
              description
                "option for link auditing data";
            }
            enum "link-auditing-reset" {
              value 4;
              description
                "option for link auditing reset";
            }
          }
          description
            "enumeration for capturing the link auditing configurations";
        }
    
        typedef enm-ap-tag-source {
          type enumeration {
            enum "tag-source-none" {
              value 0;
              description
                "This value specifies that the tag
    source is empty";
            }
            enum "tag-source-static" {
              value 1;
              description
                "This value specifies that the tags for AP
    are configured at controller";
            }
            enum "tag-source-filter" {
              value 2;
              description
                "This value specifies that the tag for AP
    are configured at controller by filter engine";
            }
            enum "tag-source-ap-pnp" {
              value 3;
              description
                "This value specifies that the tags for AP
    are coming from AP with help of PNP server";
            }
            enum "tag-source-default" {
              value 4;
              description
                "This value specifies that the tags for AP
    configured to be default";
            }
            enum "tag-source-location" {
              value 5;
              description
                "This value specifies that the tag for AP
    are configured at controller under location";
            }
          }
          description
            "Enumeration to store the tag source for the AP tags";
        }
    
        typedef syslog-facility-value {
          type enumeration {
            enum "facility-kern" {
              value 0;
              description
                "Syslog value of type FACILITY_KERN";
            }
            enum "facility-user" {
              value 1;
              description
                "Syslog value of type FACILITY_USER";
            }
            enum "facility-mail" {
              value 2;
              description
                "Syslog value of type FACILITY_MAIL";
            }
            enum "facility-daemon" {
              value 3;
              description
                "Syslog value of type FACILITY_DAEMON";
            }
            enum "facility-auth" {
              value 4;
              description
                "Syslog value of type FACILITY_AUTH";
            }
            enum "facility-syslog" {
              value 5;
              description
                "Syslog value of type FACILITY_SYSLOG";
            }
            enum "facility-lpr" {
              value 6;
              description
                "Syslog value of type FACILITY_LPR";
            }
            enum "facility-news" {
              value 7;
              description
                "Syslog value of type FACILITY_NEWS";
            }
            enum "facility-uucp" {
              value 8;
              description
                "Syslog value of type FACILITY_UUCP";
            }
            enum "facility-sys9" {
              value 9;
              description
                "Syslog value of type FACILITY_SYS9";
            }
            enum "facility-sys10" {
              value 10;
              description
                "Syslog value of type FACILITY_SYS10";
            }
            enum "facility-sys11" {
              value 11;
              description
                "Syslog value of type FACILITY_SYS11";
            }
            enum "facility-sys12" {
              value 12;
              description
                "Syslog value of type FACILITY_SYS12";
            }
            enum "facility-sys13" {
              value 13;
              description
                "Syslog value of type FACILITY_SYS13";
            }
            enum "facility-sys14" {
              value 14;
              description
                "Syslog value of type FACILITY_SYS14";
            }
            enum "facility-cron" {
              value 15;
              description
                "Syslog value of type FACILITY_CRON";
            }
            enum "facility-local0" {
              value 16;
              description
                "Syslog value of type FACILITY_LOCAL0";
            }
            enum "facility-local1" {
              value 17;
              description
                "Syslog value of type FACILITY_LOCAL1";
            }
            enum "facility-local2" {
              value 18;
              description
                "Syslog value of type FACILITY_LOCAL2";
            }
            enum "facility-local3" {
              value 19;
              description
                "Syslog value of type FACILITY_LOCAL3";
            }
            enum "facility-local4" {
              value 20;
              description
                "Syslog value of type FACILITY_LOCAL4";
            }
            enum "facility-local5" {
              value 21;
              description
                "Syslog value of type FACILITY_LOCAL5";
            }
            enum "facility-local6" {
              value 22;
              description
                "Syslog value of type FACILITY_LOCAL6";
            }
            enum "facility-local7" {
              value 23;
              description
                "Syslog value of type FACILITY_LOCAL7";
            }
          }
          description
            "enumeration for capturing the syslog facility options";
        }
    
        typedef ap-sub-mode-type {
          type enumeration {
            enum "ap-sub-mode-none" {
              value 0;
              description "AP sub mode None";
            }
            enum "wips-mode" {
              value 1;
              description "AP sub mode AWIPS";
            }
            enum "non-local-network" {
              value 2;
              description
                "Option to disable personal SSID";
            }
            enum "local-network" {
              value 3;
              description
                "Option to enable personal SSID";
            }
            enum "forensic-awips-mode" {
              value 4;
              description
                "AP sub mode Forensic AWIPS";
            }
          }
          description
            "enumeration to denote the submode of the AP";
        }
    
        typedef power-injector-sel-type {
          type enumeration {
            enum "pwrinj-unknown" {
              value 0;
              description "Unknown";
            }
            enum "pwrinj-installed" {
              value 1;
              description "Installed";
            }
            enum "pwrinj-override" {
              value 2;
              description "Override";
            }
          }
          description
            "enumeration to denote the power injector selection for the AP";
        }
    
        typedef timezone-payload-mode {
          type enumeration {
            enum "ap-tz-not-configured" {
              value 0;
              description
                "Undefined timezone config";
            }
            enum "ap-tz-controller-tz" {
              value 1;
              description
                "Use controller timezone";
            }
            enum "ap-tz-utc-offset" {
              value 2;
              description
                "Use provided UTC offset as timezone";
            }
          }
          description "AP timezone mode";
        }
    
        typedef enm-ap-aux-client-interface-mode {
          type enumeration {
            enum
              "ap-auxiliary-client-interface-unknown" {
              value 0;
              description
                "Unknown mode for the interface";
            }
            enum
              "ap-auxiliary-client-interface-static" {
              value 1;
              description
                "Static mode for the interface";
            }
            enum
              "ap-auxiliary-client-interface-dhcp" {
              value 2;
              description
                "DHCP mode for the interface";
            }
          }
          description
            "Enumeration for the Application Hosting Interface on the AP";
        }
    
        typedef enm-ap-ntp-key-type {
          type enumeration {
            enum "ap-ntp-key-type-md5" {
              value 1;
              description "NTP key type md5";
            }
            enum "ap-ntp-key-type-sha1" {
              value 2;
              description "NTP key type sha1";
            }
          }
          description
            "enumeration to define the ntp key types";
        }
    
        typedef enm-ap-ntp-key-format {
          type enumeration {
            enum "ap-ntp-key-format-ascii" {
              value 0;
              description "NTP key format ascii";
            }
            enum "ap-ntp-key-format-hex" {
              value 1;
              description "NTP key format hex";
            }
          }
          description
            "enumeration to define the ntp key formats";
        }
    
        typedef enm-ap-dot1x-eap-type {
          type enumeration {
            enum "dot1x-eap-none" {
              value 0;
              description
                "option to denote the authentication EAP-NONE";
            }
            enum "dot1x-eap-tls" {
              value 13;
              description
                "option to denote the authentication EAP-TLS";
            }
            enum "dot1x-eap-peap" {
              value 25;
              description
                "option to denote the authentication EAP-PEAP";
            }
            enum "dot1x-eap-fast" {
              value 43;
              description
                "option to denote the authentication EAP-FAST";
            }
          }
          description
            "enumeration to denote the authentication EAP type";
        }
    
        typedef enm-lsc-ap-auth-state-type {
          type enumeration {
            enum "lsc-ap-auth-none" {
              value 0;
              description
                "option to denote the LSC AP auth for none";
            }
            enum "lsc-ap-auth-capwap-dtls" {
              value 1;
              description
                "option to denote the LSC AP auth for capwap dtls";
            }
            enum "lsc-ap-auth-dot1x-port-auth" {
              value 2;
              description
                "option to denote the LSC AP auth for dot1x port auth";
            }
            enum "lsc-ap-auth-both" {
              value 3;
              description
                "option to denote the LSC AP auth for both";
            }
          }
          description
            "enumeration to denote the LSC AP auth state type";
        }
    
        typedef enm-ap-led-flash-mode {
          type enumeration {
            enum "led-flash-mode-disable" {
              value 0;
              description
                "Option to disable LED flash blinking";
            }
            enum "led-flash-mode-indefinite" {
              value 1;
              description
                "Option for indefinite LED flash blinking";
            }
            enum "led-flash-mode-duration" {
              value 2;
              description
                "Option for LED flash blink for particular duration";
            }
          }
          description
            "Enumeration for capturing the LED flash configurations";
        }
    
        grouping st-capwap-timer-cfg {
          description
            "capwap timer configurations";
          leaf heart-beat-timeout {
            type uint8 {
              range "1 .. 30";
            }
            default "30";
            description
              "This object represents the Heartbeattimeout for the AP discovery";
          }
    
          leaf discovery-timeout {
            type uint8 {
              range "1 .. 10";
            }
            default "10";
            description
              "This object represents the timeout for the AP discovery";
          }
    
          leaf fast-heart-beat-timeout {
            type uint8 {
              range "0 .. 10";
            }
            default "0";
            description
              "This object represents the timeout value for the heart beat timer.";
          }
    
          leaf primary-discovery-timeout {
            type uint16 {
              range "30 .. 3000";
            }
            default "120";
            description
              "This object represents the timeout for the primary AP discovery";
          }
    
          leaf primed-join-timeout {
            type uint16 {
              range "0 .. 43200";
            }
            default "0";
            description
              "This object represents the primed timeout for the AP discovery";
          }
        }  // grouping st-capwap-timer-cfg
    
        grouping st-capwap-retransmit-timer-cfg {
          description
            "capwap retransmit timer configuration";
          leaf count {
            type uint8 {
              range "3 .. 8";
            }
            default "5";
            description "retransmit timer count";
          }
    
          leaf interval {
            type uint8 {
              range "2 .. 5";
            }
            default "3";
            description
              "retransmit timer interval";
          }
        }  // grouping st-capwap-retransmit-timer-cfg
    
        grouping st-backup-controllers-cfg {
          description
            "backup controller configurations";
          leaf fallback-enabled {
            type boolean;
            default "true";
            description
              "Backup Controllers fallback enabled";
          }
    
          leaf primary-controller-name {
            type string;
            default "";
            description
              "the AP's primary controller name";
          }
    
          leaf secondary-controller-name {
            type string;
            default "";
            description
              "the AP's secondary controller name";
          }
    
          leaf primary-controller-ip {
            type inet:ip-address;
            default "0.0.0.0";
            description
              "the AP's primary controller ip address";
          }
    
          leaf secondary-controller-ip {
            type inet:ip-address;
            default "0.0.0.0";
            description
              "the AP's secondary controller ip address";
          }
        }  // grouping st-backup-controllers-cfg
    
        grouping st-tcp-mss-cfg {
          description
            "ipv4 TCP MSS configurations";
          leaf adjust-mss {
            type boolean;
            default "true";
            description "adjust mss";
          }
    
          leaf tcp-adjust-mss {
            type uint16 {
              range "536 .. 1363";
            }
            default "1250";
            description
              "This object represents the Global AP TCP MSS value";
          }
        }  // grouping st-tcp-mss-cfg
    
        grouping st-device-mgmt-cfg {
          description
            "device management configurations";
          leaf telnet {
            type boolean;
            default "false";
            description
              "This object specifies whether Telnet session can be established to the AP";
          }
    
          leaf ssh {
            type boolean;
            default "false";
            description
              "This object specifies whether SSH session can be established to the AP";
          }
        }  // grouping st-device-mgmt-cfg
    
        grouping st-user-mgmt-cfg {
          description
            "AP user management configuration";
          leaf username {
            type string {
              length "0..32";
            }
            must
              "(((string-length(current()) != 0) and (string-length(../password) != 0) and (string-length(../secret) != 0)) or ((string-length(current()) = 0) and (string-length(../password) = 0) and (string-length(../secret) = 0)))" {
              error-message
                "Partial configuration of AP user management username, password and secret is not allowed";
              error-app-tag "must-violation";
            }
            default "";
            description
              "AP user management username";
          }
    
          leaf password {
            type string;
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (not((contains(current(), 'cisco')) or (contains(current(), 'c!sco')) or
     (contains(current(), 'ci$co')) or (contains(current(), 'c1$co')) or
     (contains(current(), 'c1sco')) or (contains(current(), 'c!$co')) or
     (contains(current(), 'Cisco')) or (contains(current(), 'C!sco')) or
     (contains(current(), 'Ci$co')) or (contains(current(), 'C1$co')) or
     (contains(current(), 'C1sco')) or (contains(current(), 'C!$co')) or
     (contains(current(), 'CISCO')) or (contains(current(), 'C1SCO')) or
     (contains(current(), 'C!SCO')) or (contains(current(), 'C!$CO')) or
     (contains(current(), 'CISC0')) or (contains(current(), 'cisc0')) or
     (contains(current(), 'Cisc0')) or (contains(current(), 'c!$c0')) or
     (contains(current(), 'C!$c0')) or (contains(current(), 'C1$c0')) or
     (contains(current(), 'c1$c0')) or (contains(current(), 'C1sc0')) or
     (contains(current(), 'c1sc0')) or (contains(current(), 'ciscO')) or
     (contains(current(), 'CiscO')) or (contains(current(), 'c1scO')) or
     (contains(current(), 'c!scO')) or (contains(current(), 'c1$cO')) or
     (contains(current(), 'C1scO')) or (contains(current(), 'c!$cO')) or
     (contains(current(), 'ci$cO')) or (contains(current(), 'C!scO')))))" {
              error-message
                "AP user management password should not contain default password e.g., cisco, Cisco, c!sco, ci$co, c!sco";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (not(
     (contains(current(), 'ocsic')) or (contains(current(), 'ocs!c')) or
     (contains(current(), 'oc$ic')) or (contains(current(), 'oc$1c')) or
     (contains(current(), 'ocs1c')) or (contains(current(), 'oc$!c')) or
     (contains(current(), 'ocsiC')) or (contains(current(), 'ocs!C')) or
     (contains(current(), 'oc$iC')) or (contains(current(), 'oc$1C')) or
     (contains(current(), 'ocs1C')) or (contains(current(), 'oc$!C')) or
     (contains(current(), 'OCSIC')) or (contains(current(), 'OCS1C')) or
     (contains(current(), 'OCS!C')) or (contains(current(), 'OC$!C')) or
     (contains(current(), '0CSIC')) or (contains(current(), '0csic')) or
     (contains(current(), '0csiC')) or (contains(current(), '0c$!c')) or
     (contains(current(), '0c$!C')) or (contains(current(), '0c$1C')) or
     (contains(current(), '0c$1c')) or (contains(current(), '0cs1C')) or
     (contains(current(), '0cs1c')) or (contains(current(), 'Ocs1c')) or
     (contains(current(), 'Oc$1C')) or (contains(current(), 'Ocsic')) or
     (contains(current(), 'Ocs!c')) or (contains(current(), 'Oc$iC')) or
     (contains(current(), 'OcsiC')) or (contains(current(), 'Oc$!C')))))" {
              error-message
                "AP user management password should not contain default reverse password";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (contains(current(), 'a')) or (contains(current(), 'b')) or
    (contains(current(), 'c')) or (contains(current(), 'd')) or
    (contains(current(), 'e')) or (contains(current(), 'f')) or
    (contains(current(), 'g')) or (contains(current(), 'h')) or
    (contains(current(), 'i')) or (contains(current(), 'j')) or
    (contains(current(), 'k')) or (contains(current(), 'l')) or
    (contains(current(), 'm')) or (contains(current(), 'n')) or
    (contains(current(), 'o')) or (contains(current(), 'p')) or
    (contains(current(), 'q')) or (contains(current(), 'r')) or
    (contains(current(), 's')) or (contains(current(), 't')) or
    (contains(current(), 'u')) or (contains(current(), 'v')) or
    (contains(current(), 'w')) or (contains(current(), 'x')) or
    (contains(current(), 'y')) or (contains(current(), 'z')))" {
              error-message
                "AP user management password must contain at least one lower case letter";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (contains(current(), 'A')) or (contains(current(), 'B')) or
    (contains(current(), 'C')) or (contains(current(), 'D')) or
    (contains(current(), 'E')) or (contains(current(), 'F')) or
    (contains(current(), 'G')) or (contains(current(), 'H')) or
    (contains(current(), 'I')) or (contains(current(), 'J')) or
    (contains(current(), 'K')) or (contains(current(), 'L')) or
    (contains(current(), 'M')) or (contains(current(), 'N')) or
    (contains(current(), 'O')) or (contains(current(), 'P')) or
    (contains(current(), 'Q')) or (contains(current(), 'R')) or
    (contains(current(), 'S')) or (contains(current(), 'T')) or
    (contains(current(), 'U')) or (contains(current(), 'V')) or
    (contains(current(), 'W')) or (contains(current(), 'X')) or
    (contains(current(), 'Y')) or (contains(current(), 'Z')))" {
              error-message
                "AP user management password must contain at least one upper case letter";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (contains(current(), '0')) or (contains(current(), '1')) or
    (contains(current(), '2')) or (contains(current(), '3')) or
    (contains(current(), '4')) or (contains(current(), '5')) or
    (contains(current(), '6')) or (contains(current(), '7')) or
    (contains(current(), '8')) or (contains(current(), '9')))" {
              error-message
                "AP user management password must contain at least one digit";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (not((contains(current(), 'aaa')) or (contains(current(), 'AAA')) or
     (contains(current(), 'bbb')) or (contains(current(), 'BBB')) or
     (contains(current(), 'ccc')) or (contains(current(), 'CCC')) or
     (contains(current(), 'ddd')) or (contains(current(), 'DDD')) or
     (contains(current(), 'eee')) or (contains(current(), 'EEE')) or
     (contains(current(), 'fff')) or (contains(current(), 'FFF')) or
     (contains(current(), 'ggg')) or (contains(current(), 'GGG')) or
     (contains(current(), 'hhh')) or (contains(current(), 'HHH')) or
     (contains(current(), 'iii')) or (contains(current(), 'III')) or
     (contains(current(), 'jjj')) or (contains(current(), 'JJJ')) or
     (contains(current(), 'kkk')) or (contains(current(), 'KKK')) or
     (contains(current(), 'lll')) or (contains(current(), 'LLL')) or
     (contains(current(), 'mmm')) or (contains(current(), 'MMM')) or
     (contains(current(), 'nnn')) or (contains(current(), 'NNN')) or
     (contains(current(), 'ooo')) or (contains(current(), 'OOO')) or
     (contains(current(), 'ppp')) or (contains(current(), 'PPP')) or
     (contains(current(), 'qqq')) or (contains(current(), 'QQQ')) or
     (contains(current(), 'rrr')) or (contains(current(), 'RRR')) or
     (contains(current(), 'sss')) or (contains(current(), 'SSS')) or
     (contains(current(), 'ttt')) or (contains(current(), 'TTT')) or
     (contains(current(), 'uuu')) or (contains(current(), 'UUU')) or
     (contains(current(), 'vvv')) or (contains(current(), 'VVV')) or
     (contains(current(), 'www')) or (contains(current(), 'WWW')) or
     (contains(current(), 'xxx')) or (contains(current(), 'XXX')) or
     (contains(current(), 'yyy')) or (contains(current(), 'YYY')) or
     (contains(current(), 'zzz')) or (contains(current(), 'ZZZ')))))" {
              error-message
                "AP user management password should not contain more than two repetitions of characters";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (not((contains(current(), 'abc')) or (contains(current(), 'ABC')) or
     (contains(current(), 'bcd')) or (contains(current(), 'BCD')) or
     (contains(current(), 'cde')) or (contains(current(), 'CDE')) or
     (contains(current(), 'def')) or (contains(current(), 'DEF')) or
     (contains(current(), 'efg')) or (contains(current(), 'EFG')) or
     (contains(current(), 'fgh')) or (contains(current(), 'FGH')) or
     (contains(current(), 'ghi')) or (contains(current(), 'GHI')) or
     (contains(current(), 'hij')) or (contains(current(), 'HIJ')) or
     (contains(current(), 'ijk')) or (contains(current(), 'IJK')) or
     (contains(current(), 'jkl')) or (contains(current(), 'JKL')) or
     (contains(current(), 'klm')) or (contains(current(), 'KLM')) or
     (contains(current(), 'lmn')) or (contains(current(), 'LMN')) or
     (contains(current(), 'mno')) or (contains(current(), 'MNO')) or
     (contains(current(), 'nop')) or (contains(current(), 'NOP')) or
     (contains(current(), 'opq')) or (contains(current(), 'OPQ')) or
     (contains(current(), 'pqr')) or (contains(current(), 'PQR')) or
     (contains(current(), 'qrs')) or (contains(current(), 'QRS')) or
     (contains(current(), 'rst')) or (contains(current(), 'RST')) or
     (contains(current(), 'stu')) or (contains(current(), 'STU')) or
     (contains(current(), 'tuv')) or (contains(current(), 'TUV')) or
     (contains(current(), 'uvw')) or (contains(current(), 'UVW')) or
     (contains(current(), 'vwx')) or (contains(current(), 'VWX')) or
     (contains(current(), 'wxy')) or (contains(current(), 'WXY')) or
     (contains(current(), 'xyz')) or (contains(current(), 'XYZ')))))" {
              error-message
                "AP user management password should not contain sequential characters";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (not((contains(current(), '000')) or (contains(current(), '111')) or
     (contains(current(), '222')) or (contains(current(), '333')) or
     (contains(current(), '444')) or (contains(current(), '555')) or
     (contains(current(), '666')) or (contains(current(), '777')) or
     (contains(current(), '888')) or (contains(current(), '999')))))" {
              error-message
                "AP user management password should not contain more than two repetitions of digits";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (not((contains(current(), '012')) or (contains(current(), '123')) or
     (contains(current(), '234')) or (contains(current(), '345')) or
     (contains(current(), '456')) or (contains(current(), '567')) or
     (contains(current(), '678')) or (contains(current(), '789')))))" {
              error-message
                "AP user management password should not contain sequential digits";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or
    (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or
    (string-length(current()) >= 8))" {
              error-message
                "AP user management password length should not be less than 8, when the AP user management password type is clear text and wireless default password policy is enabled";
              error-app-tag "must-violation";
            }
            must
              "((../password-type != 'clear') or (string-length(current()) <= 120))" {
              error-message
                "AP user management password length should not exceed 120, when the AP user management password type is clear text";
              error-app-tag "must-violation";
            }
            default "";
            description
              "AP user management password. Following criteria should be met if wireless password policy is configured.
    - Default passwords (cisco, Cisco, C!sco, ci$co, ..) are not allowed.
    - Reverse default passwords are not allowed.
    - At least one lower case letter is mandatory.
    - At least one upper case letter is mandatory.
    - At least one digit is mandatory.
    - Special characters are allowed, but not mandatory.
    - More than two sequential chars or digits (e.g., abc, 123) are not allowed.
    - More than two repeated chars or digits (e.g., 111, aaa) are not allowed.
    - Minimum password length is 8.
    Restriction: AP management password of cleartext type must contain ASCII characters only. This rule is not implemented using constraints.";
          }
    
          leaf password-type {
            type wireless-enum-types:crypt-type;
            must
              "((current() = 'clear') or (current() = 'aes'))" {
              error-message
                "AP user management password type should be either clear text or aes encryption type only";
              error-app-tag "must-violation";
            }
            default "clear";
            description
              "AP user management password type";
          }
    
          leaf secret {
            type string;
            must
              "((../secret-type != 'clear') or (string-length(current()) <= 120))" {
              error-message
                "AP user management secret length should not exceed 120, when the AP user management secret type is clear text";
              error-app-tag "must-violation";
            }
            default "";
            description
              "AP user management secret";
          }
    
          leaf secret-type {
            type wireless-enum-types:crypt-type;
            must
              "((current() = 'clear') or (current() = 'aes'))" {
              error-message
                "AP user management secret type should be either clear text or aes encryption type only";
              error-app-tag "must-violation";
            }
            default "clear";
            description
              "AP user management secret type";
          }
        }  // grouping st-user-mgmt-cfg
    
        grouping st-lawful-interception-cfg {
          status obsolete;
          description
            "Lawful Interception configurations per AP profile";
          leaf enable {
            type boolean;
            default "false";
            description
              "This object specifies whether Lawful Interception is enabled or not";
          }
    
          leaf timer-interval {
            type uint16 {
              range "60 .. 600";
            }
            default "60";
            description
              "This object represents the timer interval in seconds for periodic Lawful Interception updates";
          }
        }  // grouping st-lawful-interception-cfg
    
        grouping st-apphost-cfg {
          description
            "IOX application hosting related configuration";
          leaf enable {
            type boolean;
            default "false";
            description
              "Enable IOX application hosting";
          }
        }  // grouping st-apphost-cfg
    
        grouping st-aux-client-interface-cfg {
          description
            "Auxiliary Client Interface related configuration";
          leaf vlan-id {
            type uint16 {
              range "0 .. 4094";
            }
            default "0";
            description
              "VLAN to which the Auxiliary Client traffic is assigned";
          }
        }  // grouping st-aux-client-interface-cfg
    
        grouping st-qosmap-cfg {
          description "QoS Map configuration";
          leaf ap-trusts-upstream-dscp {
            type boolean;
            default "true";
            description
              "AP uses upstream DSCP instead of 802.11e UP to mark outer CAPWAP header MAC CoS and IP DSCP";
          }
    
          leaf qosmap-action-frame {
            type boolean;
            default "true";
            description
              "802.11 QoS Map action frame is sent when QoS Map DSCP to UP mapping changes";
          }
        }  // grouping st-qosmap-cfg
    
        grouping st-gas-rate-limit-cfg {
          description
            "GAS request rate limit configuration";
          leaf enable {
            type boolean;
            default "false";
            description
              "This object specifies whether GAS rate limit on the AP is enabled or not";
          }
    
          leaf num-req-per-interval {
            type uint8 {
              range "1 .. 100";
            }
            description
              "Maximum number of GAS requests allowed per AP slot in a given interval";
          }
    
          leaf interval-msec {
            type uint16 {
              range "100 .. 10000";
            }
            description
              "Interval in milliseconds to define GAS request rate limit";
          }
        }  // grouping st-gas-rate-limit-cfg
    
        grouping st-ext-module-cfg {
          description
            "AP external module configurations";
          leaf enable {
            type boolean;
            default "false";
            description
              "This object specifies whether AP External Module is enabled or not";
          }
        }  // grouping st-ext-module-cfg
    
        grouping st-ntp-server-info-cfg {
          description "NTP server configuration";
          leaf ntp-address {
            type inet:ip-address;
            default "0.0.0.0";
            description "NTP server IP address";
          }
    
          leaf trust-key {
            type string;
            default "";
            description
              "The trust key to use in NTP authentication";
          }
    
          leaf trust-key-type {
            type wireless-enum-types:crypt-type;
            default "clear";
            description
              "The encryption to use when storing the trust key locally";
          }
    
          leaf key-id {
            type uint32 {
              range "1 .. 65535";
            }
            default "1";
            description
              "An integer key id that identifies the NTP authentication key";
          }
    
          leaf key-type {
            type enm-ap-ntp-key-type;
            default "ap-ntp-key-type-md5";
            description "The key digest type";
          }
    
          leaf key-format {
            type enm-ap-ntp-key-format;
            default "ap-ntp-key-format-ascii";
            description "The key digest format";
          }
        }  // grouping st-ntp-server-info-cfg
    
        grouping st-persistent-ssid-broadcast-cfg {
          description
            "persistent SSID broadcast configurations";
          leaf enable {
            type boolean;
            default "false";
            description
              "This object specifies whether Persistent SSID Broadcast is enabled or not";
          }
        }  // grouping st-persistent-ssid-broadcast-cfg
    
        grouping st-dhcp-server-cfg {
          description
            "DHCP server configuration";
          leaf enable {
            type boolean;
            default "false";
            description
              "DHCP server is enabled or not";
          }
        }  // grouping st-dhcp-server-cfg
    
        grouping st-poe-cfg {
          description
            "power over ethernet configuration";
          leaf pre-standard8023af-switch-flag {
            type boolean;
            default "false";
            description
              "PreStandard 802.3af Switch";
          }
    
          leaf power-injector-state {
            type boolean;
            default "false";
            description "Power Injector State";
          }
    
          leaf power-injector-selection {
            type power-injector-sel-type;
            default "pwrinj-unknown";
            description
              "power injector selection";
          }
    
          leaf injector-switch-mac {
            type yang:mac-address;
            default "00:00:00:00:00:00";
            description
              "mac address of the power injector switch";
          }
        }  // grouping st-poe-cfg
    
        grouping st-coredump-cfg {
          description
            "coredump related configuration";
          leaf coredump-flag {
            type wireless-enum-types:memory-core-dump-flag;
            default "tftp-coredump-disable";
            description
              "coredump flag indicate if coredump is enabled and whether its compress or uncompress";
          }
    
          leaf tftp-server-address {
            type inet:ip-address;
            default "0.0.0.0";
            description
              "tftp server address to be used to move the core dump";
          }
    
          leaf corefile-name {
            type string;
            default "default";
            description "core file name";
          }
        }  // grouping st-coredump-cfg
    
        grouping st-tunnel {
          description "tunnel configurations";
          leaf preferred-mode {
            type wireless-enum-types:preferred-mode-type;
            default "preferred-mode-unconfig";
            description
              "Represents the CAPWAP prefer-mode";
          }
    
          leaf udp-lite {
            type wireless-enum-types:ipv6-capwap-checksum-type;
            default "udplite-checksum-disabled";
            description
              "Represents IPv6 CAPWAP data checksum type";
          }
        }  // grouping st-tunnel
    
        grouping st-login-credentials-cfg {
          description
            "Authentication credentials";
          leaf dot1x-username {
            type string {
              length "0..32";
            }
            must
              "(((string-length(current()) != 0) and (string-length(../dot1x-password) != 0)) or ((string-length(current()) = 0) and (string-length(../dot1x-password) = 0)))" {
              error-message
                "Partial configuration of AP dot1x username and password is not allowed";
              error-app-tag "must-violation";
            }
            default "";
            description
              "AP dot1x authentication username";
          }
    
          leaf dot1x-password {
            type string;
            must
              "((../dot1x-password-type != 'clear') or (string-length(current()) <= 120))" {
              error-message
                "AP dot1x password length should not exceed 120, when the AP dot1x password type is clear text";
              error-app-tag "must-violation";
            }
            default "";
            description
              "AP dot1x authentication password";
          }
    
          leaf dot1x-password-type {
            type wireless-enum-types:crypt-type;
            must
              "((current() = 'clear') or (current() = 'aes'))" {
              error-message
                "AP dot1x password type should be either clear text or aes encryption type only";
              error-app-tag "must-violation";
            }
            default "clear";
            description
              "AP dot1x authentication password type";
          }
        }  // grouping st-login-credentials-cfg
    
        grouping st-dot1x-eap-auth-info {
          description "Dot1x EAP auth info";
          leaf dot1x-eap-type {
            type enm-ap-dot1x-eap-type;
            default "dot1x-eap-fast";
            description "Dot1x EAP auth type";
          }
        }  // grouping st-dot1x-eap-auth-info
    
        grouping st-lsc-ap-auth-type-info {
          description "Dot1x LSC AP auth info";
          leaf lsc-ap-auth-type {
            type enm-lsc-ap-auth-state-type;
            default "lsc-ap-auth-capwap-dtls";
            description "LSC AP auth type";
          }
        }  // grouping st-lsc-ap-auth-type-info
    
        grouping st-capwap-lag-info {
          description "lag configurations";
          leaf ap-lag-enabled {
            type boolean;
            default "false";
            description
              "boolean to indicate whether ap lag enabled is used";
          }
        }  // grouping st-capwap-lag-info
    
        grouping st-syslog-facility-cfg {
          description
            "syslog facility related configurations";
          leaf facility-value {
            type syslog-facility-value;
            default "facility-kern";
            description "facility value";
          }
    
          leaf log-level {
            type wireless-types:syslog-trap-level;
            default "syslog-level-information";
            description "log level";
          }
    
          leaf host {
            type inet:ip-address;
            default "255.255.255.255";
            description "host name";
          }
    
          leaf tls-mode {
            type boolean;
            description
              "TLS mode for secure syslog";
          }
        }  // grouping st-syslog-facility-cfg
    
        grouping st-mode {
          description
            "Defines the type of AP mode";
          leaf ap-sub-mode {
            type ap-sub-mode-type;
            description
              "Defines the AP sub mode";
          }
    
          leaf fast-channel {
            type uint32;
            description "Fast channel mode";
          }
        }  // grouping st-mode
    
        grouping st-rogue-params {
          description
            "rogue configuration parameters";
          leaf profile-name {
            type string;
            description "rogue profile name";
          }
    
          leaf rogue-detection-monitor-mode-report-interval {
            type uint32 {
              range "10 .. 300";
            }
            default "10";
            description
              "time interval at which monitor mode report for AP rogue detection is generated";
          }
    
          leaf ap-rogue-detection-min-rssi {
            type int32 {
              range "-128 .. -70";
            }
            default "-90";
            description
              "minmum RSSI for AP rogue detection";
          }
    
          leaf ap-rogue-detection-transient-interval {
            type uint32 {
              range "0 .. 1800";
            }
            default "0";
            description
              "transient interval for AP rogue detection";
          }
    
          leaf rogue-containment-flexconnect {
            type boolean;
            default "false";
            description
              "rogue Containment in flexconnect";
          }
    
          leaf rogue-containment-autorate {
            type boolean;
            default "false";
            description
              "rogue Containment autorate";
          }
    
          leaf ap-rogue-detection {
            type boolean;
            default "true";
            description "rogue AP detection";
          }
        }  // grouping st-rogue-params
    
        grouping st-hyperlocation {
          description
            "hyperloaction related configurations";
          leaf hyperlocation-enable {
            type boolean;
            default "false";
            description "enable hyperlocation";
          }
    
          leaf pak-rssi-threshold-detection {
            type int32 {
              range "-100 .. -50";
            }
            default "-100";
            description
              "pak rssi threshold detection";
          }
    
          leaf pak-rssi-threshold-trigger {
            type uint8 {
              range "1 .. 100";
            }
            must
              "../pak-rssi-threshold-reset < ../pak-rssi-threshold-trigger" {
              error-message
                "pak-rssi-threshold-trigger must be greater than pak-rssi-threshold-reset";
              error-app-tag "must-violation";
            }
            default "10";
            description
              "pak rssi threshold trigger";
          }
    
          leaf pak-rssi-threshold-reset {
            type uint8 {
              range "0 .. 99";
            }
            default "8";
            description
              "pak rssi threshold reset";
          }
        }  // grouping st-hyperlocation
    
        grouping st-tftp-downgrade {
          description
            "tftp downgrade configuration";
          leaf tftp-downgrade-ip-address {
            type inet:ip-address;
            default "0.0.0.0";
            description
              "tftp downgrade ip address";
          }
    
          leaf tftp-downgrade-filename {
            type string;
            default "";
            description
              "tftp downgrade file name";
          }
        }  // grouping st-tftp-downgrade
    
        grouping st-traffic-limit-cfg {
          description
            "configuration related to traffic limit";
          leaf max1x-session-limit-per-ap {
            type uint8;
            default "0";
            description
              "maximum dot1x session limits allowed per AP";
          }
        }  // grouping st-traffic-limit-cfg
    
        grouping st-mesh-cfg {
          description
            "Specifies the mesh config for the AP";
          leaf mesh-profile-name {
            type string;
            default "default-mesh-profile";
            description
              "Specifies the mesh profile name for the AP";
          }
        }  // grouping st-mesh-cfg
    
        grouping st-report-interval {
          description
            "Report interval at which the AP sends client stats to Controller";
          leaf radio-24ghz {
            type uint8 {
              range "5 .. 90";
            }
            default "90";
            description
              "Report Interval at which AP sends Client Stats
    for all the clients connected to 24ghz radio in seconds";
          }
    
          leaf radio-5ghz {
            type uint8 {
              range "5 .. 90";
            }
            default "90";
            description
              "Report Interval at which AP sends Client Stats
    for all the clients connected to 5ghz radio in seconds";
          }
        }  // grouping st-report-interval
    
        grouping st-icap {
          description
            "Configuration of ICap subscriptions";
          leaf full-trace-enabled {
            type boolean;
            default "false";
            description
              "Full packet trace subscription enabled";
          }
    
          leaf partial-trace-enabled {
            type boolean;
            default "false";
            description
              "Partial packet trace subscription enabled";
          }
    
          leaf partial-trace-proto-all {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for all protocols";
          }
    
          leaf partial-trace-proto-mgmt-all {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for all management protocols";
          }
    
          leaf partial-trace-proto-mgmt-assoc {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for association management protocols";
          }
    
          leaf partial-trace-proto-mgmt-auth {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for authentication management protocols";
          }
    
          leaf partial-trace-proto-mgmt-probe {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for probing management protocols";
          }
    
          leaf partial-trace-proto-data-all {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for all data protocols";
          }
    
          leaf partial-trace-proto-data-arp {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the ARP protocol";
          }
    
          leaf partial-trace-proto-data-dhcp {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the DHCP protocol";
          }
    
          leaf partial-trace-proto-data-dhcpv6 {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the DHCPv6 protocol";
          }
    
          leaf partial-trace-proto-data-dns {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the DNS protocol";
          }
    
          leaf partial-trace-proto-data-eap {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the EAP protocol";
          }
    
          leaf partial-trace-proto-data-icmp {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the ICMP protocol";
          }
    
          leaf partial-trace-proto-data-icmpv6 {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the ICMPv6 protocol";
          }
    
          leaf partial-trace-proto-cisco-all {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for all Cisco proprietary protocol";
          }
    
          leaf partial-trace-proto-cisco-ndp {
            type boolean;
            default "false";
            description
              "Collect partial packet traces for the NDP protocol";
          }
    
          leaf anomaly-det-enabled {
            type boolean;
            default "false";
            description
              "Anomaly detection subscription enabled";
          }
    
          leaf anomaly-det-trigger-trace-ap {
            type boolean;
            default "false";
            description
              "Trigger AP packet trace on anomaly detection";
          }
    
          leaf anomaly-det-dhcp-timeout {
            type uint8 {
              range "1 .. 120";
            }
            default "5";
            description
              "DHCP timeout for anomaly detection";
          }
    
          leaf client-stats-enabled {
            type boolean;
            default "false";
            description
              "Client statistics subscription enabled";
          }
    
          leaf client-stats-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for client statistics collection, in seconds";
          }
    
          leaf ap-stats-system-enabled {
            type boolean;
            default "false";
            description
              "AP system statistics subscription enabled";
          }
    
          leaf ap-stats-system-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for AP system statistics collection, in seconds";
          }
    
          leaf ap-stats-memory-enabled {
            type boolean;
            default "false";
            description
              "AP memory statistics subscription enabled";
          }
    
          leaf ap-stats-memory-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for AP memory statistics collection, in seconds";
          }
    
          leaf ap-stats-interface-enabled {
            type boolean;
            default "false";
            description
              "AP interface statistics subscription enabled";
          }
    
          leaf ap-stats-interface-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for AP interface statistics collection, in seconds";
          }
    
          leaf ap-stats-routing-enabled {
            type boolean;
            default "false";
            description
              "AP routing statistics subscription enabled";
          }
    
          leaf ap-stats-routing-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for AP routing statistics collection, in seconds";
          }
    
          leaf ap-stats-radio-enabled {
            type boolean;
            default "false";
            description
              "AP radio statistics subscription enabled";
          }
    
          leaf ap-stats-radio-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for AP radio statistics collection, in seconds";
          }
    
          leaf ap-stats-wlan-enabled {
            type boolean;
            default "false";
            description
              "AP WLAN statistics subscription enabled";
          }
    
          leaf ap-stats-wlan-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for AP WLAN statistics collection, in seconds";
          }
    
          leaf ap-stats-dns-enabled {
            type boolean;
            default "false";
            description
              "AP DNS statistics subscription enabled";
          }
    
          leaf ap-stats-dns-freq {
            type uint16 {
              range "30 .. 3600";
            }
            default "30";
            description
              "Frequency for AP DNS statistics collection, in seconds";
          }
    
          leaf rf-spectrum-enabled {
            type boolean;
            default "false";
            description
              "Radiofrequency spectrum subscription enabled";
          }
    
          leaf rf-spectrum-slot0-enabled {
            type boolean;
            default "false";
            description
              "Radio slot 0 used for radiofrequency spectrum measurements";
          }
    
          leaf rf-spectrum-slot1-enabled {
            type boolean;
            default "false";
            description
              "Radio slot 1 used for radiofrequency spectrum measurements";
          }
    
          leaf rf-spectrum-slot2-enabled {
            type boolean;
            default "false";
            description
              "Radio slot 2 used for radiofrequency spectrum measurements";
          }
    
          leaf adr-individual-enable {
            type boolean;
            default "true";
            description
              "Anomaly detection report individual enabled";
          }
    
          leaf adr-individual-throttle {
            type uint32 {
              range "0 .. 500";
            }
            default "5";
            description
              "Number of events per 5 minutes for anomaly detection individual reports";
          }
    
          leaf adr-summary-enable {
            type boolean;
            default "false";
            description
              "Anomaly detection report summary enabled";
          }
    
          leaf adr-summary-frequency {
            type uint32 {
              range "3 .. 60";
            }
            units "minutes";
            default "5";
            description
              "Frequency for anomaly detection summary reports";
          }
    
          leaf client-filter-stats-freq {
            type uint32 {
              range "5 .. 3600";
            }
            units "seconds";
            default "5";
            description
              "Frequency for filtered client statistics collection";
          }
    
          leaf client-filter-stats-enabled {
            type boolean;
            default "false";
            description
              "Client statistics subscription enabled for filtered clients";
          }
    
          leaf aggr-trace {
            type boolean;
            default "false";
            description
              "Aggregate full packet trace enabled";
          }
        }  // grouping st-icap
    
        grouping st-client-rssi-cfg {
          description
            "Client RSSI statistics related configuration";
          leaf client-rssi-stats {
            type boolean;
            default "true";
            description
              "Represents Client RSSI statistics reporting status
    Possible values are:
    True - Client RSSI statistics reporting from AP is enabled
    False - Client RSSI statistics reporting from AP is disabled";
          }
    
          leaf client-rssi-stats-interval {
            type uint16 {
              range "30 .. 300";
            }
            units "seconds";
            default "30";
            description
              "Reporting interval for the Client RSSI statistics from AP to WLC";
          }
        }  // grouping st-client-rssi-cfg
    
        grouping st-usb-module-cfg {
          description "AP USB status Structure";
          leaf enable {
            type boolean;
            default "true";
            description
              "Boolean to represent if USB is enabled/disabled";
          }
        }  // grouping st-usb-module-cfg
    
        grouping st-stats-timer {
          description
            "APs stats timer information";
          leaf stats-timer {
            type uint16 {
              range "0 .. 65535";
            }
            default "180";
            description "APs stats timer";
          }
        }  // grouping st-stats-timer
    
        grouping st-led-state {
          description "LED state for the AP";
          leaf led-state {
            type boolean;
            default "true";
            description
              "True if LED state is enabled otherwise disabled.";
          }
        }  // grouping st-led-state
    
        grouping st-led-flash {
          description
            "LED flash state for the AP";
          leaf flash-sec {
            type uint16 {
              range "0 .. 3600";
            }
            units "seconds";
            default "0";
            description
              "LED flash timer duration for AP.";
          }
    
          leaf led-flash-mode {
            type enm-ap-led-flash-mode;
            default "led-flash-mode-indefinite";
            description
              "LED flash mode configuration: Indefinite, disable or for a particular duration";
          }
        }  // grouping st-led-flash
    
        grouping st-link-latency {
          description
            "Link auditing options for AP";
          leaf link-latency-flag {
            type enm-link-latency-type;
            default "link-auditing-disable";
            description
              "Specifies the different link auditing options";
          }
        }  // grouping st-link-latency
    
        grouping st-accounting {
          description "Accounting info";
          leaf method-list {
            type string;
            description "Method list name";
          }
        }  // grouping st-accounting
    
        grouping st-oeap {
          description
            "Configuration on AP in Office Extended mode";
          leaf oeap-data-encr {
            type boolean;
            default "true";
            description
              "Enable/Disable Data Encryption on Office Extended AP";
          }
    
          leaf oeap-rogue-detect {
            type boolean;
            default "false";
            description
              "Enable/Disable Rogue Detection on Office Extended AP";
          }
    
          leaf is-local-net {
            type boolean;
            default "true";
            description
              "Enable/Disable Local Access on Office Extended AP";
          }
    
          leaf prov-ssid {
            type boolean;
            default "true";
            description
              "Enable/Disable Provisional SSID on Office Extended AP";
          }
        }  // grouping st-oeap
    
        grouping st-jumbo-mtu {
          description
            "Jumbo mtu configuration for the AP";
          leaf jumbo-mtu {
            type boolean;
            description
              "True if jumbo mtu is enabled for the AP";
          }
        }  // grouping st-jumbo-mtu
    
        grouping st-cdp {
          description "CDP configuration for AP";
          leaf cdp-enable {
            type boolean;
            default "true";
            description
              "True if CDP enabled for the AP";
          }
        }  // grouping st-cdp
    
        grouping st-capwap-window {
          description
            "CAPWAP queue configuration for multiwindow support";
          leaf window-size {
            type uint8 {
              range "1 .. 50";
            }
            default "1";
            description
              "CAPWAP window size for request packets in multiwindow queue";
          }
        }  // grouping st-capwap-window
    
        grouping st-dhcp-fallback {
          description
            "AP DHCP fallback configurations";
          leaf dhcp-fallback {
            type boolean;
            default "true";
            description
              "Represents AP fallback to DHCP, if AP fails to join via static IP address";
          }
        }  // grouping st-dhcp-fallback
    
        grouping st-traffic-distribution-stats {
          description
            "Client traffic distribution stats configurations";
          leaf status {
            type boolean;
            default "true";
            description
              "Enable/Disable client traffic distribution stats";
          }
    
          leaf interval {
            type uint16 {
              range "30 .. 3600";
            }
            units "seconds";
            default "300";
            description
              "Interval at which AP will send the statistics";
          }
        }  // grouping st-traffic-distribution-stats
    
        grouping ap-stats-mon-cfg {
          description
            "Ap statistics configuration";
          leaf enable {
            type boolean;
            default "false";
            description
              "AP stats collection and processing enabled";
          }
    
          leaf sample-intvl {
            when "boolean(../enable)";
            type uint16 {
              range "2 .. 900";
            }
            units "seconds";
            default "30";
            description "Sampling interval";
          }
    
          leaf stats-intvl {
            when "boolean(../enable)";
            type uint16 {
              range "120 .. 900";
            }
            units "seconds";
            default "300";
            description "Statistics interval";
          }
    
          leaf alarm-hold-time {
            when
              "boolean(../enable) and boolean(../alarms-enable)";
            type uint16 {
              range "0 .. 3600";
            }
            units "seconds";
            default "6";
            description "Alarm hold time";
          }
    
          leaf trap-retx-time {
            when
              "boolean(../enable) and boolean(../alarms-enable)";
            type uint16 {
              range "0 .. 65535";
            }
            units "seconds";
            default "0";
            description
              "Alarm trap retransmission time";
          }
    
          leaf alarms-enable {
            when "boolean(../enable)";
            type empty;
            description
              "AP stats alarms enabled";
          }
    
          leaf cpu-threshold {
            when
              "boolean(../enable) and boolean(../alarms-enable)";
            type uint16 {
              range "0 .. 100";
            }
            units "percentage";
            default "0";
            description "CPU threshold";
          }
    
          leaf mem-threshold {
            when
              "boolean(../enable) and boolean(../alarms-enable)";
            type uint16 {
              range "0 .. 100";
            }
            units "percentage";
            default "0";
            description "Memory threshold";
          }
        }  // grouping ap-stats-mon-cfg
    
        grouping st-antenna-mon-cfg {
          description
            "Antenna monitoring configurations per AP profile";
          leaf enabled {
            type boolean;
            default "false";
            description
              "Status of antenna monitoring configuration.
    Possible values are:
    True - Antenna monitoring is enabled.
    False - Antenna monitoring is disabled.";
          }
    
          leaf rssi-fail-threshold {
            type uint8 {
              range "10 .. 90";
            }
            units "dB";
            default "40";
            description
              "RSSI failure threshold value for antenna monitoring";
          }
    
          leaf weak-rssi {
            type int16 {
              range "-90 .. -10";
            }
            units "dBm";
            default "-60";
            description
              "Weak RSSI value for antenna monitoring";
          }
    
          leaf detection-time {
            type uint8 {
              range "9 .. 180";
            }
            units "minutes";
            default "12";
            description
              "Detection time for antenna monitoring";
          }
        }  // grouping st-antenna-mon-cfg
    
        grouping st-ap-dtls-config {
          description
            "AP DTLS related configuration";
          leaf ctrl-pref {
            type boolean;
            default "true";
            description
              "Give preference to cipher suites defined in controller";
          }
        }  // grouping st-ap-dtls-config
    
        grouping st-ap-timezone-cfg-data {
          description "AP Timezone config";
          leaf tz-enabled {
            type boolean;
            default "false";
            description
              "AP timezone is set in controller";
          }
    
          leaf offset-hour {
            type int8 {
              range "-12 .. 14";
            }
            units "hours";
            default "0";
            description
              "Offset hour for timezone";
          }
    
          leaf offset-min {
            type int8 {
              range "0 .. 59";
            }
            units "minutes";
            default "0";
            description
              "Offset minute for timezone";
          }
    
          leaf mode {
            type timezone-payload-mode;
            default "ap-tz-not-configured";
            description
              "Payload mode of timezone";
          }
        }  // grouping st-ap-timezone-cfg-data
    
        grouping st-ap-prof-country-cfg {
          description
            "Country code configuration";
          leaf country-code {
            type wireless-enum-types:country-code;
            must
              "(../country-code = 'ae' or
     ../country-code = 'al' or
     ../country-code = 'ar' or
     ../country-code = 'at' or
     ../country-code = 'au' or
     ../country-code = 'ba' or
     ../country-code = 'bb' or
     ../country-code = 'bd' or
     ../country-code = 'be' or
     ../country-code = 'bg' or
     ../country-code = 'bh' or
     ../country-code = 'bm' or
     ../country-code = 'bn' or
     ../country-code = 'bo' or
     ../country-code = 'br' or
     ../country-code = 'by' or
     ../country-code = 'ca' or
     ../country-code = 'ch' or
     ../country-code = 'cl' or
     ../country-code = 'cm' or
     ../country-code = 'cn' or
     ../country-code = 'co' or
     ../country-code = 'cr' or
     ../country-code = 'cu' or
     ../country-code = 'cy' or
     ../country-code = 'cz' or
     ../country-code = 'de' or
     ../country-code = 'dk' or
     ../country-code = 'do' or
     ../country-code = 'dz' or
     ../country-code = 'ec' or
     ../country-code = 'ee' or
     ../country-code = 'eg' or
     ../country-code = 'el' or
     ../country-code = 'es' or
     ../country-code = 'fi' or
     ../country-code = 'fj' or
     ../country-code = 'fr' or
     ../country-code = 'gb' or
     ../country-code = 'gh' or
     ../country-code = 'gi' or
     ../country-code = 'gr' or
     ../country-code = 'hk' or
     ../country-code = 'hr' or
     ../country-code = 'hu' or
     ../country-code = 'id' or
     ../country-code = 'ie' or
     ../country-code = 'il' or
     ../country-code = 'in' or
     ../country-code = 'io' or
     ../country-code = 'iq' or
     ../country-code = 'is' or
     ../country-code = 'it' or
     ../country-code = 'jm' or
     ../country-code = 'jo' or
     ../country-code = 'j2' or
     ../country-code = 'j4' or
     ../country-code = 'ke' or
     ../country-code = 'kn' or
     ../country-code = 'kw' or
     ../country-code = 'kz' or
     ../country-code = 'lb' or
     ../country-code = 'li' or
     ../country-code = 'lk' or
     ../country-code = 'lt' or
     ../country-code = 'lu' or
     ../country-code = 'lv' or
     ../country-code = 'ly' or
     ../country-code = 'ma' or
     ../country-code = 'mc' or
     ../country-code = 'me' or
     ../country-code = 'mk' or
     ../country-code = 'mn' or
     ../country-code = 'mo' or
      ../country-code = 'mt' or
      ../country-code = 'mx' or
      ../country-code = 'my' or
      ../country-code = 'ng' or
      ../country-code = 'nl' or
      ../country-code = 'no' or
      ../country-code = 'nz' or
      ../country-code = 'om' or
      ../country-code = 'pa' or
      ../country-code = 'pe' or
      ../country-code = 'ph' or
      ../country-code = 'pk' or
      ../country-code = 'pl' or
      ../country-code = 'pr' or
      ../country-code = 'pt' or
      ../country-code = 'py' or
      ../country-code = 'qa' or
      ../country-code = 'ro' or
      ../country-code = 'rs' or
      ../country-code = 'ru' or
      ../country-code = 'sa' or
      ../country-code = 'se' or
      ../country-code = 'sg' or
      ../country-code = 'si' or
      ../country-code = 'sk' or
      ../country-code = 'th' or
      ../country-code = 'ti' or
      ../country-code = 'tn' or
      ../country-code = 'tr' or
      ../country-code = 'tw' or
      ../country-code = 'ua' or
      ../country-code = 'us' or
      ../country-code = 'uy' or
      ../country-code = 've' or
      ../country-code = 'vn' or
      ../country-code = 'za' or
      ../country-code = 'unconfigured')" {
              error-message
                "Unsupported country";
              error-app-tag "must-violation";
            }
            default "unconfigured";
            description "AP country code";
          }
        }  // grouping st-ap-prof-country-cfg
      }  // module Cisco-IOS-XE-wireless-ap-types
    

© 2023 YumaWorks, Inc. All rights reserved.