Skip to content

armakuni/terraform-azure-dev-vm

Repository files navigation

Azure Dev VM

A module which creates a VM in Azure with a set of configurable dev tools installed.

Requirements

No requirements.

Providers

Name Version
azurerm n/a

Modules

No modules.

Resources

Name Type
azurerm_linux_virtual_machine.dev_vm resource
azurerm_network_interface.dev_vm resource
azurerm_public_ip.dev_vm resource
azurerm_role_assignment.dev_vm resource
azurerm_client_config.current data source

Inputs

Name Description Type Default Required
add_user_to_groups A list of linux groups to add the default user to list(string) [] no
install_apt_packages A list of apt packages to install on the VM
list(
object(
{
name = string,
repository = optional(object({
source : string
keyid : string
keyserver : optional(string)
}))
}
)
)
[] no
install_sdkman Whether to install sdkman (must have zip and unzip installed) bool false no
install_sdkman_packages A list of sdkman tool to install (requires install_sdkman to be true; version_regex is a grep format regex)
list(object({
name = string,
version_regex = optional(string)
}))
[] no
location The Azure location to create the VM in string n/a yes
log_in_to_first_acr Causes docker to log in to the first ACR registry in the VMs resource group (requires docker to be installed) bool false no
log_in_to_first_aks_cluster Causes kubectl to log in to the first AKS cluster in the VMs resource group (requires kubectl to be installed) bool false no
name The name of the VM (used in the name of all resource created) string n/a yes
resource_group_name The Azure resource group to create the VM in string n/a yes
role_definition_name The name of the role definition to attach to the VM string "Reader" no
size The size of the VM string "Standard_A4_v2" no
ssh_public_key The public SSH key used to connect to the VM string n/a yes
subnet_id The subnet to attach the VM to. string n/a yes
username The default user on the VM string "adminuser" no

Outputs

Name Description
template n/a