我需要访问Terraform中的Function App暂存插槽。
我可以得到它的生产插槽:
data "azurerm_linux_function_app" "my_application" {
name = <app_name>
resource_group_name = <resource_group_name>
}
resource "azurerm_role_assignment" "role_assignment" {
scope = <scope>
role_definition_name = <role_name>
principal_id = data.azurerm_linux_function_app.my_application.identity.0.principal_id
}
对于staging插槽,我希望能够做类似的事情:
data "azurerm_linux_function_app_slot" "my_app_staging" {
name = <app_name>
resource_group_name = <resource_group_name>
slot_name = "staging"
}
resource "azurerm_role_assignment" "staging_role_assignment" {
scope = <scope>
role_definition_name = <role_name>
principal_id = data.azurerm_linux_function_app_slot.my_app_staging.identity.0.principal_id
}
但是,我得到以下错误:
提供程序hashicorp/azurerm不支持数据源“azurerm_linux_function_app_slot”。
问题
如何在Terraform中获取Function App的Staging插槽的principal_id
?
2条答案
按热度按时间0sgqnhkj1#
没有“azurerm_linux_function_app_slot”的支持数据源。
这些是可用的数据源
您可以尝试使用
resource id
导入Function Apps Deployment Slots,例如来源:https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_function_app_slot
希望这有帮助!
7cwmlq892#
自3.48.0起,该数据源未在提供程序中实现。
或者,您可以使用“用户分配的标识”并使用“用户分配的标识”的数据源。
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/user_assigned_identity