Как избежать двойных кавычек в терраформе?

Я использую провайдера remote-exec в моем шаблоне terraform v0.9.11 следующим образом:

... 
 provisioner "remote-exec" {
     inline = [
       "Set-ExecutionPolicy Bypass -force",
       "./C:\ProgramData\Amazon\EC2-Windows\Launch\Config\Replace-FileString.ps1 -Pattern '""' -Replacement '"${var.admin_password}"' -Path LauchConfig.json"
     ]
...

Но я получаю illegal char escape ошибка в -Pattern '""',

Команда, которую я хочу выполнить на удаленной машине: "... FileString.ps1 -Pattern '""' -Replacement '"xyz"' "

PS: убегая с \ как "... FileString.ps1 -Pattern '\"\"' -Replacement '\"xyz\"' " тоже не работает.

... представляет опущенный нерелевантный текст здесь.

1 ответ

Решение

Оказалось, что сообщение об ошибке вводило в заблуждение при указании на -Pattern '""' поскольку фактическая ошибка оказалась в другом месте в шаблоне, где обратная косая черта в пути файла Windows не была должным образом экранирована (т.е. C:\filename когда это должно было быть C:\\filename

Сообщение об ошибке должно указывать на правильное место ошибки!

Другие вопросы по тегам