Thanks for replying!

I change the variable as you suggested and remove the quotes but now
getting this error about disk_size.

variable “storage” {
   type=list(string)
 }


✗ packer build  -var ks-file='"ks-2disk.cf"' -var storage='["51200",
"25600"]'  .
Error: 1 error(s) occurred:

** storage[0].'disk_size' is required*

  on centos.pkr.hcl line 1:
  (source code not available)

==> Wait completed after 4 microseconds

==> Builds finished but no artifacts were created.


On Thu, Sep 10, 2020 at 5:52 PM Wilken Rivera <[email protected]>
wrote:

> Hi Manish
>
> I believe the double quotes around the list may be the issue here.
>
> Have you tried removing the quotes?
>
> When specifying the list var on the cli you will need to drop the
> additional quotes so that it is read in as a list.
>
> -var 'storage=[”51200”,”25600”]’
>
>
> Also for string list types you should specify the type as `list(string)`
> as opposed to using a default=[].
>
> variable “storage” {
>    type=list(string)
>  }
>
> Let me know if that helps.
>
>
> On Sep 10, 2020, at 18:15, Manish Garedia <[email protected]> wrote:
>
> Here's what I am trying to achieve it.
>
> *dynamic "storage" { *
> * for_each = var.storage *
> * content { *
> * disk_size = storage.key disk_thin_provisioned = true }*
> *}*
>
> and storage is defined as list variable in variables.pkr.hcl
> *variable "storage" { default = [] }*
>
> Running Packer like this:
> packer build -var ks-file='"ks-2disk.cf"' -var
> storage='"["51200","25600"]"' .
>
> Getting this error at this time: Error: Extra characters after expression
>
> on line 1: (source code not available)
>
> An expression was successfully parsed, but extra characters were found
> after it.
>
> On Wednesday, September 9, 2020 at 1:23:52 PM UTC-5 Manish Garedia wrote:
>
>> Thanks for the reply!
>>
>> I have converted now everything to hcl2 templates. Can you please suggest
>> what's the best way to pass storage as a MAP based on if there is going to
>> a single disk or two disk?
>>
>> source "vsphere-iso" "centos" {
>>   CPUs = var.vm-cpu-num
>>   RAM = var.vm-mem-size
>>   RAM_reserve_all = false
>>   boot_command = [
>>     "<tab> inst.text inst.ks=hd:fd0:/${ var.ks-file } <enter><wait>"
>>   ]
>>   boot_order = "disk,cdrom,floppy"
>>   boot_wait = "10s"
>>   cluster = var.vsphere-cluster
>>   communicator = "ssh"
>>   convert_to_template = true
>>   datastore = var.vsphere-datastore
>>   disk_controller_type = ["pvscsi"]
>>   floppy_files = [
>>     var.ks-file
>>   ]
>>   guest_os_type = "centos7_64Guest"
>>   host = var.vsphere-host
>>   insecure_connection = "true"
>>   iso_paths = [
>>     var.iso_url
>>   ]
>>   network_adapters {
>>       network = var.vsphere-network
>>       network_card = "vmxnet3"
>>     }
>>   notes = "Build via Packer"
>>   password = var.vsphere-password
>>   ssh_password = var.ssh_password
>>   ssh_username = "root"
>> *  storage {*
>> *      disk_size = var.vm-disk-size*
>> *      disk_thin_provisioned = true*
>> *    }*
>> *    storage {*
>> *        disk_size = var.vm-disk-size2*
>> *        disk_thin_provisioned = true*
>> *      }*
>> *..*
>> build {
>>   sources = [
>>     "source.vsphere-iso.centos"
>>   ]
>> }
>>
>>
>>
>> On Wednesday, September 2, 2020 at 12:47:40 PM UTC-5 Megan Marsh wrote:
>>
>>> var-files only support string variables, not maps. If you want to use
>>> map variables, consider upgrading to hcl2 templates.
>>>
>>> On Tue, Sep 1, 2020 at 11:17 AM Manish Garedia <[email protected]> wrote:
>>>
>>>> Had to wrong json posted. here's the right one.
>>>>
>>>>       "storage": [
>>>>         {
>>>>           "disk_size": "{{user `vm-disk-size`}}",
>>>>           "disk_thin_provisioned": true
>>>>         },
>>>>        {
>>>>           "disk_size": "{{user `vm-disk-size`}}",
>>>>           "disk_thin_provisioned": true
>>>>         }
>>>>       ],
>>>>
>>>> On Tuesday, September 1, 2020 at 1:15:21 PM UTC-5 Manish Garedia wrote:
>>>>
>>>>> Is there any way of using map in var-file:
>>>>>
>>>>> I have something like this in packer.json
>>>>>
>>>>>       "storage": [
>>>>>         {
>>>>>           "disk_size": "{{user `vm-disk-size`}}",
>>>>>           "disk_thin_provisioned": true
>>>>>         }
>>>>>       ],
>>>>>       "storage": [
>>>>>         {
>>>>>           "disk_size": "{{user `vm-disk-size`}}",
>>>>>           "disk_thin_provisioned": true
>>>>>         }
>>>>>       ],
>>>>>
>>>>> what's the best way to have this in var-file. FYI, I have tried to
>>>>> flatten the json but doesn't work.
>>>>>
>>>> --
>>>> 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/hashicorp/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/960198f1-4c34-4872-836e-70a9909457e0n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/packer-tool/960198f1-4c34-4872-836e-70a9909457e0n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
> 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/hashicorp/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/0e61754e-d14c-4984-a259-072bacfbe392n%40googlegroups.com
> <https://groups.google.com/d/msgid/packer-tool/0e61754e-d14c-4984-a259-072bacfbe392n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> 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/hashicorp/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/4AF32427-84DF-4D79-A14E-0B2F983A6B3C%40wilkenrivera.com
> <https://groups.google.com/d/msgid/packer-tool/4AF32427-84DF-4D79-A14E-0B2F983A6B3C%40wilkenrivera.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/hashicorp/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/CAGe4ntCFgFGm%2BeENo7zTo-m37JBpPaURWSQqMjsPXKzvLOu3TQ%40mail.gmail.com.

Reply via email to