Purchased Pool Licenses

Overview

You can use this API to activate, reactivate, or deactivate a purchased pool license from BIG-IQ. You can alternatively activate a purchased pool license by using the License Initial Activation API. Initial-activation can make it easier to activate pool-style licenses because you do not need knowledge about the type of license registration key. To use the purchased pool license API you must have a administrator, device manager, or license manager role. I

You must activate a purchased pool license before you can use BIG-IQ to assign it to a BIG-IP. When assigned as a license member, that BIG-IP is counted as occupying a seat of the purchased pool license. The value of the totalDeviceLicenses field indicates the total numbers seats offered by the purchased pool license and freeDeviceLicenses tracks how many seats are currently unfilled and still available. You can assign an activated purchased pool license to a BIG-IP using the Purchased Pool License Members API or by using the License Assign/Revoke API.

REST Endpoint: /mgmt/cm/device/licensing/pool/purchased-pool/licenses

Requests

GET /mgmt/cm/device/licensing/pool/purchased-pool/licenses

Request Parameters

None

Query Parameters

None

Response

The JSON in the GET’s response can contain the following parameters.

HTTP/1.1 200 OK

Name Type Description
baseRegKey string The base registration key of the license.
dossier string For manual activation, this provides a dossier you can use to retrieve the license text from the F5 licensing web portal.
eulaText string The text of the end user license agreement (EULA).
freeDeviceLicenses number The number of purchased pool license seats which are still available.
licenseState object Information about the license.
     authVers string A license version.
     evaluationStartDateTime string Formatted Date/Time when license evaluation started. For example, “2017-02-16T00:00:00-08:00”
     evaluationEndDateTime string Formatted Date/Time when license evaluation ended. For example, “2017-03-20T00:00:00-07:00”
     exclusivePlatform array A list of compatible platforms.
     featureFlags object array Features of license.
          featureName string Name of the license feature.
          featureValue string Value for the license feature.
     licensedDateTime string Formatted Date/Time when licensed. For example, “2017-02-17T00:00:00-08:00”
     licenseEndDateTime string Formatted Date/Time when license was ended. For example, “2017-03-20T00:00:00-07:00”
     licenseStartDateTime string Formatted Date/Time when license was started. For example, “2017-02-16T00:00:00-08:00”
     licensedVersion string A license version.
     platformId string A list of platforms for this license. For example, [“BIG-IQ Pool”].
     registrationKey string The registration key for this license.
     serviceCheckDateTime string Formatted Date/Time of last service check. For example, “2017-02-17T00:00:00-08:00”
     vendor string The provider of this license.
licenseText string The license text received from the F5 licensing web portal.
method string The activation method. Possible values are “AUTOMATIC” and “MANUAL”. The default value is “AUTOMATIC”.
name string Name you have chosen for this license.
privateKey string A value for internal use.
publicKey array A value for internal use.
registeredKey array A value for internal use.
selfLink string A url to the initial activation. You can poll for the status of this specific activation by sending a GET request to the selfLink url.
sortName string This value is used by the UI.
state string The license’s state. For example, “LICENSED”.
totalDeviceLicenses number The total number of seats offered by this purchased pool license.
uuid string An unique identifier for the license.

Permissions

Role Allow
device_manager Yes
License_Manager Yes

POST /mgmt/cm/device/licensing/pool/purchased-pool/licenses

To start the activation of a purchased pool license, you can send a POST request to the purchased-pool/licenses collection. The JSON in the request can contain the following parameters.

Request Parameters

Name Type Required Description
baseRegKey string Yes The base registration key of the license.
name string Yes Name you have chosen for this license.
method string Yes The activation method. Possible values are “AUTOMATIC” and “MANUAL”. The default value is “AUTOMATIC”.

Query Parameters

None

Response

The JSON in the POST’s response can contain the following parameters.

HTTP/1.1 200 OK

