Cisco-IOS-XE-wireless-hotspot-cfg

Model for managing WiFi Alliance Hotspot 2.0 and 802.11u configuration Copyright (c) 2019-2020 by Cisco Systems, Inc. All rights...

  • Version: 2021-03-01

    Cisco-IOS-XE-wireless-hotspot-cfg@2021-03-01


    
      module Cisco-IOS-XE-wireless-hotspot-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-hotspot-cfg";
    
        prefix wireless-hotspot-cfg;
    
        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
          "Model for managing WiFi Alliance Hotspot 2.0 and 802.11u configuration
         Copyright (c) 2019-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-03-01" {
          description
            "- Added support for AAA operator name attribute";
          reference
            "2.2.0";
    
        }
    
        revision "2020-11-01" {
          description
            "- Added Hotspot flag to append AP MAC to URL in venue entry";
          reference
            "2.1.0";
    
        }
    
        revision "2020-07-01" {
          description
            "- Added hierarchy for Hotspot 2.0 release 3.
           - Added hierarchy for inner authentication method.
           - Added obsolete status for inner EAP authentication parameter hierarchy.";
          reference
            "2.0.0";
    
        }
    
        revision "2019-04-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "2.2.0";
        cisco-semver:module-version "2.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef enum-hotspot-venue-group-type {
          type enumeration {
            enum "hs-unspecified-unspecified" {
              value 0;
              description
                "Unspecified venue type";
            }
            enum "hs-assembly-unspecified" {
              value 256;
              description
                "Assembly unspecified venue type";
            }
            enum "hs-assembly-arena" {
              value 257;
              description
                "Assembly arena venue type";
            }
            enum "hs-assembly-stadium" {
              value 258;
              description
                "Assembly stadium venue type";
            }
            enum "hs-assembly-terminal" {
              value 259;
              description
                "Assembly passenger terminal venue type";
            }
            enum "hs-assembly-amphitheater" {
              value 260;
              description
                "Assembly amphitheater venue type";
            }
            enum "hs-assembly-amusement-park" {
              value 261;
              description
                "Assembly amusement park venue type";
            }
            enum "hs-assembly-place-of-worship" {
              value 262;
              description
                "Assembly worship place venue type";
            }
            enum "hs-assembly-convention-center" {
              value 263;
              description
                "Assembly convention center venue type";
            }
            enum "hs-assembly-library" {
              value 264;
              description
                "Assembly library venue type";
            }
            enum "hs-assembly-museum" {
              value 265;
              description
                "Assembly museum venue type";
            }
            enum "hs-assembly-restaurant" {
              value 266;
              description
                "Assembly restaurant venue type";
            }
            enum "hs-assembly-theater" {
              value 267;
              description
                "Assembly theater venue type";
            }
            enum "hs-assembly-bar" {
              value 268;
              description
                "Assembly bar venue type";
            }
            enum "hs-assembly-coffee-shop" {
              value 269;
              description
                "Assembly coffee shop venue type";
            }
            enum "hs-assembly-zoo" {
              value 270;
              description
                "Assembly zoo aquarium venue type";
            }
            enum "hs-assembly-emergency-center" {
              value 271;
              description
                "Assembly emergency coordination center venue type";
            }
            enum "hs-business-unspecified" {
              value 512;
              description
                "Business unspecified venue type";
            }
            enum "hs-business-doctor" {
              value 513;
              description
                "Business doctor or dentist venue type";
            }
            enum "hs-business-bank" {
              value 514;
              description
                "Business bank venue type";
            }
            enum "hs-business-fire-station" {
              value 515;
              description
                "Business fire station venue type";
            }
            enum "hs-business-police-station" {
              value 516;
              description
                "Business police station venue type";
            }
            enum "hs-business-post-office" {
              value 518;
              description
                "Business post office venue type";
            }
            enum "hs-business-prof-office" {
              value 519;
              description
                "Business professional office venue type";
            }
            enum "hs-business-rd-facility" {
              value 520;
              description
                "Business rd facility venue type";
            }
            enum "hs-business-attorney" {
              value 521;
              description
                "Business attorney office venue type";
            }
            enum "hs-educational-unspecified" {
              value 768;
              description
                "Educational unspecified educational venue type";
            }
            enum "hs-educational-primary-school" {
              value 769;
              description
                "Educational school primary venue type";
            }
            enum "hs-educational-sec-school" {
              value 770;
              description
                "Educational school secondary venue type";
            }
            enum "hs-educational-university" {
              value 771;
              description
                "Educational university venue type";
            }
            enum "hs-industrial-unspecified" {
              value 1024;
              description
                "Industrial unspecified venue type";
            }
            enum "hs-industrial-factory" {
              value 1025;
              description
                "Industrial factory venue type";
            }
            enum "hs-institutional-unspecified" {
              value 1280;
              description
                "Institutional unspecified venue type";
            }
            enum "hs-institutional-hospital" {
              value 1281;
              description
                "Institutional hospital venue type";
            }
            enum
              "hs-institutional-long-term-care" {
              value 1282;
              description
                "Institutional long term care facility venue type";
            }
            enum "hs-institutional-drug-center" {
              value 1283;
              description
                "Institutional alcohol and drug rehab center venue type";
            }
            enum "hs-institutional-group-home" {
              value 1284;
              description
                "Institutional group home venue type";
            }
            enum "hs-institutional-jail" {
              value 1285;
              description
                "Institutional jail venue type";
            }
            enum "hs-mercantile-unspecified" {
              value 1536;
              description
                "Mercantile unspecified venue type";
            }
            enum "hs-mercantile-retail-store" {
              value 1537;
              description
                "Mercantile retail store venue type";
            }
            enum "hs-mercantile-grocery-market" {
              value 1538;
              description
                "Mercantile grocery market venue type";
            }
            enum "hs-mercantile-auto-station" {
              value 1539;
              description
                "Mercantile automotive service station venue type";
            }
            enum "hs-mercantile-shopping-mall" {
              value 1540;
              description
                "Mercantile shopping mall venue type";
            }
            enum "hs-mercantile-gas-station" {
              value 1541;
              description
                "Mercantile gas station venue type";
            }
            enum "hs-residential-unspecified" {
              value 1792;
              description
                "Residential unspecified venue type";
            }
            enum "hs-residential-private" {
              value 1793;
              description
                "Residential private residence venue type";
            }
            enum "hs-residential-hotel" {
              value 1794;
              description
                "Residential hotel venue type";
            }
            enum "hs-residential-dormitory" {
              value 1795;
              description
                "Residential dormitory venue type";
            }
            enum "hs-residential-boarding-house" {
              value 1796;
              description
                "Residential boarding house venue type";
            }
            enum "hs-storage-unspecified" {
              value 2048;
              description
                "Storage unspecified venue type";
            }
            enum "hs-utility-unspecified" {
              value 2304;
              description
                "Utility unspecified venue type";
            }
            enum "hs-vehicular-unspecified" {
              value 2560;
              description
                "Vehicular unspecified venue type";
            }
            enum "hs-vehicular-automobile-truck" {
              value 2561;
              description
                "Vehicular automobile truck venue type";
            }
            enum "hs-vehicular-airplane" {
              value 2562;
              description
                "Vehicular airplane venue type";
            }
            enum "hs-vehicular-bus" {
              value 2563;
              description
                "Vehicular bus venue type";
            }
            enum "hs-vehicular-ferry" {
              value 2564;
              description
                "Vehicular ferry venue type";
            }
            enum "hs-vehicular-boat" {
              value 2565;
              description
                "Vehicular boat venue type";
            }
            enum "hs-vehicular-train" {
              value 2566;
              description
                "Vehicular train venue type";
            }
            enum "hs-vehicular-motorbike" {
              value 2567;
              description
                "Vehicular motorbike venue type";
            }
            enum "hs-outdoor-unspecified" {
              value 2816;
              description
                "Outdoor unspecified venue type";
            }
            enum "hs-outdoor-muni-mesh" {
              value 2817;
              description
                "Outdoor muni mesh network venue type";
            }
            enum "hs-outdoor-city-park" {
              value 2818;
              description
                "Outdoor city park venue type";
            }
            enum "hs-outdoor-rest-area" {
              value 2819;
              description
                "Outdoor rest area venue type";
            }
            enum "hs-outdoor-traffic-control" {
              value 2820;
              description
                "Outdoor traffic control venue type";
            }
            enum "hs-outdoor-bus-stop" {
              value 2821;
              description
                "Outdoor bus stop venue type";
            }
            enum "hs-outdoor-kiosk" {
              value 2822;
              description
                "Outdoor kiosk venue type";
            }
          }
          description
            "Venue type advertised in 802.11u WLAN beacon";
        }
    
        typedef enum-hotspot-network-type {
          type enumeration {
            enum "hs-private-network" {
              value 0;
              description "Private network type";
            }
            enum "hs-guest-private-network" {
              value 1;
              description
                "Private guest network type";
            }
            enum "hs-chargeable-public-network" {
              value 2;
              description
                "Chargeable public network type";
            }
            enum "hs-free-public-network" {
              value 3;
              description
                "Free public network type";
            }
            enum "hs-personal-device-network" {
              value 4;
              description
                "Personal device network type";
            }
            enum "hs-emergency-network" {
              value 5;
              description
                "Emergency network type";
            }
            enum "hs-test-network" {
              value 14;
              description "Test network type";
            }
            enum "hs-wildcard-network" {
              value 15;
              description
                "Wild-card network type";
            }
          }
          description
            "Type of network advertised in the 802.11u WLAN beacon";
        }
    
        typedef enum-hotspot-network-access {
          type enumeration {
            enum "hs-internet-access-forbidden" {
              value 0;
              description
                "Internet access disabled";
            }
            enum "hs-internet-access-allowed" {
              value 1;
              description
                "Internet access allowed";
            }
          }
          description
            "Ability to access internet in the 802.11u WLAN beacon";
        }
    
        typedef enum-hotspot-network-authentication-type {
          type enumeration {
            enum "hs-terms-and-conditions" {
              value 0;
              description
                "Terms and Conditions to accept";
            }
            enum "hs-online-enrollment" {
              value 1;
              description "Online enrollment";
            }
            enum "hs-http-https-redirect" {
              value 2;
              description
                "HTTP/HTTPS redirection";
            }
            enum "hs-dns-redirect" {
              value 3;
              description "DNS Redirection";
            }
          }
          description
            "Type of network authentication";
        }
    
        typedef enum-hotspot-ipv6-addr-type {
          type enumeration {
            enum "hs-ipv6-addr-not-available" {
              value 0;
              description
                "IPv6 address type not available";
            }
            enum "hs-ipv6-addr-available" {
              value 1;
              description
                "IPv6 address type available";
            }
            enum "hs-ipv6-addr-not-known" {
              value 2;
              description
                "IPv6 address type availability not known";
            }
          }
          description "Type of IPv6 address";
        }
    
        typedef enum-hotspot-ipv4-addr-type {
          type enumeration {
            enum "hs-ipv4-addr-not-available" {
              value 0;
              description
                "IPv4 address type not available";
            }
            enum "hs-ipv4-addr-public" {
              value 1;
              description
                "Public IPv4 address available";
            }
            enum "hs-ipv4-addr-port-restricted" {
              value 2;
              description
                "Port-restricted IPv4 address available";
            }
            enum "hs-ipv4-addr-1-nated-private" {
              value 3;
              description
                "Single NATed private IPv4 address available";
            }
            enum "hs-ipv4-addr-2-nated-private" {
              value 4;
              description
                "Double NATed private IPv4 address available";
            }
            enum
              "hs-ipv4-addr-port-restr-1-nated" {
              value 5;
              description
                "Port-restricted IPv4 address and single NATed IPv4 address available";
            }
            enum
              "hs-ipv4-addr-port-restr-2-nated" {
              value 6;
              description
                "Port-restricted IPv4 address and double NATed IPv4 address available";
            }
            enum "hs-ipv4-addr-not-known" {
              value 7;
              description
                "IPv4 address type availability not known";
            }
          }
          description "Type of IPv4 address";
        }
    
        typedef enum-hotspot-eap-method-type {
          type enumeration {
            enum "hs-eap-reserved" {
              value 0;
              description "EAP reserved type";
            }
            enum "hs-eap-tls" {
              value 13;
              description "EAP TLS method type";
            }
            enum "hs-eap-leap" {
              value 17;
              description "EAP LEAP method type";
            }
            enum "hs-eap-sim" {
              value 18;
              description "EAP SIM method type";
            }
            enum "hs-eap-ttls" {
              value 21;
              description "EAP TTLS method type";
            }
            enum "hs-eap-aka" {
              value 23;
              description "EAP AKA method type";
            }
            enum "hs-eap-peap" {
              value 25;
              description "EAP PEAP method type";
            }
            enum "hs-eap-fast" {
              value 43;
              description "EAP FAST method type";
            }
          }
          description
            "Type of Hotspot NAI Realm EAP Method";
        }
    
        typedef enum-hotspot-authentication-type {
          type enumeration {
            enum "hs-non-eap-pap" {
              value 0;
              description "Non EAP PAP";
            }
            enum "hs-non-eap-chap" {
              value 1;
              description "Non EAP CHAP";
            }
            enum "hs-non-eap-mschap" {
              value 2;
              description "Non EAP MSCHAP";
            }
            enum "hs-non-eap-mschap-v2" {
              value 3;
              description "Non EAP MSCHAP-v2";
            }
            enum "hs-inner-eap-tls" {
              value 4;
              description "EAP TLS";
            }
            enum "hs-inner-eap-leap" {
              value 5;
              description "EAP LEAP";
            }
            enum "hs-inner-eap-sim" {
              value 6;
              description "EAP SIM";
            }
            enum "hs-inner-eap-ttls" {
              value 7;
              description "EAP TTLS";
            }
            enum "hs-inner-eap-aka" {
              value 8;
              description "EAP AKA";
            }
            enum "hs-inner-eap-peap" {
              value 9;
              description "EAP PEAP";
            }
            enum "hs-inner-eap-fast" {
              value 10;
              description "EAP FAST";
            }
            enum "hs-cred-sim" {
              value 11;
              description "SIM credential";
            }
            enum "hs-cred-usim" {
              value 12;
              description "USIM credential";
            }
            enum "hs-cred-nfc" {
              value 13;
              description "NFC credential";
            }
            enum "hs-cred-hw-token" {
              value 14;
              description
                "Hardware token credential";
            }
            enum "hs-cred-softoken" {
              value 15;
              description "Softoken credential";
            }
            enum "hs-cred-certificate" {
              value 16;
              description
                "Certificate credential";
            }
            enum "hs-cred-user-password" {
              value 17;
              description
                "Username and password credential";
            }
            enum "hs-cred-none" {
              value 18;
              description "No credentials";
            }
            enum "hs-tunn-eap-cred-sim" {
              value 19;
              description
                "SIM tunneled EAP credential";
            }
            enum "hs-tunn-eap-cred-usim" {
              value 20;
              description
                "USIM tunneled EAP credential";
            }
            enum "hs-tunn-eap-cred-nfc" {
              value 21;
              description
                "NFC tunneled EAP credential";
            }
            enum "hs-tunn-eap-cred-hw-token" {
              value 22;
              description
                "Hardware token tunneled EAP credential";
            }
            enum "hs-tunn-eap-cred-softoken" {
              value 23;
              description
                "Softoken tunneled EAP credential";
            }
            enum "hs-tunn-eap-cred-certificate" {
              value 24;
              description
                "Certificate tunneled EAP credential";
            }
            enum "hs-tunn-eap-cred-user-pass" {
              value 25;
              description
                "Username and password tunneled EAP credential";
            }
            enum "hs-tunn-eap-cred-anonymous" {
              value 26;
              description
                "Anonymous tunneled EAP credential";
            }
          }
          description "Authentication Type";
        }
    
        typedef enum-hotspot-authentication-param-type {
          type enumeration {
            enum "hs-inner-auth-non-eap" {
              value 2;
              description
                "Non-EAP Inner Authentication";
            }
            enum "hs-inner-auth-eap" {
              value 3;
              description "Inner Authentication";
            }
            enum "hs-credential" {
              value 5;
              description
                "Credential Authentication";
            }
            enum "hs-tunneled-eap-credential" {
              value 6;
              description
                "Tunneled-Credential Authentication";
            }
          }
          description
            "Type of EAP method authentication parameter";
        }
    
        typedef enum-hotspot-non-eap-inner-auth-type {
          type enumeration {
            enum "hs-non-eap-reserved" {
              value 0;
              description
                "Reserved non EAP method";
            }
            enum "hs-pap" {
              value 1;
              description "Non EAP PAP";
            }
            enum "hs-chap" {
              value 2;
              description "Non EAP CHAP";
            }
            enum "hs-mschap" {
              value 3;
              description "Non EAP MSCHAP";
            }
            enum "hs-mschap-v2" {
              value 4;
              description "Non EAP MSCHAP-V2";
            }
          }
          description
            "Non-EAP Inner Authentication Type";
        }
    
        typedef enum-hotspot-credential-type {
          type enumeration {
            enum "hs-credential-reserved" {
              value 0;
              description "Reserved credential";
            }
            enum "hs-credential-sim" {
              value 1;
              description "Credential SIM";
            }
            enum "hs-credential-usim" {
              value 2;
              description "Credential USIM";
            }
            enum "hs-credential-nfc" {
              value 3;
              description "Credential NFC";
            }
            enum "hs-credential-hw-token" {
              value 4;
              description
                "Credential Hardware Token";
            }
            enum "hs-credential-softoken" {
              value 5;
              description "Credential Softoken";
            }
            enum "hs-credential-certificate" {
              value 6;
              description
                "Credential Certificate";
            }
            enum "hs-credential-username-passwd" {
              value 7;
              description
                "Credential Username/Password";
            }
            enum "hs-credential-none" {
              value 8;
              description "Credential None";
            }
          }
          description
            "Credential Authentication Type";
        }
    
        typedef enum-hotspot-tunneled-eap-credential-type {
          type enumeration {
            enum "hs-tunnel-reserved" {
              value 0;
              description
                "Reserved Tunneled credential";
            }
            enum "hs-tunnel-sim" {
              value 1;
              description
                "Tunneled credential SIM";
            }
            enum "hs-tunnel-usim" {
              value 2;
              description
                "Tunneled credential USIM";
            }
            enum "hs-tunnel-nfc" {
              value 3;
              description
                "Tunneled credential NFC";
            }
            enum "hs-tunnel-hw-token" {
              value 4;
              description
                "Tunneled credential hardware token";
            }
            enum "hs-tunnel-softoken" {
              value 5;
              description
                "Tunneled credential softoken";
            }
            enum "hs-tunnel-certificate" {
              value 6;
              description
                "Tunneled credential certificate";
            }
            enum "hs-tunnel-username-password" {
              value 7;
              description
                "Credential username/password";
            }
            enum "hs-tunnel-anonymous" {
              value 9;
              description
                "Tunneled credential anonymous";
            }
          }
          description
            "Tunneled Credential Authentication Type";
        }
    
        typedef enum-hotspot-link-status {
          type enumeration {
            enum "hs-not-configured" {
              value 0;
              description
                "WAN link status is not configured";
            }
            enum "hs-up" {
              value 1;
              description "WAN link is UP";
            }
            enum "hs-down" {
              value 2;
              description "WAN link is DOWN";
            }
            enum "hs-test-state" {
              value 3;
              description
                "WAN link in test state";
            }
          }
          description "Status of WAN link";
        }
    
        typedef enum-osu-method-type {
          type enumeration {
            enum "hs-oma-dm" {
              value 0;
              description "OMA DM method";
            }
            enum "hs-soap-xml-spp" {
              value 1;
              description "SOAP/XML SPP method";
            }
            enum "hs-none" {
              value 255;
              description "No method configured";
            }
          }
          description "OSU Method Type";
        }
    
        typedef enum-hotspot-connection-status-type {
          type enumeration {
            enum "hs-closed" {
              value 0;
              description "Connection is CLOSED";
            }
            enum "hs-open" {
              value 1;
              description "Connection is OPEN";
            }
            enum "hs-unknown" {
              value 2;
              description
                "Connection is UNKNOWN";
            }
          }
          description "Status of connection";
        }
    
        typedef enum-hotspot-advice-charge-type {
          type enumeration {
            enum "hs-charge-time-based" {
              value 0;
              description
                "Advice of charge is time based";
            }
            enum "hs-charge-data-volume-based" {
              value 1;
              description
                "Advice of charge is data volume based";
            }
            enum
              "hs-charge-time-data-volume-based" {
              value 2;
              description
                "Advice of charge is time and data volume based";
            }
            enum "hs-charge-unlimited" {
              value 3;
              description
                "Advice of charge is unlimited";
            }
          }
          description "Advice charge type";
        }
    
        grouping st-hotspot-venue-name {
          description
            "Hotspot 2.0 venue name configuration";
          leaf language {
            type string {
              length "2|3";
              pattern '[a-z]*';
            }
            description
              "Language code (2 or 3 characters) of this venue name";
          }
    
          leaf name {
            type string {
              length "1..220";
              pattern
                "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            mandatory true;
            description
              "Name of the venue in the language specified by the 'language' attribute. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard.";
          }
    
          leaf url {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description
              "URL of the venue (optional)";
          }
    
          leaf add-ap-mac {
            type empty;
            description
              "Append AP MAC to URL (optional)";
          }
        }  // grouping st-hotspot-venue-name
    
        grouping st-hotspot-roaming-element {
          description
            "802.11u roaming configuration (Operator Identifiers)";
          leaf is-beacon {
            type boolean;
            description
              "Indicates whether this roaming entry is included in the WLAN beacon (Maximum 3)";
          }
    
          leaf roaming-element {
            type string {
              length "6|10";
              pattern '[0-9a-fA-F]*';
            }
            description
              "Hex-encoded (byte-string) roaming OI value";
          }
        }  // grouping st-hotspot-roaming-element
    
        grouping st-hotspot-network-auth-type {
          description
            "802.11u network authentication configuration returned to the wireless clients";
          leaf type {
            type enum-hotspot-network-authentication-type;
            description
              "Type of the network authentication";
          }
    
          leaf url {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            must
              "string-length(current()) = 0 or ../type = 'hs-terms-and-conditions' or ../type = 'hs-http-https-redirect'" {
              error-message
                "URL is only allowed for Terms & Conditions or HTTP/HTTPS redirection authentication type";
              error-app-tag "must-violation";
            }
            description
              "URL for Terms & Conditions or HTTP/HTTPS redirection authentication types";
          }
        }  // grouping st-hotspot-network-auth-type
    
        grouping st-hotspot-domain-name {
          description
            "802.11u domain name configuration";
          leaf name {
            type string {
              length "1..220";
              pattern '[a-z0-9.-]+';
            }
            description "Name of the domain";
          }
    
          leaf aaa-operator-name {
            type boolean;
            default "false";
            description
              "Use this domain name as AAA operator name attribute";
          }
        }  // grouping st-hotspot-domain-name
    
        grouping st-hotspot-osu-friendly-name {
          description
            "Hotspot 2.0 OSU friendly name configuration";
          leaf language {
            type string {
              length "2..3";
              pattern '[a-z]*';
            }
            description
              "Language of the OSU friendly name and service description if provided";
          }
    
          leaf name {
            type string {
              length "1..220";
              pattern
                "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            mandatory true;
            description
              "OSU friendly name in the given language. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard.";
          }
    
          leaf description {
            type string {
              length "1..220";
              pattern
                "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description
              "OSU service description in the given language. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard.";
          }
        }  // grouping st-hotspot-osu-friendly-name
    
        grouping st-hotspot-osu-method {
          description
            "Hotspot 2.0 OSU methods configuration";
          leaf primary-method-type {
            type enum-osu-method-type;
            default "hs-none";
            description
              "Primary method to use for this OSU";
          }
    
          leaf secondary-method-type {
            type enum-osu-method-type;
            must
              "../primary-method-type != 'hs-none' or ../secondary-method-type = 'hs-none'" {
              error-message
                "OSU primary method needs to be configured if secondary method is set";
              error-app-tag "must-violation";
            }
            default "hs-none";
            description
              "Secondary method to use for this OSU";
          }
        }  // grouping st-hotspot-osu-method
    
        grouping st-hotspot-osu-icon {
          description
            "Hotspot 2.0 OSU icon configuration";
          leaf filename {
            type string {
              length "1..100";
              pattern '[A-Za-z0-9.\-_]+';
            }
            must
              "(../filename != '.') and (../filename != '..')" {
              error-message
                "Icon filename shall not be '.' nor '..'";
              error-app-tag "must-violation";
            }
            description "Icon filename";
          }
        }  // grouping st-hotspot-osu-icon
    
        grouping st-hotspot-osu-provider {
          description
            "Hotspot 2.0 online sign-up (OSU) provider configuration";
          container osu-methods {
            description
              "OSU methods supported by this OSU provider";
            uses wireless-hotspot-cfg:st-hotspot-osu-method;
          }  // container osu-methods
    
          leaf osu-provider-name {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description "OSU provider name";
          }
    
          leaf osu-server-uri {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description "OSU Server URI";
          }
    
          leaf osu-nai {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description "OSU NAI";
          }
    
          container osu-friendly-names {
            description
              "Friendly names and service descriptions of this OSU provider";
            list osu-friendly-name {
              key "language";
              max-elements 32;
              description
                "Friendly name and service description in one language of this OSU provider";
              uses wireless-hotspot-cfg:st-hotspot-osu-friendly-name;
            }  // list osu-friendly-name
          }  // container osu-friendly-names
    
          container osu-icons {
            description
              "Icons of this OSU provider";
            list osu-icon {
              key "filename";
              max-elements 32;
              description
                "Settings of one OSU icon";
              uses wireless-hotspot-cfg:st-hotspot-osu-icon;
            }  // list osu-icon
          }  // container osu-icons
        }  // grouping st-hotspot-osu-provider
    
        grouping st-hotspot-icon {
          description
            "Hotspot 2.0 icon configuration";
          leaf width {
            type uint16;
            units "pixels";
            mandatory true;
            description "Icon width (in pixels)";
          }
    
          leaf height {
            type uint16;
            units "pixels";
            mandatory true;
            description
              "Icon height (in pixels)";
          }
    
          leaf filename {
            type string {
              length "1..100";
              pattern '[A-Za-z0-9.\-_]+';
            }
            must
              "(../filename != '.') and (../filename != '..')" {
              error-message
                "Icon filename shall not be '.' nor '..'";
              error-app-tag "must-violation";
            }
            description "Icon filename";
          }
    
          leaf path {
            type string;
            must
              "(../path = 'bootflash') or (../path = 'flash')" {
              error-message
                "Icon file shall be in flash or bootflash only";
              error-app-tag "must-violation";
            }
            mandatory true;
            description
              "Icon file path (flash/bootflash)";
          }
    
          leaf language {
            type string {
              length "2|3";
              pattern '[a-z]*';
            }
            mandatory true;
            description
              "Language code (2 or 3 characters) of this icon file";
          }
    
          leaf icon-type {
            type string {
              length "1..80";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            mandatory true;
            description "Icon type";
          }
        }  // grouping st-hotspot-icon
    
        grouping st-hotspot-operator-friendly-name {
          description
            "Hotspot 2.0 Operator friendly name configuration";
          leaf language {
            type string {
              length "2|3";
              pattern '[a-z]*';
            }
            description
              "Language code (2 or 3 characters) of this operator name";
          }
    
          leaf name {
            type string {
              length "1..220";
              pattern
                "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            mandatory true;
            description
              "Name of the operator in the language specified by the 'language' attribute. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard.";
          }
        }  // grouping st-hotspot-operator-friendly-name
    
        grouping st-hotspot-charge-plan-cost-info {
          description
            "Advice of charge plan information";
          leaf language {
            type string {
              length "2..3";
              pattern '[a-z]*';
            }
            description
              "Language code of the cost information";
          }
    
          leaf currency {
            type string {
              length "3";
              pattern '[A-Z]*';
            }
            description "Currency code";
          }
        }  // grouping st-hotspot-charge-plan-cost-info
    
        grouping st-hotspot-charge-plan-info {
          description
            "Advice of charge information tuple";
          leaf filename {
            type string {
              length "1..100";
              pattern '[A-Za-z0-9.\-_]+';
            }
            must
              "(../filename != '.') and (../filename != '..')" {
              error-message
                "Charge plan information filename shall not be '.' nor '..'";
              error-app-tag "must-violation";
            }
            description
              "Filename of the XML description for charge plan information";
          }
    
          leaf path {
            type string;
            must
              "(../path = 'bootflash') or (../path = 'flash')" {
              error-message
                "Charge plan information file shall be in flash or bootflash only";
              error-app-tag "must-violation";
            }
            mandatory true;
            description
              "Path where charge plan information file is stored (bootflash or flash)";
          }
        }  // grouping st-hotspot-charge-plan-info
    
        grouping st-hotspot-charge-nai-realm {
          description
            "NAI realm information for advice of charge";
          leaf nai-realm {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description
              "NAI realm name for advice of charge";
          }
        }  // grouping st-hotspot-charge-nai-realm
    
        grouping st-hotspot-advice-charge {
          description
            "Advice of charge configuration";
          leaf charge-type {
            type enum-hotspot-advice-charge-type;
            description "Advice of charge type";
          }
    
          container nai-realms {
            description
              "NAI realm information for advice of charge";
            list charge-nai-realm {
              key "nai-realm";
              max-elements 32;
              description
                "Settings of NAI realm information for advice of charge";
              uses wireless-hotspot-cfg:st-hotspot-charge-nai-realm;
            }  // list charge-nai-realm
          }  // container nai-realms
    
          container plan-informations {
            description
              "Advice of charge plan information";
            list plan-information {
              key "language currency";
              max-elements 32;
              description
                "Settings of advice of charge plan";
              uses wireless-hotspot-cfg:st-hotspot-charge-plan-info;
    
              uses wireless-hotspot-cfg:st-hotspot-charge-plan-cost-info;
            }  // list plan-information
          }  // container plan-informations
        }  // grouping st-hotspot-advice-charge
    
        grouping st-hotspot-operating-class {
          description
            "Hotspot 2.0 Operating Class Identifier configuration";
          leaf class-id {
            type uint8 {
              range "1 .. 254";
            }
            description
              "ID number of this operating class";
          }
        }  // grouping st-hotspot-operating-class
    
        grouping st-hotspot-mcc-mnc {
          description
            "802.11u 3GPP Mobile Country Code and Mobile Network Code configuration";
          leaf mcc {
            type string {
              length "3";
              pattern '[0-9]*';
            }
            description "Mobile Country Code";
          }
    
          leaf mnc {
            type string {
              length "2|3";
              pattern '[0-9]*';
            }
            description "Mobile Network Code";
          }
        }  // grouping st-hotspot-mcc-mnc
    
        grouping st-hotspot-wan-metrics {
          description
            "Hotspot 2.0 WAN metrics configuration";
          leaf downlink-speed {
            type uint32;
            units "kbps";
            description
              "Downlink speed of WAN connection";
          }
    
          leaf uplink-speed {
            type uint32;
            units "kbps";
            description
              "Uplink speed of WAN connection";
          }
    
          leaf downlink-load {
            type uint8;
            description
              "Downlink load (scaled linearly with 255 representing 100%)";
          }
    
          leaf uplink-load {
            type uint8;
            description
              "Uplink load (scaled linearly with 255 representing 100%)";
          }
    
          leaf load-measurement-duration {
            type uint16;
            units "tenths of a second";
            description
              "Duration over which the Downlink Load and Uplink Load have been measured";
          }
    
          leaf link-status {
            type enum-hotspot-link-status;
            default "hs-not-configured";
            description "Status of WAN link";
          }
    
          leaf full-capacity-link {
            type boolean;
            description
              "Set if WAN link is currently operating at its maximum capacity";
          }
        }  // grouping st-hotspot-wan-metrics
    
        grouping st-hotspot-protocol-port {
          description
            "Hotspot 2.0 connection capability protocol/port tuple configuration";
          leaf port-number {
            type uint16;
            description "Port number";
          }
    
          leaf ip-protocol {
            type uint8;
            description "IP protocol number";
          }
        }  // grouping st-hotspot-protocol-port
    
        grouping st-hotspot-connection-capability {
          description
            "Hotspot 2.0 connection capability configuration";
          leaf status {
            type enum-hotspot-connection-status-type;
            default "hs-closed";
            description "Connection status";
          }
        }  // grouping st-hotspot-connection-capability
    
        grouping st-hotspot-beacon-params {
          description
            "Configuration of the Hotspot 2.0 and 802.11u beacon settings advertised in a WLAN";
          leaf internet-enabled {
            type enum-hotspot-network-access;
            default
              "hs-internet-access-forbidden";
            description
              "Indicates to 802.11u and Hotspot 2.0 wireless clients if they can get Internet access on this Hotspot 2.0 WLAN";
          }
    
          leaf network-type {
            type enum-hotspot-network-type;
            default "hs-private-network";
            description
              "Type of network advertised to Hotspot 2.0 and 802.11u wireless clients in the WLAN beacon";
          }
    
          leaf group-type {
            type enum-hotspot-venue-group-type;
            default "hs-unspecified-unspecified";
            description
              "Venue group and type information advertised to Hotspot 2.0 and 802.11u wireless clients in the WLAN beacon";
          }
    
          leaf hessid {
            type yang:mac-address;
            description
              "Homogenous extended service set advertised to Hotspot 2.0 and 802.11u wireless clients in the WLAN beacon";
          }
    
          leaf anqp-domain-id {
            when
              'boolean(../anqp-domain-id-present)';
            type uint16;
            description
              "Hotspot 2.0 ANQP Domain ID to advertise in the beacon and probe requests";
          }
    
          leaf anqp-domain-id-present {
            type empty;
            description
              "When this element is set, the domain ID from anqp-domain-id is advertised in the Hotspot 2.0 beacon and probe requests";
          }
        }  // grouping st-hotspot-beacon-params
    
        grouping st-anqp-server-settings {
          description
            "802.11u GAS-related configuration";
          leaf gas-request-timeout {
            type uint16 {
              range "100 .. 10000";
            }
            default "1000";
            description
              "Timeout of a fragmented GAS/ANQP reply";
          }
    
          leaf fragmentation-threshold {
            type uint16 {
              range "16 .. 1462";
            }
            default "1462";
            description
              "Fragmentation threshold for ANQP replies";
          }
        }  // grouping st-anqp-server-settings
    
        grouping st-hotspot-nai-realm {
          description
            "802.11u NAI Realm configuration";
          leaf nai-realm {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description "NAI realm";
          }
    
          container eap-methods {
            description
              "EAP methods returned by this NAI Realm";
            list eap-method {
              key "eap-method";
              max-elements 255;
              description
                "Settings of one EAP method";
              uses wireless-hotspot-cfg:st-hotspot-eap-method;
            }  // list eap-method
          }  // container eap-methods
        }  // grouping st-hotspot-nai-realm
    
        grouping st-hotspot-eap-method {
          description
            "802.11u NAI Realm EAP method configuration";
          leaf eap-method {
            type enum-hotspot-eap-method-type;
            must
              "../eap-method != 'hs-eap-reserved'" {
              error-message
                "Reserved EAP method not permitted";
              error-app-tag "must-violation";
            }
            description "NAI Realm EAP method";
          }
    
          container auth-params {
            status obsolete;
            description
              "Authentication parameters returned by an EAP method";
            list auth-param {
              key "eap-auth-type-key";
              max-elements 255;
              status obsolete;
              description
                "Settings of one EAP authentication parameter";
              uses wireless-hotspot-cfg:st-hotspot-eap-auth-param;
            }  // list auth-param
          }  // container auth-params
    
          container auth-types {
            description
              "Authentication types returned by an EAP method";
            list auth-type {
              key "eap-auth-type-key";
              max-elements 255;
              description
                "Settings of one EAP authentication type";
              uses wireless-hotspot-cfg:st-hotspot-eap-auth-type;
            }  // list auth-type
          }  // container auth-types
        }  // grouping st-hotspot-eap-method
    
        grouping st-hotspot-eap-auth-param {
          description
            "802.11u EAP Authentication Parameter Type configuration";
          leaf eap-auth-type-key {
            type enum-hotspot-authentication-param-type;
            description
              "EAP Authentication Parameter Type Key";
          }
    
          leaf non-eap-inner-value {
            when
              "(../eap-auth-type-key = 'hs-inner-auth-non-eap')";
            type enum-hotspot-non-eap-inner-auth-type;
            must
              "../non-eap-inner-value != 'hs-non-eap-reserved'" {
              error-message
                "Reserved non EAP inner authentication value not permitted";
              error-app-tag "must-violation";
            }
            default "hs-non-eap-reserved";
            description
              "Non-EAP Inner Authentication value";
          }
    
          leaf inner-eap-method-value {
            when
              "(../eap-auth-type-key = 'hs-inner-auth-eap')";
            type enum-hotspot-eap-method-type;
            must
              "../inner-eap-method-value != 'hs-eap-reserved'" {
              error-message
                "Reserved inner authentication EAP value not permitted";
              error-app-tag "must-violation";
            }
            default "hs-eap-reserved";
            description
              "Inner Authentication EAP value";
          }
    
          leaf credential-value {
            when
              "(../eap-auth-type-key = 'hs-credential')";
            type enum-hotspot-credential-type;
            must
              "../credential-value != 'hs-credential-reserved'" {
              error-message
                "Reserved credential value not permitted";
              error-app-tag "must-violation";
            }
            default "hs-credential-reserved";
            description
              "Authentication Credential value";
          }
    
          leaf tunnel-value {
            when
              "(../eap-auth-type-key = 'hs-tunneled-eap-credential')";
            type enum-hotspot-tunneled-eap-credential-type;
            must
              "../tunnel-value != 'hs-tunnel-reserved'" {
              error-message
                "Reserved tunneled EAP credential value not permitted";
              error-app-tag "must-violation";
            }
            default "hs-tunnel-reserved";
            description
              "Tunneled EAP Credential value";
          }
        }  // grouping st-hotspot-eap-auth-param
    
        grouping st-hotspot-eap-auth-type {
          description
            "802.11u EAP Authentication Type configuration";
          leaf eap-auth-type-key {
            type enum-hotspot-authentication-type;
            description
              "EAP Authentication Type Key";
          }
        }  // grouping st-hotspot-eap-auth-type
    
        grouping st-hotspot-string-timestamp {
          description
            "Terms and conditions timestamp";
          leaf date {
            type string {
              pattern
                '([1-9][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[0-1])';
            }
            description
              "Date of terms and conditions timestamp";
          }
    
          leaf time {
            type string {
              pattern
                '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]';
            }
            description
              "Time of terms and conditions timestamp in UTC";
          }
        }  // grouping st-hotspot-string-timestamp
    
        grouping st-hotspot-anqp-server {
          description
            "Hotspot 2.0 ANQP server configuration";
          leaf server-name {
            type string {
              length "1..220";
              pattern
                "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description
              "Name of the ANQP server configuration";
          }
    
          leaf description {
            type string {
              length "0..220";
              pattern
                "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']*";
            }
            default "";
            description
              "Description of the ANQP server configuration";
          }
    
          container server-settings {
            description
              "General settings of this ANQP server";
            uses wireless-hotspot-cfg:st-anqp-server-settings;
          }  // container server-settings
    
          container beacon-params {
            description
              "Hotspot beacon related settings of this ANQP server";
            uses wireless-hotspot-cfg:st-hotspot-beacon-params;
          }  // container beacon-params
    
          leaf ipv4-type {
            type enum-hotspot-ipv4-addr-type;
            default "hs-ipv4-addr-not-known";
            description
              "Available IPv4 address type settings of this ANQP server";
          }
    
          leaf ipv6-type {
            type enum-hotspot-ipv6-addr-type;
            default "hs-ipv6-addr-not-known";
            description
              "Available IPv6 address type settings of this ANQP server";
          }
    
          container wan-metrics {
            description
              "WAN metrics of this ANQP server";
            uses wireless-hotspot-cfg:st-hotspot-wan-metrics;
          }  // container wan-metrics
    
          leaf osu-ssid {
            type string {
              length "1..32";
              pattern
                "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+";
            }
            description
              "Hotspot 2.0 SSID to use for online sign-up (OSU)";
          }
    
          container roaming-elements {
            description
              "Roaming OIs defined for this ANQP server";
            list roaming-element {
              key "roaming-element";
              max-elements 258;
              description
                "Settings of one roaming OI";
              uses wireless-hotspot-cfg:st-hotspot-roaming-element;
            }  // list roaming-element
          }  // container roaming-elements
    
          container network-auth-types {
            description
              "Authentication types required on this network, returned to the wireless clients";
            list network-auth-type {
              key "type";
              max-elements 4;
              description
                "Type of one authentication";
              uses wireless-hotspot-cfg:st-hotspot-network-auth-type;
            }  // list network-auth-type
          }  // container network-auth-types
    
          container domain-names {
            description
              "Domain names returned by this ANQP Server";
            list domain-name {
              key "name";
              max-elements 32;
              description
                "Available domain name";
              uses wireless-hotspot-cfg:st-hotspot-domain-name;
            }  // list domain-name
          }  // container domain-names
    
          container venue-names {
            description
              "Venue names & translations returned by this ANQP Server";
            list venue-name {
              key "language";
              max-elements 32;
              description
                "Settings of one venue name translation";
              uses wireless-hotspot-cfg:st-hotspot-venue-name;
            }  // list venue-name
          }  // container venue-names
    
          container nai-realms {
            description
              "NAI Realms returned by this ANQP Server";
            list nai-realm {
              key "nai-realm";
              max-elements 32;
              description "Available NAI Realm";
              uses wireless-hotspot-cfg:st-hotspot-nai-realm;
            }  // list nai-realm
          }  // container nai-realms
    
          container hotspot-3gpp-cellular-networks {
            description
              "3GPP Cellular Networks returned by this ANQP Server";
            list hotspot-3gpp-cellular-network {
              key "mcc mnc";
              max-elements 32;
              description
                "3GPP Cellular Network";
              uses wireless-hotspot-cfg:st-hotspot-mcc-mnc;
            }  // list hotspot-3gpp-cellular-network
          }  // container hotspot-3gpp-cellular-networks
    
          container operator-friendly-names {
            description
              "Operator names & translations returned by this ANQP Server";
            list operator-friendly-name {
              key "language";
              max-elements 32;
              description
                "Settings of one operator name translation";
              uses wireless-hotspot-cfg:st-hotspot-operator-friendly-name;
            }  // list operator-friendly-name
          }  // container operator-friendly-names
    
          container operating-classes {
            description
              "Operating Class Identifiers returned by this ANQP Server";
            list operating-class {
              key "class-id";
              max-elements 32;
              description
                "Settings of one operating class identifier";
              uses wireless-hotspot-cfg:st-hotspot-operating-class;
            }  // list operating-class
          }  // container operating-classes
    
          container osu-providers {
            description
              "OSU providers returned by this ANQP Server";
            list osu-provider {
              key "osu-provider-name";
              max-elements 32;
              description
                "Available OSU provider";
              uses wireless-hotspot-cfg:st-hotspot-osu-provider;
            }  // list osu-provider
          }  // container osu-providers
    
          container connection-capabilities {
            description
              "Connection capabilities returned by this ANQP Server";
            list connection-capability {
              key "port-number ip-protocol";
              max-elements 255;
              description
                "Settings of one connection capability";
              uses wireless-hotspot-cfg:st-hotspot-connection-capability;
    
              uses wireless-hotspot-cfg:st-hotspot-protocol-port;
            }  // list connection-capability
          }  // container connection-capabilities
    
          container terms-conditions-timestamp {
            description
              "Terms and conditions timestamp";
            uses wireless-hotspot-cfg:st-hotspot-string-timestamp;
          }  // container terms-conditions-timestamp
    
          leaf terms-conditions-filename {
            type string {
              length "1..100";
              pattern '[A-Za-z0-9.\-_]+';
            }
            must
              "(../terms-conditions-filename != '.') and (../terms-conditions-filename != '..')" {
              error-message
                "Terms and conditions filename shall not be '.' nor '..'";
              error-app-tag "must-violation";
            }
            description
              "Terms and conditions filename";
          }
    
          leaf terms-conditions-urlfilter {
            type string {
              length "1..32";
              pattern "[^#'%?+ ]+";
            }
            description
              "Terms and conditions URL filter name";
          }
    
          container advice-charges {
            description "Advice of charge types";
            list advice-charge {
              key "charge-type";
              max-elements 32;
              description
                "Settings of one advice charge";
              uses wireless-hotspot-cfg:st-hotspot-advice-charge;
            }  // list advice-charge
          }  // container advice-charges
        }  // grouping st-hotspot-anqp-server
    
        grouping st-hotspot-global-config {
          description
            "Configuration of global Hotspot 2.0 settings";
          leaf max-gas-req-per-sec {
            type uint16 {
              range "1 .. 2500";
            }
            default "2500";
            description
              "Maximum number of GAS/ANQP requests to process per seconds. Further requests will be dropped";
          }
        }  // grouping st-hotspot-global-config
    
        container hotspot-cfg-data {
          description
            "Configuration for the WiFi Alliance Hotspot 2.0 (Passpoint) capabilities of the wireless controller, including configuration for 802.11u";
          container hotspot-anqp-server-configs {
            description
              "Configuration of all the different ANQP Servers available on the wireless controller";
            list hotspot-anqp-server-config {
              key "server-name";
              description
                "Configuration of a given ANQP Server";
              uses wireless-hotspot-cfg:st-hotspot-anqp-server;
            }  // list hotspot-anqp-server-config
          }  // container hotspot-anqp-server-configs
    
          container hotspot-icons {
            description
              "Configuration for all the Hotspot icons available on the wireless controller";
            list hotspot-icon {
              key "filename";
              max-elements 255;
              description
                "Configuration of a given Hotspot icon";
              uses wireless-hotspot-cfg:st-hotspot-icon;
            }  // list hotspot-icon
          }  // container hotspot-icons
    
          container hotspot-global-config {
            presence "hotspot-global-config";
            description
              "Configuration of the global settings for the Hotspot 2.0 feature";
            uses wireless-hotspot-cfg:st-hotspot-global-config;
          }  // container hotspot-global-config
        }  // container hotspot-cfg-data
      }  // module Cisco-IOS-XE-wireless-hotspot-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.