Difference between revisions of "Terraform local values"

From wikieduonline
Jump to navigation Jump to search
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
https://www.terraform.io/language/values/locals
 
https://www.terraform.io/language/values/locals
  
[[locals]] [[Terraform blocksblock]]
+
<code>[[locals]]</code> [[terraform block]]
  
<code>[[locals]]</code>
+
A local value can only be accessed in expressions within the [[module]] where it was declared.
  
 
== Examples ==
 
== Examples ==
 
  locals {
 
  locals {
 +
  environment  = "[[prod]]"
 
   service_name = "forum"
 
   service_name = "forum"
 
   owner        = "Community Team"
 
   owner        = "Community Team"
Line 13: Line 14:
 
  locals {
 
  locals {
 
   # Ids for multiple sets of EC2 instances, merged together
 
   # Ids for multiple sets of EC2 instances, merged together
   instance_ids = concat(aws_instance.blue.*.id, aws_instance.green.*.id)
+
   instance_ids = [[concat]](aws_instance.blue.*.id, aws_instance.green.*.id)
 
  }
 
  }
+
 
 
  locals {
 
  locals {
 
   # Common tags to be assigned to all resources
 
   # Common tags to be assigned to all resources
Line 23: Line 24:
 
   }
 
   }
 
  }
 
  }
 +
 +
locals {
 +
  name  = "example-${[[replace]]([[basename]]([[path]].cwd), "_", "-")}"
 +
  region = "eu-west-1"
 +
  tags = {
 +
    Owner      = "user"
 +
    Environment = "dev"
 +
  }
 +
}
 +
 +
== Errors ==
 +
* [[Error: Reference to undeclared local value]]
  
 
== Related ==
 
== Related ==
 
* <code>[[var.]]</code>
 
* <code>[[var.]]</code>
 +
* <code>[[local.]]</code>
 +
* <code>[[module.]]</code>
 +
* <code>[[path.]]</code>
 +
* [[Terraform resource: random password]]
 +
* [[Terraform: Meta-Arguments]]
 +
* [[Terragrunt: locals]]
 +
* <code>count = local.[[create_node_sg]] ? 1 : 0</code>
 +
* [[locals.tf]]
  
 
== See also ==
 
== See also ==
* {{Terraform}}
+
* {{tf locals}}
 +
* {{Terraform blocks}}
 +
* {{Terraform variables}}
  
 
[[Category:Terraform]]
 
[[Category:Terraform]]

Latest revision as of 05:23, 12 February 2024

https://www.terraform.io/language/values/locals

locals terraform block

A local value can only be accessed in expressions within the module where it was declared.

Examples[edit]

locals {
  environment  = "prod"
  service_name = "forum"
  owner        = "Community Team"
}
locals {
 # Ids for multiple sets of EC2 instances, merged together
 instance_ids = concat(aws_instance.blue.*.id, aws_instance.green.*.id)
}
locals {
  # Common tags to be assigned to all resources
  common_tags = {
    Service = local.service_name
    Owner   = local.owner
  }
}
locals {
  name   = "example-${replace(basename(path.cwd), "_", "-")}"
  region = "eu-west-1"
  tags = {
    Owner       = "user"
    Environment = "dev"
 }
}

Errors[edit]

Related[edit]

See also[edit]

Advertising: