我有一个使用 ec2 Spot 部署 ecs 的模块,在这个模块中我有几个资源 aws_autoscaling_group、aws_launch_template。
对于 aws_launch_template,我有 instance_type 属性,但我需要实例类型有多个选项,例如 t3.micro、t3a.micro 等各种系列类型。
resource "aws_launch_template" "launch_template" {
for_each = var.ecs_clusters
name = "${var.prefix}-${each.value.ecs_name}-lt"
image_id = each.value.launch_template.image_id
instance_requirements = ["t3a.micro", "t3.micro"]
.......
other attributes..
我尝试添加属性实例要求只是为了验证计划,但 terraform 无法识别它。
意外属性:这里不需要名为“instance_requirements”的属性Terraform
您的代码片段的 Terraform Sintax 是错误的。
使用instance_requirements创建启动模板的正确方法是这样的:
resource "aws_launch_template" "launch_template" {
for_each = var.ecs_clusters
name = "${var.prefix}-${each.value.ecs_name}-lt"
image_id = each.value.launch_template.image_id
instance_requirements {
allowed_instance_types = ["t3.xlarge", "t3a.xlarge", ]
memory_mib {
min = 15000
}
vcpu_count {
min = 3
}
}
.......
other attributes..
请记住,正如文档所说,
如果存在,则instance_type不能存在。