PAN-OS Commit Configuration Deprecated

Deprecated. Use PAN-OS Commit Configuration v2 instead.

PAN-OS by Palo Alto Networks · 19 tasks · 1 input · 2 outputs

Details

IDPAN-OS Commit Configuration
From Version5.0.0
Tasks19

README

Deprecated. Use PAN-OS Commit Configuration v2 instead.

Dependencies

This playbook uses the following sub-playbooks, integrations, and scripts.

Sub-playbooks

  • GenericPolling

Integrations

  • Panorama

Scripts

  • PrintErrorEntry

Commands

  • pan-os-commit
  • pan-os-commit-status
  • pan-os-push-to-device-group
  • pan-os-push-status
  • pan-os

Playbook Inputs


Name Description Default Value Required
device-group The device group Optional  

Playbook Outputs


Path Description Type
Panorama.Commit.Warnings Job ID warnings. string
Panorama.Push.Warnings Job ID warnings. unknown

Playbook Image


PAN-OS Commit Configuration

Inputs

  • device-group

Outputs

  • Panorama.Commit.Warnings — Job ID warnings.
  • Panorama.Push.Warnings — Job ID warnings.

Commands used

pan-os pan-os-commit pan-os-commit-status pan-os-push-status pan-os-push-to-device-group

Flowchart

