0

创建资源并调用 terraform 计划时,我看到如下名称:

tags.%:                           "" => "1"
dns_servers.#:                    <computed>

我想知道.%.#是什么意思;以及值"" => "1"对标签意味着什么。%

另外,计算的值真正代表什么?

4

1 回答 1

3

tags.%:是指tags资源属性的部分数量。

"" => "1"表示这些部分的数量是从undefined应用前到1应用后。在此示例中,这可能意味着当前没有标签,如果您应用,将有 1 个标签。通常,"foo" => "bar"在计划中意味着 Terraform 检测到该值当前为“foo”,并且在应用此计划后它将为“bar”。

dns_servers.#表示该属性有多个部分dns_servers,并且此行引用由该唯一编号标识的特定部分。例如,如果您制作多个标签,则可能会有多个标签tag.1tag.2等。此编号由提供商决定。

<computed>意味着在您实际申请之前无法知道该值。例如,您创建了一个 EIP 和一个使用该 EIP 的 EC2 实例,Terraform 将显示 EIP 的 allocation_id,<COMPUTED>因为在创建之前您无法知道这一点(即它在创建 EIP 时从 AWS 返回)。Terraform 旨在在单次运行中收敛(即,您无需apply多次运行即可获得最终结果),为此目标的权衡terraform plan是在创建资源之前您不会看到这些值。

于 2018-04-11T04:58:52.317 回答