Description

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

HTTP request

PUT /api/fdm/v6/devices/default/routing/virtualrouters/{vrfId}/ecmpzones/{objId}

Data Parameters

Parameter Required Type Description
version False string A unique string version assigned by the system when the object is created or modified. No assumption can be made on the format or content of this identifier. The identifier must be provided whenever attempting to modify/delete an existing object. As the version will change every time the object is modified, the value provided in this identifier must match exactly what is present in the system or the request will be rejected.
name True string A string containing the name of the object, up to 48 characters in length
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)
interfaces False [object] A list of interfaces associated with the ECMP Traffic Zone
Field level constraints: size must be between 0 and 8 (inclusive). (Note: Additional constraints might exist)
Allowed types are: [EtherChannelInterface, PhysicalInterface, SubInterface]
id False string A unique string identifier assigned by the system when the object is created. No assumption can be made on the format or content of this identifier. The identifier must be provided whenever attempting to modify/delete (or reference) an existing object.
Field level constraints: must match pattern ^((?!;).)*$. (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.

Path Parameters

Parameter Required Type Description
vrfId True string
objId True string

Example

curl -X PUT \
    --header "Accept: application/json" \
    --header "Authorization: Bearer ${ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    -d '{
        "description": "string",
        "id": "string",
        "interfaces": [],
        "name": "string",
        "type": "ecmpzone",
        "version": "string"
    }' \
    "https://${HOST}:${PORT}/api/fdm/v6/devices/default/routing/virtualrouters/{vrfId}/ecmpzones/{objId}"
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 edit_ecmp_zone(client, vrf_id, obj_id, body):
    return client.ECMPZone.editECMPZone(
        vrfId=vrf_id,
        objId=obj_id,
        body=body
    ).response().result


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

    vrf_id = "string"
    obj_id = "string"
    body = {'description': 'string',
 'id': 'string',
 'interfaces': [],
 'name': 'string',
 'type': 'ecmpzone',
 'version': 'string'}

    edit_ecmp_zone(client, vrf_id, obj_id, body)