Terraform: mudanças entre as edições

De Wiki Clusterlab.com.br
Ir para navegação Ir para pesquisar
Linha 45: Linha 45:
</syntaxhighlight>
</syntaxhighlight>
==Mode tricks==
==Mode tricks==
*[https://stackoverflow.com/questions/39479849/is-there-a-way-and-or-conditional-operator-in-terraform Source here]
AND <br>
{|class=wikitable align="center"
!foo
!bar
!result
|-
|0
|0
|0
|-
|0
|1
|0
|-
|1
|1
|1
|}
<syntaxhighlight lang=text>
count = "${var.foo * var.bar}"
</syntaxhighlight>
OR
{|class=wikitable align="center"
!foo
!bar
!result
|-
|0
|0
|0
|-
|0
|1
|1
|-
|1
|1
|1
|}
<syntaxhighlight lang=text>
count = "${signum(var.foo + var.bar)}"
</syntaxhighlight>

Edição das 15h18min de 15 de julho de 2019

IF Statement

I want an module in terraform which is able to execute two different codes.
One with a image from a Publisher and other with a custom image.
Codes above show how to specify both operations in the same module:

module "virtualmachine" {
  source = "git@github.com:accountname/git.git///path?ref=xxxxxxxx"
  vm_name = "virtualmachine"
  location = "East US 2"
  vm_image_reference = "no"
  image_publisher = "MicrosoftSQLServer"
  image_offer     = "SQL2016SP1-WS2016"
  image_sku       = "Enterprise"
  image_version   = "latest"
  vm_size = "Standard_DS11_v2"
  vm_disk_type = "Premium_LRS"
  vm_data_disks = ["1023"]
}
module "virtualmachine" {
  source = "git@github.com:accountname/git.git///path?ref=xxxxxxxx"
  vm_name = "virtualmachine"
  location = "East US 2"
  vm_image_reference = "yes"
  vm_image = "/subscriptions/xxxxxxxxxxxxx/resourceGroups/Images/providers/Microsoft.Compute/images/centos_720201230"
  vm_size = "Standard_DS11_v2"
  vm_disk_type = "Premium_LRS"
  vm_data_disks = ["1023"]
}
resource "azurerm_virtual_machine" "image" {
  count = "${format("%.1s", var.vm_image_reference) == "y" ? 1 : 0}"
.
.
.
}
resource "azurerm_virtual_machine" "market" {
  count = "${format("%.1s", var.vm_image_reference) == "n" ? 1 : 0}"
.
.
.
}

Mode tricks

AND

foo bar result
0 0 0
0 1 0
1 1 1
count = "${var.foo * var.bar}"

OR

foo bar result
0 0 0
0 1 1
1 1 1
count = "${signum(var.foo + var.bar)}"