Name Type Description
baseRegKey string The base registration key of the license.
dossier string For manual activation, this provides a dossier you can use to retrieve the license text from the F5 licensing web portal.
eulaText string The text of the end user license agreement (EULA).
freeDeviceLicenses number The number of purchased pool license seats which are still available.
licenseState object Information about the license.
     authVers string A license version.
     evaluationStartDateTime string Formatted Date/Time when license evaluation started. For example, “2017-02-16T00:00:00-08:00”
     evaluationEndDateTime string Formatted Date/Time when license evaluation ended. For example, “2017-03-20T00:00:00-07:00”
     exclusivePlatform array A list of compatible platforms.
     featureFlags object array Features of license.
          featureName string Name of the license feature.
          featureValue string Value for the license feature.
     licensedDateTime string Formatted Date/Time when licensed. For example, “2017-02-17T00:00:00-08:00”
     licenseEndDateTime string Formatted Date/Time when license was ended. For example, “2017-03-20T00:00:00-07:00”
     licenseStartDateTime string Formatted Date/Time when license was started. For example, “2017-02-16T00:00:00-08:00”
     licensedVersion string A license version.
     platformId string A list of platforms for this license. For example, [“BIG-IQ Pool”].
     registrationKey string The registration key for this license.
     serviceCheckDateTime string Formatted Date/Time of last service check. For example, “2017-02-17T00:00:00-08:00”
     vendor string The provider of this license.
licenseText string The license text received from the F5 licensing web portal.
method string The activation method. Possible values are “AUTOMATIC” and “MANUAL”. The default value is “AUTOMATIC”.
name string Name you have chosen for this license.
privateKey string A value for internal use.
publicKey array A value for internal use.
registeredKey array A value for internal use.
selfLink string A url to the initial activation. You can poll for the status of this specific activation by sending a GET request to the selfLink url.
sortName string This value is used by the UI.
state string The license’s state. For example, “LICENSED”.
totalDeviceLicenses number The total number of seats offered by this purchased pool license.
uuid string An unique identifier for the license.

Permissions

Role Allow
device_manager Yes
License_Manager Yes

PATCH /mgmt/cm/device/licensing/pool/purchased-pool/licenses/<id>

After starting activation, you can continue, complete, or retry activation by sending a PATCH request to the endpoint of the specific purchased pool license.

Request Parameters

Name Type Required Description
eulaText string Yes when automatic activation asks you to accept the EULA. The text of the end user license agreement (EULA).
licenseText string Yes when manual activation asks you to provide the license text. The license text received from the F5 licensing web portal.
state string Yes to reactivate a license this must be “RELICENSE”. Yes to accept the EULA this must be “ACCEPTED_EULA”. The license’s state.
method string Yes The activation method. Possible values are “AUTOMATIC” and “MANUAL”. The default value is “AUTOMATIC”.

Query Parameters

None

Response

The JSON in the body of the response can contain the following parameters.

HTTP/1.1 200 OK

Name Type Description
baseRegKey string The base registration key of the license.
dossier string For manual activation, this provides a dossier you can use to retrieve the license text from the F5 licensing web portal.
eulaText string The text of the end user license agreement (EULA).
freeDeviceLicenses number The number of purchased pool license seats which are still available.
licenseState object Information about the license.
     authVers string A license version.
     evaluationStartDateTime string Formatted Date/Time when license evaluation started. For example, “2017-02-16T00:00:00-08:00”
     evaluationEndDateTime string Formatted Date/Time when license evaluation ended. For example, “2017-03-20T00:00:00-07:00”
     exclusivePlatform array A list of compatible platforms.
     featureFlags object array Features of license.
          featureName string Name of the license feature.
          featureValue string Value for the license feature.
     licensedDateTime string Formatted Date/Time when licensed. For example, “2017-02-17T00:00:00-08:00”
     licenseEndDateTime string Formatted Date/Time when license was ended. For example, “2017-03-20T00:00:00-07:00”
     licenseStartDateTime string Formatted Date/Time when license was started. For example, “2017-02-16T00:00:00-08:00”
     licensedVersion string A license version.
     platformId string A list of platforms for this license. For example, [“BIG-IQ Pool”].
     registrationKey string The registration key for this license.
     serviceCheckDateTime string Formatted Date/Time of last service check. For example, “2017-02-17T00:00:00-08:00”
     vendor string The provider of this license.
