Description

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

HTTP request

POST /api/fdm/v6/object/routemaps

Data Parameters

Parameter Required Type Description
name False string A string containing the name of the route map.
description False string
Field level constraints: length must be between 0 and 200 (inclusive). (Note: Additional constraints might exist)
entries True [object] An object holding a list of route map entries. A minimum of 1 entry is required for each route map object.
Field level constraints: cannot be null. (Note: Additional constraints might exist)
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",
        "entries": [
            {
                "action": "PERMIT",
                "asPathConvertRouteTagIntoASPath": true,
                "asPathLists": [],
                "asPathPrependASPath": [],
                "asPathPrependLastASToASPath": 0,
                "automaticTagSetting": true,
                "communityListSetting": 0,
                "communityListSettingInternet": true,
                "communityListSettingNoAdvertise": true,
                "communityListSettingNoExport": true,
                "communityLists": [],
                "interfaces": [],
                "ipv4AccessListAddresses": [],
                "ipv4AccessListNextHops": [],
                "ipv4AccessListRouteSources": [],
                "ipv4PrefixListAddresses": [],
                "ipv4PrefixListNextHops": [],
                "ipv4PrefixListRouteSources": [],
                "ipv6AccessListAddress": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "ipv6AccessListNextHop": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "ipv6AccessListRouteSource": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "ipv6PrefixListAddress": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "ipv6PrefixListNextHop": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "ipv6PrefixListRouteSource": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "localPreferenceSetting": 0,
                "metricBandwidth": 0,
                "metricRouteValues": [],
                "metricType": "INTERNAL",
                "nextHopIPV4Setting": "USE_PEER_ADDRESS",
                "nextHopIPV6Setting": "USE_PEER_ADDRESS",
                "originSetting": "LOCAL_IGP",
                "policyLists": [],
                "prefixListIPV4Setting": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "prefixListIPV6Setting": {
                    "id": "string",
                    "name": "string",
                    "type": "string",
                    "version": "string"
                },
                "routeTypeExternal1": true,
                "routeTypeExternal2": true,
                "routeTypeInternal": true,
                "routeTypeLocal": true,
                "routeTypeNSSAExternal1": true,
                "routeTypeNSSAExternal2": true,
                "sequence": 0,
                "specificIPsIPV4Setting": [],
                "specificIPsIPV6Setting": [],
                "tagValues": [],
                "type": "routemapentry",
                "weightSetting": 0
            }
        ],
        "id": "string",
        "name": "string",
        "type": "routemap",
        "version": "string"
    }' \
    "https://${HOST}:${PORT}/api/fdm/v6/object/routemaps"
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_route_map(client, body):
    return client.RouteMap.addRouteMap(
        body=body
    ).response().result


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

    body = {'description': 'string',
 'entries': [{'action': 'PERMIT',
              'asPathConvertRouteTagIntoASPath': True,
              'asPathLists': [],
              'asPathPrependASPath': [],
              'asPathPrependLastASToASPath': 0,
              'automaticTagSetting': True,
              'communityListSetting': 0,
              'communityListSettingInternet': True,
              'communityListSettingNoAdvertise': True,
              'communityListSettingNoExport': True,
              'communityLists': [],
              'interfaces': [],
              'ipv4AccessListAddresses': [],
              'ipv4AccessListNextHops': [],
              'ipv4AccessListRouteSources': [],
              'ipv4PrefixListAddresses': [],
              'ipv4PrefixListNextHops': [],
              'ipv4PrefixListRouteSources': [],
              'ipv6AccessListAddress': {'id': 'string',
                                        'name': 'string',
                                        'type': 'string',
                                        'version': 'string'},
              'ipv6AccessListNextHop': {'id': 'string',
                                        'name': 'string',
                                        'type': 'string',
                                        'version': 'string'},
              'ipv6AccessListRouteSource': {'id': 'string',
                                            'name': 'string',
                                            'type': 'string',
                                            'version': 'string'},
              'ipv6PrefixListAddress': {'id': 'string',
                                        'name': 'string',
                                        'type': 'string',
                                        'version': 'string'},
              'ipv6PrefixListNextHop': {'id': 'string',
                                        'name': 'string',
                                        'type': 'string',
                                        'version': 'string'},
              'ipv6PrefixListRouteSource': {'id': 'string',
                                            'name': 'string',
                                            'type': 'string',
                                            'version': 'string'},
              'localPreferenceSetting': 0,
              'metricBandwidth': 0,
              'metricRouteValues': [],
              'metricType': 'INTERNAL',
              'nextHopIPV4Setting': 'USE_PEER_ADDRESS',
              'nextHopIPV6Setting': 'USE_PEER_ADDRESS',
              'originSetting': 'LOCAL_IGP',
              'policyLists': [],
              'prefixListIPV4Setting': {'id': 'string',
                                        'name': 'string',
                                        'type': 'string',
                                        'version': 'string'},
              'prefixListIPV6Setting': {'id': 'string',
                                        'name': 'string',
                                        'type': 'string',
                                        'version': 'string'},
              'routeTypeExternal1': True,
              'routeTypeExternal2': True,
              'routeTypeInternal': True,
              'routeTypeLocal': True,
              'routeTypeNSSAExternal1': True,
              'routeTypeNSSAExternal2': True,
              'sequence': 0,
              'specificIPsIPV4Setting': [],
              'specificIPsIPV6Setting': [],
              'tagValues': [],
              'type': 'routemapentry',
              'weightSetting': 0}],
 'name': 'string',
 'type': 'routemap'}

    add_route_map(client, body)