如何将自动化账户Runbook的作业计划导入Terraform管理?
Azure自动化账户作业计划导入Terraform指南
能否导入?
azurerm_automation_job_schedule资源支持导入,可将IaC外部创建的作业计划纳入Terraform统一管理。
正确导入方法
1. 获取作业计划的GUID ID
作业计划的导入ID需使用其专属GUID,而非计划名称。可通过两种方式获取:
- Azure CLI命令:
在返回的JSON结果中,找到对应作业计划的az automation job-schedule list --resource-group rg-phoenix2cloud-pro-eastus --automation-account-name aa-eastus-proid字段,提取jobSchedules/后的GUID部分。 - Azure门户:
进入目标自动化账户→左侧菜单选「作业计划」→点击目标条目→在「概览」页复制完整资源ID,其中jobSchedules/后的字符串即为所需GUID。
2. 执行导入命令
使用正确的资源ID格式执行导入:
terraform import 'module.automation_account_powershell["eastus"].azurerm_automation_job_schedule.atm' /subscriptions/xxx/resourceGroups/rg-phoenix2cloud-pro-eastus/providers/Microsoft.Automation/automationAccounts/aa-eastus-pro/jobSchedules/<替换为实际作业计划GUID>
3. 匹配Terraform代码定义
导入完成后,需在代码中定义对应的azurerm_automation_job_schedule资源,确保schedule_name、runbook_name、automation_account_name等参数与实际资源完全一致,避免后续terraform plan出现不必要的差异。
之前命令失败的原因
- 第一个命令使用计划名称(
filesharepvc)而非作业计划GUID,路径指向错误。 - 第二个命令直接指向
schedule资源路径,而非jobSchedule资源路径,资源类型不匹配。 - 第三个命令存在路径重复,不符合Azure资源ID规范。
内容的提问来源于stack exchange,提问作者Dielam
相关产品推荐
相关产品推荐