yes yes yes Panorama yes yes Start Start Is Palo Alto Networks PAN-OS enabled? Is Palo Alto Networks PAN... Commit to Panorama - pan-os-commit Commit to Panorama pan-os-commit GenericPolling - GenericPolling GenericPolling GenericPolling Done Done Push rules to the Panorama device group - pan-os-push-to-device-group Push rules to the Panoram... pan-os-push-to-device-group GenericPolling - GenericPolling GenericPolling GenericPolling Get Panorama commit status - pan-os-commit-status Get Panorama commit status pan-os-commit-status Get Panorama push status - pan-os-push-status Get Panorama push status pan-os-push-status Filter JobID Filter JobID Filter JobID Filter JobID Fetch instance info - pan-os Fetch instance info pan-os Identify the instance type Identify the instance type Was Panorama commit successful? Was Panorama commit succe... Was Panorama push successful? Was Panorama push success... Print Commit Error - PrintErrorEntry Print Commit Error PrintErrorEntry Print Push Error - PrintErrorEntry Print Push Error PrintErrorEntry Fix errors and commit manually Fix errors and commit man... Fix errors and push manually Fix errors and push manually
id: PAN-OS Commit Configuration
version: -1
name: PAN-OS Commit Configuration
fromversion: 5.0.0
description: Deprecated. Use PAN-OS Commit Configuration v2 instead.
starttaskid: "0"
tasks:
  "0":
    id: "0"
    taskid: 72f6ac89-7d29-48cd-8fc8-a87a469d368e
    type: start
    task:
      id: 72f6ac89-7d29-48cd-8fc8-a87a469d368e
      version: -1
      name: ""
      description: '-'
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "1"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 500,
          "y": -250
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "1":
    id: "1"
    taskid: 3cdca23e-0cc3-4d3f-8f27-aef7c980e40d
    type: condition
    task:
      id: 3cdca23e-0cc3-4d3f-8f27-aef7c980e40d
      version: -1
      name: Is Palo Alto Networks PAN-OS enabled?
      description: Verify that there is a valid instance of Palo Alto Networks PAN-OS enabled.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "5"
      "yes":
      - "2"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isExists
          left:
            value:
              complex:
                root: modules
                filters:
                - - operator: isEqualString
                    left:
                      value:
                        simple: modules.brand
                      iscontext: true
                    right:
                      value:
                        simple: Panorama
                - - operator: isEqualString
                    left:
                      value:
                        simple: modules.state
                      iscontext: true
                    right:
                      value:
                        simple: active
                accessor: brand
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 500,
          "y": -30
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "2":
    id: "2"
    taskid: 589c547f-febf-4966-8f03-92b3510be974
    type: regular
    task:
      id: 589c547f-febf-4966-8f03-92b3510be974
      version: -1
      name: Commit to Panorama
      description: Commit Palo Alto Firewall or Panorama
      script: '|||pan-os-commit'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "10"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 270,
          "y": 370
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "3":
    id: "3"
    taskid: 16b55e1b-edf4-4495-8acd-ec822793a904
    type: playbook
    task:
      id: 16b55e1b-edf4-4495-8acd-ec822793a904
      version: -1
      name: GenericPolling
      description: |-
        Use as a sub-playbook to block execution of the master playbook until a remote action is complete.
        This playbook implements polling by continually 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#':
      - "8"
    scriptarguments:
      Ids:
        complex:
          root: Panorama
          filters:
          - - operator: isEqualString
              left:
                value:
                  simple: Panorama.Commit.Status
                iscontext: true
              right:
                value:
                  simple: Pending
          accessor: Commit.JobID
      Interval:
        simple: "1"
      PollingCommandArgName:
        simple: job_id
      PollingCommandName:
        simple: pan-os-commit-status
      Timeout:
        simple: "60"
      dt:
        simple: Panorama.Commit(val.Status != 'Completed' && val.Status != 'Failed').JobID
    separatecontext: true
    continueonerrortype: ""
    loop:
      iscommand: false
      exitCondition: ""
      wait: 1
      max: 0
    view: |-
      {
        "position": {
          "x": 150,
          "y": 1075
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "5":
    id: "5"
    taskid: 952b0224-dd79-4eca-8721-d93bd8edd76a
    type: title
    task:
      id: 952b0224-dd79-4eca-8721-d93bd8edd76a
      version: -1
      name: Done
      description: '-'
      type: title
      iscommand: false
      brand: ""
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 1210,
          "y": 4100
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "6":
    id: "6"
    taskid: 73cbf069-2f98-42f8-8ed2-7780618b954c
    type: regular
    task:
      id: 73cbf069-2f98-42f8-8ed2-7780618b954c
      version: -1
      name: Push rules to the Panorama device group
      description: Push rules from Palo Alto Panorama to the Palo Alto configured device group.
      script: '|||pan-os-push-to-device-group'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "11"
    scriptarguments:
      device-group:
        simple: ${inputs.device-group}
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -60,
          "y": 2430
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "7":
    id: "7"
    taskid: d7c1b22b-2529-494e-8959-dd33edd07e6e
    type: playbook
    task:
      id: d7c1b22b-2529-494e-8959-dd33edd07e6e
      version: -1
      name: GenericPolling
      description: |-
        Use as a sub-playbook to block execution of the master playbook until a remote action is complete.
        This playbook implements polling by continually 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:
      Ids:
        complex:
          root: Panorama
          filters:
          - - operator: isEqualString
              left:
                value:
                  simple: Panorama.Push.Status
                iscontext: true
              right:
                value:
                  simple: Pending
          accessor: Push.JobID
      Interval:
        simple: "1"
      PollingCommandArgName:
        simple: job_id
      PollingCommandName:
        simple: pan-os-push-status
      Timeout:
        simple: "60"
      dt:
        simple: Panorama.Push(val.Status != 'Completed' && val.Status != 'Failed').JobID
    separatecontext: true
    continueonerrortype: ""
    loop:
      iscommand: false
      exitCondition: ""
      wait: 1
      max: 0
    view: |-
      {
        "position": {
          "x": -190,
          "y": 3050
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "8":
    id: "8"
    taskid: 589fe169-faf7-4986-806f-51eecdb7246c
    type: regular
    task:
      id: 589fe169-faf7-4986-806f-51eecdb7246c
      version: -1
      name: Get Panorama commit status
      description: Get commit status
      script: '|||pan-os-commit-status'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "14"
    scriptarguments:
      job_id:
        complex:
          root: Panorama
          accessor: Commit.JobID
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 150,
          "y": 1310
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "9":
    id: "9"
    taskid: f3cb81ed-446f-4a55-87ed-866a5acc3be0
    type: regular
    task:
      id: f3cb81ed-446f-4a55-87ed-866a5acc3be0
      version: -1
      name: Get Panorama push status
      description: Get push status
      script: '|||pan-os-push-status'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "15"
    scriptarguments:
      job_id:
        complex:
          root: Panorama
          accessor: Push.JobID
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -190,
          "y": 3230
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "10":
    id: "10"
    taskid: 9af18cb1-8e90-40a7-88aa-30ee4ef8a796
    type: condition
    task:
      id: 9af18cb1-8e90-40a7-88aa-30ee4ef8a796
      version: -1
      name: Filter JobID
      description: Filter JobID to validate only new push configuration JobIDs.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "5"
      "yes":
      - "3"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isExists
          left:
            value:
              simple: Panorama.Commit(val.Status != 'Completed' && val.Status != 'Failed').JobID
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 270,
          "y": 590
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "11":
    id: "11"
    taskid: 3123d9ad-2650-478e-8746-3401631faa14
    type: condition
    task:
      id: 3123d9ad-2650-478e-8746-3401631faa14
      version: -1
      name: Filter JobID
      description: Filters by JobID to validate only the new push configuration JobIDs.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "5"
      "yes":
      - "7"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isExists
          left:
            value:
              simple: Panorama.Push(val.Status != 'Completed' && val.Status != 'Failed').JobID
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -60,
          "y": 2740
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "12":
    id: "12"
    taskid: b319325d-4649-4d0a-85b6-ca86878fe32f
    type: regular
    task:
      id: b319325d-4649-4d0a-85b6-ca86878fe32f
      version: -1
      name: Fetch instance info
      description: Run any command supported in the API.
      script: Panorama|||pan-os
      type: regular
      iscommand: true
      brand: Panorama
    nexttasks:
      '#none#':
      - "13"
    scriptarguments:
      cmd:
        simple: <show><system><info></info></system></show>
      extend-context:
        simple: panorama.model=response.result.system.model
      type:
        simple: op
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 150,
          "y": 2000
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "13":
    id: "13"
    taskid: 831a19ea-d385-4c53-8cc0-c6f871658a0d
    type: condition
    task:
      id: 831a19ea-d385-4c53-8cc0-c6f871658a0d
      version: -1
      name: Identify the instance type
      description: Automatically detects the product (Panorama/Firewall).
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "5"
      Panorama:
      - "6"
    separatecontext: false
    conditions:
    - label: Panorama
      condition:
      - - operator: isEqualString
          left:
            value:
              simple: panorama.model
            iscontext: true
          right:
            value:
              simple: Panorama
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 150,
          "y": 2160
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "14":
    id: "14"
    taskid: 658af397-af4e-4589-8cc5-e5d22d67fb7b
    type: condition
    task:
      id: 658af397-af4e-4589-8cc5-e5d22d67fb7b
      version: -1
      name: Was Panorama commit successful?
      description: '-'
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "16"
      "yes":
      - "12"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isEqualString
          left:
            value:
              simple: Panorama.Commit.Status
            iscontext: true
          right:
            value:
              simple: Completed
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 150,
          "y": 1470
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "15":
    id: "15"
    taskid: e5e51f27-0ef7-4603-8ff4-6f29c327187f
    type: condition
    task:
      id: e5e51f27-0ef7-4603-8ff4-6f29c327187f
      version: -1
      name: Was Panorama push successful?
      description: '-'
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "17"
      "yes":
      - "5"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isEqualString
          left:
            value:
              simple: Panorama.Push.Status
            iscontext: true
          right:
            value:
              simple: Completed
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -190,
          "y": 3440
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "16":
    id: "16"
    taskid: 1312dacc-0f37-48ba-884d-e8fa9697e965
    type: regular
    task:
      id: 1312dacc-0f37-48ba-884d-e8fa9697e965
      version: -1
      name: Print Commit Error
      description: Prints an error entry with a given message
      scriptName: PrintErrorEntry
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "18"
    scriptarguments:
      message:
        simple: Panorama Commit Failed
    separatecontext: false
    continueonerror: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 620,
          "y": 1660
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "17":
    id: "17"
    taskid: 0de2ff3e-cdac-4477-8939-cc6722a78b99
    type: regular
    task:
      id: 0de2ff3e-cdac-4477-8939-cc6722a78b99
      version: -1
      name: Print Push Error
      description: Prints an error entry with a given message
      scriptName: PrintErrorEntry
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "19"
    scriptarguments:
      message:
        simple: Panorama Commit Failed
    separatecontext: false
    continueonerror: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 370,
          "y": 3610
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "18":
    id: "18"
    taskid: 3e46d493-9404-476d-8d95-68b8ad017a84
    type: regular
    task:
      id: 3e46d493-9404-476d-8d95-68b8ad017a84
      version: -1
      name: Fix errors and commit manually
      description: '-'
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "12"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 620,
          "y": 1825
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "19":
    id: "19"
    taskid: c1b6bfd6-729d-4c47-8f96-f9a7527b3c9b
    type: regular
    task:
      id: c1b6bfd6-729d-4c47-8f96-f9a7527b3c9b
      version: -1
      name: Fix errors and push manually
      description: '-'
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "5"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 370,
          "y": 3790
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
system: true
view: |-
  {
    "linkLabelsPosition": {
      "10_3_yes": 0.82,
      "10_5_#default#": 0.1,
      "11_5_#default#": 0.1,
      "13_5_#default#": 0.1,
      "13_6_Panorama": 0.73,
      "14_12_yes": 0.24,
      "15_17_#default#": 0.2,
      "15_5_yes": 0.1,
      "1_5_#default#": 0.17
    },
    "paper": {
      "dimensions": {
        "height": 4415,
        "width": 1780,
        "x": -190,
        "y": -250
      }
    }
  }
inputs:
- key: device-group
  value: {}
  required: false
  description: ""
  playbookInputQuery:
outputs:
- contextPath: Panorama.Commit.Warnings
  description: Job ID warnings.
  type: string
- contextPath: Panorama.Push.Warnings
  description: Job ID warnings.
tests:
- No tests (deprecated)
deprecated: true
supportedModules:
- agentix
- xsiam
- edr
- cloud
- cloud_runtime_security