Update Class Attribute for a Class Management Widget

This API modifies the class attributes for a class maangement widget within dashboard.

Before you begin

Before attempting to delete a widget with this API, user must ensure any one of the below ACF permissions is available,
  • ADC > Dashboard > Class management widget > Add / Delete

This can be checked under Accounts > Role > Authorized Functions.

Request Structure

Endpoint: /adc-dashboard-widget-class-management-modifyAction
Type: PUT
Sample URL: https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-dashboard-widget-class-management-modifyAction?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
widgetId

Payload

(Mandatory) Unique identifier of the widget.

Type: String

groupName

Payload

(Mandatory) Name of the logical group associated with the widget.

Type: String

classType

Payload

(Mandatory) Type of class being updated.

Type: String

className

Payload

(Mandatory) Name of the class.

Type: String

objectId

Payload

(Mandatory) Unique identifier of the object.

Type: String

logTimeStamp

Payload

(Mandatory) Log Timestamp.

Type: String

deviceName

Payload

(Mandatory) device where the class is applied.

Type: String

actionMode

Payload

(Mandatory) Modifying class action allows you to view and change the details of a class.

Type: String

actionName

Payload

(Mandatory) Action to be performed.

Possible Value: Edit

Type: String

defaultClassName

Payload

(Mandatory) Name of the default class.

Type: String

selDeviceName

Payload

(Mandatory) Name of the selected device.

Type: String

availClassAttrList

Payload

(Mandatory) List of available class attributes for validation or selection.

Type: String

path

Payload

(Optional) Path details.

Type: String

deviceList

Payload

(Mandatory) Devices involved in the modification operation.

Type: Object

classAttrList

Payload

(Mandatory) List of address objects (with mask and type) to be added or updated.

Type: Object

rollBack

Payload

(Mandatory) Determine if rollback should be allowed on failure.

Type: Boolean

Response Structure

  • Status Code: 200 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
200 OK - Widget deleted successfully. -
400 Bad Request ADC_DASH_8791 Dashboard name is mandatory. Check and ensure if a valid value is given in the query param field - dashboardName.
400 Bad Request ADC_DASH_8792 Widget name is mandatory. Check and ensure if a valid value is given in query param field - widgetName
404 Not Found ADC_DASH_0045 Dashboard not available for given name. Requested dashboard not available in database. Check if the dashboard is deleted.
404 Not Found ADC_DASH_3010 Widget not found. Check if the widget is deleted or if the widget is available in a different dashboard.
403 Forbidden ADC_DASH_0048 Permission not available for dashboard. Check if the user has Read Write access for the requested dashboard.

Sample Request/Response

Use Case

Update the class management widget "CutoverWideget-2" in the "CutoverDashboard" dashboard to perform a ModifyClass action on the "F5" class for the device "pe-qa-f5-n8.lab.appviewx.net".

Request URL

https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-dashboard-widget-class-management-modifyAction?gwsource=external

