是否可以使用Terraform向现有Azure应用程序网关添加新的侦听器、后端地址池和请求路由规则?

是否可以使用Terraform向现有Azure应用程序网关添加新的侦听器、后端地址池和请求路由规则?,terraform,azure-application-gateway,Terraform,Azure Application Gateway,我的用例是多个AppService应用程序,它们在一个应用程序网关后面有不同的生命周期。每当我添加一个新的应用程序时,我想添加一个新的侦听器、新的多站点路由规则和一个新的后端池,而无需拆除和重新创建网关 最初,我的计划是为共享infra创建一个框架应用程序网关的Terraform配置,然后为每个应用程序分别配置特定于应用程序的Terraform,以向该网关添加侦听器、后端地址池和路由规则。不过,用TF似乎是不可能实现的 我可以使用Azure CLI或Portal向现有网关添加侦听器、路由规则和后

我的用例是多个AppService应用程序,它们在一个应用程序网关后面有不同的生命周期。每当我添加一个新的应用程序时,我想添加一个新的侦听器、新的多站点路由规则和一个新的后端池,而无需拆除和重新创建网关

最初,我的计划是为共享infra创建一个框架应用程序网关的Terraform配置,然后为每个应用程序分别配置特定于应用程序的Terraform,以向该网关添加侦听器、后端地址池和路由规则。不过,用TF似乎是不可能实现的

我可以使用Azure CLI或Portal向现有网关添加侦听器、路由规则和后端池。有没有办法用Terraform做到这一点?

以下是Terraform管理Azure应用程序网关的方法。 您可以参考此示例代码向现有应用程序网关添加新的侦听器、路由规则以及后端池。此模板包含所有必需的参数,如

-(必需)一个或多个http_侦听器块

http_listener {
    name                           = "https-listener-1"
    frontend_ip_configuration_name = "feip"    
    frontend_port_name             = "http-port"
    protocol                       = "Http"
}
-(必需)一个或多个请求路由规则块

  request_routing_rule {
    name                       = "${local.request_routing_rule_name}"
    rule_type                  = "Basic"
    http_listener_name         = "${local.listener_name}"
    backend_address_pool_name  = "${local.backend_address_pool_name}"
    backend_http_settings_name = "${local.http_setting_name}"
  }
}
-(必需)一个或多个后端地址池块,定义如下

  backend_address_pool {
    name = "${local.backend_address_pool_name}"
  }

这并不能回答我关于在不拆除和重建现有网关的情况下将这些组件添加到现有网关的问题。假设你有一个网关。现在,在另一个Terraform配置中,我想添加一个新的侦听器。我不想知道关于这个网关的任何事情,除了它的名称/id/资源组。除了添加这个新的侦听器之外,我不想对这个网关做任何更改。因此,在这个单独的配置中完全描述网关只是为了添加一个侦听器并不是一个真正的选项,我正在寻找你是否能得到这个问题的答案?我还需要用terraform来做这件事。但是还没有找到答案。这能回答你的问题吗?