Taula de continguts

Terraform, variables, interpolation and networking

variables

credentials

interpolation

azure locations

azure resource groups

main.tf
variable web_server_location {}
variable web_server_rg {}
 
resource "azurerm_resource_group" "web_server_rg" {
  name = var.web_server_rg
  location = var.web_server_location
}

azure VNET

variable "resource_prefix" {}
variable "web_server_address_space" {}
 
resource "azurerm_virtual_network" "web_server_vnet" {
  name = "${var.resource_prefix}-vnet"
  location = var.web_server_location
  resource_group_name = azurerm_resource_group.web_server_rg.name
  address_space = [var.web_server_address_space]
}

dependencies

azure subnet

subnet.tf
variable web_server_address_prefix {}
 
resource "axzurerm_subnet" "web_server_subnet"{
  name = "${var.resource_prefix}-subnet"
  resource_group_name = azurerm_resource_group.web_server_rg.name
  virtual_network_name = azurerm_virtual_network.web_server_vnet.name
  address_prefix = var.web_server_address_prefix
}

azure Network Interface

nic.tf
  variable web_server_name {}
  resource "azurerm_network_interface" "web_server_nic" {
    name = "${var.web_server_name}-nic"
    location = var.web_server_location
    resource_group_name = azurerm_resource_group.web_server_rg.name
 
    ip_configuration {
      name = "${var.web_server_name}-ip"
      subnet_id = azurerm_subnet.web_server_subnet.id
      private_ip_address_allocation = "dynamic" 
    }
  }