Terraform: Cleanup
[csit.git] / fdio.infra.terraform / 3n_azure_fsv2 / main.tf
index 87d02aa..f84f521 100644 (file)
@@ -5,44 +5,44 @@ provider "azurerm" {
 # Variables
 
 variable "vpc_addr_space_a" {
-  type = string
+  type    = string
   default = "172.16.0.0/16"
 }
 
 variable "vpc_cidr_a" {
-  type = string
+  type    = string
   default = "172.16.0.0/24"
 }
 
 variable "vpc_cidr_b" {
-  type = string
+  type    = string
   default = "172.16.10.0/24"
 }
 
 variable "vpc_cidr_c" {
-  type = string
+  type    = string
   default = "172.16.200.0/24"
 }
 
 variable "vpc_cidr_d" {
-  type = string
+  type    = string
   default = "172.16.20.0/24"
 }
 
 variable "trex_dummy_cidr_port_0" {
-  type = string
+  type    = string
   default = "172.16.11.0/24"
 }
 
 variable "trex_dummy_cidr_port_1" {
-  type = string
+  type    = string
   default = "172.16.21.0/24"
 }
 
 # Create resource group and resources
 
 resource "azurerm_resource_group" "CSIT" {
-  name     = "CSIT"
+  name = "CSIT"
   #location = "East US"
   location = "UK South"
 }
@@ -51,8 +51,8 @@ resource "azurerm_virtual_network" "CSIT" {
   name                = "CSIT-network"
   resource_group_name = azurerm_resource_group.CSIT.name
   location            = azurerm_resource_group.CSIT.location
-  address_space       = [ var.vpc_addr_space_a ]
-  depends_on          = [ azurerm_resource_group.CSIT ]
+  address_space       = [var.vpc_addr_space_a]
+  depends_on          = [azurerm_resource_group.CSIT]
 }
 
 resource "azurerm_subnet" "a" {
@@ -60,7 +60,7 @@ resource "azurerm_subnet" "a" {
   resource_group_name  = azurerm_resource_group.CSIT.name
   virtual_network_name = azurerm_virtual_network.CSIT.name
   address_prefix       = var.vpc_cidr_a
-  depends_on           = [ azurerm_resource_group.CSIT ]
+  depends_on           = [azurerm_resource_group.CSIT]
 }
 
 resource "azurerm_subnet" "b" {
@@ -68,7 +68,7 @@ resource "azurerm_subnet" "b" {
   resource_group_name  = azurerm_resource_group.CSIT.name
   virtual_network_name = azurerm_virtual_network.CSIT.name
   address_prefix       = var.vpc_cidr_b
-  depends_on           = [ azurerm_resource_group.CSIT ]
+  depends_on           = [azurerm_resource_group.CSIT]
 }
 
 resource "azurerm_subnet" "c" {
@@ -76,7 +76,7 @@ resource "azurerm_subnet" "c" {
   resource_group_name  = azurerm_resource_group.CSIT.name
   virtual_network_name = azurerm_virtual_network.CSIT.name
   address_prefix       = var.vpc_cidr_c
-  depends_on           = [ azurerm_resource_group.CSIT ]
+  depends_on           = [azurerm_resource_group.CSIT]
 }
 
 resource "azurerm_subnet" "d" {
@@ -84,7 +84,7 @@ resource "azurerm_subnet" "d" {
   resource_group_name  = azurerm_resource_group.CSIT.name
   virtual_network_name = azurerm_virtual_network.CSIT.name
   address_prefix       = var.vpc_cidr_d
-  depends_on           = [ azurerm_resource_group.CSIT ]
+  depends_on           = [azurerm_resource_group.CSIT]
 }
 
 # Create a security group of the Kiknos instances
@@ -154,175 +154,175 @@ resource "azurerm_network_security_group" "CSIT" {
 # Create public IPs
 
 resource "azurerm_public_ip" "tg_public_ip" {
-    name                         = "tg_public_ip"
-    location                     = azurerm_resource_group.CSIT.location
-    resource_group_name          = azurerm_resource_group.CSIT.name
-    allocation_method            = "Dynamic"
-    depends_on                   = [ azurerm_resource_group.CSIT ]
+  name                = "tg_public_ip"
+  location            = azurerm_resource_group.CSIT.location
+  resource_group_name = azurerm_resource_group.CSIT.name
+  allocation_method   = "Dynamic"
+  depends_on          = [azurerm_resource_group.CSIT]
 }
 
 resource "azurerm_public_ip" "dut1_public_ip" {
-    name                         = "dut1_public_ip"
-    location                     = azurerm_resource_group.CSIT.location
-    resource_group_name          = azurerm_resource_group.CSIT.name
-    allocation_method            = "Dynamic"
-    depends_on                   = [ azurerm_resource_group.CSIT ]
+  name                = "dut1_public_ip"
+  location            = azurerm_resource_group.CSIT.location
+  resource_group_name = azurerm_resource_group.CSIT.name
+  allocation_method   = "Dynamic"
+  depends_on          = [azurerm_resource_group.CSIT]
 }
 
 resource "azurerm_public_ip" "dut2_public_ip" {
-    name                         = "dut2_public_ip"
-    location                     = azurerm_resource_group.CSIT.location
-    resource_group_name          = azurerm_resource_group.CSIT.name
-    allocation_method            = "Dynamic"
-    depends_on                   = [ azurerm_resource_group.CSIT ]
+  name                = "dut2_public_ip"
+  location            = azurerm_resource_group.CSIT.location
+  resource_group_name = azurerm_resource_group.CSIT.name
+  allocation_method   = "Dynamic"
+  depends_on          = [azurerm_resource_group.CSIT]
 }
 
 # Create network interface
 
 resource "azurerm_network_interface" "tg_mng" {
-    name                      = "tg_mng"
-    location                  = azurerm_resource_group.CSIT.location
-    resource_group_name       = azurerm_resource_group.CSIT.name
-    network_security_group_id = azurerm_network_security_group.CSIT.id
-    ip_configuration {
-        primary                       = "true"
-        name                          = "tg_mng_ip"
-        subnet_id                     = azurerm_subnet.a.id
-        private_ip_address_allocation = "Static"
-        private_ip_address            = "172.16.0.10"
-        public_ip_address_id          = azurerm_public_ip.tg_public_ip.id
-    }
-    depends_on                = [ azurerm_resource_group.CSIT,
-                                  azurerm_subnet.a,
-                                  azurerm_public_ip.tg_public_ip ]
+  name                      = "tg_mng"
+  location                  = azurerm_resource_group.CSIT.location
+  resource_group_name       = azurerm_resource_group.CSIT.name
+  network_security_group_id = azurerm_network_security_group.CSIT.id
+  ip_configuration {
+    primary                       = "true"
+    name                          = "tg_mng_ip"
+    subnet_id                     = azurerm_subnet.a.id
+    private_ip_address_allocation = "Static"
+    private_ip_address            = "172.16.0.10"
+    public_ip_address_id          = azurerm_public_ip.tg_public_ip.id
+  }
+  depends_on = [azurerm_resource_group.CSIT,
+    azurerm_subnet.a,
+  azurerm_public_ip.tg_public_ip]
 }
 
 resource "azurerm_network_interface" "dut1_mng" {
-    name                      = "dut1_mng"
-    location                  = azurerm_resource_group.CSIT.location
-    resource_group_name       = azurerm_resource_group.CSIT.name
-    network_security_group_id = azurerm_network_security_group.CSIT.id
-    ip_configuration {
-        primary                       = "true"
-        name                          = "dut1_mng_ip"
-        subnet_id                     = azurerm_subnet.a.id
-        private_ip_address_allocation = "Static"
-        private_ip_address            = "172.16.0.11"
-        public_ip_address_id          = azurerm_public_ip.dut1_public_ip.id
-    }
-    depends_on                = [ azurerm_resource_group.CSIT,
-                                  azurerm_subnet.a,
-                                  azurerm_public_ip.dut1_public_ip ]
+  name                      = "dut1_mng"
+  location                  = azurerm_resource_group.CSIT.location
+  resource_group_name       = azurerm_resource_group.CSIT.name
+  network_security_group_id = azurerm_network_security_group.CSIT.id
+  ip_configuration {
+    primary                       = "true"
+    name                          = "dut1_mng_ip"
+    subnet_id                     = azurerm_subnet.a.id
+    private_ip_address_allocation = "Static"
+    private_ip_address            = "172.16.0.11"
+    public_ip_address_id          = azurerm_public_ip.dut1_public_ip.id
+  }
+  depends_on = [azurerm_resource_group.CSIT,
+    azurerm_subnet.a,
+  azurerm_public_ip.dut1_public_ip]
 }
 
 resource "azurerm_network_interface" "dut2_mng" {
-    name                      = "dut2_mng"
-    location                  = azurerm_resource_group.CSIT.location
-    resource_group_name       = azurerm_resource_group.CSIT.name
-    network_security_group_id = azurerm_network_security_group.CSIT.id
-    ip_configuration {
-        primary                       = "true"
-        name                          = "dut2_mng_ip"
-        subnet_id                     = azurerm_subnet.a.id
-        private_ip_address_allocation = "Static"
-        private_ip_address            = "172.16.0.12"
-        public_ip_address_id          = azurerm_public_ip.dut2_public_ip.id
-    }
-    depends_on                = [ azurerm_resource_group.CSIT,
-                                  azurerm_subnet.a,
-                                  azurerm_public_ip.dut2_public_ip ]
+  name                      = "dut2_mng"
+  location                  = azurerm_resource_group.CSIT.location
+  resource_group_name       = azurerm_resource_group.CSIT.name
+  network_security_group_id = azurerm_network_security_group.CSIT.id
+  ip_configuration {
+    primary                       = "true"
+    name                          = "dut2_mng_ip"
+    subnet_id                     = azurerm_subnet.a.id
+    private_ip_address_allocation = "Static"
+    private_ip_address            = "172.16.0.12"
+    public_ip_address_id          = azurerm_public_ip.dut2_public_ip.id
+  }
+  depends_on = [azurerm_resource_group.CSIT,
+    azurerm_subnet.a,
+  azurerm_public_ip.dut2_public_ip]
 }
 
 resource "azurerm_route_table" "b" {
-  name                          = "b"
-  location                      = azurerm_resource_group.CSIT.location
-  resource_group_name           = azurerm_resource_group.CSIT.name
-  depends_on                    = [ azurerm_resource_group.CSIT,
-                                    azurerm_subnet.b ]
+  name                = "b"
+  location            = azurerm_resource_group.CSIT.location
+  resource_group_name = azurerm_resource_group.CSIT.name
+  depends_on = [azurerm_resource_group.CSIT,
+  azurerm_subnet.b]
   disable_bgp_route_propagation = false
   route {
-    name                    = "route-10"
-    address_prefix          = var.trex_dummy_cidr_port_0
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.tg_if1.private_ip_address
+    name                   = "route-10"
+    address_prefix         = var.trex_dummy_cidr_port_0
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.tg_if1.private_ip_address
   }
   route {
-    name                    = "route-20"
-    address_prefix          = var.trex_dummy_cidr_port_1
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut1_if1.private_ip_address
+    name                   = "route-20"
+    address_prefix         = var.trex_dummy_cidr_port_1
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut1_if1.private_ip_address
   }
   route {
-    name                    = "tg2"
-    address_prefix          = var.vpc_cidr_d
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut1_if1.private_ip_address
+    name                   = "tg2"
+    address_prefix         = var.vpc_cidr_d
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut1_if1.private_ip_address
   }
 }
 
 resource "azurerm_route_table" "c" {
-  name                          = "c"
-  location                      = azurerm_resource_group.CSIT.location
-  resource_group_name           = azurerm_resource_group.CSIT.name
-  depends_on                    = [ azurerm_resource_group.CSIT,
-                                    azurerm_subnet.c ]
+  name                = "c"
+  location            = azurerm_resource_group.CSIT.location
+  resource_group_name = azurerm_resource_group.CSIT.name
+  depends_on = [azurerm_resource_group.CSIT,
+  azurerm_subnet.c]
   disable_bgp_route_propagation = false
   route {
-    name                    = "route-10"
-    address_prefix          = var.trex_dummy_cidr_port_0
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut1_if2.private_ip_address
+    name                   = "route-10"
+    address_prefix         = var.trex_dummy_cidr_port_0
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut1_if2.private_ip_address
   }
   route {
-    name                    = "route-100"
-    address_prefix          = "100.0.0.0/8"
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut1_if2.private_ip_address
+    name                   = "route-100"
+    address_prefix         = "100.0.0.0/8"
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut1_if2.private_ip_address
   }
   route {
-    name                    = "route-20"
-    address_prefix          = var.trex_dummy_cidr_port_1
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut2_if1.private_ip_address
+    name                   = "route-20"
+    address_prefix         = var.trex_dummy_cidr_port_1
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut2_if1.private_ip_address
   }
   route {
-    name                    = "tg1"
-    address_prefix          = var.vpc_cidr_b
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut1_if2.private_ip_address
+    name                   = "tg1"
+    address_prefix         = var.vpc_cidr_b
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut1_if2.private_ip_address
   }
   route {
-    name                    = "tg2"
-    address_prefix          = var.vpc_cidr_d
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut2_if1.private_ip_address
+    name                   = "tg2"
+    address_prefix         = var.vpc_cidr_d
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut2_if1.private_ip_address
   }
 }
 
 resource "azurerm_route_table" "d" {
-  name                          = "d"
-  location                      = azurerm_resource_group.CSIT.location
-  resource_group_name           = azurerm_resource_group.CSIT.name
-  depends_on                    = [ azurerm_resource_group.CSIT,
-                                    azurerm_subnet.d ]
+  name                = "d"
+  location            = azurerm_resource_group.CSIT.location
+  resource_group_name = azurerm_resource_group.CSIT.name
+  depends_on = [azurerm_resource_group.CSIT,
+  azurerm_subnet.d]
   disable_bgp_route_propagation = false
   route {
-    name                    = "route-10"
-    address_prefix          = var.trex_dummy_cidr_port_0
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut2_if2.private_ip_address
+    name                   = "route-10"
+    address_prefix         = var.trex_dummy_cidr_port_0
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut2_if2.private_ip_address
   }
   route {
-    name                    = "route-20"
-    address_prefix          = var.trex_dummy_cidr_port_1
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.tg_if2.private_ip_address
+    name                   = "route-20"
+    address_prefix         = var.trex_dummy_cidr_port_1
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.tg_if2.private_ip_address
   }
   route {
-    name                    = "tg1"
-    address_prefix          = var.vpc_cidr_b
-    next_hop_type           = "VirtualAppliance"
-    next_hop_in_ip_address  = data.azurerm_network_interface.dut2_if2.private_ip_address
+    name                   = "tg1"
+    address_prefix         = var.vpc_cidr_b
+    next_hop_type          = "VirtualAppliance"
+    next_hop_in_ip_address = data.azurerm_network_interface.dut2_if2.private_ip_address
   }
 }
 
@@ -342,221 +342,221 @@ resource "azurerm_subnet_route_table_association" "d" {
 }
 
 resource "azurerm_virtual_machine" "tg" {
-    name                             = "tg"
-    location                         = azurerm_resource_group.CSIT.location
-    resource_group_name              = azurerm_resource_group.CSIT.name
-    primary_network_interface_id     = azurerm_network_interface.tg_mng.id
-    network_interface_ids            = [ azurerm_network_interface.tg_mng.id,
-                                         azurerm_network_interface.tg_if1.id,
-                                         azurerm_network_interface.tg_if2.id ]
-    vm_size                          = "Standard_F32s_v2"
-    delete_os_disk_on_termination    = true
-    delete_data_disks_on_termination = true
-    storage_os_disk {
-        name              = "OsDiskTG"
-        caching           = "ReadWrite"
-        create_option     = "FromImage"
-        managed_disk_type = "StandardSSD_LRS"
-    }
-    storage_image_reference {
-        publisher = "Canonical"
-        offer     = "UbuntuServer"
-        sku       = "18.04-LTS"
-        version   = "latest"
-    }
-    os_profile {
-        computer_name  = "tg"
-        admin_username = "ubuntu"
-    }
-    os_profile_linux_config {
-        disable_password_authentication = true
-        ssh_keys {
-            path     = "/home/ubuntu/.ssh/authorized_keys"
-            key_data = file("~/.ssh/id_rsa.pub")
-        }
+  name                         = "tg"
+  location                     = azurerm_resource_group.CSIT.location
+  resource_group_name          = azurerm_resource_group.CSIT.name
+  primary_network_interface_id = azurerm_network_interface.tg_mng.id
+  network_interface_ids = [azurerm_network_interface.tg_mng.id,
+    azurerm_network_interface.tg_if1.id,
+  azurerm_network_interface.tg_if2.id]
+  vm_size                          = "Standard_F32s_v2"
+  delete_os_disk_on_termination    = true
+  delete_data_disks_on_termination = true
+  storage_os_disk {
+    name              = "OsDiskTG"
+    caching           = "ReadWrite"
+    create_option     = "FromImage"
+    managed_disk_type = "StandardSSD_LRS"
+  }
+  storage_image_reference {
+    publisher = "Canonical"
+    offer     = "UbuntuServer"
+    sku       = "18.04-LTS"
+    version   = "latest"
+  }
+  os_profile {
+    computer_name  = "tg"
+    admin_username = "ubuntu"
+  }
+  os_profile_linux_config {
+    disable_password_authentication = true
+    ssh_keys {
+      path     = "/home/ubuntu/.ssh/authorized_keys"
+      key_data = file("~/.ssh/id_rsa.pub")
     }
-    depends_on          = [ azurerm_resource_group.CSIT,
-                            azurerm_network_interface.tg_mng ]
+  }
+  depends_on = [azurerm_resource_group.CSIT,
+  azurerm_network_interface.tg_mng]
 }
 
 resource "azurerm_virtual_machine" "dut1" {
-    name                             = "dut1"
-    location                         = azurerm_resource_group.CSIT.location
-    resource_group_name              = azurerm_resource_group.CSIT.name
-    primary_network_interface_id     = azurerm_network_interface.dut1_mng.id
-    network_interface_ids            = [ azurerm_network_interface.dut1_mng.id,
-                                         azurerm_network_interface.dut1_if1.id,
-                                         azurerm_network_interface.dut1_if2.id ]
-    vm_size                          = "Standard_F32s_v2"
-    delete_os_disk_on_termination    = true
-    delete_data_disks_on_termination = true
-    storage_os_disk {
-        name              = "OsDiskDUT1"
-        caching           = "ReadWrite"
-        create_option     = "FromImage"
-        managed_disk_type = "StandardSSD_LRS"
-    }
-    storage_image_reference {
-        publisher = "Canonical"
-        offer     = "UbuntuServer"
-        sku       = "18.04-LTS"
-        version   = "latest"
-    }
-    os_profile {
-        computer_name  = "dut1"
-        admin_username = "ubuntu"
-    }
-    os_profile_linux_config {
-        disable_password_authentication = true
-        ssh_keys {
-            path     = "/home/ubuntu/.ssh/authorized_keys"
-            key_data = file("~/.ssh/id_rsa.pub")
-        }
+  name                         = "dut1"
+  location                     = azurerm_resource_group.CSIT.location
+  resource_group_name          = azurerm_resource_group.CSIT.name
+  primary_network_interface_id = azurerm_network_interface.dut1_mng.id
+  network_interface_ids = [azurerm_network_interface.dut1_mng.id,
+    azurerm_network_interface.dut1_if1.id,
+  azurerm_network_interface.dut1_if2.id]
+  vm_size                          = "Standard_F32s_v2"
+  delete_os_disk_on_termination    = true
+  delete_data_disks_on_termination = true
+  storage_os_disk {
+    name              = "OsDiskDUT1"
+    caching           = "ReadWrite"
+    create_option     = "FromImage"
+    managed_disk_type = "StandardSSD_LRS"
+  }
+  storage_image_reference {
+    publisher = "Canonical"
+    offer     = "UbuntuServer"
+    sku       = "18.04-LTS"
+    version   = "latest"
+  }
+  os_profile {
+    computer_name  = "dut1"
+    admin_username = "ubuntu"
+  }
+  os_profile_linux_config {
+    disable_password_authentication = true
+    ssh_keys {
+      path     = "/home/ubuntu/.ssh/authorized_keys"
+      key_data = file("~/.ssh/id_rsa.pub")
     }
-    depends_on          = [ azurerm_resource_group.CSIT,
-                            azurerm_network_interface.dut1_mng ]
+  }
+  depends_on = [azurerm_resource_group.CSIT,
+  azurerm_network_interface.dut1_mng]
 }
 
 resource "azurerm_virtual_machine" "dut2" {
-    name                             = "dut2"
-    location                         = azurerm_resource_group.CSIT.location
-    resource_group_name              = azurerm_resource_group.CSIT.name
-    primary_network_interface_id     = azurerm_network_interface.dut2_mng.id
-    network_interface_ids            = [ azurerm_network_interface.dut2_mng.id,
-                                         azurerm_network_interface.dut2_if1.id,
-                                         azurerm_network_interface.dut2_if2.id ]
-    vm_size                          = "Standard_F32s_v2"
-    delete_os_disk_on_termination    = true
-    delete_data_disks_on_termination = true
-    storage_os_disk {
-        name              = "OsDiskDUT2"
-        caching           = "ReadWrite"
-        create_option     = "FromImage"
-        managed_disk_type = "StandardSSD_LRS"
-    }
-    storage_image_reference {
-        publisher = "Canonical"
-        offer     = "UbuntuServer"
-        sku       = "18.04-LTS"
-        version   = "latest"
-    }
-    os_profile {
-        computer_name  = "dut2"
-        admin_username = "ubuntu"
-    }
-    os_profile_linux_config {
-        disable_password_authentication = true
-        ssh_keys {
-            path     = "/home/ubuntu/.ssh/authorized_keys"
-            key_data = file("~/.ssh/id_rsa.pub")
-        }
+  name                         = "dut2"
+  location                     = azurerm_resource_group.CSIT.location
+  resource_group_name          = azurerm_resource_group.CSIT.name
+  primary_network_interface_id = azurerm_network_interface.dut2_mng.id
+  network_interface_ids = [azurerm_network_interface.dut2_mng.id,
+    azurerm_network_interface.dut2_if1.id,
+  azurerm_network_interface.dut2_if2.id]
+  vm_size                          = "Standard_F32s_v2"
+  delete_os_disk_on_termination    = true
+  delete_data_disks_on_termination = true
+  storage_os_disk {
+    name              = "OsDiskDUT2"
+    caching           = "ReadWrite"
+    create_option     = "FromImage"
+    managed_disk_type = "StandardSSD_LRS"
+  }
+  storage_image_reference {
+    publisher = "Canonical"
+    offer     = "UbuntuServer"
+    sku       = "18.04-LTS"
+    version   = "latest"
+  }
+  os_profile {
+    computer_name  = "dut2"
+    admin_username = "ubuntu"
+  }
+  os_profile_linux_config {
+    disable_password_authentication = true
+    ssh_keys {
+      path     = "/home/ubuntu/.ssh/authorized_keys"
+      key_data = file("~/.ssh/id_rsa.pub")
     }
-    depends_on          = [ azurerm_resource_group.CSIT,
-                            azurerm_network_interface.dut2_mng ]
+  }
+  depends_on = [azurerm_resource_group.CSIT,
+  azurerm_network_interface.dut2_mng]
 }
 
 data "azurerm_public_ip" "tg_public_ip" {
   name                = "tg_public_ip"
   resource_group_name = azurerm_resource_group.CSIT.name
-  depends_on          = [ azurerm_virtual_machine.tg ]
+  depends_on          = [azurerm_virtual_machine.tg]
 }
 
 data "azurerm_public_ip" "dut1_public_ip" {
   name                = "dut1_public_ip"
   resource_group_name = azurerm_resource_group.CSIT.name
-  depends_on          = [ azurerm_virtual_machine.dut1 ]
+  depends_on          = [azurerm_virtual_machine.dut1]
 }
 
 data "azurerm_public_ip" "dut2_public_ip" {
   name                = "dut2_public_ip"
   resource_group_name = azurerm_resource_group.CSIT.name
-  depends_on          = [ azurerm_virtual_machine.dut2 ]
+  depends_on          = [azurerm_virtual_machine.dut2]
 }
 
 # Provisioning
 
 resource "null_resource" "deploy_tg" {
-  depends_on = [ azurerm_virtual_machine.tg,
-                 azurerm_network_interface.tg_if1,
-                 azurerm_network_interface.tg_if2 ]
+  depends_on = [azurerm_virtual_machine.tg,
+    azurerm_network_interface.tg_if1,
+  azurerm_network_interface.tg_if2]
   connection {
-    user = "ubuntu"
-    host = data.azurerm_public_ip.tg_public_ip.ip_address
+    user        = "ubuntu"
+    host        = data.azurerm_public_ip.tg_public_ip.ip_address
     private_key = file("~/.ssh/id_rsa")
   }
   provisioner "ansible" {
     plays {
       playbook {
-        file_path = "../../testbed-setup/ansible/site.yaml"
+        file_path      = "../../testbed-setup/ansible/site.yaml"
         force_handlers = true
       }
       hosts = ["tg_azure"]
       extra_vars = {
         ansible_python_interpreter = "/usr/bin/python3"
-        azure = true
+        azure                      = true
       }
     }
   }
 }
 
 resource "null_resource" "deploy_dut1" {
-  depends_on = [ azurerm_virtual_machine.dut1,
-                 azurerm_network_interface.dut1_if1,
-                 azurerm_network_interface.dut1_if2 ]
+  depends_on = [azurerm_virtual_machine.dut1,
+    azurerm_network_interface.dut1_if1,
+  azurerm_network_interface.dut1_if2]
   connection {
-    user = "ubuntu"
-    host = data.azurerm_public_ip.dut1_public_ip.ip_address
+    user        = "ubuntu"
+    host        = data.azurerm_public_ip.dut1_public_ip.ip_address
     private_key = file("~/.ssh/id_rsa")
   }
   provisioner "ansible" {
     plays {
       playbook {
-        file_path = "../../testbed-setup/ansible/site.yaml"
+        file_path      = "../../testbed-setup/ansible/site.yaml"
         force_handlers = true
       }
       hosts = ["sut_azure"]
       extra_vars = {
         ansible_python_interpreter = "/usr/bin/python3"
-        azure = true
+        azure                      = true
       }
     }
   }
 }
 
 resource "null_resource" "deploy_dut2" {
-  depends_on = [ azurerm_virtual_machine.dut2,
-                 azurerm_network_interface.dut2_if1,
-                 azurerm_network_interface.dut2_if2 ]
+  depends_on = [azurerm_virtual_machine.dut2,
+    azurerm_network_interface.dut2_if1,
+  azurerm_network_interface.dut2_if2]
   connection {
-    user = "ubuntu"
-    host = data.azurerm_public_ip.dut2_public_ip.ip_address
+    user        = "ubuntu"
+    host        = data.azurerm_public_ip.dut2_public_ip.ip_address
     private_key = file("~/.ssh/id_rsa")
   }
   provisioner "ansible" {
     plays {
       playbook {
-        file_path = "../../testbed-setup/ansible/site.yaml"
+        file_path      = "../../testbed-setup/ansible/site.yaml"
         force_handlers = true
       }
       hosts = ["sut_azure"]
       extra_vars = {
         ansible_python_interpreter = "/usr/bin/python3"
-        azure = true
+        azure                      = true
       }
     }
   }
 }
 
 resource "null_resource" "deploy_topology" {
-  depends_on = [ azurerm_virtual_machine.tg,
-                 azurerm_network_interface.tg_if1,
-                 azurerm_network_interface.tg_if2,
-                 azurerm_virtual_machine.dut1,
-                 azurerm_network_interface.dut1_if1,
-                 azurerm_network_interface.dut1_if2,
-                 azurerm_virtual_machine.dut2,
-                 azurerm_network_interface.dut2_if1,
-                 azurerm_network_interface.dut2_if2 ]
+  depends_on = [azurerm_virtual_machine.tg,
+    azurerm_network_interface.tg_if1,
+    azurerm_network_interface.tg_if2,
+    azurerm_virtual_machine.dut1,
+    azurerm_network_interface.dut1_if1,
+    azurerm_network_interface.dut1_if2,
+    azurerm_virtual_machine.dut2,
+    azurerm_network_interface.dut2_if1,
+  azurerm_network_interface.dut2_if2]
   provisioner "ansible" {
     plays {
       playbook {
@@ -565,16 +565,16 @@ resource "null_resource" "deploy_topology" {
       hosts = ["local"]
       extra_vars = {
         ansible_python_interpreter = "/usr/bin/python3"
-        cloud_topology = "3n_azure_Fsv2"
-        tg_if1_mac = data.azurerm_network_interface.tg_if1.mac_address
-        tg_if2_mac = data.azurerm_network_interface.tg_if2.mac_address
-        dut1_if1_mac = data.azurerm_network_interface.dut1_if1.mac_address
-        dut1_if2_mac = data.azurerm_network_interface.dut1_if2.mac_address
-        dut2_if1_mac = data.azurerm_network_interface.dut2_if1.mac_address
-        dut2_if2_mac = data.azurerm_network_interface.dut2_if2.mac_address
-        tg_public_ip = data.azurerm_public_ip.tg_public_ip.ip_address
-        dut1_public_ip = data.azurerm_public_ip.dut1_public_ip.ip_address
-        dut2_public_ip = data.azurerm_public_ip.dut2_public_ip.ip_address
+        cloud_topology             = "3n_azure_Fsv2"
+        tg_if1_mac                 = data.azurerm_network_interface.tg_if1.mac_address
+        tg_if2_mac                 = data.azurerm_network_interface.tg_if2.mac_address
+        dut1_if1_mac               = data.azurerm_network_interface.dut1_if1.mac_address
+        dut1_if2_mac               = data.azurerm_network_interface.dut1_if2.mac_address
+        dut2_if1_mac               = data.azurerm_network_interface.dut2_if1.mac_address
+        dut2_if2_mac               = data.azurerm_network_interface.dut2_if2.mac_address
+        tg_public_ip               = data.azurerm_public_ip.tg_public_ip.ip_address
+        dut1_public_ip             = data.azurerm_public_ip.dut1_public_ip.ip_address
+        dut2_public_ip             = data.azurerm_public_ip.dut2_public_ip.ip_address
       }
     }
   }