Add a F5 Device
Payload
| Name | Description |
|---|---|
| name
|
(Mandatory) Name of the device. Constraints:
|
| vendor
|
(Mandatory) Vendor of the device - F5. |
| communicationAddressType
|
(Mandatory) Communication type to the device. The
possible values are:
|
| ip
|
(Mandatory) IP of the device. Constraints: Required only if communicationAddressType is IP. |
| fqdn
|
(Mandatory) FQDN of the device. Constraints: Required only if communicationAddressType is FQDN. |
| credentialType
|
(Mandatory) Type of credential to be associated for the
device. The possible values are:
|
| userName
|
(Mandatory) User name of the
device. Constraints: Required only if credential Type is Manual entry. It will not accept ‘,”,<,>. |
| password
|
(Mandatory) Encoded value of the password to
authenticate with the device. Constraints: Required only if credential Type is Manual entry. |
| credentialName
|
(Mandatory) Name of the credential to be associated
with the device. Constraints:
|
| module
|
(Mandatory) Modules with which the device is to be
added. The possible values are:
|
| isHostDevice
|
(Optional) Device to be added - host or tenant. The possible
values are:
Constraints: The value must be true if the device to be added is vCMP Host or rSeries Host. |
| hostType
|
(Optional) Type of the host device to be
added. Constraints: Mandatory if ‘isHostDevice’ is true Possible Values: vCMP Host,rSeries Host. |
| isHostDevice
|
(Optional) The type of device to be added: either the host or tenant. |
| hostType
|
(Optional) Type of the host device to be
added. Constraints: Mandatory if ‘isHostDevice’ is
true. The possible Values are:
|
| sshPort
|
(Optional) Device communication port. The default value is 22. |
| certSync
|
(Optional) Certificate sync mode. The
possible values are:
|
| isAppViewXSyncRequired
|
(Optional) Boolean value to denote whether AppViewX
group is required. Only for applicable vendors. The default value is False. |
| isAutoDetectSecondary
|
(Optional) Boolean value to denote whether secondary
devices should be automatically discovered and added to
AppViewX. The default value is False. |
| isAutoDetectTenants
|
(Optional) Applicable only for module - rSeries Host. Boolean
value to denote whether tenant devices should be automatically
discovered and added to AppViewX. The default value is True. |
| tokenBasedAuthentication
|
(Optional) Token Based authentication. The possible values are True/False. |
| dataCenter
|
(Optional) Data center with which the device is to be
added. Constraints:
|
| tenantProperties.credentialType
|
(Mandatory) Type of credential to be associated for the tenant
device. Applicable only for device with module rSeries Host. The
possible values are:
|
| tenantProperties.credentialName
|
(Mandatory) Name of the credential to be associated with the tenant device. Applicable only for device with module rSeries Host. Constraints:
|
| tenantProperties.module
|
(Mandatory) Modules with which the tenant device is to be added.
Applicable only for devices with module rSeries Host. The possible
values are:
|
| tenantProperties.sshPort
|
(Optional) Device communication port for the tenant device. Applicable only for devices with module rSeries Host. The default value is 22. |
| tenantProperties.certSync
|
(Optional) Certificate sync mode for the tenant device.
Applicable only for devices with module rSeries Host. Possible values are Managed, Monitored, Ignored The default value is Ignored. |
| tenantProperties.isAppViewXSyncRequired
|
(Optional) Boolean value to denote whether the AppViewX group is required for the tenant device. Only for applicable vendors. Applicable only for devices with module rSeries Host. The default value is False. |
Response Structure
- Status Code: 202 OK
- Message: Successful
- Headers:
- Content-Type: application/json
| Name | Description |
|---|---|
| response
|
Success message or failure description in case of error. |
| message
|
Success message or failure description in case of error. |
| appStatusCode
|
Application specific status code for the response. Will be non-null for failure response. |
| tags
|
More info in case of failure response. |
Status Codes
| HTTP Status Code | appStatusCode | Message | Possible remediation |
|---|---|---|---|
| 202 Accepted | - | Device has been successfully added and configuration parse is triggered | - |
| 400 Bad Request | ADC_INV_0004 | Validation error | One or more fields are invalid. Reason for validation failure and possible remediation will be available in ‘tags’ field of response. |
| 409 Conflict | ADC_INV_0001 | Device(s) Already Exists | Device already exists in AppViewX. Change the name of the device and IP/FQDN. |
| 409 Conflict | ADC_INV_0006 | Device Name Already Exists. | Change the name of the device and retry adding. |
| 409 Conflict | ADC_INV_0007 | IP Already Exists | Change the IP of the device and retry adding. |
| 409 Conflict | ADC_INV_0027 | FQDN already exists | Change the FQDN field of the device and retry adding. |
| 404 Not Found | ADC_INV_1076 | Device not available for the given details. | Check if the requested device is added in the inventory. |
Sample Request/Response
Use Case
Add an F5 device of name testF5Device,with IP address 192.168.xxx.xx with both LTM and BIG-IP DNS modules with username and password.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-device-add
{
"payload": {
"name": "testF5Device",
"communicationAddressType": "ip",
"ip": "192.168.112.93",
"vendor": "F5",
"module": [
"LTM",
"BIG-IP DNS"
],
"credentialType": "Manual Entry",
"userName": "admin",
"password": "YXBwdGFnQDEyMw=="
}
}{
"response": "Device is added to the inventory.",
"message": "Device has been successfully added and configuration parse is triggered.",
"appStatusCode": null,
"tags": null,
"headers": null
}Use Case
Add an F5 vcmp host device of name vcmpHost1,with IP address 192.168.xxx.xx with username and password.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-device-add
{
"payload": {
"name": "vcmpHost1",
"communicationAddressType": "ip",
"ip": "192.168.112.93",
"vendor": "F5",
"isHostDevice": true,
"hostType": "vCMP Host",
"credentialType": "Manual Entry",
"userName": "admin",
"password": "YXBwdGFnQDEyMw=="
}
}{
"response": "Device is added to the inventory.",
"message": "Device has been successfully added and configuration parse is triggered.",
"appStatusCode": null,
"tags": null,
"headers": null
}
Use Case
Add an F5 rSeries Host device of name testF5Device,with IP address 192.168.xxx.xx and auto detect all the tenants with LTM module.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-device-add
{
"payload": {
"name": "testF5Device",
"communicationAddressType": "ip",
"ip": "192.168.2.10",
"isAutoDetectTenants": true,
"vendor": "F5",
"isHostDevice": true,
"hostType": "rSeries Host",
"credentialType": "Manual Entry",
"userName": "admin",
"password": "QVZYIUY1VEVTVA==",
"tenantProperties": {
"credentialType": "Credential List - AppViewX",
"module": [
"LTM"
],
"credentialName": "avx"
}
}
}{
"response": "Device is added to the inventory.",
"message": "Device has been successfully added and configuration parse is triggered.",
"appStatusCode": null,
"tags": null,
"headers": null
}
Use Case
Add an F5 Velos Controller device of name testControllerDevice,with IP address 192.168.xxx.xx.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-device-add
{
"payload": {
"name": "testControllerDevice",
"communicationAddressType": "ip",
"ip": "192.168.2.10",
"vendor": "F5",
"isControllerDevice": true,
"credentialType": "Manual Entry",
"userName": "admin",
"password": "QVZYIUY1VEVTVA=="
}
}
{
"response": "Device is added to the inventory.",
"message": "Device has been successfully added and configuration parse is triggered.",
"appStatusCode": null,
"tags": null,
"headers": null
}
Use Case
Add an F5 Velos Partition device of name testPartitionDevice,with IP address 192.168.xxx.xx and auto detect all the tenants with the LTM module.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-device-add
{
"payload": {
"name": "testPartitionDevice",
"communicationAddressType": "ip",
"ip": "192.168.2.10",
"isAutoDetectTenants": true,
"vendor": "F5",
"isHostDevice": true,
"hostType": "Velos Partition",
"credentialType": "Manual Entry",
"userName": "admin",
"password": "QVZYIUY1VEVTVA==",
"tenantProperties": {
"credentialType": "Credential List - AppViewX",
"module": [
"LTM"
],
"credentialName": "avx"
}
}
}
{
"response": "Device is added to the inventory.",
"message": "Device has been successfully added and configuration parse is triggered.",
"appStatusCode": null,
"tags": null,
"headers": null
}