Meta-arguments foreach 元参数 foreach 与 count 相似,可以同时创建多个配置相似的云资源。foreach 参数通过遍历一组集合,利用集合中每个元素为 resouce 块创建相应属性的实例,每个实例都会单独创建、更新或销毁。 foreach 利用字符串集合创建资源示例 java resource "ctyunmysqlaccount" "accountexamples" { foreach toset( ["Todd", "James", "Alice", "Dottie"] ) name each.key } foreach 利用 map 创建资源示例 java resource "ctyunvpc" "vpcexamples" { foreach { vpc1 "192.168.0.0/16" vpc2 "172.16.0.0/16" } name each.key cidr each.value } 上述示例出现了 each.key 和 each.value 两个属性,当 foreach 遍历的是集合,而并非 map 时,each.value each.key foreach 使用限制: map的键(或一组字符串的所有值)必须是已知值 foreach的 key 不能取 uuid、bcrypt 或 timestamp 这类函数的结果 foreach 不能取敏感值进行遍历 foreach 的引用: 利用 foreach 创建资源实例组后,Terraform 会区分块本身和与其关联的多个资源。实例由提供给 的值中的映射键(或集合成员)标识 foreach。 . (例如 ctyunvpc.vpcexamples)可以引用资源块。 . [KEY](例如 ctyunvpc.vpcexamples["vpc1"])可以引用个别实例 provider 利用 alias 参数可以支持云平台的多个region,用于提供多资源池,多场景高可用的需求。可以通过创建多个 provider 声明块实现。对于每个额外的非默认配置,请使用 alias 元参数提供额外的名称段。例如: java