Description

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

HTTP request

POST /api/fdm/v6/object/dnsservergroups

Data Parameters

Parameter Required Type Description
name True string A unique name to identify this group.
dnsServers True [object] A list of the names of DNSServer objects that belong to this group.
Field level constraints: cannot be null, size must be between 1 and 3 (inclusive). (Note: Additional constraints might exist)
timeout False integer The number of seconds, from 1 to 30, to wait before trying the next DNS server. The default is 2 seconds. Each time the system retries the list of servers, this timeout doubles.
Field level constraints: must be between 1 and 30 (inclusive). (Note: Additional constraints might exist)
retries False integer The number of times, from 0 to 10, to retry the list of DNS servers when the system does not receive a response. The default is 2 retries.
Field level constraints: must be between 1 and 10 (inclusive). (Note: Additional constraints might exist)
searchDomain False string The search domain for this group.
Field level constraints: length must be between 0 and 255 (inclusive), must match pattern ^((([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-][a-zA-Z0-9]).)([a-zA-Z0-9]|[a-zA-Z0-9][A-Za-z0-9-]*[A-Za-z0-9])|)$. (Note: Additional constraints might exist)
systemDefined False boolean A Boolean value, TRUE or FALSE (the default). The TRUE value indicates that this object is a system defined object.
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 '{
        "dnsServers": [
            {
                "ipAddress": "string",
                "type": "dnsserver"
            }
        ],
        "id": "string",
        "name": "string",
        "retries": 0,
        "searchDomain": "string",
        "systemDefined": true,
        "timeout": 0,
        "type": "dnsservergroup",
        "version": "string"
    }' \
    "https://${HOST}:${PORT}/api/fdm/v6/object/dnsservergroups"
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_dns_server_group(client, body):
    return client.DNS.addDNSServerGroup(
        body=body
    ).response().result


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

    body = {'dnsServers': [{'ipAddress': 'string',
                 'type': 'dnsserver'}],
 'name': 'string',
 'retries': 0,
 'searchDomain': 'string',
 'systemDefined': True,
 'timeout': 0,
 'type': 'dnsservergroup'}

    add_dns_server_group(client, body)