gpt4 book ai didi

azure - 如何将 Terraform 与 A​​zure CLI 和 REST API 结合使用?

转载 作者:行者123 更新时间:2023-12-02 06:19:14 25 4
gpt4 key购买 nike

我的大部分 Azure 基础设施都是通过 Terraform 进行管理的。然而,我很快发现很多小细节都缺失了。

例如不完全支持客户端 secret https://github.com/terraform-providers/terraform-provider-azuread/issues/95

似乎无法将 Active Directory 提供程序添加到 APIM How Do I Add Active Directory To APIM Using Terraform?

创建 APIM 时会留下无法删除的演示产品 How Can I Remove Demo Products From APIM Created With Terraform?

等等等等

这些问题的解决方案似乎是利用 cli

例如https://learn.microsoft.com/en-us/cli/azure/ad/app/permission?view=azure-cli-latest#az-ad-app-permission-add

或者退回到 REST API:例如 https://learn.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/apis/delete

如何将 terraform 与 CLI 和 REST API 混合使用?

它们可以嵌入到 Terraform 中吗?

或者我只是运行一些命令来在 terraform 完成后运行它们?

有没有办法以跨平台的方式执行这些命令?

在 terraform 之后运行 CLI 和 REST API 是否会导致状态错误,并可能在下次运行 terraform 时出现问题?

最佳答案

How can I mix terraform with the CLI and REST API?

您可以使用 Terraform 配置程序 local-execremote-exec。通过这些方式,您可以使用 CLI 命令或 REST API 运行脚本。更多详情请参见local-execremote-exec 。但你需要照顾他们。这两种方式只是运行脚本并显示输出,但没有输出。

如果想将同一个Terraform文件中脚本的结果用于其他资源,则需要使用Terraform外部数据源,详情参见here .

更新:

这是一个示例。

Bash 脚本文件 vmTags.sh:

#!/bin/bash
az vm show -d -g myGroup -n myVM --query tags

Terraform 外部数据源:

data "external" "test" {
program = ["/bin/bash", "./vmTags.sh"]
}

output "value" {
value = "${data.external.test.result}"
}

关于azure - 如何将 Terraform 与 A​​zure CLI 和 REST API 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57562597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com