Skip to content

Getting Started

Migara Ekanayake edited this page Sep 12, 2024 · 1 revision

Provider v2 (Alpha Release)

Note

The new pango SDK and Terraform provider is auto-generated via pan-os-codegen To contribute new resources, please update the spec files.

Caution

Provider v2 is currently in its alpha stage and is not recommended for production use. Based on the feedback received during the alpha and beta testing phases, the schemas and features are subject to change. We would like to encourage users to proceed with caution.

For details on supported resources and data sources in the initial versions of v2, which do not yet have feature parity with v1, please refer to the Resources Roadmap.

Version Compatibility

  • Terraform: Version 1.8.0 or higher
  • PAN-OS: Version 10.1.0 or higher

Major Enhancements

Multi-Config Support

Multi-config support enhances performance by allowing multiple configuration API requests within a single transaction. For more information, visit the Multi-Config Request API documentation.

Enhanced Timeouts

Timeouts can now be specified directly within the Terraform resources, providing better control over operation timings.

Data Source Filtering (Coming Soon)

Enhanced client-side filtering for data sources will support various filters and use cases.

Inspection Mode (Future Release)

The provider will support operations against exported XML configuration files for data sources.

New 'Location' Argument

The v2 provider introduces a new 'location' argument to all resources and data sources, allowing users to specify the configuration's location explicitly. Discussion on this feature can be found here.

Example Usage of 'Location'

// Unmanaged Firewall
location = {
    ngfw_device = "localhost.localdomain"
    name = "vsys1"
}

// Panorama
location = {
    panorama = {
        panorama_device = "localhost.localdomain"
    }
}

// Panorama Managed Firewall
location = {
    from_panorama_shared = false
}

location = {
    from_panorama_vsys = {
        vsys = "vsys1"
    }
}

// Specific Device Group
location = {
    device_group = {
        panorama_device = "localhost.localdomain"
        name = ""
    }
}

// Specific Template
location = {
    template = {
        vsys = "vsys1"
        panorama_device = "localhost.localdomain"
        name = ""
        ngfw_device = "localhost.localdomain"
    }
}

// Specific Template Stack
location = {
    template_stack = {
        panorama_device = "localhost.localdomain"
        name = ""
        ngfw_device = "localhost.localdomain"
    }
}

// Common (Panorama or NGFW)
location = {
    shared = true
}

Contributing

The Go SDK and Terraform provider are auto-generated based on spec files. To contribute new resources, please update the spec files at pan-os-codegen.

If you encounter any bugs, please report them via GitHub issues. Pull Requests are highly welcome and appreciated!