我正在通过terraform代码创建一个简单的runbook。以下是我正在使用的代码:
resource "azurerm_automation_runbook" "example" {
name = "AzureVMslist"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
automation_account_name = azurerm_automation_account.example.name
log_verbose = "true"
log_progress = "true"
description = "This is an example runbook"
runbook_type = "PowerShell"
publish_content_link {
uri = "" #not mentioning my uri
}
}
地形计划是成功的,当我运行地形申请,然后得到以下:
azurerm_automation_rnbook.example:正在创建。。。
错误:创建/更新Runbook:(名称"AzureVMslist"/自动化帐户名称"automation123&"/资源组"poc_terraform"(:自动化。RunbookClient#CreateOrUpdate:响应请求失败:StatusCode=400--原始错误:autorest/azure:服务返回错误。状态=400代码=";BadRequest";消息=";{消息:指定的参数无效。参数内容不能为null。};
我们如何修复此错误?
我发现了这个问题,并且已经修复了它。这个问题是因为我们用于publish_content_link的dummy/empty uri。因此,我们需要使用Valid uri,以便runbook能够自动创建。
我通过获取一个示例powershell脚本文件解决了这个问题,并在代码中使用了该文件。
data "local_file" "example" {
filename = "${path.module}/AzureVM.ps1"
}
我们使用content=data.local_file.example.content,而不是在代码中发布内容。