Description

The addHAStatus operation handles configuration related to HAStatus model. 
Restores a failed unit to an unfailed state.

HTTP request

POST /api/fdm/v6/devices/default/action/ha/reset

Data Parameters

Parameter Required Type Description
nodeRole False string The node role will map to node role configured in HAConfiguration
nodeState False string The current node state fetched from Lina
peerNodeState False string The peer node's state fetched from Lina
configStatus False string
haHealthStatus False string
disabledReason False string The reason for HA failure obtained from failover history if there is any else will be empty
Field level constraints: must match pattern ^((?!;).)*$. (Note: Additional constraints might exist)
disabledTimestamp False string UTC time when the node state changed to Failed/Suspended/Disabled state
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.

Example

curl -X POST \
    --header "Accept: application/json" \
    --header "Authorization: Bearer ${ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    -d '{
        "configStatus": "IN_SYNC",
        "disabledReason": "string",
        "disabledTimestamp": "string",
        "haHealthStatus": "HEALTHY",
        "id": "string",
        "nodeRole": "HA_PRIMARY",
        "nodeState": "SINGLE_NODE",
        "peerNodeState": "SINGLE_NODE",
        "type": "HAStatus"
    }' \
    "https://${HOST}:${PORT}/api/fdm/v6/devices/default/action/ha/reset"
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_ha_status(client, body):
    return client.HAAction.addHAStatus(
        body=body
    ).response().result


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

    body = {'configStatus': 'IN_SYNC',
 'disabledReason': 'string',
 'disabledTimestamp': 'string',
 'haHealthStatus': 'HEALTHY',
 'nodeRole': 'HA_PRIMARY',
 'nodeState': 'SINGLE_NODE',
 'peerNodeState': 'SINGLE_NODE',
 'type': 'HAStatus'}

    add_ha_status(client, body)