Sample Request
{
    "widgetId": "6854f7f6df937f36ecc8a3d7",
    "groupName": "Test",
    "classType": "Address",
    "className": "aol/pe-qa-f5-n8.lab.appviewx.net/F5",
    "objectId": "lc:@68553483df937f36ecc8ac47:@aol:@Common",
    "logTimeStamp": 1750856426000,
    "deviceName": "pe-qa-f5-n8.lab.appviewx.net",
    "actionMode": "ModifyClass",
    "actionName": "Edit",
    "defaultClassName": "aol/pe-qa-f5-n8.lab.appviewx.net/F5",
    "selDeviceName": "pe-qa-f5-n8.lab.appviewx.net",
    "availClassAttrList": [
        {
            "keyData": "192.168.70.0/30:=",
            "String": "192.168.70.0/30",
            "Value": "",
            "type": "Address"
        },
        {
            "keyData": "192.168.70.0/32:=",
            "String": "192.168.70.0/32",
            "Value": "",
            "type": "Address"
        },
        {
            "keyData": "192.168.1.0/30:=",
            "String": "192.168.1.0/30",
            "Value": "",
            "type": "Address"
        },
        {
            "keyData": "10.10.10.0/24:=",
            "String": "10.10.10.0/24",
            "Value": "",
            "type": "Address"
        },
        {
            "keyData": "10.10.10.0/30:=",
            "String": "10.10.10.0/30",
            "Value": "",
            "type": "Address"
        }
    ],
    "path": "",
    "deviceList": [
        {
            "name": "pe-qa-f5-n8.lab.appviewx.net",
            "_id": "68553483df937f36ecc8ac47"
        }
    ],
    "classAttrList": [
        {
            "Mask": "255.255.255.252",
            "Type": "Network",
            "String": "1.2.3.4",
            "Value": "",
            "keyData": "1.2.3.4/30:="
        },
        {
            "Mask": "255.255.224.0",
            "Type": "Network",
            "String": "64.12.96.0",
            "Value": "",
            "keyData": "64.12.96.0/19:="
        },
        {
            "Mask": "255.255.255.252",
            "Type": "Network",
            "String": "192.168.70.0",
            "Value": "",
            "keyData": "192.168.70.0/30:="
        },
        {
            "Mask": "255.255.240.0",
            "Type": "Network",
            "String": "195.93.16.0",
            "Value": "",
            "keyData": "195.93.16.0/20:="
        },
        {
            "Mask": "255.255.252.0",
            "Type": "Network",
            "String": "195.93.48.0",
            "Value": "",
            "keyData": "195.93.48.0/22:="
        },
        {
            "Mask": "255.255.224.0",
            "Type": "Network",
            "String": "195.93.64.0",
            "Value": "",
            "keyData": "195.93.64.0/19:="
        },
        {
            "Mask": "255.255.224.0",
            "Type": "Network",
            "String": "195.93.96.0",
            "Value": "",
            "keyData": "195.93.96.0/19:="
        },
        {
            "Mask": "255.255.252.0",
            "Type": "Network",
            "String": "198.81.0.0",
            "Value": "",
            "keyData": "198.81.0.0/22:="
        },
        {
            "Mask": "255.255.254.0",
            "Type": "Network",
            "String": "198.81.8.0",
            "Value": "",
            "keyData": "198.81.8.0/23:="
        },
        {
            "Mask": "255.255.240.0",
            "Type": "Network",
            "String": "198.81.16.0",
            "Value": "",
            "keyData": "198.81.16.0/20:="
        },
        {
            "Mask": "255.255.255.128",
            "Type": "Network",
            "String": "202.67.65.128",
            "Value": "",
            "keyData": "202.67.65.128/25:="
        },
        {
            "Mask": "255.255.240.0",
            "Type": "Network",
            "String": "205.188.112.0",
            "Value": "",
            "keyData": "205.188.112.0/20:="
        },
        {
            "Mask": "255.255.255.252",
            "Type": "Network",
            "String": "205.188.146.144",
            "Value": "",
            "keyData": "205.188.146.144/30:="
        },
        {
            "Mask": "255.255.240.0",
            "Type": "Network",
            "String": "205.188.192.0",
            "Value": "",
            "keyData": "205.188.192.0/20:="
        },
        {
            "Mask": "255.255.254.0",
            "Type": "Network",
            "String": "205.188.208.0",
            "Value": "",
            "keyData": "205.188.208.0/23:="
        },
        {
            "Mask": "255.255.248.0",
            "Type": "Network",
            "String": "207.200.112.0",
            "Value": "",
            "keyData": "207.200.112.0/21:="
        },
        {
            "keyData": "10.10.10.0/30:=",
            "String": "10.10.10.0/30",
            "Value": "",
            "type": "Address"
        }
    ],
    "rollBack": false
}
Sample Response
{
    "response": {
        "dbUpdateResult": true,
        "failedDevices": [],
        "DBLoggingResult": "Logging Succeded",
        "succeedDevices": [
            "pe-qa-f5-n8.lab.appviewx.net"
        ]
    },
    "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