Назад | Перейти на главную страницу

упаковщик не может разобрать json из-за недопустимого символа

Я хочу использовать упаковщик для сборки ami.

AMI был первоначально построен aws_instance ресурс в терраформе. Он содержит следующие user_data

<powershell>
winrm quickconfig -q
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="300"}'
winrm set winrm/config '@{MaxTimeoutms="1800000"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service/auth '@{Basic="true"}'
netsh advfirewall firewall add rule name="WinRM 5985" protocol=TCP dir=in localport=5985 action=allow
netsh advfirewall firewall add rule name="WinRM 5986" protocol=TCP dir=in localport=5986 action=allow
net stop winrm
sc.exe config winrm start=auto
net start winrm
</powershell>

Когда я копирую и вставляю это в json-файл упаковщика, упаковщику это не нравится:

$ packer build windows-2012.json
Failed to parse template: Error parsing JSON: invalid character '\n' in string literal
At line 22, column 1 (offset 560):
   21:     "user_data": "<powershell>
   22:

Как я могу это исправить?

Я перешел на использование user_data_file и поместите содержимое в локальный файл.