要实现AWS Terraform自动化多个nvmecount
和for_each
功能来动态创建多个资源。下面是一个示例代码:
variable "num_nvme" {
description = "Number of NVMe volumes to create"
type = number
default = 2
}
resource "aws_instance" "example" {
ami = "ami-xxxxxxxx"
instance_type = "t2.micro"
count = var.num_nvme
# ...
ebs_block_device {
device_name = "/dev/nvme1n1"
volume_size = 100
delete_on_termination = true
# ...
}
}
output "instance_id" {
value = aws_instance.example.*.id
}
output "ebs_volume_id" {
value = aws_instance.example.*.ebs_block_device.*.volume_id
}
在上述示例中,num_nvme
是一个变量,用于指定要创建的nvmeaws_instance
资源的count
参数中使用该变量来动态创建多个实例。
在ebs_block_device
中,device_name
可以根据需要自定义,volume_size
用于指定每个nvme
最后,通过输出instance_id
和ebs_volume_id
来显示创建的实例和对应的nvme
通过修改num_nvme
变量的值,可以灵活地创建不同数量的nvme