Description

The addToggleInspectionEngine operation handles configuration related to ToggleInspectionEngine model. 
This API call is not allowed on the standby unit in an HA pair.

This API will queue an toggle inspection engine job to change the snort version from Snort 3 to Snort 2 or vice-versa.

HTTP request

POST /api/fdm/v6/action/toggleinspectionengine

Data Parameters

Parameter Required Type Description
scheduleType False string A mandatory enum value that specifies the type of job schedule. Only allowed value is:

IMMEDIATE - the job will be posted when the request is received.

Note that the job will be posted in the queue when it is received, but the actual execution can be delayed if other jobs were scheduled for execution at the same time or are being currently processed. After a system restart the job will not be recovered.

user False string System provided ID of the user who scheduled the job.
Field level constraints: must match pattern ^((?!;).)*$. (Note: Additional constraints might exist)
forceOperation False boolean If true, proceed toggle with pending changes.
jobHistoryUuid False string The ID of the job status object created by this schedule object. Use this ID in the corresponding job API to check the job status.
Field level constraints: must match pattern ^((?!;).)*$. (Note: Additional constraints might exist)
ipAddress False string IP address of actor who initiated a job execution
Field level constraints: must match pattern ^((?!;).)*$. (Note: Additional constraints might exist)
bypassPendingChangeValidation False boolean An enum value, TRUE or FALSE (the default). If you tried to switch Snort versions and the switch failed, you will have pending changes that you cannot discard, and a subsequent toggle attempt will not be allowed. If you encounter this problem, set this attribute to TRUE and try again.
sruUpdate False boolean If true, then as part of toggle do rule update to get the latest package.
type True string A UTF8 string, all letters lower-case, that represents the class-type. This corresponds to the class name.

Example

curl -X POST \
    --header "Accept: application/json" \
    --header "Authorization: Bearer ${ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    -d '{
        "bypassPendingChangeValidation": true,
        "forceOperation": true,
        "id": "string",
        "ipAddress": "string",
        "jobHistoryUuid": "string",
        "scheduleType": "NONE",
        "sruUpdate": true,
        "type": "toggleinspectionengine",
        "user": "string",
        "version": "string"
    }' \
    "https://${HOST}:${PORT}/api/fdm/v6/action/toggleinspectionengine"
from bravado.requests_client import RequestsClient
from bravado.client import SwaggerClient


def get_client(host, token):
    http_client = RequestsClient()
    http_client.ssl_verify = False
    http_client.set_api_key(
        host,
        "Bearer {}".format(token),
        param_name="Authorization",
        param_in="header"
    )
    return SwaggerClient.from_url(
        "https://{}/apispec/ngfw.json".format(host),
        http_client=http_client,
        config={
            "validate_responses": False,
            "validate_swagger_spec": False
        }
    )


def add_toggle_inspection_engine(client, body):
    return client.IntrusionPolicy.addToggleInspectionEngine(
        body=body
    ).response().result


if __name__ == "__main__":
    host = "ftd.example.com"
    token = "access_token"
    client = get_client(host, token)

    body = {'bypassPendingChangeValidation': True,
 'forceOperation': True,
 'ipAddress': 'string',
 'jobHistoryUuid': 'string',
 'scheduleType': 'NONE',
 'sruUpdate': True,
 'type': 'toggleinspectionengine',
 'user': 'string'}

    add_toggle_inspection_engine(client, body)