Get Objects in Constant Status

This API fetches the ADC objects that remain in a constant status for Last N days. In the response lastFlipDate fields gives the details of last state flip occurred date from which object state of the object was not flipped.

Supported Vendor: F5

Before you begin

Before attempting to get objects in the constant state with this API, users must ensure any of the ACF permission from is available:
  • ADC > Control Center
  • ADC > Dashboard > Application Widget
  • ADC > Orphan objects
This can be checked under Accounts > Role > Authorized Functions.

Request Structure

Endpoint: /adc-constant-object-status-fetch
Type: POST
Sample URL: https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-constant-object-status-fetch?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
objectType

String[]

(Mandatory) Object Types. Should be left empty if object type is not needed to include in query.

Possible values: wideIp, wideIp Pool, wideIp PoolMember, childWideIp, server,VirtualServer, Pool, ltmPoolMember, VirtualAddress, and LTM Server.

deviceName

String[]

(Optional) Name of the device(s).

Constraints: It can contain only alphanumeric characters, ‘-’ , ’_’ , ‘.’ , ‘*’ , ‘|’, ‘!’.

status

String

(Mandatory) Status of the object.

Possible Values: "OFFLINE", "UNKNOWN", and "AVAILABLE"

Intially, the status is in “OFFLINE. It changes to after sometimes.

lastNDays

Integer

(Mandatory) Last ‘N’ no. of days for which an object remained in constant state.
vendor

String

(Optional) Vendor of the devce. For example, F5, NginxPlus, etc.

Response Structure

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

String

Contains the response for objects in requested status for lastNDays requested. See State Status Drift response for more details.
message

String

Success message along with the objectIds 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
200 OK - - -
400 Bad Request ADC_DASH_1604 Invalid Input: Mandatory fields 'status' is missing Check and ensure if a non-null/non-empty value is given in payload field - ‘status’.
400 Bad Request ADC_DASH_1605 Invalid Input: Mandatory field 'lastNDays' is missing Check and ensure if a non-null and a valid integer value is given in the field - ‘lastNDays’.
400 Bad Request ADC_DASH_0002 Invalid Input

Check the type of the request fields - objectType,deviceName and lastNDays.

Expected field types:
  • lastNDays - Integer

  • deviceName - String[]

  • objectType - String[]

404 Not Found ADC_DASH_1608 No objects found for the given input.
  • Check if the requested objects have Read or ReadWrite permission.

  • Refine the search query.

Sample Request/Response

Use Case

Get LTM pool member objects which remained in status - “OFFLINE” for the last 2 days.

Request URL

https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-constant-object-status-fetch

Sample Request
{
  "payload": {
    "objectType": [
      "ltmPoolMember"
    ],
    "status": "OFFLINE",
    "lastNDays": 2
  }
}
Sample Response
{
  "response": [
    {
      "objectId": "lpm:@5f4e3423fcbb9809756c6b82:@testweb:@Common::test:443:@Common",
      "objectName": "test:443",
      "objectType": "LTM Pool Member",
      "deviceId": "5f4e3423fcbb9809756c6b82",
      "deviceName": "192.168.41.233",
      "vendor": "F5",
      "state": null,
      "status": "OFFLINE",
      "displayName": "test:443/one.appviewx.com:443/testweb/192.168.41.233/F5",
      "effectiveDays": 0,
      "lastFlipDate": "2020-09-01"
    }
  ],
  "message": null,
  "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