Я предпочитаю работать с файлами, а не с необработанным сценарием, так как сценарий может измениться в будущем, и его удобнее и удобнее изменить в отдельном файле.
Выполните следующие шаги:
Создайте новый файл для сценария PowerShell (убедитесь, что расширение - .ps1) Вставьте следующий код:
Param
(
[Parameter(Mandatory=$True)]
[string]$ResourceGroupName,
[Parameter(Mandatory=$True)]
[string]$ResourceType,
[Parameter(Mandatory=$True)]
[string]$ApiVersion,
[Parameter(Mandatory=$True)]
[string]$PropertiesObject
)
New-AzResource -PropertyObject $PropertiesObject -ResourceGroupName $ResourceGroupName -ResourceType $ResourceType -ResourceName $ResourceName -ApiVersion $ApiVersion -Force
Создать соответствующие переменные:
variable "apiversion" {
type = "string"
default = "2018-02-01"
}
variable "resourcetype" {
type = "string"
default = "Microsoft.Web/sites/config/metadata 1"
}
variable "propertiesobject" {
type = "map"
default = {
"CURRENT_STACK" = "dotnetcore"
}
}
Завершите скрипт и передайте соответствующие аргументы:
provisioner "local-exec" {
command = "PowerShell -file .\%FILE NAME FROM STEP 1%.ps1 -ResourceGroupName azurerm_resource_group.dev.name -ResourceType ${var.resourcetype} -ApiVersion ${var.apiversion} -PropertiesObject ${var.propertiesobject} "
}
Этот пример еще не тестировался, но вот как я работаю с другими скриптами PowerShell.