Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save devops-school/1e031081ac997112737e82ece1f2c843 to your computer and use it in GitHub Desktop.
Save devops-school/1e031081ac997112737e82ece1f2c843 to your computer and use it in GitHub Desktop.
terraform boolean variable example
variable "create_vm" {
description = "If set to true, it will create vm"
type = bool
}
variable "create_vmss" {
description = "If set to true, it will create vmss"
type = bool
}
and define the resource azurerm_linux_virtual_machine and azurerm_linux_virtual_machine_scale_set in the same VM module.
resource "azurerm_linux_virtual_machine" "example" {
count = var.create_vm ? 1 : 0
name = "example-machine"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
size = "Standard_F2"
...
resource "azurerm_linux_virtual_machine_scale_set" "example" {
count = var.create_vmss ? 1 : 0
name = "example-vmss"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
sku = "Standard_F2"
instances = 1
admin_username = "adminuser"
....
Then call the submodule like this,
module "vm" {
source = "./modules/vm"
create_vm = true
create_vmss = false
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment