Thanks for your interest in Cloud Adoption Framework for Azure landing zones on Terraform. This module is now deprecated and no longer maintained.
As part of Cloud Adoption Framework landing zones for Terraform, we have migrated to a single module model, which you can find here: https://github.com/aztfmod/terraform-azurerm-caf and on the Terraform registry: https://registry.terraform.io/modules/aztfmod/caf/azurerm
In Terraform 0.13 you can now call directly submodules easily with the following syntax:
module "caf_firewall" {
source = "aztfmod/caf/azurerm//modules/networking/firewall"
version = "0.4.18"
# insert the 9 required variables here
}
Creates an Azure public IP address (IPv4 or IPv6)
Reference the module to a specific version (recommended):
module "public_ip_address" {
source = "aztfmod/caf-public-ip/azurerm"
version = "0.x.y"
convention = local.convention
name = local.ip_addr_config.ip_name
location = local.location
resource_group_name = azurerm_resource_group.rg_test.name
ip_addr = local.ip_addr_config
tags = local.tags
diagnostics_map = module.diags_test.diagnostics_map
log_analytics_workspace_id = module.la_test.id
diagnostics_settings = local.ip_addr_config.diagnostics
}
No requirements.
Name | Version |
---|---|
azurecaf | n/a |
azurerm | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
convention | (Required) Naming convention method to use | any |
n/a | yes |
diagnostics_map | (Required) Storage account and Event Hub for the IP address diagnostics | any |
n/a | yes |
diagnostics_settings | (Required) Map with the diagnostics settings for public IP deployment | any |
n/a | yes |
ip_addr | (Required) Object with the settings for public IP deployment | any |
n/a | yes |
location | (Required) Location of the public IP to be created | any |
n/a | yes |
log_analytics_workspace_id | (Required) Log Analytics ID for the IP address diagnostics | any |
n/a | yes |
max_length | (Optional) You can speficy a maximum length to the name of the resource | string |
"" |
no |
name | (Required) Name of the public IP to be created | any |
n/a | yes |
postfix | (Optional) You can use a postfix to the name of the resource | string |
"" |
no |
prefix | (Optional) You can use a prefix to the name of the resource | string |
"" |
no |
resource_group_name | (Required) Resource group of the public IP to be created | any |
n/a | yes |
tags | (Required) Tags to be applied to the IP address to be created | any |
n/a | yes |
Name | Description |
---|---|
fqdn | Output the fully qualified domain name |
id | Output the object ID |
ip_address | Output the ip address |
name | Output the object name |
object | Output the full object |
(Required) The configuration object describing the public IP configuration Mandatory properties are:
- allocation_method
Optional properties are:
- sku
- ip_version
- dns_prefix
- timeout
- zones
- public_ip_prefix_id
variable "ip_addr" {
description = "(Required) Map with the settings for public IP deployment"
}
Example:
ip_addr = {
allocation_method = "Static"
#Dynamic Public IP Addresses aren't allocated until they're assigned to a resource (such as a Virtual Machine or a Load Balancer) by design within Azure
#properties below are optional
sku = "Standard" #defaults to Basic
ip_version = "IPv4" #defaults to IP4, Only dynamic for IPv6, Supported arguments are IPv4 or IPv6, NOT Both
dns_prefix = "arnaudmytestdeeee"
timeout = 15 #TCP timeout for idle connections. The value can be set between 4 and 30 minutes.
zones = [1] #1 zone number, IP address must be standard, ZoneRedundant argument is not supported in provider at time of writing
#reverse_fqdn = ""
#public_ip_prefix_id = "/subscriptions/00000000-00000-0000-0000-000000000000/resourceGroups/uqvh-hub-ingress-net/providers/Microsoft.Network/publicIPPrefixes/myprefix"
#refer to the prefix and check sku types are same in IP and prefix
}