linux-vm
claranet/linux-vm/azurerm
Terraform module composition (feature) for ARM Linux Virtual Machine (VM)
Azure Linux Virtual Machine     This module creates a Linux Virtual Machine. Following tags are automatically set with default values: env, stack, os_family, os_distribution, os_version. This module will also enforce some standard by default: - Azure Monitor agent extension is deployed - A backup policy attached to the VM - Patch management in place with Update Center Requirements EncryptionAtHost feature must be enabled for disk security. ``bash $ az feature register --namespace Microsoft.Compute --name EncryptionAtHost ` Global versioning rule for Claranet Azure modules | Module version | Terraform version | OpenTofu version | AzureRM
| Name | Type | Description | Default |
|---|---|---|---|
| stack | string | Project stack name. | required |
| admin_username | string | Username for Virtual Machine administrator account. | required |
| resource_group_name | string | Resource group name. | required |
| vm_size | string | Size (SKU) of the Virtual Machine to create. | required |
| environment | string | Project environment. | required |
| diagnostics_storage_account_name | string | Name of the Storage Account in which store boot diagnostics. | required |
| azure_monitor_data_collection_rule | object({ id = string }) | Data Collection Rule ID from Azure Monitor for metrics and logs collection. Used | required |
| subnet | object({ id = string }) | ID of the Subnet where the Virtual Machine is created. | required |
| vm_image_id | string | The ID of the image which this Virtual Machine should be created from. This vari | null |
| custom_dns_label | string | The DNS label to use for public access. Virtual Machine name if not set. DNS wil | "" |
| vtpm_enabled | bool | Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enable | true |
| patch_mode | string | Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible | "AutomaticByPlatform" |
| maintenance_configurations_ids | list(string) | List of maintenance configurations to attach to this VM. | [] |
| public_ip_custom_name | string | Custom name for Public IP. Generated if not set. | null |
| entra_ssh_login_extension_version | string | Virtual Machine extension version for Entra ID (aka AAD) SSH Login extension. | "1.0" |
| public_ip_extra_tags | map(string) | Extra tags to set on the public IP resource. | {} |
| os_disk_extra_tags | map(string) | Extra tags to set on the OS disk. | {} |
| entra_ssh_login_user_objects_ids | list(string) | Entra ID (aka AAD) objects IDs allowed to connect as standard user on the Virtua | [] |
| dcr_custom_name | string | Custom name for Data collection rule association. | null |
| availability_set | object({ id = string }) | ID of the availability set in which host the Virtual Machine. | null |
| public_ip_enabled | bool | Should a Public IP be attached to the Virtual Machine? | false |
| admin_password | string | Password for the administrator account of the Virtual Machine. | null |
| nic_ip_forwarding_enabled | bool | Whether IP Forwarding is enabled on the Network Interface. | false |
| vm_image | object({ publisher = strin | Virtual Machine source image information. See https://www.terraform.io/docs/prov | {
"offer": "Ubuntu",
"publisher": "C |
| load_balancer_attachment | object({ id = string }) | ID of the Load Balancer Backend Pool to attach the Virtual Machine to. | null |
| monitoring_agent_enabled | bool | `true` to use and deploy the Azure Monitor Agent. | true |
| encryption_at_host_enabled | bool | Should all disks (including the temporary disk) attached to the Virtual Machine | true |
| computer_name | string | Custom name for the Virtual Machine Hostname. `vm_name` if not set. | "" |
| … and 10 more inputs | |||
identity_principal_id — Linux Virtual Machine system identity principal ID.resource — Linux Virtual Machine resource object.hostname — Hostname of the Virtual Machine.ip_address_id — Public IP ID of the Virtual Machine.admin_password — Virtual Machine admin password.terraform_module — Information about this Terraform modulename — Name of the Virtual Machine.resource_public_ip — VM Public IP resource object.admin_ssh_public_key — Virtual Machine admin SSH public key.resource_os_disk — Virtual Machine OS disk resource object.id — ID of the Virtual Machine.public_domain_name_label — Public DNS of the Virtual Machine.private_ip_address — Private IP address of the Virtual Machine.nic_name — Name of the Network Interface Configuration attached to the Virtual Machine.nic_ip_configuration_name — Name of the IP Configuration for the Network Interface Configuration attached to the Virtual Machineresource_maintenance_configuration_assignment — Maintenance configuration assignment resource object.public_ip_address — Public IP address of the Virtual Machine.nic_id — ID of the Network Interface Configuration attached to the Virtual Machine.admin_username — Virtual Machine admin username.admin_ssh_private_key — Virtual Machine admin SSH private key.Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,