首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在terraform avi gslb中实现for_each来创建和附加多个池到gslb?

如何在terraform avi gslb中实现for_each来创建和附加多个池到gslb?
EN

Stack Overflow用户
提问于 2021-08-05 19:24:12
回答 1查看 43关注 0票数 0

我在下面创建了avi gslbservice,创建了一个单独的池并附加到它。我想创建第二个池,并将其连接到该池。有谁能给我带路吗?我是第一次接触terraform,我在for_each fn上看到的教程很少。但是不知道如何应用它来满足我的需求。我已经突出显示了创建gslb池的块

代码语言:javascript
复制
resource "avi_gslbservice" "avi_gslbservice" {
name = "helloworldssl-gslb"
tenant_ref = data.avi_tenant.avi_tenant.id
domain_names = ["xxxxxxxxx"]
health_monitor_refs = [avi_healthmonitor.avi_healthmonitor_gslb.id]
enabled = true
pool_algorithm = "GSLB_SERVICE_ALGORITHM_GEO"
ttl = "30"
created_by = "xxxxxx"
description = "xxxxxx"
down_response {
type = "GSLB_SERVICE_DOWN_RESPONSE_ALL_RECORDS"
             }
**groups {
      priority = 10
      members {
              ip {
                type = "V4"
                addr = ""
                 }
         fqdn = "xxxxxxxxxxxxxx"
         vs_uuid = ""
         cluster_uuid = ""
         ratio = 1
         enabled = true
         }              
      name = "helloworldssl-gslb-pool1"
      algorithm = "GSLB_ALGORITHM_TOPOLOGY"
      }**
}

编辑2021年8月8日-现在我有一个工作,复制整个组块两次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-17 07:47:14

这是你怎么做的,

代码语言:javascript
复制
dynamic "groups" {   
   for_each = var.avi_gslbservice_groups
   content {
      dynamic "members" {
        for_each = groups.value.avi_gslbservice_groups_ip
        content {
            ip {
                 type = "V4"
                 addr = ""
              }
              fqdn = members.value["host"]
              vs_uuid = ""
              cluster_uuid = ""
              ratio = 1
              enabled = members.value["enabled"]
            }         
          }                 
        name = groups.value["name"]
        priority = groups.value["priority"]
        algorithm = groups.value["algorithm"]
      }
     }

值将来自json文件,如下所示

代码语言:javascript
复制
{
    "avi_gslbservice_groups": [
        {
            "name": "us-east-1",
            "priority": 7,
            "algorithm": "GSLB_ALGORITHM_ROUND_ROBIN",
            "avi_gslbservice_groups_ip": [
                {
                    "host": "host1",
                    "enabled": "true"
                },
                {
                    "host": "host2",
                    "enabled": "false"
                }
            ]
        },
        {
            "name": "us-east-2",
            "priority": 10,
            "algorithm": "GSLB_ALGORITHM_TOPOLOGY",
            "avi_gslbservice_groups_ip": [
                {
                    "host": "host1",
                    "enabled": "true"
                },
                {
                    "host": "host2",
                    "enabled": "false"
                }
            ]
        }
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68672459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档