Skillet Types¶
The original skillets were focused on configuration using XML snippets. This is now extended to include a broad array of skillet types for deployment, validation, operations, and other needs beyond configuration.
docker¶
With a docker skillet, you can use any available libraries in the Docker image. This allows you to distribute custom tools and scripts, or use existing dockerized tools, as a skillet.
Using a docker skillet, you can create a single Docker image that contains all your dependencies and distribute that with the Skillet metadata file.
Use cases:
Ansible playbooks and associated libraries
Terraform implementations
Shell and Python scripts
View examples of docker skillets
panorama¶
Used for API-based XML configuration and operational interactions with Panorama.
Examples:
Push XML configuration snippets that merge into the candidate configuration
Operational commands to generate certificates or perform load config partial
Configuration commands for move, edit, and delete
View examples of panorama skillets
Note
The panos and panorama types are functionally identical and used primarily to denote the platform target for the skillet.
Note
The panorama and panorama-gpcs [Prisma Access] skillet types are identical, except for tool handling of the commit models. The panorama type will only commit to Panorama while the panorama-gpcs type will also push the configuration to Prisma Access.
panorama-gpcs¶
Used for API-based XML configuration and operational interactions with Panorama specific to Prisma Access plug-in configurations.
Examples:
Standard Panorama configuration for templates, template-stacks, and device-groups
Plug-in configuration for service connections, remote networks, and mobile users
View examples of Prisma Access skillets
panos¶
Used for API-based XML configuration and operational interactions with a PAN-OS NGFW.
Examples:
Push XML configuration snippets that merge into the candidate configuration
Operational commands to generate certificates or perform ‘load config partial’
Configuration commands for move, edit, and delete
View examples of panos skillets
pan_validation¶
Used to capture and parse XML configuration file and operational command outputs and match against a set of Boolean test rules.
Examples:
Best practice configuration assessments (eg. IronSkillet)
Dependency checks before loading configuration skillets
Check for potential merge conflicts based on existing config elements
Troubleshooting assistance with config/system insights
View examples of template skillets
python3¶
Run Python scripts within a controlled virtual environment and include a web UI instead of command line arguments. Designed to simplify sharing of Python scripts.
Current version used in PanHandler is python3.6
Examples:
Perform content updates
Use the NGFW and Support APIs to generate an SLR
Generate and import configuration files to a device
View examples of python skillets
Note
Python scripts are useful when checking system state is required. The best example is checking job status for a process before performing the next task. Some skillets are stateless and do not have this capability.
rest¶
General purpose REST interactions with any REST-supported API. Used to view full results or to capture to use as input variables in other skillets.
Examples:
Prisma Access or other platform service information
Query a device and return a list of values used in a skillet UI dropdown
Check status of cloud platforms
View examples of rest skillets
template¶
This general purpose skillet type takes a text file input and renders output to screen after variable substitutions.
Examples:
Full XML config file generation for manual imports
Set command outputs
Third party text file generation as reference configurations
Skillet workflow messaging outputs
View examples of template skillets
terraform¶
Used in conjunction with Terraform templates to deploy devices.
Examples:
Deploy generic compute resources a public cloud
Deploy a VM-series or Panorama in the public cloud
View examples of terraform skillets
workflow¶
Run a series of skillets across various configurations or skillet types.
Examples:
Query a device for attribute names then use in a configuration skillet
Load a series of day one, network, and policy skillets based on user inputs
Perform content updates before loading configuration elements
Validation dependencies before loading configuration elements
View examples of workflow skillets