licenseText string The license text received from the F5 licensing web portal.
method string The activation method. Possible values are “AUTOMATIC” and “MANUAL”. The default value is “AUTOMATIC”.
name string Name you have chosen for this license.
privateKey string A value for internal use.
publicKey array A value for internal use.
registeredKey array A value for internal use.
selfLink string A url to the initial activation. You can poll for the status of this specific activation by sending a GET request to the selfLink url.
sortName string This value is used by the UI.
state string The license’s state. For example, “LICENSED”.
totalDeviceLicenses number The total number of seats offered by this purchased pool license.
uuid string An unique identifier for the license.

Permissions

Role Allow
device_manager Yes
License_Manager Yes

DELETE /mgmt/cm/device/licensing/pool/purchased-pool/licenses/<id>

To deactivate a license, you can send a DELETE request to the endpoint.

Request Parameters

None

Query Parameters

None

Response

HTTP/1.1 200 OK

The JSON in the body of the response can include the following parameters.

HTTP/1.1 200 OK

Name Type Description
baseRegKey string The base registration key of the license.
dossier string For manual activation, this provides a dossier you can use to retrieve the license text from the F5 licensing web portal.
eulaText string The text of the end user license agreement (EULA).
freeDeviceLicenses number The number of purchased pool license seats which are still available.
licenseState object Information about the license.
     authVers string A license version.
     evaluationStartDateTime string Formatted Date/Time when license evaluation started. For example, “2017-02-16T00:00:00-08:00”
     evaluationEndDateTime string Formatted Date/Time when license evaluation ended. For example, “2017-03-20T00:00:00-07:00”
     exclusivePlatform array A list of compatible platforms.
     featureFlags object array Features of license.
          featureName string Name of the license feature.
          featureValue string Value for the license feature.
     licensedDateTime string Formatted Date/Time when licensed. For example, “2017-02-17T00:00:00-08:00”
     licenseEndDateTime string Formatted Date/Time when license was ended. For example, “2017-03-20T00:00:00-07:00”
     licenseStartDateTime string Formatted Date/Time when license was started. For example, “2017-02-16T00:00:00-08:00”
     licensedVersion string A license version.
     platformId string A list of platforms for this license. For example, [“BIG-IQ Pool”].
     registrationKey string The registration key for this license.
     serviceCheckDateTime string Formatted Date/Time of last service check. For example, “2017-02-17T00:00:00-08:00”
     vendor string The provider of this license.
licenseText string The license text received from the F5 licensing web portal.
method string The activation method. Possible values are “AUTOMATIC” and “MANUAL”. The default value is “AUTOMATIC”.
name string Name you have chosen for this license.
privateKey string A value for internal use.
publicKey array A value for internal use.
registeredKey array A value for internal use.
selfLink string A url to the initial activation. You can poll for the status of this specific activation by sending a GET request to the selfLink url.
sortName string This value is used by the UI.
state string The license’s state. For example, “LICENSED”.
totalDeviceLicenses number The total number of seats offered by this purchased pool license.
uuid string An unique identifier for the license.

Permissions

Role Allow
device_manager Yes
License_Manager Yes

Examples

GET to query existing purchased pool licenses

You can send a GET request to the purchased-pool/licenses collection to list all the existing purchased pool licenses.

GET https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses

Response

The JSON in the response to the GET can look similar to the following example.

{
    "items": [ ... list of purchase pool licenses ... ],
    "generation": 7,
    "kind": "cm:device:licensing:pool:purchased-pool:licenses:licensepoolworkercollectionstate",
    "lastUpdateMicros": 1487328656734798,
    "selfLink": "https://localhost/mgmt/cm/device/licensing/pool/purchased-pool/licenses"
}

