NetOps - Firewall Version and Content Upgrade
Network operations playbook that updates the version and content of the firewall. You must have Superuser permissions to update the PAN-OS version.
PAN-OS by Palo Alto Networks · 15 tasks · 1 input · 0 outputs
Details
| ID | NetOps - Firewall Version and Content Upgrade |
|---|---|
| From Version | 5.0.0 |
| Tasks | 15 |
README
Updates the version and the content of the firewall. The superuser is requiered in order to update the PAN-OS version.
Dependencies
This playbook uses the following sub-playbooks, integrations, and scripts.
Sub-playbooks
- GenericPolling
Integrations
- Panorama
Scripts
This playbook does not use any scripts.
Commands
- pan-os-download-latest-content-update
- pan-os-check-latest-panos-software
- pan-os-content-update-download-status
- pan-os-install-latest-content-update
- pan-os-download-panos-version
- pan-os-content-update-install-status
- pan-os-download-panos-status
- pan-os-device-reboot
- pan-os-install-panos-version
- pan-os-install-panos-status
Playbook Inputs
| Name | Description | Default Value | Source | Required |
|---|---|---|---|---|
| target_version | The target PAN-OS version to upgrade. | targetfirewallversion | incident | Optional |
Playbook Outputs
There are no outputs for this playbook.
Inputs
target_version— Target PAN-OS version to which to upgrade.
Commands used
pan-os-check-latest-panos-software
pan-os-content-update-download-status
pan-os-content-update-install-status
pan-os-device-reboot
pan-os-download-latest-content-update
pan-os-download-panos-status
pan-os-download-panos-version
pan-os-install-latest-content-update
pan-os-install-panos-status
pan-os-install-panos-version
Flowchart
id: NetOps - Firewall Version and Content Upgrade version: -1 fromversion: 5.0.0 name: NetOps - Firewall Version and Content Upgrade description: Network operations playbook that updates the version and content of the firewall. You must have Superuser permissions to update the PAN-OS version. starttaskid: "0" tasks: "0": id: "0" taskid: b7fe4fdf-e359-4010-89e6-60b4c288f797 type: start task: id: b7fe4fdf-e359-4010-89e6-60b4c288f797 version: -1 name: "" description: "" iscommand: false brand: "" nexttasks: '#none#': - "1" separatecontext: false view: |- { "position": { "x": 700, "y": -210 } } note: false timertriggers: [] ignoreworker: false "1": id: "1" taskid: e540b70a-08b7-4979-8266-aa503a1e3500 type: regular task: id: e540b70a-08b7-4979-8266-aa503a1e3500 version: -1 name: Download the latest content update description: Downloads the latest content update. script: Panorama|||pan-os-download-latest-content-update type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "2" scriptarguments: target: {} reputationcalc: 2 separatecontext: false view: |- { "position": { "x": 700, "y": -40 } } note: true timertriggers: [] ignoreworker: false "2": id: "2" taskid: dac55564-0c88-4e85-80e0-74af6b9b4990 type: regular task: id: dac55564-0c88-4e85-80e0-74af6b9b4990 version: -1 name: Check on the content download status description: Checks content update download status. script: Panorama|||pan-os-content-update-download-status type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "11" scriptarguments: job_id: complex: root: Panorama accessor: Content.Download.JobID target: {} reputationcalc: 2 separatecontext: false view: |- { "position": { "x": 700, "y": 180 } } note: false timertriggers: [] ignoreworker: false "3": id: "3" taskid: b28debf8-d54b-42b3-841c-5ebfad3cfde6 type: regular task: id: b28debf8-d54b-42b3-841c-5ebfad3cfde6 version: -1 name: Install the latest content update description: Installs the latest content update. script: Panorama|||pan-os-install-latest-content-update type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "4" scriptarguments: target: {} reputationcalc: 2 separatecontext: false view: |- { "position": { "x": 700, "y": 570 } } note: false timertriggers: [] ignoreworker: false "4": id: "4" taskid: c342a8fd-a87d-4057-8edb-35ecc623ff88 type: regular task: id: c342a8fd-a87d-4057-8edb-35ecc623ff88 version: -1 name: Check on the content installation status description: Checks on the content update install status. script: Panorama|||pan-os-content-update-install-status type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "13" scriptarguments: job_id: complex: root: Panorama accessor: Content.Install.JobID target: {} reputationcalc: 2 separatecontext: false view: |- { "position": { "x": 700, "y": 760 } } note: false timertriggers: [] ignoreworker: false "5": id: "5" taskid: 5f5091be-db9d-4914-80ff-5b4b151a1400 type: regular task: id: 5f5091be-db9d-4914-80ff-5b4b151a1400 version: -1 name: Check for the latest PAN-OS software description: Checks the PAN-OS software version from the repository. script: Panorama|||pan-os-check-latest-panos-software type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "6" scriptarguments: target: {} separatecontext: false view: |- { "position": { "x": 700, "y": 1150 } } note: false timertriggers: [] ignoreworker: false "6": id: "6" taskid: 90d3c358-46d3-4ea6-8508-2cddf6e962e5 type: regular task: id: 90d3c358-46d3-4ea6-8508-2cddf6e962e5 version: -1 name: Download the latest PAN-OS software update description: Downloads target PAN-OS version to be installed. script: Panorama|||pan-os-download-panos-version type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "14" scriptarguments: target: {} target_version: complex: root: inputs.target_version separatecontext: false view: |- { "position": { "x": 700, "y": 1340 } } note: false timertriggers: [] ignoreworker: false "7": id: "7" taskid: 4f33c545-4fd5-485e-8b92-cc3e4689412e type: regular task: id: 4f33c545-4fd5-485e-8b92-cc3e4689412e version: -1 name: Install the latest PAN-OS software update description: Installs the target PAN-OS version. script: Panorama|||pan-os-install-panos-version type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "8" scriptarguments: target: {} target_version: complex: root: inputs.target_version separatecontext: false view: |- { "position": { "x": 700, "y": 1930 } } note: false timertriggers: [] ignoreworker: false "8": id: "8" taskid: 28a4fb31-0ae2-40e4-804d-692bd0aca523 type: regular task: id: 28a4fb31-0ae2-40e4-804d-692bd0aca523 version: -1 name: Check on the PAN-OS software installation status description: Checks the PAN-OS installation status. script: Panorama|||pan-os-install-panos-status type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "16" scriptarguments: job_id: complex: root: Panorama accessor: PANOS.Install.JobID target: {} separatecontext: false view: |- { "position": { "x": 700, "y": 2110 } } note: false timertriggers: [] ignoreworker: false "9": id: "9" taskid: ebcba4bf-20e6-40f5-87b5-410847e31c04 type: regular task: id: ebcba4bf-20e6-40f5-87b5-410847e31c04 version: -1 name: Reboot the firewall description: Reboots the Firewall device. script: Panorama|||pan-os-device-reboot type: regular iscommand: true brand: Panorama scriptarguments: target: {} separatecontext: false view: |- { "position": { "x": 700, "y": 2520 } } note: false timertriggers: [] ignoreworker: false "11": id: "11" taskid: 14794c89-6d30-463a-812c-9e93b4e5f710 type: playbook task: id: 14794c89-6d30-463a-812c-9e93b4e5f710 version: -1 name: GenericPolling description: |- Use this playbook as a sub-playbook to block execution of the master playbook until a remote action is complete. This playbook implements polling by continuously running the command in Step \#2 until the operation completes. The remote action should have the following structure: 1. Initiate the operation. 2. Poll to check if the operation completed. 3. (optional) Get the results of the operation. playbookName: GenericPolling type: playbook iscommand: false brand: "" nexttasks: '#none#': - "3" scriptarguments: AdditionalPollingCommandArgNames: {} AdditionalPollingCommandArgValues: {} Ids: complex: root: Panorama accessor: Content.Download.JobID Interval: simple: "1" PollingCommandArgName: simple: job_id PollingCommandName: simple: pan-os-content-update-download-status Timeout: simple: "10" dt: simple: Panorama.Content.Download(val.Status !== 'Completed').JobID separatecontext: true loop: iscommand: false exitCondition: "" wait: 1 view: |- { "position": { "x": 700, "y": 370 } } note: false timertriggers: [] ignoreworker: false "13": id: "13" taskid: 6ed771e0-1ce5-47b4-89ea-15635a0cf374 type: playbook task: id: 6ed771e0-1ce5-47b4-89ea-15635a0cf374 version: -1 name: GenericPolling description: |- Use this playbook as a sub-playbook to block execution of the master playbook until a remote action is complete. This playbook implements polling by continuously running the command in Step \#2 until the operation completes. The remote action should have the following structure: 1. Initiate the operation. 2. Poll to check if the operation completed. 3. (optional) Get the results of the operation. playbookName: GenericPolling type: playbook iscommand: false brand: "" nexttasks: '#none#': - "5" scriptarguments: AdditionalPollingCommandArgNames: {} AdditionalPollingCommandArgValues: {} Ids: complex: root: Panorama accessor: Content.Install.JobID Interval: simple: "1" PollingCommandArgName: simple: job_id PollingCommandName: simple: pan-os-content-update-install-status Timeout: simple: "10" dt: simple: Panorama.Content.Install(val.Status !== 'Completed' && val.Status !== 'Failed').JobID separatecontext: true loop: iscommand: false exitCondition: "" wait: 1 view: |- { "position": { "x": 700, "y": 960 } } note: false timertriggers: [] ignoreworker: false "14": id: "14" taskid: 33afd485-aeef-49c6-83fb-23250779f58e type: regular task: id: 33afd485-aeef-49c6-83fb-23250779f58e version: -1 name: Download PAN-OS Status description: PAN-OS download status script: Panorama|||pan-os-download-panos-status type: regular iscommand: true brand: Panorama nexttasks: '#none#': - "15" scriptarguments: job_id: complex: root: Panorama accessor: PANOS.Download.JobID target: {} separatecontext: false view: |- { "position": { "x": 700, "y": 1540 } } note: false timertriggers: [] ignoreworker: false "15": id: "15" taskid: c74d8f1c-3dbd-49f9-8b94-59a9007a0a1c type: playbook task: id: c74d8f1c-3dbd-49f9-8b94-59a9007a0a1c version: -1 name: GenericPolling description: |- Use this playbook as a sub-playbook to block execution of the master playbook until a remote action is complete. This playbook implements polling by continuously running the command in Step \#2 until the operation completes. The remote action should have the following structure: 1. Initiate the operation. 2. Poll to check if the operation completed. 3. (optional) Get the results of the operation. playbookName: GenericPolling type: playbook iscommand: false brand: "" nexttasks: '#none#': - "7" scriptarguments: AdditionalPollingCommandArgNames: {} AdditionalPollingCommandArgValues: {} Ids: complex: root: Panorama accessor: PANOS.Download.JobID Interval: simple: "10" PollingCommandArgName: simple: job_id PollingCommandName: simple: pan-os-download-panos-status Timeout: simple: "20" dt: simple: Panorama.PANOS.Download(val.Status !== 'Completed' && val.Status !== 'Failed').JobID separatecontext: true loop: iscommand: false exitCondition: "" wait: 1 view: |- { "position": { "x": 700, "y": 1740 } } note: false timertriggers: [] ignoreworker: false "16": id: "16" taskid: cafe7cfd-7bb9-4caf-8cd5-dd6aaab69dd5 type: playbook task: id: cafe7cfd-7bb9-4caf-8cd5-dd6aaab69dd5 version: -1 name: GenericPolling description: |- Use this playbook as a sub-playbook to block execution of the master playbook until a remote action is complete. This playbook implements polling by continuously running the command in Step \#2 until the operation completes. The remote action should have the following structure: 1. Initiate the operation. 2. Poll to check if the operation completed. 3. (optional) Get the results of the operation. playbookName: GenericPolling type: playbook iscommand: false brand: "" nexttasks: '#none#': - "9" scriptarguments: AdditionalPollingCommandArgNames: {} AdditionalPollingCommandArgValues: {} Ids: complex: root: Panorama accessor: PANOS.Install.JobID Interval: simple: "10" PollingCommandArgName: simple: job_id PollingCommandName: simple: pan-os-install-panos-status Timeout: simple: "20" dt: simple: Panorama.PANOS.Install(val.Status !== 'Completed' && val.Status !== 'Failed').JobID separatecontext: true loop: iscommand: false exitCondition: "" wait: 1 view: |- { "position": { "x": 700, "y": 2320 } } note: false timertriggers: [] ignoreworker: false view: |- { "linkLabelsPosition": {}, "paper": { "dimensions": { "height": 2825, "width": 380, "x": 700, "y": -210 } } } inputs: - key: target_version value: complex: root: incident accessor: targetfirewallversion required: false description: Target PAN-OS version to which to upgrade. outputs: [] tests: - No Tests supportedModules: - agentix - xsiam - cloud_posture