Description

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

HTTP request

POST /api/fdm/v6/devices/default/routing/virtualrouters/{parentId}/staticrouteentries

Data Parameters

Parameter Required Type Description
name True string A string that represents the name of the object
description False string An optional Unicode string, from 0 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)
iface True object The device interface through which traffic will be routed. The gateway address must be accessible from this interface.
Field level constraints: cannot be null. (Note: Additional constraints might exist)
Allowed types are: [BridgeGroupInterface, EtherChannelInterface, PhysicalInterface, SubInterface, VirtualTunnelInterface, VlanInterface]
networks True [object] A list of destination networks for this route.
Field level constraints: cannot be null. (Note: Additional constraints might exist)
Allowed types are: [NetworkObject]
gateway False object The address of the next hop device. Traffic will be sent to this address.
Allowed types are: [NetworkObject]
metricValue False integer A value between 1 and 254 that represents the administrative distance for this route.
Field level constraints: must be between 1 and 255 (inclusive). (Note: Additional constraints might exist)
ipType True string The IP type of the route
Field level constraints: cannot be null. (Note: Additional constraints might exist)
slaMonitor False object The SLA monitor
Allowed types are: [SLAMonitor]
rulePosition False integer Transient field holding the index position for the rule
type True string A UTF8 string, all letters lower-case, that represents the class-type. This corresponds to the class name.

Path Parameters

Parameter Required Type Description
parentId True string

Query Parameters

Parameter Required Type Description
at False integer An integer representing where to add the new object in the ordered list. Use 0 to add it at the beginning of the list. If not specified, it will be added at the end of the list

Example

curl -X POST \
    --header "Accept: application/json" \
    --header "Authorization: Bearer ${ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    -d '{
        "description": "string",
        "gateway": {
            "id": "string",
            "name": "string",
            "type": "string",
            "version": "string"
        },
        "id": "string",
        "iface": {
            "id": "string",
            "name": "string",
            "type": "string",
            "version": "string"
        },
        "ipType": "IPv4",
        "metricValue": 0,
        "name": "string",
        "networks": [
            {
                "id": "string",
                "name": "string",
                "type": "string",
                "version": "string"
            }
        ],
        "rulePosition": 0,
        "slaMonitor": {
            "id": "string",
            "name": "string",
            "type": "string",
            "version": "string"
        },
        "type": "staticrouteentry",
        "version": "string"
    }' \
    "https://${HOST}:${PORT}/api/fdm/v6/devices/default/routing/virtualrouters/{parentId}/staticrouteentries"
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_static_route_entry(client, parent_id, body):
    return client.Routing.addStaticRouteEntry(
        parentId=parent_id,
        body=body
    ).response().result


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

    parent_id = "string"
    body = {'description': 'string',
 'gateway': {'id': 'string',
             'name': 'string',
             'type': 'string',
             'version': 'string'},
 'iface': {'id': 'string',
           'name': 'string',
           'type': 'string',
           'version': 'string'},
 'ipType': 'IPv4',
 'metricValue': 0,
 'name': 'string',
 'networks': [{'id': 'string',
               'name': 'string',
               'type': 'string',
               'version': 'string'}],
 'rulePosition': 0,
 'slaMonitor': {'id': 'string',
                'name': 'string',
                'type': 'string',
                'version': 'string'},
 'type': 'staticrouteentry'}

    add_static_route_entry(client, parent_id, body)