POST to start purchased pool license activation

Send a POST request to the collection endpoint to start activation.

POST https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses

The JSON in the body of the POST request can look similar to the following example. For manual activation, the value of method can be set to “MANUAL”. The default value of method is “AUTOMATIC” and requires connectivity to the F5 licensing server.

{
    "baseRegKey": "R8573-25996-57909-24167-3331348",
    "name": "my license",
    "method": "AUTOMATIC"
}

Response

The JSON in the body of the POST’s response can look similar to the following example.

HTTP/1.1 200 OK

{
    "uuid": "ae74294e-f3f2-4ad3-86bc-ab3fdb5dfe4c",
    "baseRegKey": "R8573-25996-57909-24167-3331348",
    "method": "AUTOMATIC",
    "name": "my license",
    "dossier": "82b215e883...",
    "sortName": "Purchased Pool",
    "state": "GETTING_EULA",
    "publicKey": [
      48,
      -126,
      1,
      ...
    ],
    "privateKey": "HC57Vph6Ke...",
    "registeredKey": [
      -116,
      -30,
      50,
      ...
    ],
    "generation": 1,
    "lastUpdateMicros": 1487329927179822,
    "kind": "cm:device:licensing:pool:purchased-pool:licenses:licensepoolworkerstate",
    "selfLink": "https://localhost/mgmt/cm/device/licensing/pool/purchased-pool/licenses/ae74294e-f3f2-4ad3-86bc-ab3fdb5dfe4c"
}

Note the id and selfLink values for the specific activation task. After starting activation can send GET requests to the task’s endpoint and poll the task’s status.

GET to poll the purchased pool license state

You can send GET requests to the license endpoint to poll for the current state of the activation.

GET https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/ae74294e-f3f2-4ad3-86bc-ab3fdb5dfe4c

Response

The response to the GET can look similar to the following after BIG-IQ has retrieved the end user license agreement (EULA).

HTTP/1.1 200 OK

{
    "eulaText": "END USER LICENSE AGREEMENT\r\nDOC-0355-08\r\n\r\nIMPORTANT - READ BEFORE...",
    "state": "WAITING_FOR_EULA_ACCEPTANCE",
    ...
}

After starting an automatic activation, you can continue polling with GET requests until the value of state eventually transitions from “GETTING_EULA” to “WAITING_FOR_EULA_ACCEPTANCE” and the body of the response includes eulaText. The desired final status of an activated purchased pool license is “LICENSED”.

PATCH to reactivate a purchased pool license

After a purchased pool license is activated, you can reactivate it by sending a PATCH request to the license endpoint. For example, you can need to reactivate a license after adding an add-on key.

PATCH https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/ae74294e-f3f2-4ad3-86bc-ab3fdb5dfe4c

The body of the PATCH request can set the value of method to “RELICENSE”.

{
    "state": "RELICENSE",
    "method": "AUTOMATIC"
}

After the PATCH completes, you can send GET requests to poll the license state until the value of state transitions to “LICENSED”.

Response

HTTP/1.1 200 OK

