【发布时间】:2021-03-02 17:15:26
【问题描述】:
我正在通过 terraform 创建以下这些扩展作为 vm 模块的一部分。 第一个扩展(customScript Extenison)被创建。
resource "azurerm_virtual_machine_extension" "dsm_activate" {
name = "DSM-Activation_Extension"
virtual_machine_id = azurerm_virtual_machine.vm.id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.9"
depends_on = [azurerm_virtual_machine.vm]
settings = <<-BASE_SETTINGS
{
"fileUris": ["https://sstsv2xxxxxxxtmztf.blob.core.windows.net/scripts/windows_dsm_activate.ps1"]
}
BASE_SETTINGS
protected_settings = <<-PROTECTED_SETTINGS
{
"commandToExecute": "powershell -ExecutionPolicy Unrestricted -File windows_dsm_activate.ps1",
"storageAccountName": "${var.storage_account}",
"storageAccountKey": "${var.storage_account_key}"
}
PROTECTED_SETTINGS
}
resource "azurerm_virtual_machine_extension" "initialize_disk" {
name = "Initialize-Disk-VMExtension"
virtual_machine_id = azurerm_virtual_machine.vm.id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.10"
depends_on = ["azurerm_virtual_machine.vm","azurerm_virtual_machine_extension.dsm_activate", "azurerm_virtual_machine_extension.da_extension","azurerm_virtual_machine_extension.nw_extension"]
settings = <<SETTINGS
{
}
SETTINGS
protected_settings = <<PROTECTED_SETTINGS
{
"commandToExecute": "powershell Initialize-Disk -FriendlyName (Get-Disk -Number 2).FriendlyName -PartitionStyle MBR -PassThru; powershell New-Partition -DiskNumber (Get-Disk -Number 2).DiskNumber -AssignDriveLetter -UseMaximumSize; powershell Format-Volume -DriveLetter F -FileSystem NTFS -NewFileSystemLabel 'DATA' -Confirm:0"
}
PROTECTED_SETTINGS
}
但是,当它尝试执行第二个 customScriptExtension 时代码失败,并出现以下错误:
Multiple VMExtensions per handler not supported for OS type 'Windows'. VMExtension with handler 'Microsoft.Compute.CustomScriptExtension' already added or specified in input
如何修改上述脚本以执行两个自定义脚本。
【问题讨论】:
标签: powershell terraform terraform-provider-azure