Как избежать двойных кавычек в терраформе?
Я использую провайдера 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
Сообщение об ошибке должно указывать на правильное место ошибки!