{
    "state": "LICENSED",
    "totalDeviceLicenses": 25,
    "freeDeviceLicenses": 25,
    "licenseText": "#\nAuth vers :...",
    "licenseState": {
      "vendor": "F5, Inc.",
      "licensedDateTime": "2017-02-17T00:00:00-08:00",
      "licensedVersion": "5.2.0",
      "evaluationStartDateTime": "2017-02-16T00:00:00-08:00",
      "evaluationEndDateTime": "2017-03-20T00:00:00-07:00",
      "licenseEndDateTime": "2017-03-20T00:00:00-07:00",
      "licenseStartDateTime": "2017-02-16T00:00:00-08:00",
      "registrationKey": "R8573-25996-57909-24167-3331348",
      "platformId": "BIG-IQ Pool",
      "authVers": "5b",
      "serviceCheckDateTime": "2017-02-17T00:00:00-08:00",
      "exclusivePlatform": [
        "BIG-IQ Pool"
      ],
      "featureFlags": [
        {
          "featureName": "gtm_rate_fallback",
          "featureValue": "1000"
        },
        ...
    },
    ...
}

PATCH to accept the EULA and continue automatic activation

To continue automatic activation you can send a PATCH request to the specific activation.

PATCH https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/ae74294e-f3f2-4ad3-86bc-ab3fdb5dfe4c

The body of the PATCH request can look similar to the following example.

{
    "eulaText": "END USER LICENSE AGREEMENT\r\nDOC-0355-08\r\n\r\nIMPORTANT - READ BEFORE...",
    "state":"ACCEPTED_EULA"
}

After the PATCH completes, poll for the status of the activation by sending a GET requests to the license endpoint until the value of state transitions to “LICENSED”.

Response

HTTP/1.1 200 OK

{
    "state": "LICENSED",
    "totalDeviceLicenses": 25,
    "freeDeviceLicenses": 25,
    "licenseText": "#\nAuth vers :...",
    "licenseState": {
      "vendor": "F5, Inc.",
      "licensedDateTime": "2017-02-17T00:00:00-08:00",
      "licensedVersion": "5.2.0",
      "evaluationStartDateTime": "2017-02-16T00:00:00-08:00",
      "evaluationEndDateTime": "2017-03-20T00:00:00-07:00",
      "licenseEndDateTime": "2017-03-20T00:00:00-07:00",
      "licenseStartDateTime": "2017-02-16T00:00:00-08:00",
      "registrationKey": "R8573-25996-57909-24167-3331348",
      "platformId": "BIG-IQ Pool",
      "authVers": "5b",
      "serviceCheckDateTime": "2017-02-17T00:00:00-08:00",
      "exclusivePlatform": [
        "BIG-IQ Pool"
      ],
      "featureFlags": [
        {
          "featureName": "gtm_rate_fallback",
          "featureValue": "1000"
        },
        ...
    },
    ...
}

PATCH to provide license text and continue manual activation

To continue manual activation you can send a PATCH request to the license endpoint and provide in the body the value of licenseText you have obtained from the F5 licensing web portal.

PATCH https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/ae74294e-f3f2-4ad3-86bc-ab3fdb5dfe4c

The body of the PATCH request can look similar to the following example.

{
    "licenseText": "..."
}

Response

HTTP/1.1 200 OK

{
    "state": "LICENSED",
    "totalDeviceLicenses": 25,
    "freeDeviceLicenses": 25,
    "licenseText": "#\nAuth vers :...",
    "licenseState": {
      "vendor": "F5, Inc.",
      "licensedDateTime": "2017-02-17T00:00:00-08:00",
      "licensedVersion": "5.2.0",
      "evaluationStartDateTime": "2017-02-16T00:00:00-08:00",
      "evaluationEndDateTime": "2017-03-20T00:00:00-07:00",
      "licenseEndDateTime": "2017-03-20T00:00:00-07:00",
      "licenseStartDateTime": "2017-02-16T00:00:00-08:00",
      "registrationKey": "R8573-25996-57909-24167-3331348",
      "platformId": "BIG-IQ Pool",
      "authVers": "5b",
      "serviceCheckDateTime": "2017-02-17T00:00:00-08:00",
      "exclusivePlatform": [
        "BIG-IQ Pool"
      ],
      "featureFlags": [
        {
          "featureName": "gtm_rate_fallback",
          "featureValue": "1000"
        },
        ...
    },
    ...
}

After the PATCH completes, poll for the status of the activation by sending a GET requests to the license endpoint until the value of state transitions to “LICENSED”.

DELETE to deactivate a purchased pool license

To deactivate a purchased pool license you can send a DELETE request to the license’s endpoint.

DELETE https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/ae74294e-f3f2-4ad3-86bc-ab3fdb5dfe4c

Response

HTTP/1.1 200 OK

The JSON in the body of the response is for the deactivated license.