Difference between revisions of "Terraform: dynamic blocks"

From wikieduonline
Jump to navigation Jump to search
(8 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
A dynamic block acts much like a <code>[[for]]</code> expression.
 
A dynamic block acts much like a <code>[[for]]</code> expression.
  
 +
<code>[[dynamic]] { }</code>
 +
 +
== Example ==
 +
  dynamic "parameter" {
 +
    [[for_each]] = var.parameters
 +
    content {
 +
      name        = parameter.value.name
 +
      value        = parameter.value.value
 +
      apply_method = [[lookup]](parameter.value, "apply_method", null)
 +
    }
 +
  }
 +
 +
 +
<pre>
 +
locals {
 +
  dynamic    = "key_b"
 +
  my_map_json = jsonencode({
 +
    key_a          = "something"
 +
    (local.dynamic) = "else"
 +
  })
 +
  # ...
 +
}
 +
</pre>
 +
Ref: https://github.com/hashicorp/terraform/issues/27037#issuecomment-734356738
  
 
== Related ==
 
== Related ==
* [[Block]]
+
* [[Terraform blocks]]
  
 
== See also ==
 
== See also ==
* {{Terraform}}
+
* {{Terraform blocks}}
  
 
[[Category:Terraform]]
 
[[Category:Terraform]]

Revision as of 09:48, 20 August 2024

https://www.terraform.io/language/expressions/dynamic-blocks A dynamic block acts much like a for expression.

dynamic { }

Example

 dynamic "parameter" {
   for_each = var.parameters
   content {
     name         = parameter.value.name
     value        = parameter.value.value
     apply_method = lookup(parameter.value, "apply_method", null)
   }
 }


locals {
  dynamic     = "key_b"
  my_map_json = jsonencode({
    key_a           = "something"
    (local.dynamic) = "else"
  })
  # ...
}

Ref: https://github.com/hashicorp/terraform/issues/27037#issuecomment-734356738

Related

See also

Advertising: