0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-08-22 11:28:33 +00:00
Commit Graph

89 Commits

Author SHA1 Message Date
Pavel Boldyrev
c6c1c18a2b
fix(vm): prevent re-creation of previously imported disks on update (#2122)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-08-18 22:39:23 -04:00
Pavel Boldyrev
634ad690fe
fix(vm): regression: disk re-ordering on re-apply (#2114)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-08-17 18:58:40 -04:00
Shawn M. Hanes
74caca5fbe
feat(vm): add support for EPYC-Genoa cpu type (#2040)
Signed-off-by: Shawn M. Hanes <smhanes15@gmail.com>
2025-07-14 18:07:10 -04:00
Marco Attia
ddc4118b08
feat(vm): Import Disk via API. (#2012)
* feat(vm): Import Disk via API.

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>

* lint(vm): fix Linter Issues.

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>

* fix(vm): import_from update issues.

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>

* fix: store `import_from` in the state, add acc test for `import_from`

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* chore: update examples and docs

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: linter

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* chore: re-gen docs

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Marco Attia <54147992+Vaneixus@users.noreply.github.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-07-06 12:00:38 -04:00
renovate[bot]
6a8f367c46
chore(deps): update golangci/golangci-lint (v2.1.6 → v2.2.1) (#2013)
* chore(deps): update golangci/golangci-lint (v2.1.6 → v2.2.1)

| datasource      | package                | from   | to     |
| --------------- | ---------------------- | ------ | ------ |
| github-releases | golangci/golangci-lint | v2.1.6 | v2.2.1 |

* chore: update rules & run linter

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-07-04 17:56:38 -04:00
Pavel Boldyrev
b1b8d1570f
fix(vm): allow scsi and sata for CD-ROM interface (#1971)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-05-21 21:58:55 +00:00
Anton Iacobaeus
28ae95bd09
feat(vm): add support for AMD SEV (#1952)
Signed-off-by: Anton Iacobaeus <anton.iacobaeus@canarybit.eu>
2025-05-12 21:43:15 -04:00
Pavel Boldyrev
ebd5399e14
chore(code): fix code problems reported by Qodana (#1934)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-28 01:07:01 +00:00
Pavel Boldyrev
5974d8b3a3
fix(vm): cloned VM may be recreated/updated on re-apply (#1914)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-20 02:52:21 +00:00
Pavel Boldyrev
7fd190aaeb
fix(vm): race condition on reboot causing inconsistent VM state (#1911)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-16 21:04:35 -04:00
renovate[bot]
ce5cc746f9
chore(deps): update golangci/golangci-lint (v2.0.2 → v2.1.2) (#1903)
* chore(deps): update golangci/golangci-lint (v2.0.2 → v2.1.2)

| datasource      | package                | from   | to     |
| --------------- | ---------------------- | ------ | ------ |
| github-releases | golangci/golangci-lint | v2.0.2 | v2.1.2 |

* fix linter errors

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-16 19:19:18 -04:00
Fina
55b3f7391a
feat(vm): add support for virtiofs (#1900)
Signed-off-by: Fina Wilke <code@felinira.net>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-15 13:10:37 -04:00
Pavel Boldyrev
4ca2f32ac6
fix(vm): edge case error when cloning a VM with EFI disk (#1897)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-11 10:50:04 -04:00
Pavel Boldyrev
d631ccbf90
feat(vm): do not force VM re-create on initialization.user_account changes (#1885)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-07 18:56:59 -04:00
Pavel Boldyrev
51e6d7b8db
chore(vm)!: remove deprecated initialization.dns.server, initialization.upgrade (#1884)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-07 14:39:26 -04:00
Pavel Boldyrev
7090b1036a
fix(vm): allow to set machine type in clone (#1865)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-29 14:31:26 -04:00
Pavel Boldyrev
4f522ec342
fix(vm): prevent cloud-init password reset to ********** during update (#1864)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-29 17:52:08 +00:00
Pavel Boldyrev
c9fcb30762
fix(vm): prevent cloud-init username reset to " " during create (#1863)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-29 13:04:26 -04:00
Pavel Boldyrev
af46a9c71a
fix(vm): remove qcow2 as the default for disk.file_format (#1862)
No more need to explicitly set `file_format = "raw"` when defining new disks!

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-29 11:42:07 -04:00
Pavel Boldyrev
539b902633
fix(vm): improve error handling when updating initialization block (#1858)
* fix(vm): improve error handling when updating `initialization` block

Fix for an edge case where a VM is created without an initialization block, then any subsequent update to the block would cause a panic.

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* linter

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-28 17:23:46 -04:00
Pavel Boldyrev
09d3e97d02
fix(vm): handle update of disks moved during VM clone (#1849)
* fix(vm): handle update of disks moved during VM clone

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-26 13:12:00 -04:00
renovate[bot]
1eee8cdbd0
chore(deps): Update golangci/golangci-lint (v1.64.8 → v2.0.2) (#1847)
* chore(deps): Update golangci/golangci-lint (v1.64.8 → v2.0.2)

| datasource      | package                | from    | to     |
| --------------- | ---------------------- | ------- | ------ |
| github-releases | golangci/golangci-lint | v1.64.8 | v2.0.2 |

* migrate linter config

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-26 10:56:36 -04:00
Pavel Boldyrev
faeada970c
fix(vm): fix and improve disk management for cloned VMs (#1840)
Allow to set disk speed and set / update other attributes of existing disks when cloning a VM

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-20 20:34:19 -04:00
Mikael Nakajima
57c3970d54
fix(vm): fix vm machine type validation in order to support viommu (#1798)
* fix(vm): fix vm machine type validation in order to support viommu

Signed-off-by: Mikael Nakajima <nakamorichi@protonmail.com>

* docs(vm): update machine type documentation with VIOMMU details

Enhance VM machine type documentation to clarify VIOMMU configuration option for q35 machine type

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Mikael Nakajima <nakamorichi@protonmail.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-01 03:54:45 +00:00
Pavel Boldyrev
5e726c48d4
feat(vm): add optional reboot_after_update configuration flag (#1777)
* feat(vm): add optional reboot after update configuration

- Add `reboot_after_update` parameter to VM resource
- Update documentation to reflect new configuration option
- Implement logic to control VM reboot after configuration changes
- Provide warning if reboot is required but disabled by configuration

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-02-17 16:24:10 +00:00
Pavel Boldyrev
3119194292
feat(vm): add RNG device support (#1774)
* feat(vm): add RNG device  support

This commit adds support for configuring the Random Number Generator (RNG) device for virtual machines in both the VM resource and datasource. The implementation includes:

- New schema and model for RNG configuration
- Support for setting RNG source, max_bytes, and period
- Updated documentation for RNG configuration
- Test cases for RNG configuration
- Integration with VM creation, update, and read operations

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-02-16 23:53:40 -05:00
Pavel Boldyrev
5f003143f8
feat(vm): deprecate enabled attribute on cdrom/disk devices (#1746)
* feat(vm): deprecate `enabled` attribute on `cdrom`/`disk` devices

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* docs(vm): update CDROM configuration terminology and deprecation note

Improve documentation for virtual machine CD-ROM configuration by:
- Correcting capitalization of "CD-ROM"
- Clarifying deprecation note for `enabled` attribute

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-02-07 22:50:57 -05:00
Pavel Boldyrev
c992dfc1f3
fix(vm): vga block defaults handling during create / clone (#1732)
* fix(vm): fix `vga` block defaults handling during create / clone

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: formatting

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: acc test failure due to skip

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-01-30 22:11:46 -05:00
Pavel Boldyrev
be6f220779
fix(vm): improve cpu.architecture handling (#1683)
* chore(tests): add option to select auth type (root user / token) for tests
* fix(vm): throw an error when `cpu.architecture` can't be set

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-12-17 22:16:45 -05:00
Pavel Boldyrev
a57bd7e14c
fix(vm): timeout_create / timeout_clone does not always apply (#1671)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-12-06 21:35:42 -05:00
Pavel Boldyrev
106bcd2ff9
fix(vm): add validation for node_name values (#1659)
* fix(vm): add validation for `node_name` values

Also, fix acceptance tests that now fail on PVE 8.3

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-11-27 21:23:27 -05:00
Mrton0121
8b51e9991e
feat(cpu type): CPU type support for EPYC-v4 (#1611) 2024-11-04 08:29:19 -05:00
Pavel Boldyrev
2781d7525a
fix(vm): incorrect detection of disk resize (#1602)
Regression after #1580, the provider incorrectly detects that disk has been resized when other disk attributes change.

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-10-25 11:56:33 -04:00
Pavel Boldyrev
90c50fcb47
fix(vm): do not reboot at disk resize (#1580)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-10-08 00:47:39 +00:00
Pavel Boldyrev
72f7cb81a8
feat(provider): reliable sequential and random vm_id generation (#1557)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-10-03 20:18:37 -04:00
Pavel Boldyrev
d226b59e2e
feat(vm): add support for watchdog (#1556)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-30 11:14:55 -04:00
Pavel Boldyrev
569db6df3b
fix(vm): handle more than 4 hostpci devices (#1543)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-20 19:04:45 -04:00
Pavel Boldyrev
f4ee6291cc
feat(vm): remove deprecated vga.enabled (#1533)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-11 22:20:29 +00:00
Pavel Boldyrev
c20d79dfbe
fix(vm): cpu.architecture showed as new attribute at re-apply after creation (#1524)
Fix for another use case of mismanaged default value. This one was a bit trickier to spot as it triggered only when provider is authenticated using root@pam, as architecture change is allowed only for root.

Removing default value altogether, as the PVE API default for this attribute is an empty string.

VM2 resource will have no such issue, related: #1310, #1311

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-08 19:25:40 -04:00
Pavel Boldyrev
4f70459c26
chore(code): fix code quality warnings (#1409)
* chore(code): fix code quality warnings

+ re-enable Qodana on PRs

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-25 00:47:50 -04:00
Pavel Boldyrev
5d1c8c606d
chore(vm): fix regression after storage devices refactoring (#1399)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-17 03:53:16 +00:00
Pavel Boldyrev
cc7fc63ec1
chore(vm): refactor storage devices handling from/to API (#1394)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-17 01:23:48 +00:00
Pavel Boldyrev
de349523fe
feat(vm): add support for disk.serial attribute (#1385)
* feat(vm): add support for `disk.serial` attribute

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-11 01:40:03 +00:00
Pavel Boldyrev
8892118228
misc: restore 0.59.1 code
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-09 23:40:27 -04:00
Pavel Boldyrev
80cafa689f
feat(vm2): add initial support for cdrom (#1370)
feat(vm2): add initial support for `cdrom`

This is a breaking change comparing to v1 - switching the cdrom schema from a nested block to a nested attribute map.

Improvements comparing to v1:
- support for `ide`, `sata`, `scsi` interfaces
- support for multiple cdroms

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-10 01:28:18 +00:00
Pavel Boldyrev
580381f892
chore(api): refactor nodes/vms/vms_types.go: split into multiple files (#1368)
Split all `Custom*` structs and marshaling code into separate files from `vms_types.go`

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-09 04:11:16 +00:00
Pavel Boldyrev
994f367cc2
feat(vm): allow none cdrom (#1347)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-03 01:24:06 +00:00
Pavel Boldyrev
9bbbf8db39
fix(lxc,vm): fix panics when a resource block is empty (#1345)
* fix(lxc,vm): fix panics when a resource block is empty

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-03 00:41:50 +00:00
Pavel Boldyrev
d02dc1eb0a
fix(vm): adding disks causes VM to be re-created (#1336)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-29 23:12:05 -04:00
Pavel Boldyrev
2785c40d44
fix(vm): regression: vga.clipboard attribute check (#1340)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-30 01:36:47 +00:00