status = true 复合类型 复合类型是由一组值组合的复合类型。 集合类型 一个集合包含了一组同一类型的值。包括: list(...):由从零开始的连续整数标识的值序列。 map(...):每个值都由字符串标签标识的一组值。 set(...):一组唯一值的集合。 结构类型 object(...):自定义类型,包含自己的命名属性。 tup...
部署可配置的Web服务器 type 允许对用户输入的变量类型进行强制约束。Terraform支持许多类型约束,包括string、number、bool、list、map、set、object、tuple和any。如果未指定类型,那么Terraform会设置默认约束类型为any。 还可以使用类型约束创建更复杂的对象和元组结构类型。 也可以通过环境变量来设置输入变量初始值。命名规...
如果没有默认值,Terraform将以交互方式提示用户输入一个值 type:允许对用户输入的变量类型进行强制约束。Terraform支持许多类型约束,包括string、number、bool、list、map、set、object、tuple和any Terraform会设置默认约束类型为any 通过类型约束来验证输入的值为数字 image-20211207205230352 检查输入值是否为列表 image-2021...
type = map(object({ is_admin = bool })) } locals { admin_users = { for name, user in var.users : name => user if user.is_admin } regular_users = { for name, user in var.users : name => user if !user.is_admin } } 因为for表达式可以从无序类型(map、对象、集合 set)转换为...
type = map(object({ name = string vm_size = string node_count = number tags = map(string) })) } resource "null_resource" "pool_name_keeper" { for_each = var.pools triggers = { name = each.value.name } } resource "azurerm_kubernetes_cluster_node_pool" "example" { ...
使用map? 相比起object的这些缺陷来说,使用map可以解决部分的问题。还是刚才的例子,如果使用map,那么大概会是这样: variable "network_rules" { default = null type = map(string) } resource "azurerm_storage_account" "sa" { name = random_string.name.result ...
type = map(object({ disk_type = string size = number })) description = "Instance Data Disks" default = {} } 这个模板我们一直用了很久,完全满足多盘的需求,也具有一定灵活性,但是随着全方位降本的需求,在服务优化等措施下,业务方评估可以考虑减少云盘数量,因为机型的特殊性,机器也不能回收重新创建。
我想创建一个模块来定义此 cloudflare 资源的覆盖设置https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/zone_settings_override variable "settings" { type = map(string) default = {} } 所以我考虑不定义每个可能的变量,而只是使用字符串映射将其放入我想要的设置块中。当然,...
object tuple map DNS # variables.tf variable"dns_record"{ type=map(string) description="custom dns record" } 1. 2. 3. 4. 5. # terraform.tfvars dns_record={ "dev"="dev.whale.com", "stag"="stag.whale.com", "prod"="prod.whale.com" ...
一个for表达式的输入(在in关键字之后给出)可以是一个列表,一个集合,一个元组,一个 map,或者一个对象 (object)。 上面的例子显示了一个只有一个临时符号s的for表达式,但是一个for表达式可以选择声明一对临时符号,以便也使用每个项目的键或索引: [for k, v in var.map : length(k) + length(v)] ...