Add a F5XC Device

Payload

Name Description
name

String

(Mandatory) Name of the device.
Constraints:
  • Accepted special characters: '-' , '_' , '.' , '*' , '|' , '!' and space only.

  • Length 2 - 64 characters.

vendor

String

(Mandatory) Vendor of the device - F5XC.
communicationAddressType

String

(Mandatory) Communication type to the device. The possible values are:
  • FQDN
ip

String

(Mandatory) IP of the device.

Constraints: Required only if communicationAddressType is IP.

fqdn

String

(Mandatory) FQDN of the device.

Constraints: Required only if communicationAddressType is FQDN.

credentialType

String

(Mandatory) Type of credential to be associated for the device.
The possible values are:
  • Manual Entry
  • Credential List - AppViewX
  • Credential List - CyberArk
userName

String

(Mandatory) User name of the device.

Constraints: Required only if credential Type is Manual entry.

It will not accept ‘,”,<,>.

password

String

(Mandatory) Encoded value of the password to authenticate with the device.

Constraints: Required only if credential Type is Manual entry.

credentialName

String

(Mandatory) Name of the credential to be associated with the device.
Constraints:
  • Required only if credential type is ’Credential List - AppViewX or ’Credential List - CyberArk’.

  • Credential of the requested name should be added in AppViewX already.

  • Accepted special characters: '-' , '_' , '.' , '*' , '|' , '!' and space only.

  • Length 2 - 64 characters.

module

String[]

(Optional) Modules with which the device is to be added.
The possible values are:
  • LTM
  • BIG-IP DNS
Service

String[]

Service with which the device to be added. The possible values are:
  • Distributed App
  • DNS Management
account

Boolean

Device to be added - account or services. The possible values are:
  • true
  • false
isHostDevice

Boolean

(Optional) The type of device to be added: either the host or tenant. The possible values are:
  • true
  • false

The value must be true if the device to be added is vCMP Host or rSeries Host.

hostType

String

(Optional) Type of the host device to be added.
Constraints: Mandatory if ‘isHostDevice’ is true. The possible Values are:
  • vCMP Host
  • rSeries Host
  • Velos Partition
isControllerDevice

Boolean

(Optional) Boolean flag to denote if the device to be added is a controller.

Constraints: The value must be Yes, if the device to be added is Velos Controller.

sshPort

String

(Optional) Device communication port.

The default value is 22.

It must be between 1 and 65535.

certSync

String

(Optional) Certificate sync mode.
The possible values are:
  • Managed
  • Monitored
  • Ignored
The default value is Ignored.
isAppViewXSyncRequired

Boolean

(Optional) Boolean value to denote whether AppViewX group is required. Only for applicable vendors.

The default value is False.

isAutoDetectTenants

Boolean

Boolean value to denote whether secondary devices should be automatically discovered and added to AppViewX.

The default value is False.

isAutoDetectTenants

Boolean

(Optional) Applicable only for modules - rSeries Host. Boolean value to denote whether tenant devices should be automatically discovered and added to AppViewX.

The default value is True.

tokenBasedAuthentication

Boolean

(Optional) Token Based authentication. The possible values are True/False.
dataCenter

String

(Optional) Data center with which the device is to be added.
Constraints:
  • Accepted special characters: '-' , '_' , '.' , '*' , '|' , '!' and space only.

  • Length 2 - 64 characters.

tenantProperties.credentialType

String

(Optional) Type of credential to be associated for the tenant device. Applicable only for device with module rSeries Host.
The possible values are:
  • Credential List - AppViewX
  • Credential List - CyberArk
  • Credential List - Thycotic
  • Credential List - HashiCorp
tenantProperties.credentialName

String

(Optional) Name of the credential to be associated with the tenant device. Applicable only for device with module rSeries Host

Constraints:
  • Required only if the credential type is ’Credential List - AppViewX or ’Credential List - CyberArk’.

  • Credentials of the requested name should be added in AppViewX already.

  • Accepted special characters: '-' , '_' , '.' , '*' , '|' and space only.

  • Length 2 - 64 characters.

tenantProperties.module

String[]

(Optional) Modules with which the tenant device is to be added. Applicable only for devices with module rSeries Host.
The possible values are:
  • LTM
  • BIG-IP DNS
tenantProperties.sshPort

String

(Optional) Device communication port for the tenant device. Applicable only for devices with module rSeries Host.

The default value is 22.

tenantProperties.certSync

String

(Optional) Certificate sync mode for the tenant device. Applicable only for devices with module rSeries Host.

The possible values are Managed, Monitored, and Ignored

The default value is Ignored.

tenantProperties.isAppViewXSyncRequired

Boolean

(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

String

Success message or failure description in case of error.
message

String

Success message or failure description in case of error.
appStatusCode

String

Application specific status code for the response. Will be non-null for failure response.
tags

String

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 F5XC device of name testF5XCDevice,with device URL https://appviewx.console.ves.volterra.io with both Distributed App and DNS management Service with username and Auth Token.

Request URL

https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-device-add

Sample Request
{
  "payload": {
    "name": "testF5XCDevice",
    "communicationAddressType": "fqdn",
    

    "fqdn": "appviewx.console.ves.volterra.io",
    "vendor": "F5XC",
    "service": [
      "Distributed App",
      "DNS management"
    ],
    "account": true,
    "credentialType": "Manual Entry",
    "userName": "admin",
    "password": "YXBwdGFnQDEyMw=="
  }
}
Sample Response
{
  "response": "Device is added to the inventory.",
  "message": "Device has been successfully added and configuration parse is triggered.",
  "appStatusCode": null,
  "tags": null,
  "headers": null
}

What's Next