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. |
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:
|
| 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
|
||||||||||||||||||||||||
| 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
{
"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
}