Get Initial Plan for Traffic Change Request

Get Initial Plan results for a Traffic Change Request.

Note: This method can be used only for change requests created in A32.50 and above

Resource Name: change-requests/traffic/{changeRequestId}/initial-plan/result

Request Method: GET

Header requirements:

Key Value
Cookie FireFlow_Session=[sessionId]. The sessionId is retrieved from the authentication request.

Request URL Parameters:

Element

Type

Description

changeRequestId Mandatory

Integer

The ID of the Change Request. Sub-request IDs return the results of the Parent change request.

Response parameters

Element

Type

Description

status String

Status of the API request. One of these:

  • Success
  • Failure
messages array of strings Populated when status is failure.
code string Headline of error.
message string Details of error.
data Data objects

Populated when status is success. One of the following:

  • Initial plan not started

  • Initial plan in progress

  • Results of initial plan

initialPlanResult List of strings Initial plan results.
generalStatus string

Status of initial plan. one of 4 options:

  • Result OK

  • No devices

  • Failed on some devices

  • Error

resultBasedDeviceGroup string the device group on which the calculation is based.
individualDevices array of strings list of devices data (devices from the query, manual, or backup).
byPolicyDevices map map of relevant devices per policy.
originatedFrom  

Origin of device:

  • Query

  • Manual

  • Query and manual

  • Backup device

deviceDetails object Details of the device.
name string Name.
displayName string Display name.
brand String Brand.
tenantMSOConfiguration string MSO managed device information.
allowQueryDeviceData   device data for allow query
queryStatus string
  • Allowed

  • Blocked

  • Partially Blocked

potentialBlockingStatus string This is relevant for devices containing additional layer that can potentially differ in routing from the first layer.
alreadyWorks boolean  
allowedWithNAT boolean device configured with NAT.
dropQueryDeviceData string device data for drop query.
groupQueryAllowResult list of strings allow traffic result.
queryURL string URL of query.
missingPaths string

Whether any routes are missing:

  • non

  • some

  • all

isTrafficAlreadyWorks boolean  
groupQueryDropResult   Drop traffic result
LastCalculationStartTime string initial plan start time calculation (UTC time standard)
unroutedTuples List of Integers a list of traffic line ids for which TSQ didn't discover any device routing the traffic
summaryNotes List of strings messages related to the initial plan calculation
Status string
  • In Progress

  • Completed

  • Failed

  • Not Started

Status codes:

Code

Description

200

Success

400

Input validation failure

403

Authentication failure

500

Failed to complete operation.

 

Request cURL examples

curl -k -X POST "https://<machine_IP>/FireFlow/api/change-requests/traffic/<ChangeRequestID>/initial-plan/result" -H "Cookie:RT_SID_FireFlow.443=<Cookie_value>"

Response example for 200

Copy
{
   "status": "Success",
   "messages": [],
   "data":
        "initialPlanResult" :
            {
                "generalStatus" : "Result OK",
                "resultBasedDeviceGroup" : "ALL_FIREWALLS",
                "individualDevices" : [],
                "byPolicyDevices: : {
                                        "miriam 10_20_26_1" : [
                                                                {
                                                                    "originatedFrom" : "Query",
                                                                    "deviceDetails" : {
                                                                                        "name" : "10_20_26_1_David_Bowie_vsys6_EmptyVR_fromTemplate1",
                                                                                        "displayName" : "VR-David_Bowie_vsys6_EmptyVR-fromTemplate1",
                                                                                        "brand" : "panorama",
                                                                                        "tenantMSOConfiguration" : null
                                                                                   },
                                                                    "allowQueryDeviceData" : {
                                                                                                "queryStatus": "Blocked",
                                                                                                "potentialBlockingStatus" : "NON_BLOCKING",
                                                                                                "alreadyWorks" : "false",
                                                                                                "allowedWithNAT" : "false",
                                                                                             },
                                                                    "dropQueryDeviceData" : null
                                                                }
                                                              ]
                                    },
                "groupQueryAllowResult" : {
                                             "queryURL" : "/algosec-ui/query-result?queryPath=/work/ALL_FIREWALLS_query-1655890869987",
                                             "missingPaths" : "none",
                                             "isTrafficAlreadyWorks" : "false",
                                          },
                "groupQueryDropResult" : null,
                "*(2)*LastCalculationStartTime" : "Tue Jun 21 17:20:58 IDT 2022",
                "*(3)*unroutedTuples" : null,
                "summaryNotes" : [
                                    "Initial plan was unsuccessful on some devices."
                                 ]                                                                                                         
           },
        "status": "Completed"
}

Response example for 400

				{
  "status": "Failure",
  "messages": [
    {
      "code": "CHANGE_REQUEST_NOT_FOUND",
      "message": "Change request 6354 not found"
    }
  ],
  "data": null
}