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:
Request Method: GET
Header requirements:
Key | Value |
---|---|
Cookie | FireFlow_Session=[sessionId]. The sessionId is retrieved from the authentication request. |
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:
|
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:
|
initialPlanResult | List of strings | Initial plan results. |
generalStatus | string |
Status of initial plan. one of 4 options:
|
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:
|
|
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 |
|
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:
|
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 |
|
Status codes:
Code |
Description |
||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 |
Success |
||||||||||||||||||||||||
400 |
Input validation failure Error messages:
|
||||||||||||||||||||||||
403 |
Authentication failure Error messages:
|
||||||||||||||||||||||||
500 |
Failed to complete operation. Error messages:
|
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
{
"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" : "/fa/query/results/#/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 }