/policyengine/v1/applications: POST

The /policyengine/v1/applications registers an action agent. Only an IBM Data Cataloging user with data admin role can register the application with IBM Data Cataloging.

The following table shows which roles can access /policyengine/v1/applications endpoint:
Table 1. Access by role
Data admin Collection Admin Data user Admin Service user
X Χ Χ Χ

Synopsis of the request URL

curl -k -H “Authorization: Bearer <token>” -H "Content-Type: application/json" -X POST
https://<data_cataloging_host>/policyengine/v1/applications 

Supported request types and response formats

Supported request types:
  • POST
Supported response formats:
  • JSON

Examples

Registering an application involves the following steps.
  1. Obtain an auth token by using credentials of the data admin user as shown in the following example:
    curl -k https://<data_cataloging_host>/auth/v1/token -u “<user_name>:<password>

    For a valid user, the auth token is returned in the “X-Auth-Token” response header.

  2. Create a .json file with application details:
    
    cat agentregmsg.json
    
    {
    "action_agent": "extractapplication",
    "action_id": "DEEPINSPECT",
    "action_params": ["extract_tags"]
    }
    Note: Only DEEPINSPECT is supported as a valid action_id and must always be in upper case. The action_agent parameter must be a maximum of 64 characters long and can contain alpha-numeric characters and ‘.’, ‘_’ or ‘-’ characters. However, the action parameters that are converted to string can be a maximum of 256 characters long.
  3. Submit the following request:
    curl -k https://<data_cataloging_host>/policyengine/v1/applications -H "Content-Type: application/json" -X POST -d @agentregmsg.json -H “Authorization: Bearer <token>”
Response:
    
Content-Type: application/json
    {
      "broker_ip": 9.11.200.114,
      "broker_port": 9093,
      "work_q": "extractapplication_work",
      "completion_q": "extractapplication_compl"
    }

Multiple application instances

If you want to run multiple copies of an application, then only the first application registration attempt receives a success response. Any subsequent applications receive a 409 Conflict response. In such cases, use the /policyengine/v1/agents/<agent name> endpoint to find the required Kafka information to proceed.

Example GET response:

{
"broker_ip": "localhost",
"work_q": "extractapplication_work",
"auth": "extractapplication_user:extractapplication_password",
"params": "["tags"]",
"agent": "extractagent",
"broker_port": "9093",
"completion_q": "extractapplication_compl",
"action_id": "\"DEEPINSPECT\""
}