terraform。%和。#和<computed>意思是

时间:2018-04-10 22:45:08

标签: terraform terraform-provider-azure

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

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

我想知道。%。#是什么意思;什么是&#34;&#34; =&GT; &#34; 1&#34; 表示标记。%

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

1 个答案:

答案 0 :(得分:1)

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中看到这些值在创建资源之前。