创建资源并调用 terraform 计划时,我看到如下名称:
tags.%: "" => "1"
dns_servers.#: <computed>
我想知道.%和.#是什么意思;以及值"" => "1"对标签意味着什么。%
另外,计算的值真正代表什么?
创建资源并调用 terraform 计划时,我看到如下名称:
tags.%: "" => "1"
dns_servers.#: <computed>
我想知道.%和.#是什么意思;以及值"" => "1"对标签意味着什么。%
另外,计算的值真正代表什么?
tags.%:
是指tags
资源属性的部分数量。
"" => "1"
表示这些部分的数量是从undefined
应用前到1
应用后。在此示例中,这可能意味着当前没有标签,如果您应用,将有 1 个标签。通常,"foo" => "bar"
在计划中意味着 Terraform 检测到该值当前为“foo”,并且在应用此计划后它将为“bar”。
dns_servers.#
表示该属性有多个部分dns_servers
,并且此行引用由该唯一编号标识的特定部分。例如,如果您制作多个标签,则可能会有多个标签tag.1
、tag.2
等。此编号由提供商决定。
<computed>
意味着在您实际申请之前无法知道该值。例如,您创建了一个 EIP 和一个使用该 EIP 的 EC2 实例,Terraform 将显示 EIP 的 allocation_id,<COMPUTED>
因为在创建之前您无法知道这一点(即它在创建 EIP 时从 AWS 返回)。Terraform 旨在在单次运行中收敛(即,您无需apply
多次运行即可获得最终结果),为此目标的权衡terraform plan
是在创建资源之前您不会看到这些值。