试图在现有APIM中创建Azurerm_api_management_api_api_diagnostic资源时,需要一个ID。
目前,Terraform仅为
azurerm_api_management_logger
提供资源块,因此对我带来了巨大的挑战,这就是原因。我们已经有一个APIM中的azurerm_api_management_logger
资源,我想消费或参考.....而不是使用资源块创建全新的记录器。二,如果这是针对类似情况的其他一些Azure资源,我只是简单地使用数据块来引用现有资源。
azurerm_api_management_logger似乎没有支持任何数据块,这意味着我无法访问或引用我的Terraform配置所需的现有Logger ID。 关于我如何解决这个问题的任何建议?这里的目的不是要管理现有的记录仪,而是将其引用。
通常,在Terraform中,引用现有资源并获得其相关属性,一种主要方法是使用azurerm_api_management_logger
为了解决方法,我发现
Dataazapi_resourcedata
,也要感谢@Rui Jarimba建议通过在一个block下宣布记录器ID来提出另一个解决方法。使用
data "azapi_resource" "logger" {
type = "Microsoft.ApiManagement/service/loggers@2024-06-01-preview"
name = "newloger"
parent_id = data.azurerm_api_management.example.id
response_export_values = ["id"]
}
output "logger_id" {
value = data.azapi_resource.logger.id
}
::
variable
输出
:参考:
data azapi resource