what I suggest you can do within your wrapper script is to have 2 arguments 
defined 

1) The Builder type
2) An Extra argument added to the VM name based on the builder chosen by 
the user who executes the wrapper script

Something like 

* "nameVm": "`echo $_HN`-`echo $_BUILDTYPE`" *

so the final outcome will be a text like

ServerName1-AWS
ServerName1-VMWare
ServerName1-Azure

I guess this goes as far as the imagination and the scripts skills can go.. 




On Saturday, January 27, 2018 at 11:04:08 AM UTC+13, Gabo Kete wrote:
>
> What I did is create a wrapper script that takes the name as an argument 
> and then I create dynamically the JSON file passing this variable to the 
> JSON file as a user Variable..
>
> Something like
>
> This is my usage Function from the wrapper script
>
> usage() {
>   echo -e "
> Usage: $(basename $0) -i <IP ADDRESS> -n <SERVER NETMASK> -g <SERVER 
> GATEWAY> *-s <SERVER HOSTNAME>* [ -d|-h|-v|-t <SERVER TYPE|-f <BULK 
> SERVER LIST> ]
>
> and This is where I dynamically create the JSON file 
>
> *create_json_template () {*
>
> cat > $_JSONFILE << __EOF
> {
>   "_comment": "This si a centos7-x64 Machine for VmWare ESXi 6.0",
>   "variables": {
> *    "nameVm": "`echo $_HN`-centos-7.1-vmware",*
>
>
> Here is where I define the variable name from the options passed to the 
> script
>
> if [[ $# != 0 ]];then
>
>
> while getopts ":i:n:g:s:t:f:dvh" Option
> do
>   case $Option in
> i   ) _IP=$OPTARG;;
> n   ) _NM=$OPTARG;;
>       g   ) _GW=$OPTARG;;
> *      s   ) _HN=$OPTARG;;*
>
> On Saturday, January 27, 2018 at 10:49:48 AM UTC+13, Andreas Sommer wrote:
>>
>> That is for shell. For shell-local, those environment variables are 
>> undefined.
>>
>> On Friday, January 26, 2018 at 6:06:25 PM UTC+1, Rickard von Essen wrote:
>>>
>>> See 
>>> https://www.packer.io/docs/provisioners/shell.html#default-environmental-variables
>>>
>>> On Jan 26, 2018 17:57, "'Andreas Sommer' via Packer" <
>>> [email protected]> wrote:
>>>
>>>> {
>>>>> "type": "shell-local",
>>>>> "command": "env vm_name={{user `vm_name`}} 
>>>>> ./packer/scripts/do-something-with-name.sh",
>>>>> }
>>>>>
>>>>
>>>> This won't work because it's not a user variable. Since I have several 
>>>> builders (different hypervisors to choose from), the name might differ 
>>>> between them. Is it possible somehow to pass the builder-specific vm_name 
>>>> value to a provisioner?
>>>>
>>>> Best,
>>>> Andreas
>>>>
>>>> -- 
>>>> 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 [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/packer-tool/98cca778-50ff-448b-a662-6504fe4d5db2%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/packer-tool/98cca778-50ff-448b-a662-6504fe4d5db2%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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/packer-tool/9c5336f2-1111-4683-9d70-ea4b72b222d3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to