Skip to content

Commit

Permalink
add examples
Browse files Browse the repository at this point in the history
  • Loading branch information
migara committed Sep 11, 2024
1 parent 6e9d071 commit 4487921
Show file tree
Hide file tree
Showing 16 changed files with 297 additions and 6 deletions.
12 changes: 6 additions & 6 deletions assets/terraform/examples/functions/address_value/function.tf
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
resource "panos_address_objects" "name" {
resource "panos_addresses" "example" {
location = {
device_group = {
name = "<device_group_name>"
name = panos_device_group.example.name
}
}

addresses = {
"foo" = {
description = "foo"
description = "foo example"
ip_netmask = "1.1.1.1"
}
"bar" = {
description = "foo"
description = "bar example"
ip_netmask = "2.2.2.2"
}
}
}

# Example 1: Get the value of a single address object.
output "foo_value" {
value = provider::panos::address_value(panos_address_objects.name.addresses.foo)
value = provider::panos::address_value(panos_addresses.example.addresses.foo)
}

# Example 2: Transform all the address objects into a map of values.
output "address_values" {
value = { for k, v in panos_address_objects.name.addresses : k => provider::panos::address_value(panos_address_objects.name.addresses[k]) }
value = { for k, v in panos_addresses.example.addresses : k => provider::panos::address_value(panos_addresses.example.addresses[k]) }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
resource "panos_address_group" "example" {
location = {
device_group = {
name = panos_device_group.example.name
}
}

name = "example-address-group"
description = "example address group"
static = [for k, v in panos_addresses.example.addresses : k]
}

resource "panos_addresses" "example" {
location = {
device_group = {
name = panos_device_group.example.name
}
}

addresses = {
"foo" = {
description = "foo example"
ip_netmask = "1.1.1.1"
}
"bar" = {
description = "bar example"
ip_netmask = "2.2.2.2"
}
}
}


30 changes: 30 additions & 0 deletions assets/terraform/examples/resources/panos_addresses/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
resource "panos_addresses" "example" {
location = {
device_group = {
name = panos_device_group.example.name
}
}

addresses = {
"foo" = {
description = "foo example"
ip_netmask = "1.1.1.1"
}
"bar" = {
description = "bar example"
ip_netmask = "2.2.2.2"
}
}
}

# Provider function to get the address values

# Example 1: Get the value of a single address object.
output "foo_value" {
value = provider::panos::address_value(panos_addresses.example.addresses.foo)
}

# Example 2: Transform all the address objects into a map of values.
output "address_values" {
value = { for k, v in panos_addresses.example.addresses : k => provider::panos::address_value(panos_addresses.example.addresses[k]) }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

resource "panos_administrative_tag" "example" {
location = {
device_group = {
name = panos_device_group.example.name
}

}

name = "foo"
color = "color1"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
resource "panos_custom_url_category" "name" {
location = {
device_group = {
name = panos_device_group.example.name
}
}

name = "foo"
type = "URL List"
list = [
"test.com",
"hello.com"
]

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
resource "panos_device_group" "example" {
location = {
panorama = {}
}

name = "example device group"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
resource "panos_device_group" "parent" {
location = {
panorama = {}
}

name = "parent device group"
}

resource "panos_device_group" "child" {
location = {
panorama = {}
}

name = "child device group"
}

resource "panos_device_group_parent" "example" {
location = {
panorama = {}
}
device_group = panos_device_group.child.name
parent = panos_device_group.parent.name
}
w
12 changes: 12 additions & 0 deletions assets/terraform/examples/resources/panos_dns_settings/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
resource "panos_dns_settings" "example" {
location = {
system = {}
}

dns_setting = {
servers = {
primary = "8.8.8.8"
secondary = "1.1.1.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
resource "panos_interface_management_profile" "name" {
location = {
template = {
name = panos_template.example.name
}
}

name = "foo"
http = true
ping = true

permitted_ips = [
"1.1.1.1",
]

}
15 changes: 15 additions & 0 deletions assets/terraform/examples/resources/panos_ntp_settings/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
resource "panos_ntp_settings" "example" {
location = {
system = {}
}

ntp_servers = {
primary_ntp_server = {
ntp_server_address = "1.1.1.1"
}
secondary_ntp_server = {
ntp_server_address = "2.2.2.2"
}

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Manages the entire security policy
resource "panos_security_policy" "name" {
location = {
device_group = {
name = panos_device_group.example.name
}
}

rules = [
{
# rule_type = "intrazone",
name = "rule-1",
source_zones = ["any"],
source_addresses = ["1.1.1.1"],
destination_zones = ["any"],
destination_addresses = ["172.16.0.0/8"],
services = ["any"],
applications = ["any"],
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Mange a group of security policy rules.
resource "panos_security_policy_rules" "name" {
location = {
device_group = {
name = panos_device_group.parent.name
}
}


position = {
where = "first"
}

rules = [
{
name = "rule-1",
source_zones = ["any"],
source_addresses = ["1.1.1.1"],
destination_zones = ["any"],
destination_addresses = ["172.16.0.0/8"],
services = ["any"],
applications = ["any"],
}
]
}
17 changes: 17 additions & 0 deletions assets/terraform/examples/resources/panos_service/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
resource "panos_service" "example" {
location = {
device_group = {
name = panos_device_group.example.name
}
}

name = "example-service"
description = "example service"

protocol = {
tcp = {
destination_port = "80"
}
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
resource "panos_service" "example" {
location = {
device_group = {
name = panos_device_group.example.name
}
}

name = "example-service"
description = "example service"

protocol = {
tcp = {
destination_port = "80"
}
}

}

resource "panos_service_group" "example" {

location = {
device_group = {
name = panos_device_group.example.name
}
}

name = "example-service-group"
# description = "example service group"

members = [
panos_service.example.name
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
resource "panos_template" "example" {

location = {
panorama = {}
}
name = "template-example"
description = "example template stack"

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
resource "panos_template_stack" "example" {

location = {
panorama = {}
}
name = "tempalte-stack-example"
description = "example template stack"

templates = [
panos_template.example.name
]

}

resource "panos_template" "example" {

location = {
panorama = {}
}
name = "template-example"
description = "example template stack"

}

0 comments on commit 4487921

Please sign in to comment.