如何在Terraform中使用format函数

如何在Terraform中使用format函数,terraform,Terraform,我正在尝试使用TF在Azure AD中注册一个应用程序,我想使用链接-->中提到的arg定义一些重定向URI: 但我必须放置3个URI,URI的格式如下: https://(project code)-yellow-(resourcegroup).azurewebsites.net/oauth2-redirect.html https://(project code)-blue-(resourcegroup).azurewebsites.net/oauth2-redirect.html http

我正在尝试使用TF在Azure AD中注册一个应用程序,我想使用链接-->中提到的arg定义一些重定向URI:

但我必须放置3个URI,URI的格式如下:

https://(project code)-yellow-(resourcegroup).azurewebsites.net/oauth2-redirect.html
https://(project code)-blue-(resourcegroup).azurewebsites.net/oauth2-redirect.html
https://(project code)-green-(resourcegroup).azurewebsites.net/oauth2-redirect.html
所以第二部分是变化的,而另一部分是不变的。我们无法硬编码URI以获得最佳实践 此外,我们还需要使用format函数 那么,有人能告诉我们如何使用format函数来放置reply_url,这样只有中间部分会像上面所描述的那样发生变化吗
此外,是否可以使用concat以任何方式进行此操作?您可以将
项目id
资源组
作为输入参数传递给TF代码:

variable "project_id" {}
variable "resource_group" {}
那么您的
回复URL
可能是:

reply_urls  = [
       format("https://%s-yellow-%s.azurewebsites.net/oauth2-redirect.html", var.project_id, var.resource_group),
       format("https://%s-blue-%s.azurewebsites.net/oauth2-redirect.html", var.project_id, var.resource_group),
       format("https://%s-green-%s.azurewebsites.net/oauth2-redirect.html", var.project_id, var.resource_group)  
]

问题在于我们的内部TF最佳实践合流页面中写着“不要使用插值语法”。建议使用格式化功能。这就是这里的挑战所在,否则我可以用插值语法来完成,这要容易得多。你认为插值不是一种好的做法吗?@Pallab我用格式更新了答案。我不知道为什么会这样。
reply_urls  = [
       format("https://%s-yellow-%s.azurewebsites.net/oauth2-redirect.html", var.project_id, var.resource_group),
       format("https://%s-blue-%s.azurewebsites.net/oauth2-redirect.html", var.project_id, var.resource_group),
       format("https://%s-green-%s.azurewebsites.net/oauth2-redirect.html", var.project_id, var.resource_group)  
]