# 创建一个包含多个实例的集合 variable "instances" { type = map default = { instance1 = "10.0.0.1" instance2 = "10.0.0.2" instance3 = "10.0.0.3" } } # 使用"for_each"创建多个资源实例 resource "aws_instance" "example" { for_each = var.instances ami = "ami-0c55b159cbfafe1f0...
Terraform 有两种方法可以做到这一点:count和for_each。 如果一个资源或模块块包括一个for_each参数,其值是一个 map 或字符串集合,Terraform 为该 map 或字符串集合的每个成员创建一个实例。 版本说明:for_each是在 Terraform 0.12.6 中添加的。Terraform 0.13 中增加了对for_each的模块支持;以前的版本只能在资源...
Terraform 有两种方法可以做到这一点:count和for_each。 如果一个资源或模块块包括一个for_each参数,其值是一个 map 或字符串集合,Terraform 为该 map 或字符串集合的每个成员创建一个实例。 版本说明:for_each是在 Terraform 0.12.6 中添加的。Terraform 0.13 中增加了对for_each的模块支持;以前的版本只能在资源...
通过Terraform 的localsjsondecodefor循环 和for_each实现。 具体如下: 构造一个 local 变量 local 变量从 .json 文件中读取并内容并通过jsondecode+file将 json 文件解码为 object 使用for循环,将 object 根据当前需求调整,将例子中env_name作为 key, 将其他作为 value ...
for_each = var.example_users cpus = each.value["cpus"] memory = each.value["memory"] 0投票 编写了 terraform 模块,通过变量处理一台虚拟机上的创建 module "vm" { source "git::https://gitlab.com/module-vsphere-vm-json-store.git?ref=v.0.0.1" providers = { vsphere = vsphere } for...
在资源块中使用for_each函数来创建NSG规则。例如: 代码语言:txt 复制 resource "azurerm_network_security_group" "example" { for_each = var.nsg_rules name = each.value.name location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name ...
condition = data.http.example.status_code == 200 error_message = "${data.http.example.url} returned an unhealthy status code" } } 参考资料 [1] terraformer:https://github.com/GoogleCloudPlatform/terraformer [2] aztfexport:https://github.com/Azure/aztfexport ...
Terraform for_each usage example terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 4.0" } } } provider "aws" { region = "ap-southeast-2" } locals { users = { "user1" = { username = "jerome"...
resource "aws_security_group" "example" { name = "friendly_subnets" description = "Allows access from friendly subnets" vpc_id = var.vpc_id ingress { from_port = 0 to_port = 0 protocol = -1 # For each number in subnet_numbers, extend the CIDR prefix of the ...
resource "aws_instance" "example" { count = length(var.instance_tags) ami = "ami-0c94855ba95c71c99" instance_type = "t2.micro" tags = { Name = "instance-${each.key}" Type = each.value } } ``` 在这个例子中,我们定义了一个名为`instance_tags`的变量,它是一个`map`类型的变量,...