Description

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

HTTP request

POST /api/fdm/v6/object/flexconfigobjects

Data Parameters

Parameter Required Type Description
name True string A mandatory unicode alphanumeric string containing a unique name for the object, from 1 to 128 characters without spaces. The string cannot include HTML tags. The check for duplicates is performed with a case insensitive search.
description False string An optional unicode alphanumeric string containing a description of the object, up to 200 characters. The string cannot include HTML tags
Field level constraints: length must be between 0 and 200 (inclusive). (Note: Additional constraints might exist)
lines False [string] A list of commands that will be deployed. The commands should not configure features that you can configure using Secure Firewall device manager.
If you need to use an existing object in a command line, use a FlexVariable object to point to the existing object, then refer to the FlexVariable object in the command.
negateLines False [string] A list of commands that will negate the commands in 'lines' field.
isBlacklisted True boolean If true, indicates that the object contains one or more prohibited commands. Default is false.
Field level constraints: cannot be null. (Note: Additional constraints might exist)
variables False [object] A list of FlexVariable objects, which you can reference in the lines or negateLines attributes
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 '{
        "description": "string",
        "id": "string",
        "isBlacklisted": true,
        "lines": [],
        "name": "string",
        "negateLines": [],
        "type": "flexconfigobject",
        "variables": [],
        "version": "string"
    }' \
    "https://${HOST}:${PORT}/api/fdm/v6/object/flexconfigobjects"
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_flex_config_object(client, body):
    return client.FlexConfigObject.addFlexConfigObject(
        body=body
    ).response().result


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

    body = {'description': 'string',
 'isBlacklisted': True,
 'lines': [],
 'name': 'string',
 'negateLines': [],
 'type': 'flexconfigobject',
 'variables': []}

    add_flex_config_object(client, body)