| acr_private_endpoint_dns_zone_ids |
List of Private DNS Zone Resource Ids where DNS records for Azure Container Registry Private Endpoints will be created. Needs to be a single, globally used, DNS zone across all subscriptions. This is for Private DNS Resolver to work in a centralized DNS architecture. It is also documented by Microsoft as a best practice. |
list(string) |
[ "/subscriptions/240c78f2-bab6-4e50-9d4f-cc49534b3eec/resourceGroups/cmgdnsprresrgprod01/providers/Microsoft.Network/privateDnsZones/privatelink.azurecr.io" ] |
no |
| allowed_rbac_access |
Mapping of 'Name => ObjectId', using Object Ids from AAD. Objects will be granted access to these resources |
object({ read = map(string) write = map(string) }) |
{ "read": {}, "write": {} } |
no |
| company_name |
n/a |
string |
"CMG" |
no |
| default_allowed_rbac_access |
Default AAD Objects that will be granted access. Override to {} if the defaults should not be used |
object({ read = map(string) write = map(string) }) |
{ "read": {}, "write": { "SG-CMGClearDevOps": "1f827054-bd48-479f-b09a-5dfb0a0e08bb" } } |
no |
| environment_location |
Azure primary region to create the resource in |
string |
"westus2" |
no |
| environment_location_secondary |
Azure region to replicate resources/data to. Ideally the region paired with the primary region (var.environment_location) |
string |
"westcentralus" |
no |
| environment_log_retention |
Number of days to retain Diagnostic Setting logs and used as a default for other log retention settings |
number |
14 |
no |
| environment_name |
Name of the environment, for tagging and naming purposes |
string |
n/a |
yes |
| log_analytics_id |
Required. Azure Log Analytics Workspace Id |
string |
n/a |
yes |
| private_endpoint_subnet_id |
Resource Id of a subnet where Private Endpoints should be created (unless overridden). Typically a dedicated subnet already in the subscription's hub vnet or inside an application's vnet |
string |
n/a |
yes |
| product_name |
n/a |
string |
"SharedApp" |
no |
| tfstate_storage_account_name |
Optional. Azure Storage Account where the Terraform State is stored. By default this is automatically generated, but due to 24 character name length it might need to be explicitly set |
string |
null |
no |
| vnet_address_space |
Optional. List of CIDR networks |
list(string) |
[] |
no |
| vnet_dns_servers |
List of DNS servers for the Vnet to use. The default, NULL, will use 'Azure Provided Dns Servers' |
list(string) |
null |
no |
| vnet_remote_hub_id |
Required. Id of the subscription's Hub Vnet, which will be peered |
string |
n/a |
yes |
| vnet_subnets |
Required. Mapping of Subnet objects. cidr attribute is required, as it must be unique across all environments/products |
object({
Private_Endpoints = optional(object({ cidr = string nat_gateway = optional(bool, false) enable_network_policies = optional(bool, false) # Must be false for PEs service_endpoints = optional(list(string), [])
delegations = optional(set(object({ name = string actions = list(string) })), []) }))
Api_Management = optional(object({ cidr = string nat_gateway = optional(bool) enable_network_policies = optional(bool) service_endpoints = optional(list(string), ["Microsoft.Web"])
delegations = optional(set(object({ name = string actions = list(string) })), []) }))
}) |
n/a |
yes |