From 18545ec8ecd8498dbd4e8a55ef7823e5811de3aa Mon Sep 17 00:00:00 2001 From: Sebastian Czech Date: Wed, 6 Mar 2024 15:42:26 +0100 Subject: [PATCH] chore: Upgrade Terraform version for examples, fix links for diagrams and sources for modules (#23) --- examples/appgw/README.md | 2 +- examples/appgw/versions.tf | 2 +- examples/common_vmseries/.header.md | 4 +- examples/common_vmseries/README.md | 4 +- examples/common_vmseries/versions.tf | 2 +- .../common_vmseries_and_autoscale/.header.md | 4 +- .../common_vmseries_and_autoscale/README.md | 4 +- .../common_vmseries_and_autoscale/versions.tf | 2 +- examples/dedicated_vmseries/.header.md | 4 +- examples/dedicated_vmseries/README.md | 3 +- examples/dedicated_vmseries/versions.tf | 2 +- .../.header.md | 4 +- .../README.md | 4 +- .../versions.tf | 2 +- examples/standalone_panorama/.header.md | 2 +- examples/standalone_panorama/README.md | 3 +- examples/standalone_panorama/versions.tf | 2 +- examples/standalone_vmseries/README.md | 2 +- examples/standalone_vmseries/versions.tf | 2 +- examples/test_infrastructure/.header.md | 16 + examples/test_infrastructure/README.md | 388 +++++++++++++++--- examples/test_infrastructure/versions.tf | 2 +- examples/virtual_network_gateway/README.md | 4 + examples/virtual_network_gateway/versions.tf | 2 +- modules/appgw/.header.md | 2 +- modules/appgw/README.md | 4 +- modules/bootstrap/.header.md | 6 +- modules/bootstrap/README.md | 9 +- modules/bootstrap/versions.tf | 2 +- modules/gwlb/README.md | 1 + modules/loadbalancer/.header.md | 4 +- modules/loadbalancer/README.md | 11 +- modules/loadbalancer/versions.tf | 4 +- modules/name_templater/.header.md | 2 +- modules/name_templater/README.md | 3 +- modules/natgw/.header.md | 2 +- modules/natgw/README.md | 5 +- modules/natgw/versions.tf | 2 +- modules/ngfw_metrics/.header.md | 2 +- modules/ngfw_metrics/README.md | 3 +- modules/panorama/README.md | 1 + modules/virtual_machine/versions.tf | 2 +- modules/virtual_network_gateway/.header.md | 2 +- modules/virtual_network_gateway/README.md | 5 +- modules/vmseries/README.md | 5 +- modules/vmseries/versions.tf | 2 +- modules/vmss/.header.md | 2 +- modules/vmss/README.md | 1 + modules/vnet/README.md | 7 +- modules/vnet/versions.tf | 4 +- modules/vnet_peering/README.md | 6 +- modules/vnet_peering/versions.tf | 4 +- 52 files changed, 436 insertions(+), 133 deletions(-) create mode 100644 examples/test_infrastructure/.header.md diff --git a/examples/appgw/README.md b/examples/appgw/README.md index 992114d3..08f5d4db 100644 --- a/examples/appgw/README.md +++ b/examples/appgw/README.md @@ -31,7 +31,7 @@ Name | Type | Description Requirements needed by this module: -- `terraform`, version: >= 1.2, < 2.0 +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: diff --git a/examples/appgw/versions.tf b/examples/appgw/versions.tf index 95b07f02..85620563 100644 --- a/examples/appgw/versions.tf +++ b/examples/appgw/versions.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/common_vmseries/.header.md b/examples/common_vmseries/.header.md index 4caf7cbe..4de89653 100644 --- a/examples/common_vmseries/.header.md +++ b/examples/common_vmseries/.header.md @@ -16,7 +16,7 @@ common VM-Series for all traffic; for a discussion of other options, please see ## Reference Architecture Design -![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-vmseries-modules/assets/6574404/a7c2452d-f926-49da-bf21-9d840282a0a2) +![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/aa2ae33a-fb46-4a1c-9811-98ea3b132297) This code implements: @@ -39,7 +39,7 @@ and may present scale limitations with all traffic flowing through a single set that occurs when traffic crosses virtual routers. This option is suitable for proof-of-concepts and smaller scale deployments because the number of firewalls low. However, the technical integration complexity is high. -![Detailed Topology Diagram](https://user-images.githubusercontent.com/2110772/234920647-c7dc77c1-d86c-42ac-ba5a-59a95439ef23.png) +![Detailed Topology Diagram](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/8e8da6e0-afba-4bb5-b2c7-a95c7250dab3) This reference architecture consists of: diff --git a/examples/common_vmseries/README.md b/examples/common_vmseries/README.md index 1c7115a5..2b5fc0e5 100644 --- a/examples/common_vmseries/README.md +++ b/examples/common_vmseries/README.md @@ -19,7 +19,6 @@ common VM-Series for all traffic; for a discussion of other options, please see ![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/aa2ae33a-fb46-4a1c-9811-98ea3b132297) - This code implements: - a *centralized design*, a hub-and-spoke topology with a Transit VNet containing VM-Series to inspect all inbound, outbound, @@ -43,7 +42,6 @@ because the number of firewalls low. However, the technical integration complexi ![Detailed Topology Diagram](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/8e8da6e0-afba-4bb5-b2c7-a95c7250dab3) - This reference architecture consists of: - a VNET containing: @@ -212,7 +210,7 @@ Name | Description Requirements needed by this module: -- `terraform`, version: >= 1.2, < 2.0 +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: diff --git a/examples/common_vmseries/versions.tf b/examples/common_vmseries/versions.tf index 95b07f02..85620563 100644 --- a/examples/common_vmseries/versions.tf +++ b/examples/common_vmseries/versions.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/common_vmseries_and_autoscale/.header.md b/examples/common_vmseries_and_autoscale/.header.md index ec76e4d7..c001fc82 100644 --- a/examples/common_vmseries_and_autoscale/.header.md +++ b/examples/common_vmseries_and_autoscale/.header.md @@ -22,7 +22,7 @@ but a [dedicated one exists](../standalone\_panorama/README.md). ## Reference Architecture Design -![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-vmseries-modules/assets/6574404/a7c2452d-f926-49da-bf21-9d840282a0a2) +![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/aa2ae33a-fb46-4a1c-9811-98ea3b132297) This code implements: @@ -47,7 +47,7 @@ and may present scale limitations with all traffic flowing through a single set that occurs when traffic crosses virtual routers. This option is suitable for smaller scale deployments because inbound and outbound traffic flows occur on the same set of firewalls. However, the technical integration complexity is high. -![Common-VMSeries-with-autoscaling](https://github.com/PaloAltoNetworks/terraform-azurerm-vmseries-modules/assets/6500664/b10403f9-795a-4501-a189-3c21d44fc9e7) +![Common-VMSeries-with-autoscaling](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/7d363d6a-b394-4851-99b9-03ce8abf379a) This reference architecture consists of: diff --git a/examples/common_vmseries_and_autoscale/README.md b/examples/common_vmseries_and_autoscale/README.md index b27f95a7..3009e858 100644 --- a/examples/common_vmseries_and_autoscale/README.md +++ b/examples/common_vmseries_and_autoscale/README.md @@ -50,7 +50,6 @@ outbound traffic flows occur on the same set of firewalls. However, the technica ![Common-VMSeries-with-autoscaling](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/7d363d6a-b394-4851-99b9-03ce8abf379a) - This reference architecture consists of: - a VNET containing: @@ -235,6 +234,9 @@ Name | Description ## Module's Nameplate +Requirements needed by this module: + +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: diff --git a/examples/common_vmseries_and_autoscale/versions.tf b/examples/common_vmseries_and_autoscale/versions.tf index c49189a0..bd4a41d5 100644 --- a/examples/common_vmseries_and_autoscale/versions.tf +++ b/examples/common_vmseries_and_autoscale/versions.tf @@ -1,5 +1,5 @@ terraform { - # required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/dedicated_vmseries/.header.md b/examples/dedicated_vmseries/.header.md index 0b6f6397..0c812dab 100644 --- a/examples/dedicated_vmseries/.header.md +++ b/examples/dedicated_vmseries/.header.md @@ -16,7 +16,7 @@ dedicated-inbound VM-Series; for a discussion of other options, please see the d ## Reference Architecture Design -![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-vmseries-modules/assets/6574404/a7c2452d-f926-49da-bf21-9d840282a0a2) +![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/aa2ae33a-fb46-4a1c-9811-98ea3b132297) This code implements: @@ -40,7 +40,7 @@ The second set of VM-Series firewalls services all outbound, east-west, and ente choice offers increased scale and operational resiliency and reduces the chances of high bandwidth use from the inbound traffic flows affecting other traffic flows within the deployment. -![Detailed Topology Diagram](https://user-images.githubusercontent.com/2110772/234920818-44e4082d-b445-4ffc-b0cb-174ef1e3c2ae.png) +![Detailed Topology Diagram](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/3644469f-5f0f-44f9-8990-010c8bcf1cec) This reference architecture consists of: diff --git a/examples/dedicated_vmseries/README.md b/examples/dedicated_vmseries/README.md index ebf362f8..229cc229 100644 --- a/examples/dedicated_vmseries/README.md +++ b/examples/dedicated_vmseries/README.md @@ -43,7 +43,6 @@ flows affecting other traffic flows within the deployment. ![Detailed Topology Diagram](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/3644469f-5f0f-44f9-8990-010c8bcf1cec) - This reference architecture consists of: - a VNET containing: @@ -215,7 +214,7 @@ Name | Description Requirements needed by this module: -- `terraform`, version: >= 1.2, < 2.0 +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: diff --git a/examples/dedicated_vmseries/versions.tf b/examples/dedicated_vmseries/versions.tf index 95b07f02..85620563 100644 --- a/examples/dedicated_vmseries/versions.tf +++ b/examples/dedicated_vmseries/versions.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/dedicated_vmseries_and_autoscale/.header.md b/examples/dedicated_vmseries_and_autoscale/.header.md index 57d88b65..cb288864 100644 --- a/examples/dedicated_vmseries_and_autoscale/.header.md +++ b/examples/dedicated_vmseries_and_autoscale/.header.md @@ -22,7 +22,7 @@ Panorama instance is not covered in this example, but a [dedicated one exists](. ## Reference Architecture Design -![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-vmseries-modules/assets/6574404/a7c2452d-f926-49da-bf21-9d840282a0a2) +![simple](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/aa2ae33a-fb46-4a1c-9811-98ea3b132297) This code implements: @@ -48,7 +48,7 @@ set of VM-Series firewalls services all outbound, east-west, and enterprise netw increased scale and operational resiliency and reduces the chances of high bandwidth use from the inbound traffic flows affecting other traffic flows within the deployment. -![Dedicated-VMSeries-with-autoscaling](https://github.com/PaloAltoNetworks/terraform-azurerm-vmseries-modules/assets/2110772/be84d4cb-c4c0-4e62-8bd7-8f5050215876) +![Dedicated-VMSeries-with-autoscaling](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/757005dc-3e24-4b39-8a69-7b3fbf9819cb) This reference architecture consists of: diff --git a/examples/dedicated_vmseries_and_autoscale/README.md b/examples/dedicated_vmseries_and_autoscale/README.md index a102b1aa..6e455114 100644 --- a/examples/dedicated_vmseries_and_autoscale/README.md +++ b/examples/dedicated_vmseries_and_autoscale/README.md @@ -51,7 +51,6 @@ other traffic flows within the deployment. ![Dedicated-VMSeries-with-autoscaling](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/757005dc-3e24-4b39-8a69-7b3fbf9819cb) - This reference architecture consists of: - a VNET containing: @@ -231,6 +230,9 @@ Name | Description ## Module's Nameplate +Requirements needed by this module: + +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: diff --git a/examples/dedicated_vmseries_and_autoscale/versions.tf b/examples/dedicated_vmseries_and_autoscale/versions.tf index c49189a0..bd4a41d5 100644 --- a/examples/dedicated_vmseries_and_autoscale/versions.tf +++ b/examples/dedicated_vmseries_and_autoscale/versions.tf @@ -1,5 +1,5 @@ terraform { - # required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/standalone_panorama/.header.md b/examples/standalone_panorama/.header.md index 39b84dd9..534dd550 100644 --- a/examples/standalone_panorama/.header.md +++ b/examples/standalone_panorama/.header.md @@ -23,7 +23,7 @@ This is a non zonal deployment. The deployed infrastructure consists of: - a Network Security Group to give access to Panorama's public interface - a Panorama appliance with a public IP assigned to the management interface -![standalone-panorama](https://github.com/PaloAltoNetworks/terraform-azurerm-vmseries-modules/assets/2110772/a2394f73-c0a8-4878-8693-825356abbd23) +![standalone-panorama](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/b2dadd69-f5b5-4ac4-b356-467ef79cbb0b) ## Prerequisites diff --git a/examples/standalone_panorama/README.md b/examples/standalone_panorama/README.md index 63422e70..4febf400 100644 --- a/examples/standalone_panorama/README.md +++ b/examples/standalone_panorama/README.md @@ -26,7 +26,6 @@ This is a non zonal deployment. The deployed infrastructure consists of: ![standalone-panorama](https://github.com/PaloAltoNetworks/terraform-azurerm-swfw-modules/assets/2110772/b2dadd69-f5b5-4ac4-b356-467ef79cbb0b) - ## Prerequisites A list of requirements might vary depending on the platform used to deploy the infrastructure but a minimum one includes: @@ -156,7 +155,7 @@ Name | Description Requirements needed by this module: -- `terraform`, version: >= 1.2, < 2.0 +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: diff --git a/examples/standalone_panorama/versions.tf b/examples/standalone_panorama/versions.tf index 036260f7..79f61517 100644 --- a/examples/standalone_panorama/versions.tf +++ b/examples/standalone_panorama/versions.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/standalone_vmseries/README.md b/examples/standalone_vmseries/README.md index c44da705..b6fc80ee 100644 --- a/examples/standalone_vmseries/README.md +++ b/examples/standalone_vmseries/README.md @@ -154,7 +154,7 @@ Name | Description Requirements needed by this module: -- `terraform`, version: >= 1.2, < 2.0 +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: diff --git a/examples/standalone_vmseries/versions.tf b/examples/standalone_vmseries/versions.tf index 95b07f02..85620563 100644 --- a/examples/standalone_vmseries/versions.tf +++ b/examples/standalone_vmseries/versions.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/test_infrastructure/.header.md b/examples/test_infrastructure/.header.md new file mode 100644 index 00000000..0e66695b --- /dev/null +++ b/examples/test_infrastructure/.header.md @@ -0,0 +1,16 @@ +# Test Infrastructure code + +Terraform code to deploy a test infrastructure consisting of: + +* two VNETs that can be peered with the transit VNET deployed in any of the examples, each contains: + * a Linux-based VM running NGINX server to mock a web application + * an Azure Bastion (enables SSH access to the VM) + * UDRs forcing the traffic to flow through the NVA deployed by any of NGFW examples. + +## Usage + +To use this code, please deploy one of the examples first. Then copy the [`examples.tfvars`](./example.tfvars) to `terraform.tfvars` and edit it to your needs. + +Please correct the values marked with `TODO` markers at minimum. + +## Reference diff --git a/examples/test_infrastructure/README.md b/examples/test_infrastructure/README.md index 2e7007e6..a2d5cdd4 100644 --- a/examples/test_infrastructure/README.md +++ b/examples/test_infrastructure/README.md @@ -1,3 +1,4 @@ + # Test Infrastructure code Terraform code to deploy a test infrastructure consisting of: @@ -14,62 +15,331 @@ To use this code, please deploy one of the examples first. Then copy the [`examp Please correct the values marked with `TODO` markers at minimum. ## Reference - -### Requirements - -| Name | Version | -|------|---------| -| [terraform](#requirement\_terraform) | >= 1.2, < 2.0 | - -### Providers - -| Name | Version | -|------|---------| -| [random](#provider\_random) | n/a | -| [azurerm](#provider\_azurerm) | n/a | - -### Modules - -| Name | Source | Version | -|------|--------|---------| -| [vnet](#module\_vnet) | ../../modules/vnet | n/a | -| [vnet\_peering](#module\_vnet\_peering) | ../../modules/vnet_peering | n/a | - -### Resources - -| Name | Type | -|------|------| -| [azurerm_bastion_host.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/bastion_host) | resource | -| [azurerm_linux_virtual_machine.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine) | resource | -| [azurerm_network_interface.vm](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_interface) | resource | -| [azurerm_public_ip.bastion](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/public_ip) | resource | -| [azurerm_resource_group.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource | -| [random_password.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource | -| [azurerm_resource_group.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/resource_group) | data source | - -### Inputs - -| Name | Description | Type | Default | Required | -|------|-------------|------|---------|:--------:| -| [tags](#input\_tags) | Map of tags to assign to the created resources. | `map(string)` | `{}` | no | -| [location](#input\_location) | The Azure region to use. | `string` | n/a | yes | -| [name\_prefix](#input\_name\_prefix) | A prefix that will be added to all created resources.
There is no default delimiter applied between the prefix and the resource name. Please include the delimiter in the actual prefix.

Example:
name_prefix = "test-"
NOTICE. This prefix is not applied to existing resources.
If you plan to reuse i.e. a VNET please specify it's full name, even if it is also prefixed with the same value as the one in this property. | `string` | `""` | no | -| [create\_resource\_group](#input\_create\_resource\_group) | When set to `true` it will cause a Resource Group creation. Name of the newly specified RG is controlled by `resource_group_name`.
When set to `false` the `resource_group_name` parameter is used to specify a name of an existing Resource Group. | `bool` | `true` | no | -| [resource\_group\_name](#input\_resource\_group\_name) | Name of the Resource Group. | `string` | n/a | yes | -| [vnets](#input\_vnets) | A map defining VNETs.

For detailed documentation on each property refer to [module documentation](../../modules/vnet/README.md)

- `name` : A name of a VNET.
- `create_virtual_network` : (default: `true`) when set to `true` will create a VNET, `false` will source an existing VNET, in both cases the name of the VNET is specified with `name`
- `address_space` : a list of CIDRs for VNET
- `resource_group_name` : (default: current RG) a name of a Resource Group in which the VNET will reside
- `hub_vnet_name` : (default: `null`) name of an existing transit VNET. Setting this value triggers peering between the spoke and the transit VNET
- `hub_resource_group_name`: (default: current RG) name of a Resource Group hosting a transit VNET, when skipped, the local Resource Group will be used

- `create_subnets` : (default: `true`) if true, create the Subnets inside the Virtual Network, otherwise use pre-existing subnets
- `subnets` : map of Subnets to create

- `network_security_groups` : map of Network Security Groups to create
- `route_tables` : map of Route Tables to create. | `any` | n/a | yes | -| [hub\_resource\_group\_name](#input\_hub\_resource\_group\_name) | Name of the Resource Group hosting the hub/transit infrastructure. This value is required to create peering between the spoke and the hub VNET. | `string` | `null` | no | -| [hub\_vnet\_name](#input\_hub\_vnet\_name) | Name of the hub/transit VNET. This value is required to create peering between the spoke and the hub VNET. | `string` | `null` | no | -| [vm\_size](#input\_vm\_size) | Azure test VM size. | `string` | `"Standard_D1_v2"` | no | -| [username](#input\_username) | Name of the VM admin account. | `string` | `"panadmin"` | no | -| [password](#input\_password) | A password for the admin account. | `string` | `null` | no | -| [test\_vms](#input\_test\_vms) | A map defining test VMs.

Values contain the following elements:

- `name`: a name of the VM
- `vnet_key`: a key describing a VNET defined in `var.vnets`
- `subnet_key`: a key describing a subnet found in a VNET definition |
map(object({
name = string
vnet_key = string
subnet_key = string
}))
| `{}` | no | -| [bastions](#input\_bastions) | A map containing Azure Bastion definitions.

This map follows resource definition convention, following values are available:
- `name`: Bastion name
- `vnet_key`: a key describing a VNET defined in `var.vnets`. This VNET should already have an existing subnet called `AzureBastionSubnet` (the name is hardcoded by Microsoft).
- `subnet_key`: a key pointing to a subnet dedicated to a Bastion deployment (the name should be `AzureBastionSubnet`.) |
map(object({
name = string
vnet_key = string
subnet_key = string
}))
| `{}` | no | - -### Outputs - -| Name | Description | -|------|-------------| -| [username](#output\_username) | Test VMs admin account. | -| [password](#output\_password) | Password for the admin user. | -| [vm\_private\_ips](#output\_vm\_private\_ips) | A map of private IPs assigned to test VMs. | - + +## Module's Required Inputs + +Name | Type | Description +--- | --- | --- +[`location`](#location) | `string` | The Azure region to use. +[`resource_group_name`](#resource_group_name) | `string` | Name of the Resource Group. +[`vnets`](#vnets) | `map` | A map defining VNETs. + + +## Module's Optional Inputs + +Name | Type | Description +--- | --- | --- +[`tags`](#tags) | `map` | Map of tags to assign to the created resources. +[`name_prefix`](#name_prefix) | `string` | A prefix that will be added to all created resources. +[`create_resource_group`](#create_resource_group) | `bool` | When set to `true` it will cause a Resource Group creation. +[`hub_resource_group_name`](#hub_resource_group_name) | `string` | Name of the Resource Group hosting the hub/transit infrastructure. +[`hub_vnet_name`](#hub_vnet_name) | `string` | Name of the hub/transit VNET. +[`vm_size`](#vm_size) | `string` | Azure test VM size. +[`username`](#username) | `string` | Name of the VM admin account. +[`password`](#password) | `string` | A password for the admin account. +[`test_vms`](#test_vms) | `map` | A map defining test VMs. +[`bastions`](#bastions) | `map` | A map containing Azure Bastion definitions. + + + +## Module's Outputs + +Name | Description +--- | --- +`username` | Test VMs admin account. +`password` | Password for the admin user. +`vm_private_ips` | A map of private IPs assigned to test VMs. + +## Module's Nameplate + + +Requirements needed by this module: + +- `terraform`, version: >= 1.5, < 2.0 + + +Providers used in this module: + +- `random` +- `azurerm` + + +Modules used in this module: +Name | Version | Source | Description +--- | --- | --- | --- +`vnet` | - | ../../modules/vnet | Manage the network required for the topology. +`vnet_peering` | - | ../../modules/vnet_peering | + + +Resources used in this module: + +- `bastion_host` (managed) +- `linux_virtual_machine` (managed) +- `network_interface` (managed) +- `public_ip` (managed) +- `resource_group` (managed) +- `password` (managed) +- `resource_group` (data) + +## Inputs/Outpus details + +### Required Inputs + + + +#### location + +The Azure region to use. + +Type: string + +[back to list](#modules-required-inputs) + + + +#### resource_group_name + +Name of the Resource Group. + +Type: string + +[back to list](#modules-required-inputs) + +#### vnets + +A map defining VNETs. + +For detailed documentation on each property refer to [module documentation](../../modules/vnet/README.md) + +- `create_virtual_network` - (`bool`, optional, defaults to `true`) when set to `true` will create a VNET, + `false` will source an existing VNET. +- `name` - (`string`, required) a name of a VNET. In case `create_virtual_network = false` this should be + a full resource name, including prefixes. +- `address_space` - (`list(string)`, required when `create_virtual_network = false`) a list of CIDRs for a newly + created VNET +- `resource_group_name` - (`string`, optional, defaults to current RG) a name of an existing Resource Group in which + the VNET will reside or is sourced from +- `create_subnets` - (`bool`, optional, defaults to `true`) if `true`, create Subnets inside the Virtual Network, + otherwise use source existing subnets +- `subnets` - (`map`, optional) map of Subnets to create or source, for details see + [VNET module documentation](../../modules/vnet/README.md#subnets) +- `network_security_groups` - (`map`, optional) map of Network Security Groups to create, for details see + [VNET module documentation](../../modules/vnet/README.md#network_security_groups) +- `route_tables` - (`map`, optional) map of Route Tables to create, for details see + [VNET module documentation](../../modules/vnet/README.md#route_tables) + + +Type: + +```hcl +map(object({ + name = string + resource_group_name = optional(string) + create_virtual_network = optional(bool, true) + address_space = optional(list(string)) + hub_resource_group_name = optional(string) + hub_vnet_name = optional(string) + network_security_groups = optional(map(object({ + name = string + disable_bgp_route_propagation = optional(bool) + rules = optional(map(object({ + name = string + priority = number + direction = string + access = string + protocol = string + source_port_range = optional(string) + source_port_ranges = optional(list(string)) + destination_port_range = optional(string) + destination_port_ranges = optional(list(string)) + source_address_prefix = optional(string) + source_address_prefixes = optional(list(string)) + destination_address_prefix = optional(string) + destination_address_prefixes = optional(list(string)) + })), {}) + })), {}) + route_tables = optional(map(object({ + name = string + routes = map(object({ + name = string + address_prefix = string + next_hop_type = string + next_hop_ip_address = optional(string) + })) + })), {}) + create_subnets = optional(bool, true) + subnets = optional(map(object({ + name = string + address_prefixes = optional(list(string), []) + network_security_group_key = optional(string) + route_table_key = optional(string) + enable_storage_service_endpoint = optional(bool, false) + })), {}) + })) +``` + + +[back to list](#modules-required-inputs) + + + + + + + + + + +### Optional Inputs + + +#### tags + +Map of tags to assign to the created resources. + +Type: map(string) + +Default value: `map[]` + +[back to list](#modules-optional-inputs) + + +#### name_prefix + +A prefix that will be added to all created resources. +There is no default delimiter applied between the prefix and the resource name. Please include the delimiter in the actual prefix. + +Example: +``` +name_prefix = "test-" +``` + +NOTICE. This prefix is not applied to existing resources. +If you plan to reuse i.e. a VNET please specify it's full name, even if it is also prefixed with the same value as the one in this property. + + +Type: string + +Default value: `` + +[back to list](#modules-optional-inputs) + +#### create_resource_group + +When set to `true` it will cause a Resource Group creation. Name of the newly specified RG is controlled by `resource_group_name`. +When set to `false` the `resource_group_name` parameter is used to specify a name of an existing Resource Group. + + +Type: bool + +Default value: `true` + +[back to list](#modules-optional-inputs) + + + +#### hub_resource_group_name + +Name of the Resource Group hosting the hub/transit infrastructure. This value is required to create peering between the spoke and the hub VNET. + +Type: string + +Default value: `&{}` + +[back to list](#modules-optional-inputs) + +#### hub_vnet_name + +Name of the hub/transit VNET. This value is required to create peering between the spoke and the hub VNET. + +Type: string + +Default value: `&{}` + +[back to list](#modules-optional-inputs) + +#### vm_size + +Azure test VM size. + +Type: string + +Default value: `Standard_D1_v2` + +[back to list](#modules-optional-inputs) + +#### username + +Name of the VM admin account. + +Type: string + +Default value: `panadmin` + +[back to list](#modules-optional-inputs) + +#### password + +A password for the admin account. + +Type: string + +Default value: `&{}` + +[back to list](#modules-optional-inputs) + +#### test_vms + +A map defining test VMs. + +Values contain the following elements: + +- `name`: a name of the VM +- `vnet_key`: a key describing a VNET defined in `var.vnets` +- `subnet_key`: a key describing a subnet found in a VNET definition + + + +Type: + +```hcl +map(object({ + name = string + vnet_key = string + subnet_key = string + })) +``` + + +Default value: `map[]` + +[back to list](#modules-optional-inputs) + +#### bastions + +A map containing Azure Bastion definitions. + +This map follows resource definition convention, following values are available: +- `name`: Bastion name +- `vnet_key`: a key describing a VNET defined in `var.vnets`. This VNET should already have an existing subnet called `AzureBastionSubnet` (the name is hardcoded by Microsoft). +- `subnet_key`: a key pointing to a subnet dedicated to a Bastion deployment (the name should be `AzureBastionSubnet`.) + + + +Type: + +```hcl +map(object({ + name = string + vnet_key = string + subnet_key = string + })) +``` + + +Default value: `map[]` + +[back to list](#modules-optional-inputs) + + + \ No newline at end of file diff --git a/examples/test_infrastructure/versions.tf b/examples/test_infrastructure/versions.tf index 5a64cf60..14f2e802 100644 --- a/examples/test_infrastructure/versions.tf +++ b/examples/test_infrastructure/versions.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/examples/virtual_network_gateway/README.md b/examples/virtual_network_gateway/README.md index df4acc39..1aa148b5 100644 --- a/examples/virtual_network_gateway/README.md +++ b/examples/virtual_network_gateway/README.md @@ -35,6 +35,9 @@ Name | Description ## Module's Nameplate +Requirements needed by this module: + +- `terraform`, version: >= 1.5, < 2.0 Providers used in this module: @@ -307,4 +310,5 @@ Default value: `map[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/examples/virtual_network_gateway/versions.tf b/examples/virtual_network_gateway/versions.tf index 49009426..85620563 100644 --- a/examples/virtual_network_gateway/versions.tf +++ b/examples/virtual_network_gateway/versions.tf @@ -1,5 +1,5 @@ terraform { - # required_version = ">= 1.2, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" diff --git a/modules/appgw/.header.md b/modules/appgw/.header.md index ce2014ee..cef1efb9 100644 --- a/modules/appgw/.header.md +++ b/modules/appgw/.header.md @@ -10,7 +10,7 @@ Then you can use below code as an example of calling module to create Applicatio ```hcl # Create Application Gateay module "appgw" { - source = "../../modules/appgw" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/appgw" for_each = var.appgws diff --git a/modules/appgw/README.md b/modules/appgw/README.md index 515035c3..c7d58039 100644 --- a/modules/appgw/README.md +++ b/modules/appgw/README.md @@ -9,7 +9,8 @@ In order to use module `appgw`, you need to deploy `azurerm_resource_group` and Then you can use below code as an example of calling module to create Application Gateway: ```hcl -module "Application Gateway" { +# Create Application Gateay +module "appgw" { source = "PaloAltoNetworks/swfw-modules/azurerm//modules/appgw" for_each = var.appgws @@ -1486,4 +1487,5 @@ Default value: `map[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/bootstrap/.header.md b/modules/bootstrap/.header.md index f2891779..db19a638 100644 --- a/modules/bootstrap/.header.md +++ b/modules/bootstrap/.header.md @@ -27,7 +27,7 @@ The module is used only to create a Storage Account with module defaults where p ```hcl module "empty_storage" { - source = "../../modules/bootstrap" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/bootstrap" name = "someemptystorage" resource_group_name = "rg-name" @@ -48,7 +48,7 @@ This code will create a storage account for 3 NGFWs. Please **note** that: ```hcl module "bootstrap" { - source = "../../modules/bootstrap" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/bootstrap" name = "samplebootstrapstorage" resource_group_name = "rg-name" @@ -96,7 +96,7 @@ structure already present. ```hcl module "existing_storage" { - source = "../../modules/bootstrap" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/bootstrap" storage_account = { create = false diff --git a/modules/bootstrap/README.md b/modules/bootstrap/README.md index eb645749..e3be44f5 100644 --- a/modules/bootstrap/README.md +++ b/modules/bootstrap/README.md @@ -28,7 +28,7 @@ The module is used only to create a Storage Account with module defaults where p ```hcl module "empty_storage" { - source = "../../modules/bootstrap" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/bootstrap" name = "someemptystorage" resource_group_name = "rg-name" @@ -97,7 +97,7 @@ structure already present. ```hcl module "existing_storage" { - source = "../../modules/bootstrap" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/bootstrap" storage_account = { create = false @@ -163,12 +163,12 @@ Name | Description Requirements needed by this module: - `terraform`, version: >= 1.5, < 2.0 -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 Providers used in this module: -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 @@ -403,4 +403,5 @@ Default value: `map[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/bootstrap/versions.tf b/modules/bootstrap/versions.tf index 2c796798..9abec711 100644 --- a/modules/bootstrap/versions.tf +++ b/modules/bootstrap/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.25" + version = "~> 3.80" } } } diff --git a/modules/gwlb/README.md b/modules/gwlb/README.md index 2e2c0df4..d4c572e0 100644 --- a/modules/gwlb/README.md +++ b/modules/gwlb/README.md @@ -324,4 +324,5 @@ Default value: `map[name:lb_rule]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/loadbalancer/.header.md b/modules/loadbalancer/.header.md index eac7e1a6..39153098 100644 --- a/modules/loadbalancer/.header.md +++ b/modules/loadbalancer/.header.md @@ -27,7 +27,7 @@ Example of a private Load Balancer with HA ports rule: ```hcl module "lbi" { - source = "../../modules/loadbalancer" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/loadbalancer" name = "private-lb" location = "West Europe" @@ -59,7 +59,7 @@ Example of a private Load Balancer with a single rule for port `80`: ```hcl module "lbe" { - source = "../../modules/loadbalancer" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/loadbalancer" name = "public-lb" location = "West Europe" diff --git a/modules/loadbalancer/README.md b/modules/loadbalancer/README.md index 3e53bfb2..d560e521 100644 --- a/modules/loadbalancer/README.md +++ b/modules/loadbalancer/README.md @@ -28,7 +28,7 @@ Example of a private Load Balancer with HA ports rule: ```hcl module "lbi" { - source = "../../modules/loadbalancer" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/loadbalancer" name = "private-lb" location = "West Europe" @@ -60,7 +60,7 @@ Example of a private Load Balancer with a single rule for port `80`: ```hcl module "lbe" { - source = "../../modules/loadbalancer" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/loadbalancer" name = "public-lb" location = "West Europe" @@ -118,13 +118,13 @@ Name | Description Requirements needed by this module: -- `terraform`, version: >= 1.3, < 2.0 -- `azurerm`, version: ~> 3.25 +- `terraform`, version: >= 1.5, < 2.0 +- `azurerm`, version: ~> 3.80 Providers used in this module: -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 @@ -461,4 +461,5 @@ Default value: `&{}` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/loadbalancer/versions.tf b/modules/loadbalancer/versions.tf index 8dc5c1eb..9abec711 100644 --- a/modules/loadbalancer/versions.tf +++ b/modules/loadbalancer/versions.tf @@ -1,9 +1,9 @@ terraform { - required_version = ">= 1.3, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.25" + version = "~> 3.80" } } } diff --git a/modules/name_templater/.header.md b/modules/name_templater/.header.md index 348dcd82..0646aeb7 100644 --- a/modules/name_templater/.header.md +++ b/modules/name_templater/.header.md @@ -14,7 +14,7 @@ A simple module invocation might look like the following: ```hcl module "name_templates" { - source = "../../modules/name_templater" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/name_templater" resource_type = "vnet" name_template = { diff --git a/modules/name_templater/README.md b/modules/name_templater/README.md index 2f032626..b5ed85bd 100644 --- a/modules/name_templater/README.md +++ b/modules/name_templater/README.md @@ -14,7 +14,7 @@ A simple module invocation might look like the following: ```hcl module "name_templates" { - source = "../../modules/name_templater" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/name_templater" resource_type = "vnet" name_template = { @@ -196,4 +196,5 @@ Default value: `map[application_gw:agw application_insights:appi availability_se [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/natgw/.header.md b/modules/natgw/.header.md index a48e0336..b811f989 100644 --- a/modules/natgw/.header.md +++ b/modules/natgw/.header.md @@ -26,7 +26,7 @@ and Subnets): ```hcl module "natgw" { - source = "PaloAltoNetworks/vmseries-modules/azurerm//modules/natgw" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/natgw" name = "NATGW_name" resource_group_name = "resource_group_name" diff --git a/modules/natgw/README.md b/modules/natgw/README.md index 7ae8b59c..07465c40 100644 --- a/modules/natgw/README.md +++ b/modules/natgw/README.md @@ -75,12 +75,12 @@ Name | Description Requirements needed by this module: - `terraform`, version: >= 1.5, < 2.0 -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 Providers used in this module: -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 @@ -314,4 +314,5 @@ Default value: `&{}` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/natgw/versions.tf b/modules/natgw/versions.tf index 2c796798..9abec711 100644 --- a/modules/natgw/versions.tf +++ b/modules/natgw/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.25" + version = "~> 3.80" } } } diff --git a/modules/ngfw_metrics/.header.md b/modules/ngfw_metrics/.header.md index 53ab9b60..67e6aa36 100644 --- a/modules/ngfw_metrics/.header.md +++ b/modules/ngfw_metrics/.header.md @@ -41,7 +41,7 @@ The following snippet deploys Log Analytics Workspace and two Application Insigh ```hcl module "ngfw_metrics" { - source = "PaloAltoNetworks/vmseries-modules/azurerm//modules/ngfw_metrics" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/ngfw_metrics" name = "ngfw-law" resource_group_name = "ngfw-rg" diff --git a/modules/ngfw_metrics/README.md b/modules/ngfw_metrics/README.md index 269c8b1a..5cec3721 100644 --- a/modules/ngfw_metrics/README.md +++ b/modules/ngfw_metrics/README.md @@ -42,7 +42,7 @@ The following snippet deploys Log Analytics Workspace and two Application Insigh ```hcl module "ngfw_metrics" { - source = "PaloAltoNetworks/vmseries-modules/azurerm//modules/ngfw_metrics" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/ngfw_metrics" name = "ngfw-law" resource_group_name = "ngfw-rg" @@ -224,4 +224,5 @@ Default value: `map[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/panorama/README.md b/modules/panorama/README.md index b3f781c4..681ffb28 100644 --- a/modules/panorama/README.md +++ b/modules/panorama/README.md @@ -367,4 +367,5 @@ Default value: `map[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/virtual_machine/versions.tf b/modules/virtual_machine/versions.tf index a733704d..c7587464 100644 --- a/modules/virtual_machine/versions.tf +++ b/modules/virtual_machine/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.25" + version = "~> 3.80" } } } diff --git a/modules/virtual_network_gateway/.header.md b/modules/virtual_network_gateway/.header.md index f9dcf37a..1e087b58 100644 --- a/modules/virtual_network_gateway/.header.md +++ b/modules/virtual_network_gateway/.header.md @@ -10,7 +10,7 @@ Then you can use below code as an example of calling module to create VNG: ```hcl module "vng" { - source = "../../modules/virtual_network_gateway" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/virtual_network_gateway" for_each = var.virtual_network_gateways diff --git a/modules/virtual_network_gateway/README.md b/modules/virtual_network_gateway/README.md index eba170a6..92ae788c 100644 --- a/modules/virtual_network_gateway/README.md +++ b/modules/virtual_network_gateway/README.md @@ -11,7 +11,7 @@ Then you can use below code as an example of calling module to create VNG: ```hcl module "vng" { - source = "../../modules/virtual_network_gateway" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/virtual_network_gateway" for_each = var.virtual_network_gateways @@ -406,7 +406,7 @@ Type: string An ID of a Subnet in which the Virtual Network Gateway will be created. -This has to be a dedicated Subnet names `GatewaySubnet`. +This has to be a dedicated Subnet named `GatewaySubnet`. Type: string @@ -814,4 +814,5 @@ Default value: `map[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/vmseries/README.md b/modules/vmseries/README.md index 5d21468b..3b2b93d1 100644 --- a/modules/vmseries/README.md +++ b/modules/vmseries/README.md @@ -67,12 +67,12 @@ Name | Description Requirements needed by this module: - `terraform`, version: >= 1.5, < 2.0 -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 Providers used in this module: -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 @@ -356,4 +356,5 @@ Default value: `map[]` + \ No newline at end of file diff --git a/modules/vmseries/versions.tf b/modules/vmseries/versions.tf index 2c796798..9abec711 100644 --- a/modules/vmseries/versions.tf +++ b/modules/vmseries/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.25" + version = "~> 3.80" } } } diff --git a/modules/vmss/.header.md b/modules/vmss/.header.md index c5da546c..d52efd8f 100644 --- a/modules/vmss/.header.md +++ b/modules/vmss/.header.md @@ -60,7 +60,7 @@ Below you can find a simple example deploying a Scale Set w/o autoscaling, using ```hcl module "vmss" { - source = "PaloAltoNetworks/vmseries-modules/azurerm//modules/vmss" + source = "PaloAltoNetworks/swfw-modules/azurerm//modules/vmss" name = "ngfw-vmss" resource_group_name = "hub-rg" diff --git a/modules/vmss/README.md b/modules/vmss/README.md index 29e0736f..8e004880 100644 --- a/modules/vmss/README.md +++ b/modules/vmss/README.md @@ -648,4 +648,5 @@ Default value: `[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/vnet/README.md b/modules/vnet/README.md index 7f481692..8bb92e2a 100644 --- a/modules/vnet/README.md +++ b/modules/vnet/README.md @@ -161,13 +161,13 @@ Name | Description Requirements needed by this module: -- `terraform`, version: >= 1.3, < 2.0 -- `azurerm`, version: ~> 3.25 +- `terraform`, version: >= 1.5, < 2.0 +- `azurerm`, version: ~> 3.80 Providers used in this module: -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 @@ -534,4 +534,5 @@ Default value: `map[]` [back to list](#modules-optional-inputs) + \ No newline at end of file diff --git a/modules/vnet/versions.tf b/modules/vnet/versions.tf index 8dc5c1eb..9abec711 100644 --- a/modules/vnet/versions.tf +++ b/modules/vnet/versions.tf @@ -1,9 +1,9 @@ terraform { - required_version = ">= 1.3, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.25" + version = "~> 3.80" } } } diff --git a/modules/vnet_peering/README.md b/modules/vnet_peering/README.md index 23a16161..26dcb618 100644 --- a/modules/vnet_peering/README.md +++ b/modules/vnet_peering/README.md @@ -45,13 +45,13 @@ Name | Description Requirements needed by this module: -- `terraform`, version: >= 1.3, < 2.0 -- `azurerm`, version: ~> 3.25 +- `terraform`, version: >= 1.5, < 2.0 +- `azurerm`, version: ~> 3.80 Providers used in this module: -- `azurerm`, version: ~> 3.25 +- `azurerm`, version: ~> 3.80 diff --git a/modules/vnet_peering/versions.tf b/modules/vnet_peering/versions.tf index 48646533..6be9475c 100644 --- a/modules/vnet_peering/versions.tf +++ b/modules/vnet_peering/versions.tf @@ -1,9 +1,9 @@ terraform { - required_version = ">= 1.3, < 2.0" + required_version = ">= 1.5, < 2.0" required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.25" + version = "~> 3.80" } } } \ No newline at end of file