Get Object Configuration

This API retrieves the configuration of an object as stored in the AppViewX inventory. It can retrieve the latest configuration and also the configuration is known at a given time if any.

Note: The configuration is not fetched from the device in real-time but from the AppViewX inventory.

Before You Begin

Before attempting to get an object configuration with this API, users must ensure any of the ACF permission is available from the following:
  • ADC > Control Center, ADC > Dashboard > Application Widget

  • ADC > Orphan objects
This can be checked under Accounts > Role > Authorized Functions

Request Structure

Endpoint: /adc-object-configuration
Type: POST
Sample URL: https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-object-configuration?gwsource=external

To understand the elements of the sample URL, click here.

Headers:
Content-Type: application/json
Table 1. Input Parameter
Name Description
sessionId

Header

(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

Header

(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

Header

(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

Header

(Mandatory) Specifies the format of the data in the payload.

Type: String

Constraints: The value of this param must be ‘application/json’.

gwsource

Query

(Mandatory) Specifies the source from which the request is triggered. The options are:
  • web
  • external
Type: String
payload

Body

(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
objectId

String

(Mandatory) Resource ID of the objects. Use the search API to search/get the resource ID.

timeStamp

Long

(Optional) To get the known configuration at the given time, mention the time stamp as well. If not mentioned, the latest known configuration will be returned.

Response Structure

  • Status Code: 200 OK
  • Message: Successful
  • Headers:
    • Content-Type: application/json
Name Description
response

String

Contains the requested objects config data.
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 More info in case of failure response.

Status Codes

HTTP Status Code appStatusCode Message Possible remediation
200 OK - Configuration found for the given object. -
404 Not Found ADC_INV_1554 Config data not found for given object details Check if given timeStamp and objectId is valid.
403 Forbidden ADC_INV_1558 Cannot access resource, permission not available. Check if Read/Read Write permission is available for the requested object.
404 Not Found ADC_INV_2003 No Object Found for the request Check the resource id given under field ‘objectId’ is valid.

Sample Request/Response

Use Case

Get the known object configuration available at the time 1549362738957(time in milliseconds) for the GTM WideIP object with resource id - gw:@5f36bed67620c40e97e30348:@testGw.com:@Commo

Request URL

https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-object-configuration?gwsource=external

Sample Request
{
  "payload": {
    "objectId": "gw:@5f36bed67620c40e97e30348:@testGw.com:@Common",
    "timeStamp": 1549362738957
  }
}
Sample Response
{
  "response": "**  WideIP - testGw.com  **\ngtm wideip /Common/testGw.com {\n    pools {\n        /Common/asdf {\n            
order 0\n            ratio 4\n        }\n    }\n}\n\n**  GTM Pool - asdf  **\ngtm pool /Common/asdf {\n    
disabled\n    members {\n        /Common/server123:gvs1 {\n            order 0\n        }\n    }\n}\n\n**  GTM 
Server - server123  **\ngtm server /Common/server123 {\n    addresses {\n        146.125.206.132 {\n            
device-name server123\n        }\n    }\n    datacenter /Common/cbe\n    monitor /Common/bigip \n    virtual-servers 
{\n        gvs1 {\n            destination 146.125.206.133:80\n        }\n        gvs2 {\n            destination 
146.125.206.133:443\n        }\n        gvss {\n            destination 146.125.206.133:443\n        }\n        vs1 
{\n            destination 2.2.3.4:50\n        }\n    }\n}\n\n**  GTM Monitor - bigip  **\ngtm monitor bigip bigip 
{\n    aggregate-dynamic-ratios \"none\"\n    defaults-from none\n    destination *:*\n    ignore-down-response 
disabled\n    interval 30\n    timeout 90\n}\n\n",
  "message": "Configuration found for the given object.",
  "appStatusCode": null,
  "tags": null,
  "headers": null
}

Reference

Understanding the sample URL:
  • 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.

  • 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.

What's Next