Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save devops-school/1e031081ac997112737e82ece1f2c843 to your computer and use it in GitHub Desktop.

Select an option

Save devops-school/1e031081ac997112737e82ece1f2c843 to your computer and use it in GitHub Desktop.

Revisions

  1. devops-school created this gist Jun 6, 2021.
    38 changes: 38 additions & 0 deletions terraform-boolean-variable-example.tf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,38 @@
    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
    ...
    }