modules/container-instance/main.tf (43 lines of code) (raw):
resource "azurerm_container_group" "alz" {
location = var.location
name = var.container_instance_name
os_type = "Linux"
resource_group_name = var.resource_group_name
ip_address_type = var.use_private_networking ? "Private" : "None"
subnet_ids = var.use_private_networking ? [var.subnet_id] : []
tags = var.tags
zones = var.availability_zones
container {
cpu = var.container_cpu
image = "${var.container_registry_login_server}/${var.container_image}"
memory = var.container_memory
name = var.container_name
cpu_limit = var.container_cpu_limit
environment_variables = var.environment_variables
memory_limit = var.container_memory_limit
secure_environment_variables = var.sensitive_environment_variables
ports {
port = 80
protocol = "TCP"
}
}
identity {
type = "UserAssigned"
identity_ids = [var.user_assigned_managed_identity_id]
}
dynamic "image_registry_credential" {
for_each = var.container_registry_username != null ? ["custom"] : []
content {
server = var.container_registry_login_server
password = var.container_registry_password
username = var.container_registry_username
}
}
dynamic "image_registry_credential" {
for_each = var.container_registry_username == null ? ["default"] : []
content {
server = var.container_registry_login_server
user_assigned_identity_id = var.user_assigned_managed_identity_id
}
}
}