RegKey Pool Members¶
Overview¶
You can use this API to assign or revoke a BIG-IP as a member of a RegKey pool license. Each registration key offered by a RegKey pool can be assigned to only one BIG-IP. You can also assign and revoke a BIG-IP as a member of a RegKey pool license using the License Assign/Revoke API. You can use the RegKey Pool API to create a RegKey pool. You can manage the offerings of a RegKey pool by using the RegKey Pool Offerings API. You require the administrator, device manager, or license manager role to use this API.
In the following documentation, {id} is a placeholder which represents an identifier for an existing RegKey pool. And {regkey} represents an identifier for a specific registration key. And {member_uuid} represents an identifier for a specific member.
REST Endpoint: /mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members¶
Requests¶
GET /mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members¶
Request Parameters¶
None
Query Parameters¶
None
Response¶
The JSON in the body of a GET response can contain the following parameters.
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
items | array | A listing of assignments. |
auditRecordReference | object | Reference to audit record which tracks which BIG-IPs use which licenses. |
link | string | The url to the audit record for this assignment. |
deviceAddress | string | The IP address of the BIG-IP. |
deviceMachineId | string | The machine id of the BIG-IP. |
deviceName | string | The name of the BIG-IP. |
deviceReference | object | The deviceReference for a managed BIG-IP. An unmanaged BIG-IP has no deviceReference. |
link | string | The url to the deviceReference of the managed BIG-IP. |
id | string | Identifier for a specific existing RegKey pool. |
message | string | A message about the assignment. |
selfLink | string | Url to member assignment. |
status | string | The current status of the activation. For example, “LICENSED”. |
selfLink | string | Url to members collection. |
Permissions¶
Role | Allow |
---|---|
device_manager | Yes |
License_Manager | Yes |
POST /mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members¶
To assign a license, you can send a POST request to the members collection. The JSON in the request can contain the following parameters.
Request Parameters¶
Name | Type | Required | Description |
---|---|---|---|
deviceAddress | string | Yes | The IP address of the BIG-IP. |
deviceReference | object | Yes for a managed BIG-IP. | The deviceReference for a managed BIG-IP. An unmanaged BIG-IP has no deviceReference. |
link | string | Yes for a managed BIG-IP. | Url to the deviceReference. |
httpsPort | number | Yes if using a BIG-IP configured with an ssl-port other than 443. | The HTTP port of the BIG-IP. |
password | string | Yes for an unmanaged BIG-IP. | Password for the unmanaged BIG-IP. |
username | string | Yes for an unmanaged BIG-IP. | User name for the unmanaged BIG-IP. |
Query Parameters¶
None
Response¶
The JSON in the POST’s response can contain the following parameters.
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
auditRecordReference | object | Reference to audit record which tracks which BIG-IPs use which licenses. |
link | string | The url to the audit record for this assignment. |
deviceAddress | string | The IP address of the BIG-IP. |
deviceMachineId | string | The machine id of the BIG-IP. |
deviceName | string | The name of the BIG-IP. |
deviceReference | object | The deviceReference for a managed BIG-IP. An unmanaged BIG-IP has no deviceReference. |
link | string | The url to the deviceReference of the managed BIG-IP. |
id | string | Identifier for a specific existing RegKey pool. |
message | string | A message about the assignment. |
selfLink | string | Url to member assignment. |
status | string | The current status of the activation. For example, “LICENSED”. |
Permissions¶
Role | Allow |
---|---|
device_manager | Yes |
License_Manager | Yes |
DELETE /mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members/{member_uuid}¶
To a revoke a license, you can send a DELETE request to the specific member’s endpoint. The JSON in the request can contain the following parameters.
Request Parameters¶
Name | Type | Required | Description |
---|---|---|---|
httpsPort | string | Yes if using a BIG-IP configured with an ssl-port other than 443. | The HTTP port of the BIG-IP. |
id | string | Yes | Identifier of the BIG-IP. |
password | string | Yes for an unmanaged BIG-IP. | Password for the unmanaged BIG-IP. |
username | string | Yes for an unmanaged BIG-IP. | User name for the unmanaged BIG-IP. |
Query Parameters¶
None
Response¶
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
auditRecordReference | object | Reference to audit record which tracks which BIG-IPs use which licenses. |
link | string | The url to the audit record for this assignment. |
deviceAddress | string | The IP address of the BIG-IP. |
deviceMachineId | string | The machine id of the BIG-IP. |
deviceName | string | The name of the BIG-IP. |
deviceReference | object | The deviceReference for a managed BIG-IP. An unmanaged BIG-IP has no deviceReference. |
link | string | The url to the deviceReference of the managed BIG-IP. |
id | string | Identifier for a specific existing RegKey pool. |
message | string | A message about the assignment. |
Permissions¶
Role | Allow |
---|---|
device_manager | Yes |
License_Manager | Yes |
Examples¶
GET to find the assignments for a registration key in a RegKey pool¶
You can send a GET request to the collection to list the existing assignment for a specified registration key in a RegKey pool.
GET https://<BIG-IQ>/mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members
Response¶
The response to the GET can look similar to the following.
{
"items": [
{
"auditRecordReference": {
"link": "https://localhost/mgmt/cm/device/licensing/audit/04236435-986c-44fc-94cc-97a072b4b747"
},
"deviceAddress": "10.145.197.41",
"deviceMachineId": "7141a063-7cf8-423f-9829-9d40599fa3e0",
"deviceName": "bigip11-41.f5net.com",
"deviceReference": {
"link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/7141a063-7cf8-423f-9829-9d40599fa3e0"
},
"generation": 4,
"id": "73854946-2e75-41e0-9ffb-7ebc06abd87d",
"kind": "cm:device:licensing:pool:regkey:licenses:item:offerings:regkey:members:regkeypoollicensememberstate",
"lastUpdateMicros": 1488785701966707,
"message": "Device licensed",
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/regkey/licenses/17be603d-3978-4c82-ac86-0d0b4cce8ce3/offerings/H4537-72099-57885-27527-0188153/members/73854946-2e75-41e0-9ffb-7ebc06abd87d",
"status": "LICENSED"
}
],
"generation": 5,
"kind": "cm:device:licensing:pool:regkey:licenses:item:offerings:regkey:members:regkeypoollicensemembercollectionstate",
"lastUpdateMicros": 1488785701969074,
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/regkey/licenses/17be603d-3978-4c82-ac86-0d0b4cce8ce3/offerings/H4537-72099-57885-27527-0188153/members"
}
POST Assign a license to a managed device¶
Below is an example of assigning a registration key to a managed device. Afterwards, you should poll to check the assignment status.
POST https://<BIG-IQ>/mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members
The body of the POST request can look similar to the following.
{
"deviceReference": {
"link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/7141a063-7cf8-423f-9829-9d40599fa3e0"
}
}
Response¶
HTTP/1.1 200 OK
{
"id": "6dabfc7c-9bfc-4666-b0cf-e6fc076ac0ad",
"deviceMachineId": "7141a063-7cf8-423f-9829-9d40599fa3e0",
"deviceReference": {
"link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/7141a063-7cf8-423f-9829-9d40599fa3e0"
},
"deviceAddress": "10.145.197.41",
"deviceName": "bigip11-41.f5net.com",
"status": "INSTALLING",
"generation": 1,
"lastUpdateMicros": 1488786814492210,
"kind": "cm:device:licensing:pool:regkey:licenses:item:offerings:regkey:members:regkeypoollicensememberstate",
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/regkey/licenses/17be603d-3978-4c82-ac86-0d0b4cce8ce3/offerings/H4537-72099-57885-27527-0188153/members/6dabfc7c-9bfc-4666-b0cf-e6fc076ac0ad"
}
POST Assign a license to an unmanaged device¶
Below is an example of assigning a registration key to an unmanaged device. Afterwards, you should poll to check the assignment status. If you’re using a BIG-IP that is configured with an ssl-port other than 443 that also supports licensing with this configuration, you can supply the relevant port via the httpsPort field.
POST https://<BIG-IQ>/mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members
The body of the POST request can look similar to the following.
{
"deviceAddress": "10.145.198.181",
"username": "admin",
"password": "password",
"httpsPort": 8443
}
Response¶
HTTP/1.1 200 OK
{
"id": "c90b62f0-65ee-48aa-ad57-c4ce8d1dc933",
"deviceMachineId": "77d9d4a4-9255-4f46-907e-b2bbd717e819",
"deviceAddress": "10.145.198.181",
"deviceName": "dsc-ip3.pdsea.f5net.com",
"status": "INSTALLING",
"generation": 1,
"lastUpdateMicros": 1488787037718076,
"kind": "cm:device:licensing:pool:regkey:licenses:item:offerings:regkey:members:regkeypoollicensememberstate",
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/regkey/licenses/17be603d-3978-4c82-ac86-0d0b4cce8ce3/offerings/H4537-72099-57885-27527-0188153/members/c90b62f0-65ee-48aa-ad57-c4ce8d1dc933"
}
GET to get the status of an assignment¶
After initiating an assignment of a registration key to a device, you can query the status of the assignment to confirm the device is licensed successfully.
GET https://<BIG-IQ>/mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members/{member_uuid}
Response¶
The response to the GET can look similar to the following.
{
"message": "Device licensed",
"status": "LICENSED",
...
}
DELETE to revoke license from a managed device¶
DELETE https://<BIG-IQ>/mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members/{member_uuid}
DELETE to revoke license from an unmanaged device¶
For unmanaged devices, the request body must include administrator credentials and the member_uuid for the assignment as shown in the example. The port is optional – it will default to 443 if not provided.
DELETE https://<BIG-IQ>/mgmt/cm/device/licensing/pool/regkey/licenses/{id}/offerings/{regkey}/members/{member_uuid}
The body of the DELETE request can look similar to the following.
{
"id": "c90b62f0-65ee-48aa-ad57-c4ce8d1dc933",
"username": "admin",
"password": "password",
"httpsPort": 8443
}