我正在将AWS CloudFormation转换为Terraform模板。
当我在AWS CloudFormation中创建VPC时,可以设置预定义的值,例如“可用区”,使我能够选择在某些部署中使用哪些可用区,如下所示:
Parameters:
AvailabilityZones:
Description: 'List of Availability Zones to use for the subnets in the VPC. Note:
The logical order is preserved.'
Type: List<AWS::EC2::AvailabilityZone::Name>
在Terraform中可以做什么来模拟这种行为(基于给定值列表的预定义值)?
答案 0 :(得分:3)
Terraform中此CloudFormation功能最直接的类似物是Input Variables,它使您可以定义与CloudFormation中的内容基本相同的内容:
variable "availability_zone" {
type = list(string)
description = "List of Availability Zones to use for the subnets in the VPC. Note: The logical order is preserved."
}
与CloudFormation相比,一个区别是Terraform没有“可用区名称”的一流类型,因此包含该名称的字符串就是AWS提供程序对可用区的典型表示方式。
我不确定您要问的是什么,但我想您也在询问截屏的特定CloudFormation UI,该UI本身了解可用区的概念,因此它可以提供额外的帮助,例如自动补全。 Terraform模块的输入变量通常是通过代码配置的,而不是通过Web UI进行配置的,因此Terraform中没有与CloudFormation功能直接相关的东西。