【问题标题】:Terraform how to loop over count (number type)Terraform如何循环计数(数字类型)
【发布时间】:2021-07-06 06:11:00
【问题描述】:

我对 terraform 还很陌生。我有一张像这样的地图

    { Small: 2, medium: 1 }

我需要创建一个如下所示的本地列表,这样我就可以轻松地遍历该列表来创建 VM。

    [
       small, 
       small,
       medium
    ]

到目前为止,我已经尝试过这样的事情

    ([for k, v in var.webservers : [
        for s in v: v]
    ])

我的逻辑是循环每个键值对的计数(值)以生成一个列表。但是 TF 需要一个集合进行迭代。

请帮忙!

【问题讨论】:

    标签: loops count terraform


    【解决方案1】:

    你可以这样做:

    
    variable "webservers" {
      default = { 
            small = 2, 
            medium = 1
      }
    }
    
    
    output "test" {
      value =  flatten([for k, v in var.webservers : 
                 [
                   for t in range(v): k
                 ]
               ])
        
    }
    

    顺序可能不同,但这是因为地图没有顺序。

    【讨论】:

    • 非常感谢。正是我需要的!
    猜你喜欢
    • 2021-01-17
    • 2019-10-26
    • 2022-01-21
    • 2013-06-14
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    相关资源
    最近更新 更多