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 {}