我想在terraform中调用Rest API。下面是需要用于在Azure中创建成本分析视图的Rest API示例请求。我们需要使用terraform将此资源部署为代码。为了创建视图,我们可以使用REST API:https://learn.microsoft.com/en-us/rest/api/cost-management/views/create-or-update?tabs=HTTP
我们可以使用这个API通过创建预定动作来进行电子邮件订阅:https://learn.microsoft.com/en-us/rest/api/cost-management/scheduled-actions/create-or-update?tabs=HTTP
对于用于电子邮件订阅的预定动作的第二个API,我们应该使用下面的有效载荷主体作为示例:
{
"kind": "Email",
"properties": {
"displayName": "Test ",
"status": "Enabled",
"viewId": "/providers/Microsoft.Billing/billingAccounts/{BillingAccountID}/providers/Microsoft.CostManagement/views/test",
"schedule": {
"frequency": "Weekly",
"startDate": "2023-01-11T02:30:00.000Z",
"endDate": "2024-01-10T18:30:00.000Z",
"daysOfWeek": [
"Wednesday"
]
},
"notification": {
"to": [
test@microsoft.com
],
"subject": "Test",
"message": "Test"
},
"fileDestination": {
"fileFormats": [
"Csv"
]
},
"scope": "/providers/Microsoft.Billing/billingAccounts/{BillingAccountID}"
}
}
1条答案
按热度按时间oknwwptz1#
我试着在我的环境中重现同样的情景。
尝试使用json中提到的属性
代码:
main.tf:
此处安装AzApi VSCode扩展以使用AzApi提供程序
Microsoft. CostManagement/视图支持以下格式作为文档。
不支持以下参数。
因此收到错误:
Microsoft. CostManagement/scheduledActions具有这些参数。可以尝试将Microsoft. CostManagement/scheduledActionsParentId的azapi资源作为视图中的parentId。