openconfig-ap-manager

This module defines the top level configuration and state data for a system which manages Access Points.

  • Version: 2018-02-14

    openconfig-ap-manager@2018-02-14


    
      module openconfig-ap-manager {
    
        yang-version 1;
    
        namespace
          "http://openconfig.net/yang/wifi/ap-manager";
    
        prefix ap-manager;
    
        import openconfig-extensions {
          prefix oc-ext;
        }
        import openconfig-yang-types {
          prefix oc-yang;
        }
        import openconfig-inet-types {
          prefix oc-inet;
        }
        import openconfig-wifi-types {
          prefix oc-wifi;
        }
    
        organization "OpenConfig working group";
    
        contact
          "OpenConfig working group
    www.openconfig.net";
    
        description
          "This module defines the top level configuration and state data for a
    system which manages Access Points.";
    
        revision "2018-02-14" {
          description "Initial version";
          reference
            "0.1.0";
    
        }
    
        oc-ext:openconfig-version "0.1.0";
    
        grouping provision-aps-config {
          description
            "Assignment of hostname to an Access Point.";
          leaf mac {
            type oc-yang:mac-address;
            description
              "MAC address of the AP primary Ethernet interface. If AP
    has multiple Ethernet interfaces, this would be the MAC printed
    on the unit label and referenced within the management system.
    Vendors MUST reject attempts to configure this leaf.";
          }
    
          leaf hostname {
            type oc-inet:domain-name;
            description
              "Hostname of the Access Point.";
          }
    
          leaf country-code {
            type string {
              pattern '[A-Z]{2}';
            }
            description
              "Country code where the AP operates in ISO 3166-1 alpha-2
    format.";
          }
        }  // grouping provision-aps-config
    
        grouping controller-aps-system-state {
          description
            "Grouping for a Controller & AP system state data.";
          leaf mac {
            type oc-yang:mac-address;
            description
              "MAC address of the AP primary Ethernet interface. If AP
    has multiple Ethernet interfaces, this would be the MAC printed
    on the unit label and referenced within the management system.
    Vendors MUST reject attempts to configure this leaf.";
          }
    
          leaf hostname {
            type oc-inet:domain-name;
            description
              "Hostname of the Access Point.";
          }
    
          leaf opstate {
            type identityref {
              base oc-wifi:AP_STATE;
            }
            description
              "The current operational state of the AP.";
          }
    
          leaf uptime {
            type uint32;
            units "seconds";
            description
              "Seconds this AP has been in the op-state of 'UP'.";
          }
    
          leaf enabled {
            type boolean;
            description
              "Wheather the AP is enabled or disabled.";
          }
    
          leaf serial {
            type string;
            description
              "Serial number of the Access Point.";
          }
    
          leaf model {
            type string;
            description
              "Model number of the Access Point.";
          }
    
          leaf ipv4 {
            type oc-inet:ipv4-address;
            description
              "The IPv4 address of the Access Point.";
          }
    
          leaf ipv6 {
            type oc-inet:ipv6-address;
            description
              "The IPv6 address of the Access Point.";
          }
    
          leaf power-source {
            type enumeration {
              enum "AT" {
                value 0;
                description
                  "Powered using 802.3at.";
              }
              enum "AF" {
                value 1;
                description
                  "Powered using 802.3af.";
              }
              enum "PLUG" {
                value 2;
                description
                  "Powered using local source, not PoE.";
              }
            }
            description
              "Enumerate how the AP is being powered.";
          }
        }  // grouping controller-aps-system-state
    
        grouping provision-ap-top {
          description
            "Top-level grouping for assigning hostnames to APs.";
          container provision-aps {
            description
              "Top most container for assigning hostnames to APs.";
            list provision-ap {
              key "mac";
              description
                "List of MAC addresses that will have hostnames assigned.";
              leaf mac {
                type leafref {
                  path "../config/mac";
                }
                description
                  "Reference to the MAC address list key. This leaf is a reference
    only and not to be configured.";
              }
    
              container config {
                description
                  "Config container for assigning hostnames to APs.";
                uses provision-aps-config;
              }  // container config
    
              container state {
                config false;
                description
                  "State container for assigning hostnames to APs.";
                uses provision-aps-config;
              }  // container state
            }  // list provision-ap
          }  // container provision-aps
        }  // grouping provision-ap-top
    
        grouping joined-aps-top {
          description
            "Top-level grouping for APs assigned to controller(s).";
          container joined-aps {
            description
              "Top most container for joined-aps.";
            list joined-ap {
              key "hostname";
              config false;
              description
                "List of access points that have joined the controller.";
              leaf hostname {
                type leafref {
                  path "../state/hostname";
                }
                description
                  "Reference to the MAC address list key.";
              }
    
              container state {
                config false;
                description
                  "State container for Joined APs.";
                uses controller-aps-system-state;
              }  // container state
            }  // list joined-ap
          }  // container joined-aps
        }  // grouping joined-aps-top
    
        uses provision-ap-top;
    
        uses joined-aps-top;
      }  // module openconfig-ap-manager
    

© 2023 YumaWorks, Inc. All rights reserved.