Skip to main content

Palo Alto Networks Panorama Module for Google Clooud Platform

A Terraform module for deploying a Panorama instance in the Google Cloud Platform.

GitHub Logo Terraform Logo


For usage, check the "examples" folder in the root of the repository.



terraform>= 1.3, < 2.0
google~> 4.54


google~> 4.54


No modules.


google_compute_image.thisdata source


attach_public_ipDetermines if a Public IP should be assigned to Panorama. Set by the API if the public_static_ip variable is not defined.boolfalseno
custom_imageCustom image for your Panorama instances. Custom images are available only to your Cloud project.
You can create a custom image from boot disks and other images.
For more information, please check the provider documentation
as well as the Panorama Administrator's Guide.

If a custom_image is not specified, image_project and image_family are used to determine a Public image to use for Panorama.
deletion_protectionEnable deletion protection on the instance.boolfalseno
disk_sizeSize of boot disk in gigabytes. Default is the same as the OS image.stringnullno
disk_typeType of boot disk. For available options, check the providers documentation.string"pd-ssd"no
labelsSee the Terraform manualmap(any){}no
log_disksList of disks to create and attach to Panorama to store traffic logs.
Available options:
- name (Required) Name of the resource. The name must be 1-63 characters long, and comply with RFC1035.
- type (Optional) Disk type resource describing which disk type to use to create the disk. For available options, check the providers documentation.
- size (Optional) Size of the disk for Panorama logs (Gigabytes).

log_disks = [
name = "example-disk-1"
type = "pd-ssd"
size = "2000"
name = "example-disk-2"
type = "pd-ssd"
size = "3000"
machine_typeSee the Terraform manualstring"n1-standard-16"no
metadataSee the Terraform manualmap(string){}no
min_cpu_platformSee the Terraform manualstring"Intel Broadwell"no
nameName of the Panorama instance.string"panorama"no
panorama_versionPanorama version - based on the name of the Panorama public image - allows to specify which Panorama version will be deployed.
For more details regarding available Panorama versions in the Google Cloud Platform, please run the following command:
gcloud compute images list --filter="name ~ .*panorama.*" --project paloaltonetworksgcp-public --no-standard-images
private_static_ipThe static private IP address for Panorama. Only IPv4 is supported. An address may only be specified for INTERNAL address types.
The IP address must be inside the specified subnetwork, if any. Set by the API if undefined.
projectThe ID of the project in which the resource belongs. If it is not provided, the provider project is used.stringnullno
public_static_ipThe static external IP address for Panorama instance. Only IPv4 is supported. Set by the API if undefined.stringnullno
regionGoogle Cloud region to deploy the resources into.stringn/ayes
scopesAccess scopes for the compute instance - both OAuth2 URLs and gcloud short names are supportedlist(string)[]no
service_accountIAM Service Account for running Panorama instance (just the email)stringnullno
ssh_keysIn order to connect via SSH to Panorama, provide your SSH public key here.
Remember to add the admin prefix before you insert your public SSH key.
More than one key can be added.

ssh_keys = "admin:ssh-rsa AAAAB4NzaC5yc9EAACABBACBgQDAcjYw6xa2zUZ6reqHqDp9bYDLTu7Rnk5Sa3hthIsIsFaKenFLe4w3mm5eF3ebsfAAnuzI9ua9g7aB/ThIsIsAlSoFaKeN2VhUMDmlBYO5m1D4ip6eugS6uM="
subnetA regional resource, defining a range of IPv4 addresses. In Google Cloud, the terms subnet and subnetwork are synonymous.stringn/ayes
tagsSee the Terraform manuallist(string)[]no
zoneDeployment area for Google Cloud resources within a region.stringn/ayes


panorama_private_ipPublic IP address of the Panorama instance.
panorama_public_ipPrivate IP address of the Panorama instance.