Legacy Application Service

Overview

Use the Legacy Application Service API to create a task to create, delete or modify a Legacy Application Service. A legacy application is an application which was not deployed using a template. Without a Legacy Application Service, the objects of a legacy application are only visible in the BIG-IQ’s configuration view. A Legacy Application Service can provide a legacy application with visibility in the application-centric view. Although you can perform basic actions, such as enable, disable, and forceOffline virtual server and pool members, the ability to modify the legacy application in the application-centric view requires that the application be deployed using BIG-IQ and an AS3 template.

For information about the compatibility of BIG-IQ and BIG-IP with F5 Application Services 3 Extension (AS3) releases, please refer to the support article: K54909607: BIG-IQ Centralized Management compatibility with F5 Application Services 3 Extension and F5 Declarative Onboarding .

REST Endpoint: /mgmt/cm/global/tasks/classic-app-service

Requests

POST /mgmt/cm/global/tasks/classic-app-service

To create a Legacy Application Service, you can send a POST request to the classic-app-service endpoint.

Request Parameters

The request parameters in the POST request can include the following.

Name Type Required Description
legacyApplicationServiceRequests objects True A list of Legacy Application Service task requests.
     applicationServiceType string True The type of Legacy Application Service. Possible values: “HTTP” or “TCP”.
     configSetName string True The name of the Legacy Application Service.
     currentConfigVirtualServerReferences object False A list of link objects for the virtual server.
          link string False Url of a reference.
     deviceReference object False A link object for the BIG-IP. You can use the Device Reference Helper API to query for the value of deviceReference.
          link string False Url of deviceReference.
     mode string True The kind of task to create. Possible values: “CREATE”, “DELETE”, “REFRESH” or “UPDATE”. “REFRESH” means update any changes to virtual servers or their sub-collections and there is no change in the number of virtual servers. “UPDATE” means there is a change in number of virtual servers in currentConfigVirtualServerReferences. Use “UPDATE” when adding more virtual servers or removing virtual servers.

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
legacyApplicationServiceRequests objects A list of Legacy Application Service task requests.
     applicationServiceType string The type of Legacy Application Service. Possible values: “HTTP” or “TCP”.
     configSetName string The name of the Legacy Application Service.
     currentConfigVirtualServerReferences object A list of link objects for the virtual server.
          link string Url of a reference.
     deviceReference object A link object for the BIG-IP.
          link string Url of deviceReference.
     mode string The kind of task to create. Possible values: “CREATE”, “DELETE”, “REFRESH” or “UPDATE”. “REFRESH” means update any changes to virtual servers or their sub-collections and there is no change in the number of virtual servers. “UPDATE” means there is a change in number of virtual servers in currentConfigVirtualServerReferences. Use “UPDATE” when adding more virtual servers or removing virtual servers.
selfLink string A url to the task’s endpoint. You can poll selfLink for the state of this task by sending GET requests to this url.

Permissions

Role Allow
Application_Manager Yes
Application_Viewer Yes
Application_Service_Manager Yes
Application_Service_Viewer Yes

After creating the task, you can poll the task’s state by sending GET requests to selfLink to confirm when the task completes.

Examples

POST to create a Legacy Application Service

You can send a POST to the classic-app-service endpoint to create a task to create a Legacy Application Service.

POST https://<BIG-IQ>/mgmt/cm/global/tasks/classic-app-service

The JSON in the body of the POST can be similar to the following. You can use the Device Reference Helper API to query for the value of deviceReference.

{
    "legacyApplicationServiceRequests": [{
            "configSetName": "legacyAppSvcs01",
            "mode": "CREATE",
            "deviceReference": {
                    "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-adccore-allbigipDevices/devices/6696dff3-510c-484b-ba09-5e3dad3a1a2c"
            },
            "applicationServiceType": "HTTP",
            "currentConfigVirtualServerReferences": [{
                    "link": "https://localhost/mgmt/cm/adc-core/current-config/ltm/virtual/89c496ad-5b8e-373b-8140-9be774bb4de0"
            }]
    }]
}

Response

The JSON in the response to the POST can look similar to the body of the POST request. The response can include a selfLink. The status can be “STARTED” initially, which means the task has been started. The value of selfLink is the url for the task. You can send repeated GET requests to check the status of the task. You can send the GET request to the task’s url, returned as the value of selfLink in the response to the initial POST.

POST to delete a Legacy Application Service

You can send a POST to the classic-app-service endpoint to create a task to delete a Legacy Application Service.

POST https://<BIG-IQ>/mgmt/cm/global/tasks/classic-app-service

The JSON in the body of the POST can be similar to the following.

{
    "legacyApplicationServiceRequests": [{
            "configSetName": "legacyAppSvcs01",
            "mode": "DELETE"
    }]
}

Response

The JSON in the response to the POST can look similar to the body of the POST request. The response can include a selfLink. The status can be “STARTED” initially, which means the task has been started. The value of selfLink is the url for the task. You can send repeated GET requests to check the status of the task. You can send the GET request to the task’s url, returned as the value of selfLink in the response to the initial POST.

POST to refresh a Legacy Application Service

You can send a POST to the classic-app-service endpoint to create a task to refresh a Legacy Application Service. REFRESH means to update any changes to the virtual servers or their sub-collections and there is no change in the number of virtual servers.

POST https://<BIG-IQ>/mgmt/cm/global/tasks/classic-app-service

The JSON in the body of the POST can be similar to the following.

{
    "legacyApplicationServiceRequests": [{
            "configSetName": "legacyAppSvcs01",
            "mode": "REFRESH"
    }]
}

Response

The JSON in the response to the POST can look similar to the body of the POST request. The response can include a selfLink. The status can be “STARTED” initially, which means the task has been started. The value of selfLink is the url for the task. You can send repeated GET requests to check the status of the task. You can send the GET request to the task’s url, returned as the value of selfLink in the response to the initial POST.

GET to check the status of the Legacy Application task

You can send repeated GET requests to check the status of the task. You can send the GET request to the task’s url, returned as the value of selfLink in the response to the initial POST.

GET https://<BIG-IQ>/mgmt/cm/global/tasks/classic-app-service/<id>

Response

The status in the GET response can eventually update to “DONE” and “FINISHED”.

GET to retrieve Legacy Application Services

You can send a GET request to check the classic-configs endpoint to retrieve a list of legacy configurations.

GET https://<BIG-IQ>/mgmt/cm/global/classic-configs

Response

The body of the response can contain a list of legacy configuration objects.