You can't have \n in a Json string and I don't understand why you would need one it that example code? I recommend that you pass any invariants as environment variables 1) instead since that is more generic. An example is how it's done in bento 2)
1) https://www.packer.io/docs/provisioners/shell.html#environment_vars 2) https://github.com/chef/bento/blob/master/centos/centos-7.4-x86_64.json#L160-L181 On Mar 5, 2018 15:50, "Bubunia Patra" <bubunia2000s...@gmail.com> wrote: > 1. "execute_command": "{{.Vars}} sudo -E -S bash '{{.Path}' '{{user > `arg1`}}' '{{user `arg2`}}' " Is this correct? I tried this but since i > have lot of arguments to be passed it is less readable and error prone. > > > 2.The problem i am facing is I have lot of variables to be passed as > arguments and when I run as below: > "execute_command": "{{.Vars}} sudo -E -S bash '{{.Path}' '{{user `arg1`}}' > '{{user `arg2`}}' \n > '{{user `arg3`}}' '{{user `arg4`}}' > '{{user `arg5`}}' \n > > Failed to parse template: Error parsing JSON: invalid character '\n' in > string literal. Could you please help how I can pass multiline arguments? > " > > > On Monday, March 5, 2018 at 9:43:16 PM UTC+8, Rickard von Essen wrote: >> >> arguments should be in the "execute_command" >> >> On 5 March 2018 at 14:38, Bubunia Patra <bubunia...@gmail.com> wrote: >> >>> Packer version I am using 1.0.2. But the problem is that arguments are >>> not ge >>> >>> tting passed to the provisioning script and all are null. I used the >>> second method(hack ) that is described in below thread using "scripts" tag. >>> >>> https://groups.google.com/forum/#!topic/packer-tool/G2TKbBQOGcQ >>> >>> >>> >>> "provisioners": [ >>> { >>> "type": "shell", >>> "execute_command": "{{.Vars}} sudo -E -S bash >>> '{{.Path}} {{user `arg1`}} '", >>> "inline": [ >>> "{{user `provision_script`}} {{user `arg1`}} >>> {{user `arg2`}}" >>> >>> >>> ] >>> } >>> ] >>> } >>> >>> >>> >>> >>> >>> On Monday, March 5, 2018 at 7:33:14 PM UTC+8, Bubunia Patra wrote: >>> >>>> Hi all, >>>> >>>> I want to pass some command arguments to the provisioning script in >>>> packer for creating an AMI image. But I am getting "No such file or >>>> directory". Can anyone help me in this regard? >>>> I also having issue when I have multiline strings being passed to >>>> packer. I checked the below thread and its somehow adding \n doesnt work. >>>> >>>> https://stackoverflow.com/questions/16690101/can-a-json-valu >>>> e-contain-a-multiline-string >>>> >>>> Can anyone help me in this regard? >>>> >>>> Regards >>>> Pradeep >>>> >>>> { >>>> "variables": { >>>> "aws_access_key": "{{env `PACKER_AWS_ACCESS_KEY`}}", >>>> "aws_secret_key": "{{env `PACKER_AWS_SECRET_KEY`}}", >>>> "aws_region": "{{env `PACKER_AWS_REGION`}}", >>>> "prod_name": "abcd", >>>> "image_name": "abc", >>>> "version_number": "v1", >>>> "ami_filter": "CentOS Linux 7 x86_64 HVM EBS >>>> 1704_01-b7ee8a69-ee97-4a49-9e68-afaee216db2e-ami-d52f5bc3.4", >>>> "ssh_user_name": "centos", >>>> "env_type": "test", >>>> "provision_script": "/home/centos/packer/provision.sh", >>>> "arg1" : "hello", >>>> "arg2" : "world" >>>> >>>> "builders": [ >>>> { >>>> "name": "packer_eu_west_ebs", >>>> "type": "amazon-ebs", >>>> "access_key": "{{user `aws_access_key`}}", >>>> "secret_key": "{{user `aws_secret_key`}}", >>>> "region": "{{user `aws_region`}}", >>>> "source_ami_filter": { >>>> "filters": { >>>> "name": "{{user `ami_filter`}}" >>>> }, >>>> "most_recent": true >>>> }, >>>> "instance_type": "t2.small" >>>> } >>>> ] >>>> >>>> >>>> "provisioners": [ >>>> { >>>> "type": "shell", >>>> "execute_command": "{{.Vars}} sudo -E -S bash '{{.Path}}'", >>>> "inline": [ >>>> "{{user `provision_script`}} {{user `arg1`}} >>>> {{user `arg2`}}" >>>> >>>> >>>> ] >>>> } >>>> ] >>>> } >>>> >>>> >>>> Error: >>>> >>>> >>>> ==> packer_eu_west_ebs: Pausing after run of step >>>> 'StepRunSourceInstance'. Press enter to continue. ==> packer_eu_west_ebs: >>>> Pausing after run of step 'StepTagEBSVolumes'. Press enter to continue. ==> >>>> packer_eu_west_ebs: Pausing after run of step 'StepGetPassword'. Press >>>> enter to continue. >>>> ==> packer_eu_west_ebs: Waiting for SSH to become available... >>>> ==> packer_eu_west_ebs: Connected to SSH! >>>> ==> packer_eu_west_ebs: Pausing after run of step 'StepConnect'. Press >>>> enter to continue. >>>> ==> packer_eu_west_ebs: Provisioning with shell script: >>>> /tmp/packer-shell705621081 >>>> packer_eu_west_ebs: /tmp/script_619.sh: line 2: >>>> /home/centos/packer/provision.sh: No such file or directory >>>> >>> -- >>> This mailing list is governed under the HashiCorp Community Guidelines - >>> https://www.hashicorp.com/community-guidelines.html. Behavior in >>> violation of those guidelines may result in your removal from this mailing >>> list. >>> >>> GitHub Issues: https://github.com/mitchellh/packer/issues >>> IRC: #packer-tool on Freenode >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Packer" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to packer-tool...@googlegroups.com. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/packer-tool/c11d7166-8900-4b79-864d-1bcb3f254686%40googlegroups.com >>> <https://groups.google.com/d/msgid/packer-tool/c11d7166-8900-4b79-864d-1bcb3f254686%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > This mailing list is governed under the HashiCorp Community Guidelines - > https://www.hashicorp.com/community-guidelines.html. Behavior in > violation of those guidelines may result in your removal from this mailing > list. > > GitHub Issues: https://github.com/mitchellh/packer/issues > IRC: #packer-tool on Freenode > --- > You received this message because you are subscribed to the Google Groups > "Packer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to packer-tool+unsubscr...@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/ms > gid/packer-tool/6d306445-6b20-4177-95fd-1abade411e9e%40googlegroups.com > <https://groups.google.com/d/msgid/packer-tool/6d306445-6b20-4177-95fd-1abade411e9e%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list. GitHub Issues: https://github.com/mitchellh/packer/issues IRC: #packer-tool on Freenode --- You received this message because you are subscribed to the Google Groups "Packer" group. To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/CALz9Rt_yhKpzNSkCr0xKDb4Pavc86fOj1Za8Zz8Se-UBwBnC4Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.