【发布时间】:2021-09-02 12:42:04
【问题描述】:
我正在尝试通过 azure devops 执行 terraform 脚本。我无法通过不同的任务申请和验证,尽管 terraform 计划成功 terraform apply 失败了
##[error]TypeError: 无法读取属性 'includes' of null
这是我正在使用的 terraform 任务。我尝试了两个不同的任务
1.
- task: ms-devlabs.custom-terraform-tasks.custom-terraform-release-task.TerraformTaskV2@2
displayName: 'Terraform : apply -auto-approve'
inputs:
command: apply
workingDirectory: '$(System.DefaultWorkingDirectory)/Terraform'
commandOptions: '-auto-approve'
environmentServiceNameAzureRM: 'ps-vs-sc'
backendAzureRmResourceGroupName: '$(rgname)'
backendAzureRmStorageAccountName: $(strname)
backendAzureRmContainerName: $(tfContainer)
backendAzureRmKey: '$(storagekey)'
- task: TerraformTaskV2@2
inputs:
provider: 'azurerm'
command: 'apply'
workingDirectory: '$(System.DefaultWorkingDirectory)/Terraform'
commandOptions: '--auto-approve'
environmentServiceNameAzureRM: 'ps-vs1-sc'
这是我的地形文件
provider "azurerm" {
features {}
}
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "2.74.0"
}
}
}
data "azurerm_api_management" "example" {
name = var.apimName
resource_group_name = var.rgName
}
resource "azurerm_api_management_api" "example" {
name = var.apName
resource_group_name = var.rgName
api_management_name = var.apimname
revision = "1"
display_name = "Example API1"
path = "example1"
protocols = ["https"]
service_url = "http://123.0.0.0:8000"
subscription_required = true
import {
content_format = "openapi+json"
content_value = #{storageaccountlink}#
}
【问题讨论】:
-
本地适合你吗?
-
是的,我可以在 vscode 终端中运行
-
你在哪里设置
var.apimName和var.rgName? -
基本上,我已经在管道中硬编码了我的参数,为了这个问题,我已经把它变成了 var。
-
您好@threeleggedrabbit,请问您是否推荐过此thomasthornton.cloud/2020/07/08/…?你在 azure devops 中使用 SPN 方法吗?
标签: azure azure-devops azure-api-management terraform-provider-azure