创建资源并调用terraform计划时,我看到如下名称:
tags.%: "" => "1"
dns_servers.#: <computed>
我想知道。%和。#是什么意思;什么是&#34;&#34; =&GT; &#34; 1&#34; 表示标记。%
此外,计算的值真正代表什么?
答案 0 :(得分: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
中看到这些值在创建资源之前。