123 lines
3.7 KiB
HCL
123 lines
3.7 KiB
HCL
resource "azurerm_resource_group" "res-0" {
|
|
location = "switzerlandnorth"
|
|
managed_by = "terraform-demo"
|
|
name = "rg-terraform-demo"
|
|
tags = {
|
|
Project = "b1clc-demo"
|
|
}
|
|
}
|
|
|
|
resource "azurerm_virtual_network" "res-9" {
|
|
address_space = ["10.0.0.0/16"]
|
|
location = azurerm_resource_group.res-0.location
|
|
name = "vm-demo-linux1-vnet"
|
|
resource_group_name = azurerm_resource_group.res-0.name
|
|
tags = {
|
|
Project = "b1clc-demo"
|
|
}
|
|
}
|
|
|
|
|
|
resource "azurerm_subnet" "res-10" {
|
|
address_prefixes = ["10.0.0.0/24"]
|
|
name = "default"
|
|
resource_group_name = azurerm_resource_group.res-0.name
|
|
virtual_network_name = azurerm_virtual_network.res-9.name
|
|
}
|
|
|
|
|
|
|
|
resource "azurerm_public_ip" "res-8" {
|
|
allocation_method = "Static"
|
|
ip_version = "IPv4"
|
|
location = azurerm_resource_group.res-0.location
|
|
name = "vm-demo-linux1-ip"
|
|
resource_group_name = azurerm_resource_group.res-0.name
|
|
sku = "Standard"
|
|
sku_tier = "Regional"
|
|
tags = {
|
|
Project = "b1clc-demo"
|
|
}
|
|
# Removed zones for Standard SKU compatibility
|
|
}
|
|
|
|
resource "azurerm_network_security_group" "res-5" {
|
|
location = azurerm_resource_group.res-0.location
|
|
name = "vm-demo-linux1-nsg"
|
|
resource_group_name = azurerm_resource_group.res-0.name
|
|
security_rule {
|
|
access = "Allow"
|
|
destination_address_prefix = "*"
|
|
destination_port_range = "22"
|
|
direction = "Inbound"
|
|
name = "SSH"
|
|
priority = 300
|
|
protocol = "Tcp"
|
|
source_address_prefix = "*"
|
|
source_port_range = "*"
|
|
}
|
|
security_rule {
|
|
access = "Allow"
|
|
destination_address_prefix = "*"
|
|
destination_port_range = "80"
|
|
direction = "Inbound"
|
|
name = "HTTP"
|
|
priority = 320
|
|
protocol = "Tcp"
|
|
source_address_prefix = "*"
|
|
source_port_range = "*"
|
|
}
|
|
tags = {
|
|
Project = "b1clc-demo"
|
|
}
|
|
}
|
|
|
|
resource "azurerm_network_interface" "res-3" {
|
|
location = azurerm_resource_group.res-0.location
|
|
name = "vm-demo-linux1823_z1"
|
|
resource_group_name = azurerm_resource_group.res-0.name
|
|
tags = {
|
|
Project = "b1clc-demo"
|
|
}
|
|
ip_configuration {
|
|
name = "ipconfig1"
|
|
primary = true
|
|
private_ip_address_version = "IPv4"
|
|
public_ip_address_id = azurerm_public_ip.res-8.id
|
|
subnet_id = azurerm_subnet.res-10.id
|
|
private_ip_address_allocation = "Dynamic"
|
|
}
|
|
}
|
|
|
|
resource "azurerm_network_interface_security_group_association" "res-4" {
|
|
network_interface_id = azurerm_network_interface.res-3.id
|
|
network_security_group_id = azurerm_network_security_group.res-5.id
|
|
}
|
|
|
|
resource "azurerm_linux_virtual_machine" "res-1" {
|
|
disable_password_authentication = false
|
|
admin_password = "test..123"
|
|
admin_username = "student"
|
|
computer_name = "vm-demo-linux1"
|
|
location = azurerm_resource_group.res-0.location
|
|
name = "vm-demo-linux1"
|
|
network_interface_ids = [azurerm_network_interface.res-3.id]
|
|
resource_group_name = azurerm_resource_group.res-0.name
|
|
size = "Standard_B2ats_v2"
|
|
zone = "1"
|
|
os_disk {
|
|
caching = "ReadWrite"
|
|
storage_account_type = "StandardSSD_LRS"
|
|
disk_size_gb = 30
|
|
}
|
|
source_image_reference {
|
|
offer = "ubuntu-24_04-lts"
|
|
publisher = "canonical"
|
|
sku = "server"
|
|
version = "latest"
|
|
}
|
|
tags = {
|
|
Project = "b1clc-demo"
|
|
}
|
|
}
|