Get Object Hierarchy
Search for objects that are already discovered in AppViewX to monitor or to perform actions on it. This API will return results based on the resources assigned to the user.
Before you begin
- ADC > ControlCenter > Infrastructure view
- ADC > ControlCenter > Application view
Request Structure
| Endpoint: | /adc-object-hierarchy |
| Type: | POST |
| Sample URL: | https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-object-hierarchy?gwsource=externalTo understand the elements of the sample URL, click here. |
| Headers: | |
| Content-Type: | application/json |
| Name | Description |
|---|---|
| sessionId
|
(Mandatory) Specifies the session ID of the user session received
after login. Type: String Constraints: The session ID is used when username and password are not provided. |
| username
|
(Mandatory) Specifies the login username used to access the
AppViewX. Type: String Constraints: The username, along with the password, is used when the session ID is not provided. |
| password
|
(Mandatory) Specifies the login password used to access the
AppViewX. Type: String Constraints: The password, along with the username, is used when the session ID is not provided. |
| Content-Type
|
(Mandatory) Specifies the format of the data in the
payload. Type: String Constraints: The value of this param must be ‘application/json’. |
| gwsource
|
(Mandatory) Specifies the source from which the request is
triggered. The options are:
|
| payload
|
(Mandatory) Contains all the params to be sent in the request body for the post request. See Payload section for more details. |
Payload
| Name | Description |
|---|---|
| object
|
(Mandatory) The composite key values that have to be given to identify an object. See the Composite Keys for F5 WideIp Composite key section for details. |
Response Structure
- Status Code: 200 OK
- Message: Successful
- Headers:
- Content-Type: application/json
| Name | Description |
|---|---|
| response
|
Contains the requested objects config data. |
| 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 |
|---|---|---|---|
| 200 OK | - | Topology successfully retrieved for the given object. | - |
| 400 Bad Request | ADC_CC_0514 | Invalid object details | Check and ensure if a valid value is given in payload request field - ‘object’. |
| 400 Bad Request | ADC_DASH_0528 | Invalid device name | Check and ensure if payload request field ‘object.deviceName’ is given. |
| 400 Bad Request | ADC_DASH_0526 | Invalid Vendor | The vendor is not supported. Check for possible valid vendors under field ‘tags.validVendors’ in the response. |
| 400 Bad Request | ADC_DASH_0512 | Exception: Invalid Object type | Check if a valid non-null/non-empty value is given in the payload request field ‘object.objectType’. If a valid value is given, the given object type might not be supported. Check for possible valid object types under field ‘tags’ in the response. |
| 404 Not Found | ADC_INV_0010 | Device not found. | Device not found in database. Check if the device name given under field deviceName of the object property is available in the inventory. |
| 404 Not Found | ADC_INV_2003 | No Object Found for the request | Check the composite keys and values given under the payload field ‘object’. |
| 403 Forbidden | ADC_CC_0006 | Permission is not available for given objects. | Check if the requested object has either Read/Read Write permission. |
Sample Request/Response
Use Case
Retrieving hierarchy of the wide IP object "www.appviewx.com" from partition "Common" on device 192.168.112.78.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-object-hierarchy?gwsource=external
{
"payload": {
"object": {
"deviceName": "192.168.xxx.xx",
"objectType": "wideIp",
"partition": "Common",
"objectName": "www.appviewx.com",
"recordType": "a"
}
}
}{
"response": {
"_id": "gw:@5ea9637de0dc314883cbd04f:@www.appviewx.com:@Common:@a",
"alias": "",
"code": "gw",
"color": "AVAILABILITY_STATUS_RED",
"configData": "gtm wideip a /Common/www.appviewx.com {\n pools {\n /Common/gtm_pool_ipv6 {\n order 0\n ratio 99\n }\n }\n}\n",
"dashboardObjectName": "www.appviewx.com(192.168.xxx.xx)",
"description": "",
"deviceId": "5ea9637de0dc314883cbd04f",
"displayName": "www.appviewx.com/a/192.168.xxx.xx",
"gp": [
"gp:@5ea9637de0dc314883cbd04f:@gtm_pool_ipv6:@Common:@a"
],
"gr": [
],
"ipv6NoErrorNegTtl": "",
"ipv6NoErrorResponse": "disabled",
"last-resort-pool": "none",
"lbmode": "round-robin",
"name": "www.appviewx.com",
"partition": "Common",
"persistCidrIpv4": "",
"persistCidrIpv6": "",
"persistence": "DISABLED_PERSISTENCE",
"persistenceTtl": "",
"poolPropertyMap": {
},
"recordType": "a",
"status": "ENABLED",
"statusCode": "OFFLINE ENABLED",
"vendor": "F5",
"lastStatusSyncTime": 1597830719934,
"children": [
{
"_id": "gp:@5ea9637de0dc314883cbd04f:@gtm_pool_ipv6:@Common:@a",
"alternate": "round-robin",
"avaiablityValue": "",
"avaliablityRequirement": "all",
"cname": "",
"code": "gp",
"color": "AVAILABILITY_STATUS_RED",
"configData": "gtm pool a /Common/gtm_pool_ipv6 { }\n",
"dashboardObjectName": "gtm_pool_ipv6(192.168.xxx.xx)",
"deviceId": "5ea9637de0dc314883cbd04f",
"deviceName": "192.168.xxx.xx",
"displayName": "gtm_pool_ipv6/a/192.168.xxx.xx",
"dynamicRatio": "disabled",
"fallback": "return-to-dns",
"fallbackIp": "0.0.0.0",
"gm": [
],
"gpm": [
],
"gtr": [
],
"gw": [
"gw:@5ea9637de0dc314883cbd04f:@www.appviewx.com:@Common:@a"
],
"gwChild": [
],
"limitConnections": "",
"limitbps": "",
"limitpps": "",
"manualResume": "disabled",
"maxAddrReturned": "1",
"monitors": [
],
"name": "gtm_pool_ipv6",
"parentName": [
"www.appviewx.com"
],
"partition": "Common",
"preferred": "round-robin",
"qualityofService": {
"qos-lcs": "30",
"qos-hit-ratio": "5",
"qos-hops": "0",
"qos-packet-rate": "1",
"qos-topology": "0",
"qos-vs-score": "0",
"qos-kilobytes-second": "3",
"qos-vs-capacity": "0",
"qos-rtt": "50"
},
"ratioMap": [
{
"partition": "Common",
"recordType": "a",
"name": "www.appviewx.com",
"_id": "gw:@5ea9637de0dc314883cbd04f:@www.appviewx.com:@Common:@a",
"order": "0",
"ratio": "99"
}
],
"recordType": "a",
"status": "ENABLED",
"statusCode": "OFFLINE ENABLED",
"ttl": "30",
"vendor": "F5",
"verifyMemberAvailability": "enabled",
"lastStatusSyncTime": 1597830719934,
"ratio": "99",
"order": "0",
"children": [
]
}
]
},
"message": "Topology successfully retrieved for the given object.",
"appStatusCode": null,
"tags": null,
"headers": null
}Reference
- IP/HostName/TenantName: Replace with the actual IP address, hostname,
or tenant name based on the specific configuration in AppViewX.
- IP: A unique identifier assigned to each device connected to
a computer network that uses the Internet Protocol for communication
The IP address will be included in the endpoint URL for an on-prem deployment.
- HostName: A human-readable label assigned to a device (host)
on a network
The hostname will be included in the endpoint URL for an on-prem deployment.
- TenantName: An identifier label for a tenant given to
indicate which tenant's data the API request will
access/modify
The tenant name will be included in the endpoint URL for a SaaS deployment.
- IP: A unique identifier assigned to each device connected to
a computer network that uses the Internet Protocol for communication
- GWPORT: AppViewX gateway port
A gateway port refers to a network port through which data is sent and received to communicate with a gateway in an on-prem deployment.
Example: 31443
- avxapi: Path parameter value (static) that is part of the endpoint's URL
- Endpoint: Endpoint of the API, for example: execute-hook
- gwsource: Source or origin of a gateway, for example: external.