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}

Response

The JSON in the body of the response is for the revoked assignment.

HTTP/1.1 200 OK

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
}

Response

The JSON in the body of the response is for the revoked assignment.

HTTP/1.1 200 OK