diff --git a/.web-docs/components/builder/clone/README.md b/.web-docs/components/builder/clone/README.md index af5a84fa..46e0ae19 100644 --- a/.web-docs/components/builder/clone/README.md +++ b/.web-docs/components/builder/clone/README.md @@ -274,7 +274,7 @@ boot time. - `qemu_additional_args` (string) - Arbitrary arguments passed to KVM. For example `-no-reboot -smbios type=0,vendor=FOO`. - Note: this option is for experts only. + Note: this option is for experts only. diff --git a/.web-docs/components/builder/iso/README.md b/.web-docs/components/builder/iso/README.md index 0e7c992a..53305097 100644 --- a/.web-docs/components/builder/iso/README.md +++ b/.web-docs/components/builder/iso/README.md @@ -203,9 +203,9 @@ in the image's Cloud-Init settings for provisioning. - `vm_interface` (string) - Name of the network interface that Packer gets the VMs IP from. Defaults to the first non loopback interface. -- `qemu_additional_args` (string) - Arbitrary arguments passed to KVM. +- `qemu_additional_args` (string) - Arbitrary arguments passed to KVM. For example `-no-reboot -smbios type=0,vendor=FOO`. - Note: this option is for experts only. + Note: this option is for experts only. diff --git a/builder/proxmox/clone/config.hcl2spec.go b/builder/proxmox/clone/config.hcl2spec.go index 44193de8..aa53e202 100644 --- a/builder/proxmox/clone/config.hcl2spec.go +++ b/builder/proxmox/clone/config.hcl2spec.go @@ -117,13 +117,13 @@ type FlatConfig struct { CloudInitStoragePool *string `mapstructure:"cloud_init_storage_pool" cty:"cloud_init_storage_pool" hcl:"cloud_init_storage_pool"` AdditionalISOFiles []proxmox.FlatadditionalISOsConfig `mapstructure:"additional_iso_files" cty:"additional_iso_files" hcl:"additional_iso_files"` VMInterface *string `mapstructure:"vm_interface" cty:"vm_interface" hcl:"vm_interface"` + AdditionalArgs *string `mapstructure:"qemu_additional_args" cty:"qemu_additional_args" hcl:"qemu_additional_args"` CloneVM *string `mapstructure:"clone_vm" required:"true" cty:"clone_vm" hcl:"clone_vm"` CloneVMID *int `mapstructure:"clone_vm_id" required:"true" cty:"clone_vm_id" hcl:"clone_vm_id"` FullClone *bool `mapstructure:"full_clone" required:"false" cty:"full_clone" hcl:"full_clone"` Nameserver *string `mapstructure:"nameserver" required:"false" cty:"nameserver" hcl:"nameserver"` Searchdomain *string `mapstructure:"searchdomain" required:"false" cty:"searchdomain" hcl:"searchdomain"` Ipconfigs []FlatcloudInitIpconfig `mapstructure:"ipconfig" required:"false" cty:"ipconfig" hcl:"ipconfig"` - AdditionalArgs *string `mapstructure:"qemu_additional_args" cty:"qemu_additional_args" hcl:"qemu_additional_args"` } // FlatMapstructure returns a new FlatConfig. @@ -244,13 +244,13 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { "cloud_init_storage_pool": &hcldec.AttrSpec{Name: "cloud_init_storage_pool", Type: cty.String, Required: false}, "additional_iso_files": &hcldec.BlockListSpec{TypeName: "additional_iso_files", Nested: hcldec.ObjectSpec((*proxmox.FlatadditionalISOsConfig)(nil).HCL2Spec())}, "vm_interface": &hcldec.AttrSpec{Name: "vm_interface", Type: cty.String, Required: false}, + "qemu_additional_args": &hcldec.AttrSpec{Name: "qemu_additional_args", Type: cty.String, Required: false}, "clone_vm": &hcldec.AttrSpec{Name: "clone_vm", Type: cty.String, Required: false}, "clone_vm_id": &hcldec.AttrSpec{Name: "clone_vm_id", Type: cty.Number, Required: false}, "full_clone": &hcldec.AttrSpec{Name: "full_clone", Type: cty.Bool, Required: false}, "nameserver": &hcldec.AttrSpec{Name: "nameserver", Type: cty.String, Required: false}, "searchdomain": &hcldec.AttrSpec{Name: "searchdomain", Type: cty.String, Required: false}, "ipconfig": &hcldec.BlockListSpec{TypeName: "ipconfig", Nested: hcldec.ObjectSpec((*FlatcloudInitIpconfig)(nil).HCL2Spec())}, - "qemu_additional_args": &hcldec.AttrSpec{Name: "qemu_additional_args", Type: cty.String, Required: false}, } return s } diff --git a/builder/proxmox/common/config.hcl2spec.go b/builder/proxmox/common/config.hcl2spec.go index a0e496e9..e5cf36f9 100644 --- a/builder/proxmox/common/config.hcl2spec.go +++ b/builder/proxmox/common/config.hcl2spec.go @@ -237,6 +237,7 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { "cloud_init_storage_pool": &hcldec.AttrSpec{Name: "cloud_init_storage_pool", Type: cty.String, Required: false}, "additional_iso_files": &hcldec.BlockListSpec{TypeName: "additional_iso_files", Nested: hcldec.ObjectSpec((*FlatadditionalISOsConfig)(nil).HCL2Spec())}, "vm_interface": &hcldec.AttrSpec{Name: "vm_interface", Type: cty.String, Required: false}, + "qemu_additional_args": &hcldec.AttrSpec{Name: "qemu_additional_args", Type: cty.String, Required: false}, } return s } diff --git a/builder/proxmox/iso/config.hcl2spec.go b/builder/proxmox/iso/config.hcl2spec.go index 9338c09b..7a275567 100644 --- a/builder/proxmox/iso/config.hcl2spec.go +++ b/builder/proxmox/iso/config.hcl2spec.go @@ -117,6 +117,7 @@ type FlatConfig struct { CloudInitStoragePool *string `mapstructure:"cloud_init_storage_pool" cty:"cloud_init_storage_pool" hcl:"cloud_init_storage_pool"` AdditionalISOFiles []proxmox.FlatadditionalISOsConfig `mapstructure:"additional_iso_files" cty:"additional_iso_files" hcl:"additional_iso_files"` VMInterface *string `mapstructure:"vm_interface" cty:"vm_interface" hcl:"vm_interface"` + AdditionalArgs *string `mapstructure:"qemu_additional_args" cty:"qemu_additional_args" hcl:"qemu_additional_args"` ISOChecksum *string `mapstructure:"iso_checksum" required:"true" cty:"iso_checksum" hcl:"iso_checksum"` RawSingleISOUrl *string `mapstructure:"iso_url" required:"true" cty:"iso_url" hcl:"iso_url"` ISOUrls []string `mapstructure:"iso_urls" cty:"iso_urls" hcl:"iso_urls"` @@ -126,7 +127,6 @@ type FlatConfig struct { ISOStoragePool *string `mapstructure:"iso_storage_pool" cty:"iso_storage_pool" hcl:"iso_storage_pool"` ISODownloadPVE *bool `mapstructure:"iso_download_pve" cty:"iso_download_pve" hcl:"iso_download_pve"` UnmountISO *bool `mapstructure:"unmount_iso" cty:"unmount_iso" hcl:"unmount_iso"` - AdditionalArgs *string `mapstructure:"qemu_additional_args" cty:"qemu_additional_args" hcl:"qemu_additional_args"` } // FlatMapstructure returns a new FlatConfig. @@ -247,6 +247,7 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { "cloud_init_storage_pool": &hcldec.AttrSpec{Name: "cloud_init_storage_pool", Type: cty.String, Required: false}, "additional_iso_files": &hcldec.BlockListSpec{TypeName: "additional_iso_files", Nested: hcldec.ObjectSpec((*proxmox.FlatadditionalISOsConfig)(nil).HCL2Spec())}, "vm_interface": &hcldec.AttrSpec{Name: "vm_interface", Type: cty.String, Required: false}, + "qemu_additional_args": &hcldec.AttrSpec{Name: "qemu_additional_args", Type: cty.String, Required: false}, "iso_checksum": &hcldec.AttrSpec{Name: "iso_checksum", Type: cty.String, Required: false}, "iso_url": &hcldec.AttrSpec{Name: "iso_url", Type: cty.String, Required: false}, "iso_urls": &hcldec.AttrSpec{Name: "iso_urls", Type: cty.List(cty.String), Required: false}, @@ -256,7 +257,6 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { "iso_storage_pool": &hcldec.AttrSpec{Name: "iso_storage_pool", Type: cty.String, Required: false}, "iso_download_pve": &hcldec.AttrSpec{Name: "iso_download_pve", Type: cty.Bool, Required: false}, "unmount_iso": &hcldec.AttrSpec{Name: "unmount_iso", Type: cty.Bool, Required: false}, - "qemu_additional_args": &hcldec.AttrSpec{Name: "qemu_additional_args", Type: cty.String, Required: false}, } return s } diff --git a/docs-partials/builder/proxmox/common/Config-not-required.mdx b/docs-partials/builder/proxmox/common/Config-not-required.mdx index dafa47ca..643bb2ff 100644 --- a/docs-partials/builder/proxmox/common/Config-not-required.mdx +++ b/docs-partials/builder/proxmox/common/Config-not-required.mdx @@ -135,4 +135,8 @@ - `vm_interface` (string) - Name of the network interface that Packer gets the VMs IP from. Defaults to the first non loopback interface. +- `qemu_additional_args` (string) - Arbitrary arguments passed to KVM. + For example `-no-reboot -smbios type=0,vendor=FOO`. + Note: this option is for experts only. +