Licenses REST Interface

Data

Where vWAF is integrated with Traffic Manager, you manage licenses using the Traffic Manager administration interface. Do not change any settings in the vWAF License REST Interface. Any changes made using the License REST Interface are overwritten by Traffic Manager.

License data fields are:

  • customer

    The name of the customer to whom the license was assigned.

  • certificate

    The certificate key that was used to create the license.

  • validTo

    UNIX timestamp of the moment when the license will expire or has expired.

  • validFrom

    UNIX timestamp of the moment when the license will begin or has begun to be valid.

  • capabilities

    A dict of “capability-name: amount of applications”.

  • adminserver_ip_list

    A list of IP addresses of administration nodes for which the license is valid.

  • cluster_id

    The cluster ID stored in the license.

  • number_of_enforcers

    The maximum number of licensed enforcers.

  • number_of_decider_cores_productive

    The maximum number of decider nodes allowed in productive mode (in contrast to hot standby mode, which is available for some licenses).

  • number_of_decider_cores_non_productive

    The maximum number of hot standby decider nodes.

  • serial

    The license serial (ID).

For more information regarding cluster management, see Cluster Management.

Getting a list of installed licenses

  • Request

    Method GET
    URL /licenses/
    Arguments
  • Response

    Return code Arguments Meaning
    200 [ SERIAL1, SERIAL2, ... ] list of installed license serials
    401 - no login
    403 - not enough rights
    500 - internal server error
  • Example

    The following request retrieves all installed license serials. In this case, there are two.

    $ curl -u admin:admin -H 'Content-Type: application/json' http://127.0.0.1:8087/api/af/2.0/licenses { "__name": "licenses", "__path": "/api/af/2.0/licenses/", "__subnodes": [ "68eac3a877869f6b310d54051af20e489bb7036f", "5bc86176bcf2c6003a60ecf008b2ac42b8f63152" ], "licenses": [ "68eac3a877869f6b310d54051af20e489bb7036f", "5bc86176bcf2c6003a60ecf008b2ac42b8f63152" ] }

Getting the data of a license

  • Request

    Method GET
    URL /licenses/LICENSESERIAL
    Arguments
  • Response

    Return code Arguments Meaning
    200 { LICENSEDATA } the license data
    401 - no login
    403 - not enough rights
    404 - license not found
    500 - internal server error
  • Example

    The following request retrieves the license data for the license with the serial number “68eac3a877869f6b310d54051af20e489bb7036f”.

    $ curl -u admin:admin -H 'Content-Type: application/json' http://127.0.0.1:8087/api/af/2.0/licenses/68eac3a877869f6b310d54051af20e489bb7036f {    "__name": "68eac3a877869f6b310d54051af20e489bb7036f",    "__path": "/api/af/2.0/licenses/68eac3a877869f6b310d54051af20e489bb7036f/",    "__subnodes": [],    "adminserver_ip_list": [        "127.0.0.1"    ],    "capabilities": {        "hyperguard": 10    },    "certificate": "TESTCERTIFICATE",    "cluster_id": "DEVELOPMENT",    "customer": "TEST",    "hostname": "",    "number_of_decider_cores_non_productive": 0,    "number_of_decider_cores_productive": 4,    "number_of_enforcers": 4,    "rvbd_vsn": "YOUR-RIVERBED-SERIAL-NUMBER",    "serial": "68eac3a877869f6b310d54051af20e489bb7036f",    "validFrom": 1347291986,    "validTo": 1349883986 }

Installing a new license

  • Request

    The POST body may only contain the raw license text but no other license data fields. You need to send it with content type “application/octet-stream”.

    Method POST
    URL /licenses/
    Arguments RAW_LICENSE_DATA
  • Response

    Return code Arguments Meaning
    200 { LICENSEDATA } license with the given license data successfully installed Note: rvdb_vsn is the Serial Number.
    401 - no login
    403 - not enough rights
    409 - malformed, conflicting, or missing data
    500 - internal server error
  • Example

    The following request installs the given license and retrieves the data specified by the license.

    $ cat license.txt ======== BEGIN HYPERGUARD LICENSE ======== KGRwMQpTJ21heF9yZXFfcGVyX3NlY29uZCcKcDIKSS0xCnNTJ251bWJlcl9v Zl9kZWNpZGVyX2NvcmVzX3Byb2R1Y3RpdmUnCnAzCkk4CnNTJ3Byb2R1Y3Qn CnA0ClMnaHlwZXJndWFyZCcKcDUKc1MndmFsaWRfZnJvbScKcDYKRjE0MDE4 NzU0OTMKc1MnYWRtaW5fc2VydmVyX2lwX2xpc3QnCnA3CihscDgKUycxOTIu ........ yMDQxMzAwMzc= ========  END  HYPERGUARD LICENSE ======== $ curl -u admin:admin -H "Content-Type: application/octet-stream" --data-binary  @license.txt http://127.0.0.1:8087/api/af/2.0/licenses {    "__name": "9f8c4bb2b1fff9103839bb278061a9430484030c",    "__path": "/api/af/2.0/licenses/9f8c4bb2b1fff9103839bb278061a9430484030c/",    "__subnodes": [],    "adminserver_ip_list": [      "192.168.240.3"    ],    "capabilities": {      "hyperguard": 10    },    "certificate": "",    "cluster_id": "",    "customer": "",    "feature_list": [],    "number_of_decider_cores_non_productive": 0,    "number_of_decider_cores_productive": 8,    "number_of_enforcers": 8,    "rvbd_vsn": "YOUR-RIVERBED-SERIAL-NUMBER",    "serial": "9f8c4bb2b1fff9103839bb278061a9430484030c",    "validFrom": 1401875493.0,    "validTo": 1404553893.0 }

Uninstalling a license

  • Request

    Method DELETE
    URL /licenses/LICENSESERIAL
    Arguments
  • Response

    Return code Arguments Meaning
    200 - license successfully uninstalled
    401 - no login
    403 - not enough rights
    404 - license not found
    500 - internal server error
  • Example

    The following request uninstalls the license with the serial number “68eac3a877869f6b310d54051af20e489bb7036f”.

    $ curl -X DELETE -u admin:admin -H 'Content-Type: application/json' http://127.0.0.1:8087/api/af/2.0/licenses/68eac3a877869f6b310d54051af20e489bb7036f {}