Create a Network and Assign it to a Site

This procedure outlines how to create a new network and assign it to a site. A network must be assigned to a site to be usable.

We recommend configuring the default settings or creating new services (SSIDs).

Note

Note

The attributes in this topic are a representative sample of what is a available. For a complete list of attributes, elements, and resources, see the main documentation of the REST API. The documentation resides in a user interface that is accessed using this URL: http://api.extremenetworks.com/extremecloud/rest_api/index.html

To create a network and assign it to a site:

  1. Log in to the REST API server (api.ezcloudx.com) using administrator credentials. You must also forward the credentials with each API call. For an example of how to log in, see Log in to the REST API Server.
  2. Create the new network service using the POST method. The network data type is Service Element, which is comprised of a set of one or more topologies that also include a network authentication, an authorization strategy, an edge privacy (encryption) policy (open, WPAv2), a default access control policy. It can be enabled or disabled manually or (eventually) on a schedule. Some attributes are required, such as serviceName.
    POST HTTP://{ipAddress}/v1/services

    When you POST or PUT data to the REST API, at minimum set the Content-Type header to application/json. However, you should generally specify two headers when you post the log in request.

    Example:
    • content-type: application/json ;charset=UTF-8
      
    • accept: application/json, text/plain, */*
    Any of the following Accept headers are allowed with the Content-Type header request header:
    • accept: application/json
    • accept-encoding: gzip, deflate, br
    • accept-language: en-US,en;q=0.8,und;q=0.6
    Click to expand in new window

    Request Attributes

    Attribute Data Type Description
    WpaEnterpriseElement WpaEnterpriseElement A class that contains a bag of settings specific to the specific privacy implementation used by this service. Privacy is null if the user has selected the Privacy = None option. For the prototype, none ("no privacy") and WPAv2-PSK are supported.
    WpaPskElement WpaPskElement A class that contains a bag of settings specific to the specific privacy implementation used by this service. Privacy is null if the user has selected the Privacy = None option. For the prototype, none ("no privacy") and WPAv2-PSK are supported.
    aaaPolicy String Configures AAAPolicy for this service.
    admissionControlBackgroundTraffic Boolean Select to enable Global Admission Control for Background Traffic. This feature is only available if admission control is enabled for Background. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands.
    admissionControlBestEffort Boolean Select to enable Global Admission Control for Best Effort. If the client does not support admission control for the access category that requires admission control, the traffic category will be downgraded to a lower access category that does not have mandatory admission control. For example, if admission control is required for video, and client does not support admission control for video, traffic will be downgraded to Best Effort (BE).
    admissionControlVideo Boolean Select to provide distinct thresholds for VI (video). This feature is only available if admission control is enabled for voice. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands.
    admissionControlVoice Boolean Select to enable Admission Control for Voice. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands.
    airtimeFairness Boolean Select to enable airtime fairness.
    authenticatedUserDefaultRoleID String (Required Attribute) Default role Id for authenticated user. Validations: A not null value and a valid UUID.
    azaraCos String The Azara inbound and outbound ratelimiter profile.
    bridgingMode BridgingMode Configures how packets to/from this WLAN are bridged. Packets are bridged between WLAN and local Ethernet ports. Packets are tunneled to other devices, typically wireless controllers (local/tunnel).
    captivePortalId String The captive portal UUID.
    classification SSIDClassification All traffic on this WLAN is treated as WMM (DSCP or 802.1p to different queues); voice, video, normal priority (BestEffort), or low priority traffic (Background).
    clientLoadBalancing Boolean A flag to enable client traffic load balancing.
    clientToClientCommunication Boolean A flag to enable client-to-client communication in a WLAN.
    defaultCoS String The default class of service to assign to frames that are not assigned a CoS by the role assigned to the station generating the traffic. Set this to null to leave unchanged the CoS of frames not assigned a CoS explicitly by the role of the station generating traffic. Default: null Implementation details: This can just be a string containing the name of a defined CoS. Validations: A valid UUID of CoS.
    defaultTopology String The topology (VLAN) that traffic should be placed on by default when the role assigned to the station generating the traffic does not specify the VLAN on which to forward traffic. This can be null, but it is usually easiest to assign a topology to the service than to use roles just to allow or deny specific types of traffic. Default: null Implementation detail: This can just be a string containing the name of a defined topology. Validations: A valid UUID of a topology.
    enableCaptivePortal Boolean A flag to enable captive portal.
    enabled11kSupport Boolean Enable support for 802.11k radio management. Setting this attribute to true enables the feature and setting to false disables the feature. When the feature is enabled, then support for transmitting the Quiet IE and for the 11k Beacon report are also enabled. Disabling 11k support disables the use of the quiet IE and the 11k Beacon report. Default: false (disabled)
    enabledSchedule ServiceWeeklyScheduleElement The time during which this service is enabled. It is the same time range for each site at which the service is available. Note that most UI's might want to offer simple checklists for time ranges to support (Always, Weekdays only, Office hours only, Never, etc.) and only expose an exact representation of the following data structure as an advanced option.
    features Array of strings A list of supported features.
    flexibleClientAccess Boolean Enabling this feature causes an access point (AP) to take steps to ensure that fast clients with content to send will get as much airtime as slow clients. When this is feature is turned off, the AP treats all clients equally and processes packet forwarding requests on a First-Come-First-Serve basis. Default: disable
    mbaAuthorization Boolean Select to enable MBA authorization.
    mbatimeoutRoleId String The MAC-based authentication timeout role ID. Validations: A valid UUID of a role.
    mgmtFrameProtection MgmtFrameProtection The management frame protection to use (disabled/enabled/required).
    openDNSDeviceId String Content filtering using open DNS.
    policyOnRadiusTimeout String A role to apply if the rejectonradiustimeout = false and the RADIUS request times out.
    postAuthenticatedIdleTimeout Number The number of minutes that the station can remain idle (not transmit payload traffic) before its session is terminated. This applies to stations that have authenticated to the network. Unless address space is at a premium, this can and should be set to a higher value than preAuthenticatedIdleTimeout. The default for this attribute is 30 minutes. This is an advanced option. An administrator should have to drill down for it in GUI applications. Validations: An integer between 0 and 999999.
    preAuthenticatedIdleTimeout Number The number of minutes that the station can remain idle (not transmit payload traffic) before its session is terminated. Applies to stations in the unauthenticated state. Usually this should be set to a low value since many devices associate to whatever wireless networks they see, even though the owner is not planning to use the network and may not be aware that there even is a wireless network nearby. The default for this attribute is 5 minutes. This is an advanced option. An administrator should have to drill down for it in GUI applications. Validations: An integer between 5 and 999999.
    privacyWpaPassPhrase String A string to contain the WPA-PSK passphrase.
    redirectOrigDestOnSuccess Boolean Flag to specify to redirect Pronto CP users to their original destination upon successful login.
    rejectOnRadiusTimeout Boolean A flag to reject MU if a RADIUS request times out.
    rm11kBeaconReport Boolean Select to enable the beacon report.
    rm11kQuietIe Boolean Select to enable Quiet IE.
    rm11ksupport Boolean Select to enable11rSupport.
    roamingAssistPolicy Boolean A flag to enable client roaming assistance for legacy clients (not 802.11v complaint).
    serviceName String The unique service name defined by the user. Validations: A not null and non-empty string, between 1 to 64 characters. Valid character set: Alphanumeric and special characters, except semi-colon, colon, and ampersand.
    sessionTimeout Number The maximum number of minutes that a station is allowed to have a session on the network before it is logged out. This applies even when the user is active. Setting this to 0 allows the user to stay on the network indefinitely without reauthenticating. The default for this attribute is 0. This value is used as the default maximum session duration for each new session. The session duration timeout values sent from a RADIUS server overrides this value. Validations: An integer between 0 and 999999.
    ssid String The SSID is not necessarily the same as the service name, but the service name is the default for the SSID. Validations: A not null and non-empty string, between 1 to 32 characters. Valid character set: Alphanumeric and special characters.
    status ServiceStatus The status of the service (enabled, disabled, scheduled).
    suppressSsid Boolean Include the SSID in the beacon frame or suppress it. Setting this attribute to true prevents the SSID from being advertised in the beacon. Setting it to false requires the SSID to be included in the beacon advertisements. (This should be considered an advanced option for an administrator.) Default: false
    tag String An arbitrary identifier of SSID. Examples: guest or staff
    uapsdEnabled Boolean Unscheduled Automatic Power Save Delivery (U-APSD) also known as WMM power save. Set to true to enable U-APSD and false to disable. (This is an advanced setting that most users will never need to change. It is configurable only because some client devices do not implement U-APSD correctly and run into trouble on networks using it.) Default: true (enabled)
    unAuthenticatedUserDefaultRoleID String Default role for unauthenticated users.
    vendorSpecificAttributes Array of VsaType In addition to the standard RADIUS message, you can include Vendor Specific Attributes (VSAs). The Extreme Networks IdentiFi Wireless authentication mechanism provides seven VSAs for RADIUS and other authentication mechanisms.
  3. Assign the network to an existing site.
    PUT http://ipAddress/management/v3/sites/siteID

Example: POST Request - Create a Network



{

  "custId":"1-25ROO1C",
  "id":"f0e17380-a870-11e7-8fd1-a34beb33e832",
  "serviceName":"Service_1",
  "status":"enabled","ssid":"Service_1",
  "defaultTopology":"87b7f72c-8fcb-11e5-8994-feff819cdc9f",
  "defaultCoS":"86500336-ed48-11e5-9ce9-5e5517507c66",
  "flexibleClientAccess":false,
  "privacy":null,
  "privacyWpaPassPhrase":null,
  "enabledSchedule":null,
  "suppressSsid":false,
  "mgmtFrameProtection":"enabled",
  "enabled11kSupport":false,
  "preAuthenticatedIdleTimeout":300,
  "postAuthenticatedIdleTimeout":1800,
  "sessionTimeout":0,
  "uapsdEnabled":false,
  "rm11ksupport":false,
  "rm11kBeaconReport":false,
  "rm11kQuietIe":false,
  "admissionControlVideo":false,
  "admissionControlVoice":false,
  "admissionControlBestEffort":false,
  "admissionControlBackgroundTraffic":false,
  "airtimeFairness":false,
  "mbaAuthorization":false,
  "vendorSpecificAttributes":[],
  "mbatimeoutRoleId":null,
  "enableCaptivePortal":false,
  "unAuthenticatedUserDefaultRoleID":"91f27cd0-8fcb-11e5-8994-feff819cdc9f",
  "authenticatedUserDefaultRoleID":"91f27cd0-8fcb-11e5-8994-feff819cdc9f",
  "features":["APP-CONTROL","CP-AT-AP","CP-AT-AP-PRONTO","IPV6","WIRED-PORTS"],
  "captivePortalId":null,
    "rejectOnRadiusTimeout":true,
  "policyOnRadiusTimeout":null,
  "tag":null,"aaaPolicy":null,
  "azaraCos":null,
  "bridgingMode":"local",
  "roamingAssistPolicy":false,
  "clientToClientCommunication":false,
  "openDNSDeviceId":null,
  "clientLoadBalancing":false,
  "classification":"wmm",
  "captivePortalType":"CPTYPE_NONE",
  "redirectOrigDestOnSuccess":true

}

Example: Response - Create a Network


{

"custId":"1-25ROO1C","id":"f0e17380-a870-11e7-8fd1-a34beb33e832",
"serviceName":"Service_1",
"status":"enabled","ssid":"Service_1",
"defaultTopology":"87b7f72c-8fcb-11e5-8994-feff819cdc9f",
"defaultCoS":"86500336-ed48-11e5-9ce9-5e5517507c66",
"flexibleClientAccess":false,
"privacy":null,
"privacyWpaPassPhrase":null,
"enabledSchedule":null,
"suppressSsid":false,
"mgmtFrameProtection":"enabled",
"enabled11kSupport":false,
"preAuthenticatedIdleTimeout":300,
"postAuthenticatedIdleTimeout":1800,
"sessionTimeout":0,
"uapsdEnabled":false,
"rm11ksupport":false,
"rm11kBeaconReport":false,
"rm11kQuietIe":false,
"admissionControlVideo":false,
"admissionControlVoice":false,
"admissionControlBestEffort":false,
"admissionControlBackgroundTraffic":false,
"airtimeFairness":false,
"mbaAuthorization":false,
"vendorSpecificAttributes":[],
"mbatimeoutRoleId":null,
"enableCaptivePortal":false,
"unAuthenticatedUserDefaultRoleID":"91f27cd0-8fcb-11e5-8994-feff819cdc9f",
"authenticatedUserDefaultRoleID":"91f27cd0-8fcb-11e5-8994-feff819cdc9f",
"features":["APP-CONTROL","CP-AT-AP","CP-AT-AP-PRONTO","IPV6","WIRED-PORTS"],
"captivePortalId":null,
"rejectOnRadiusTimeout":true,
"policyOnRadiusTimeout":null,
"tag":null,"aaaPolicy":null,
"azaraCos":null,
"bridgingMode":"local",
"roamingAssistPolicy":false,
"clientToClientCommunication":false,
"openDNSDeviceId":null,
"clientLoadBalancing":false,
"classification":"wmm",
"captivePortalType":"CPTYPE_NONE",
"redirectOrigDestOnSuccess":true

}

Example: PUT Request - Update a Site

{

  "custId":"1-25ROO1C",
  "id":"0c891450-a85b-11e7-8fd1-a34beb33e832",
  "siteName":"Default",
  "country":"UNITED_STATES",
  "timezone":"America/New_York",
  "scheduleUpgradeInfo":{
     "custId":null,
     "id":null,
     "preferredDayOfWeek":null,
     "preferredWeek":null,
     "preferredTime":{
       "custId":null,
       "id":null,
       "hour":0,
       "minute":0
     }
  },
  "siteManagerName":null,
  "siteManagerEmail":null,
  "contact":null,
  "smartRFPolicy":{
     "custId":null,
     "id":null,
     "txMinimumPower5":3,
     "txMaximumPower5":16,
     "txMinimumPower24":3,
     "txMaximumPower24":16,
     "acsChannelSelection5":"CHPLAN_ALLBYCOUNTRY",
     "acsChannelSelectionList5":["157+1/40","100/40","140+1/40","132+1/40","140/40","108/40","36/40","165/40","100+1/40","132/40","149+1/40","157/40","44/40","149/40","60+1/40","108+1/40","116+1/40","52/40","124/40","124+1/40","44+1/40","52+1/40","36+1/40","116/40","60/40"],
  "acsChannelSelection24":"CHPLAN_AUTO",
  "acsChannelSelectionList24":["11","1","6"],
  "dot11nChannelWidth5":"Ch1Width_40MHz",
  "dot11nChannelWidth24":"Ch1Width_20MHz",
  "rfSensitivity":"medium",
  "ocsClientAware24":0,
  "ocsClientAware5":0,
  "ocsVoiceAware24":"dynamic",
  "ocsVoiceAware5":"dynamic",
  "interferenceRecovery":true,
  "coverageHoleRecovery":true,
  "neighborRecovery":true,
  "minInterferenceChannelSwitch5":20,
  "minInterferenceChannelSwitch24":20,
  "minSnrThreshold5":20,
  "minSnrThreshold24":20,
  "runOcsScanOncePerDay":false,
  "dcsNoiseInterferenceThreshold5":-80,
  "dcsChannelOccupanyThreshold5":100,
  "dcsUpdatePeriod5":5,
  "dcsNoiseInterferenceThreshold24":-80,
  "dcsChannelOccupanyThreshold24":100,
  "dcsUpdatePeriod24":5,"interferenceWaitTime24":10
  },
   "managementPolicy":{
     "custId":null,
     "id":null,
     "name":null,"adminPassword":null,
     "enableTraps":false,
     "snmpTrapReceivers":[],
     "snmpUSMs":[]
   },
  "deviceGroups":[{
     "custId":null,
     "id":"0c891450-a85b-11e7-8fd1-a34beb33e832",
     "groupName":null,
     "loadBalanceBandPreferenceEnabled":false,
     "roleIDs":["148c4042-efb0-11e5-9ce9-5e5517507c66","91f27cd0-8fcb-11e5-8994-feff819cdc9f","0c1c48c0-a85b-11e7-8fd1-a34beb33e832","26820c30-a870-11e7-8fd1-a34beb33e832"],
  "apSerialNumbers":["1549Y-1019600000"],
  "switchSerialNumbers":["1551N-40607"],
  "topologyIDs":["87b7f72c-8fcb-11e5-8994-feff819cdc9f"],
  "serviceIDs":[],
  "backboneTopologyIDs":[],
  "radioAssignment":[{
     "serviceId":"0c602f90-a85b-11e7-8fd1-a34beb33e832",
     "radioBand":"Band5"
  }, {
     "serviceId":"0c602f90-a85b-11e7-8fd1-a34beb33e832",
     "radioBand":"Band24"
  }, {
     "serviceId":"f0e17380-a870-11e7-8fd1-a34beb33e832",
     "radioBand":"Band5"
  }, {
     "serviceId":"f0e17380-a870-11e7-8fd1-a34beb33e832",
     "radioBand":"Band24"
  } ],
  "wiredInterfaceAssignment":[],
  "enableDpi":true,"minimumBaseRate2_4":6,
  "minimumBaseRate5":6,
  "aggregateMpdu2_4":true,
  "aggregateMpdu5":true,
  "stbcEnabled2_4":false,
  "stbcEnabled5":false,
  "txbfEnabled2_4":"disabled",
  "txbfEnabled5":"muMimo",
  "dnsServers":["0.0.0.0"]
  } ],
  "treeNode":{
     "custId":null,
     "id":null,"country":null,
     "region":null,
     "campus":null,
     "city":null,
     "mapCoordinates":null
  },
  "snmpConfig":{
     "custId":null,
     "id":null,
     "snmpVersion":"DISABLED",
     "v2Communities":{},
     "v3Users":[],
     "notifications":[]
  },
  "syslogConfiguration":{
     "custId":null,
     "id":null,
     "enabled":false,
     "logging":"INFO",
     "syslogConfig":{"":514},
     "logGuestTraffic":false
  },
  "siteType":"IDENTIFI",
  "features":["APP-CONTROL","CP-AT-AP","CP-AT-AP-PRONTO","IPV6","WIRED-PORTS"],"floorIds":[]
}

Example: Response - Update a Site

{
  "custId" : "1-25ROO1C",
  "id" : "0c891450-a85b-11e7-8fd1-a34beb33e832",
  "siteName" : "Default",
  "country" : "UNITED_STATES",
  "timezone" : "America/New_York",
  "scheduleUpgradeInfo" : {
    "custId" : null,
    "id" : null,
    "preferredDayOfWeek" : null,
    "preferredWeek" : null,
    "preferredTime" : {
      "custId" : null,
      "id" : null,
      "hour" : 0,
      "minute" : 0
    }
  },
  "siteManagerName" : null,
  "siteManagerEmail" : null,
  "contact" : null,
  "smartRFPolicy" : {
    "custId" : null,
    "id" : null,
    "txMinimumPower5" : 3,
    "txMaximumPower5" : 16,
    "txMinimumPower24" : 3,
    "txMaximumPower24" : 16,
    "acsChannelSelection5" : "CHPLAN_ALLBYCOUNTRY",
    "acsChannelSelectionList5" : [ "157+1/40", "100/40", "140+1/40", "132+1/40", "140/40", "108/40", "36/40", "165/40", "100+1/40", "132/40", "149+1/40", "157/40", "44/40", "149/40", "60+1/40", "108+1/40", "116+1/40", "52/40", "124/40", "124+1/40", "44+1/40", "52+1/40", "36+1/40", "116/40", "60/40" ],
    "acsChannelSelection24" : "CHPLAN_AUTO",
    "acsChannelSelectionList24" : [ "11", "1", "6" ],
    "dot11nChannelWidth5" : "Ch1Width_40MHz",
    "dot11nChannelWidth24" : "Ch1Width_20MHz",
    "rfSensitivity" : "medium",
    "ocsClientAware24" : 0,
    "ocsClientAware5" : 0,
    "ocsVoiceAware24" : "dynamic",
    "ocsVoiceAware5" : "dynamic",
    "interferenceRecovery" : true,
    "coverageHoleRecovery" : true,
    "neighborRecovery" : true,
    "minInterferenceChannelSwitch5" : 20,
    "minInterferenceChannelSwitch24" : 20,
    "minSnrThreshold5" : 20,
    "minSnrThreshold24" : 20,
    "runOcsScanOncePerDay" : false,
    "dcsNoiseInterferenceThreshold5" : -80,
    "dcsChannelOccupanyThreshold5" : 100,
    "dcsUpdatePeriod5" : 5,
    "dcsNoiseInterferenceThreshold24" : -80,
    "dcsChannelOccupanyThreshold24" : 100,
    "dcsUpdatePeriod24" : 5,
    "interferenceWaitTime24" : 10
  },
  "managementPolicy" : {
    "custId" : null,
    "id" : null,
    "name" : null,
    "adminPassword" : null,
    "enableTraps" : false,
    "snmpTrapReceivers" : [ ],
    "snmpUSMs" : [ ]
  },
  "deviceGroups" : [ {
    "custId" : null,
    "id" : "0c891450-a85b-11e7-8fd1-a34beb33e832",
    "groupName" : null,
    "loadBalanceBandPreferenceEnabled" : false,
    "roleIDs" : [ "148c4042-efb0-11e5-9ce9-5e5517507c66", "91f27cd0-8fcb-11e5-8994-feff819cdc9f", "0c1c48c0-a85b-11e7-8fd1-a34beb33e832", "26820c30-a870-11e7-8fd1-a34beb33e832" ],
    "apSerialNumbers" : [ "1549Y-1019600000" ],
    "switchSerialNumbers" : [ "1551N-40607" ],
    "topologyIDs" : [ "87b7f72c-8fcb-11e5-8994-feff819cdc9f" ],
    "serviceIDs" : [ "0c602f90-a85b-11e7-8fd1-a34beb33e832", "f0e17380-a870-11e7-8fd1-a34beb33e832" ],
    "backboneTopologyIDs" : [ ],
    "radioAssignment" : [ {
      "custId" : null,
      "id" : null,
      "serviceId" : "0c602f90-a85b-11e7-8fd1-a34beb33e832",
      "radioBand" : "Band5"
    }, {
      "custId" : null,
      "id" : null,
      "serviceId" : "0c602f90-a85b-11e7-8fd1-a34beb33e832",
      "radioBand" : "Band24"
    }, {
      "custId" : null,
      "id" : null,
      "serviceId" : "f0e17380-a870-11e7-8fd1-a34beb33e832",
      "radioBand" : "Band5"
    }, {
      "custId" : null,
      "id" : null,
      "serviceId" : "f0e17380-a870-11e7-8fd1-a34beb33e832",
      "radioBand" : "Band24"
    } ],
    "wiredInterfaceAssignment" : [ ],
    "enableDpi" : true,
    "minimumBaseRate2_4" : 6,
    "minimumBaseRate5" : 6,
    "aggregateMpdu2_4" : true,
    "aggregateMpdu5" : true,
    "stbcEnabled2_4" : false,
    "stbcEnabled5" : false,
    "txbfEnabled2_4" : "disabled",
    "txbfEnabled5" : "muMimo",
    "dnsServers" : [ "0.0.0.0" ]
  } ],
  "treeNode" : {
    "custId" : null,
    "id" : null,
    "country" : null,
    "region" : null,
    "campus" : null,
    "city" : null,
    "mapCoordinates" : null
  },
  "snmpConfig" : {
    "custId" : null,
    "id" : null,
    "snmpVersion" : "DISABLED",
    "v2Communities" : { },
    "v3Users" : [ ],
    "notifications" : [ ]
  },
  "syslogConfiguration" : {
    "custId" : null,
    "id" : null,
    "enabled" : false,
    "logging" : "INFO",
    "syslogConfig" : { },
    "logGuestTraffic" : false
  },
  "siteType" : "IDENTIFI",
  "features" : [ "APP-CONTROL", "CP-AT-AP", "CP-AT-AP-PRONTO", "IPV6", "WIRED-PORTS" ],
  "floorIds" : [ ]
}