Terraform azurerm_virtual_machine_extension - PullRequest
0 голосов
/ 08 января 2019

Я использую azurerm_virtual_machine_extension для начальной загрузки некоторых виртуальных машин в Azure.

Все примеры, которые я нашел, показывают что-то похожее на:

settings = <<SETTINGS
    {   
    "fileUris": [ "https://my.bootstrapscript.com/script.sh}" ],
    "commandToExecute": "bash script.sh"
    }
SETTINGS

Хотя это работает, моя проблема в том, что мне нужно публично разместить script для использования с fileUris. Есть ли в настройках опция, позволяющая мне отправлять содержимое локального файла из папки terraform?

Что-то вроде:

settings = <<SETTINGS
    {   
    "file": [ ${file("./script.txt")} ],
    "commandToExecute": "bash script.sh"
    }
SETTINGS

Спасибо.

1 Ответ

0 голосов
/ 08 января 2019

нет, вы не можете этого сделать, у вас есть 2 варианта:

  1. используйте учетную запись хранения Azure и защитите большой двоичный объект с помощью токена SAS, передайте его расширению, он будет использовать токен для авторизации в хранилище Azure и загрузит большой двоичный объект. вам нужно будет использовать защищенные настройки для передачи токена SAS. Схема расширения . Terraform должен отобразить 1-к-1 для этой схемы.
  2. вы можете использовать Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommand/action и Microsoft.Compute/virtualMachines/runCommand/action для запуска сценариев с локальной консоли на экземпляре vm \ vmss (почти наверняка, terrafrom не предоставляет этот вызов API, но powershell \ azu cli делает).
...