0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-08-22 19:38:35 +00:00
Commit Graph

200 Commits

Author SHA1 Message Date
Pavel Boldyrev
08ea66a4e0
feat(docs): update compatibility notes for PVE 9.x (#2116)
- Update primary support from Proxmox VE 8.x to 9.x
   - Change privilege examples from VM.Monitor to VM.GuestAgent.Audit
     (VM.Monitor removed in PVE 9.x)
   - Add backward compatibility notes for 8.x users
   - Update production requirements and examples

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-08-17 21:15:47 -04:00
maidlover
b2c50120ea
feat(lxc): Add missing configuration options for container rootfs (#2067)
* Add mount_options for container rootfs

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Rename mount key to mountoptions

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Add a line to the docs

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Add mount_options to a test

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* lint

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* feat(firewall): adds forward_policy to cluster firewall (#2064)

Signed-off-by: Marshall Ford <inbox@marshallford.me>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* fix: update container image URL in acc test

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

* Add validation and diff suppression

Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Add a default value check for mount options in containerRead

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Check for changes to mount options

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Add disk change detection

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Update schema

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Add disk size to container update

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Remove redundant datastore ID

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Change type assertion

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Change volume name for containers

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Add fields to containerRead

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Change default disk mount options value to nil

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* Set volume format for container creation

Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>

* fix(lxc): root fs creation for storage-backed mp

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

* fix rootfs unmarshalling from API response

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

* fixes for edge cases

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

* fix linter

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

---------

Signed-off-by: maidl0ver <maidlover@disroot.org>
Signed-off-by: maidlover <117573165+maidl0ver@users.noreply.github.com>
Signed-off-by: Marshall Ford <inbox@marshallford.me>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Marshall Ford <inbox@marshallford.me>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-08-12 18:46:34 -04:00
Pavel Boldyrev
6b73d822a5
feat(sdn): add support for zone resources and datasources (#2046)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-07-31 20:30:18 -04:00
Ryan W
5c3394121f
chore(docs): add ceph squid to apt_standard_repository docs (#2063)
* Added ceph squid to apt_standard_repository docs

Signed-off-by: Twentybit <60849886+twentybit@users.noreply.github.com>

* chore(deps): update image golang (14fd8a5 → ef5b4be) (#2061)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Twentybit <60849886+twentybit@users.noreply.github.com>

---------

Signed-off-by: Twentybit <60849886+twentybit@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-29 22:29:07 -04:00
Marshall Ford
209d10cc0b
feat(firewall): adds forward_policy to cluster firewall (#2064)
Signed-off-by: Marshall Ford <inbox@marshallford.me>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-07-28 22:06:54 -04:00
Marshall Ford
e185201840
feat(firewall): adds forward type to firewall rules (#2052)
Signed-off-by: Marshall Ford <inbox@marshallford.me>
2025-07-21 13:45:26 -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
Pavel Boldyrev
20572d95e0
feat(lxc): retrieve container IP addresses (#2030)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-07-11 11:05:46 -04:00
Hritwik
a2c40c7c79
chore(docs): fix indentation in vm resource (#2020)
docs: fix indentation in vm resource

Signed-off-by: Hritwik <hritwiksinghal@protonmail.com>
2025-07-06 19:05:28 -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
Marco Attia
2d9e0b585e
feat: add support for 'import' content type in Proxmox file resources (#1983)
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-06-27 21:23:22 -04:00
Dan McCormack
0582e3d7f1
chore(docs): add description of HA settings management to VM documentation (#2003)
Signed-off-by: Dan McCormack <cowgod@users.noreply.github.com>
2025-06-22 21:11:21 -04:00
ChengHao Yang
307bc25f2e
fix(docs): firewall security group typo enabled (#1994)
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2025-06-16 05:57:55 -04:00
Rafał Safin
1b86a41535
fix(file): properly handle overwrite option behavior in proxmox_virtual_environment_download_file (#1989)
Signed-off-by: rafsaf <rafal.safin@rafsaf.pl>
2025-06-09 08:02:31 -04:00
Pavel Boldyrev
41f35e69fe
shore(docs): update API Token auth section (#1991)
- Added MD059 rule to .markdownlint.json for better markdown formatting.
- Updated CODE_OF_CONDUCT.md to format email address as a link.
- Consolidated privilege descriptions in docs/index.md for clarity.
- Improved formatting in docs/resources/virtual_environment_vm.md for better readability.

* add `gh` to devcontainer
* remove wakatime

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-06-08 10:58:11 -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
Pavel Boldyrev
2a7a2ff493
fix(network): adjust Linux Bridge name validator (#1961)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-05-12 22:26:53 -04: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
d46399024f
fix(file): better error message on download failure (#1923)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-04-23 12:34:38 -04:00
Fina
6dbff43bd1
feat(hardwaremapping): Introduce support for directory mappings (#1902)
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-16 18:54:22 -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
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
03f2079902
fix(lxc): prevent spurious dns config change when updating initialization block (#1859)
* fix(lxc): prevent spurious `dns` config change when updating `initialization` block

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-28 22:39:57 -04:00
pileus-lines
b19d28e841
fix(docs): clarify tags behaviour for container (#1851)
Update virtual_environment_container.md

List of tags unsorted do not impact `terraform plan` differences seen by terraform. But having tags with capital letters do.

Signed-off-by: pileus-lines <pileus@savaneprod.fr>
2025-03-27 15:14:09 -04:00
Pavel Boldyrev
75281b2652
chore(docs)!: clarify disk behaviour in clone operation (#1850)
This is a "meta" PR to bump the minor version due potentially breaking changes from #1840.

See documentation for more details.

> When cloning an existing virtual machine, whether it's a template or not, the
> resource will inherit the disks and other configuration from the source VM.
>
> *If* you modify any attributes of an existing disk in the clone, you also need to
> explicitly provide values for any other attributes that differ from the schema defaults
> in the source (e.g., `size`, `discard`, `cache`, `aio`).
> Otherwise, the schema defaults will take effect and override the source values.

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-26 14:48:13 -04:00
Pavel Boldyrev
febf239b58
fix(provider): better error handling for non-existent resources (#1824)
* feat(provider): enhance error handling for non-existent resources
* docs(vm): clarify `local-lvm` datastore usage

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-03-12 17:16:40 -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
cgeopapa
0aa2b505e5
fix(file): fix for datastore does not support content type "dump" (#1752)
* fix(provider): fix for datastore does not support content type "dump"

Signed-off-by: cgeopapa <cgeocodgod@gmail.com>

* fix: move ContentType override further in the flow

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

* fix: update docs

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

---------

Signed-off-by: cgeopapa <cgeocodgod@gmail.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-02-08 22:20:12 -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
Rafał Safin
d1cc2144f8
feat(cluster): add proxmox_virtual_environment_metrics_server resource (#1719)
Signed-off-by: rafsaf <rafal.safin@rafsaf.pl>
2025-02-03 13:11:26 -05:00
H3Krn
2925ae63f5
fix(lxc): allow container disk size 0 for lxc zfs/brfs subvols (#1737)
* fix(container): allow 0 size disks for zfs/btrfs subvolumes
* chore(docs): update docs

---------

Signed-off-by: Harm Kroon <harm.kroon@hotmail.com>
2025-01-31 20:59:05 -05:00
Petr Gajdosik
7cbd1b46fa
feat(lxc): add support for device_passthrough config option (#1706)
Signed-off-by: Tarasa24 <tarasa24@tarasa24.dev>
2025-01-16 17:58:49 -05:00
Qlem
e29dc5364f
feat(vm): add bz2 (bzip2) as a valid download file compression algorithm (#1655)
* feat(vm): Allow bz2 (bzip2) as a valid compression algorithm (pve >= 8.3)

Signed-off-by: Qlem <qlem@qlem.net>
2024-11-24 13:41:58 -05:00
Pavel Boldyrev
ca227179a6
chore(docs): clarify use of dump content type inproxmox_virtual_environment_file resource (#1635)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-11-11 23:26:17 +00:00
Mrton0121
8b51e9991e
feat(cpu type): CPU type support for EPYC-v4 (#1611) 2024-11-04 08:29:19 -05:00
dgriswo
0ba36e48da
fix(cluster): insecure migration_type validation (#1607)
fix(provider): fix insecure migration_type validation

Signed-off-by: dgriswo <daniel@griswoldcomputing.com>
2024-11-03 15:48:53 -05:00
Noah Schill
77634cbd59
fix:typo in container guide (#1566)
fix: updated typo from `proxmox_virtual_environment_download_file` to `proxmox_virtual_environment_download_file` in docs/resources/virtual_environment_container.md

Signed-off-by: Noah Schill <noahrschill@gmail.com>
2024-10-04 18:33:56 -04:00
Sean O'Neill
72665830be
fix(docs): correct url for template download in container resource example (#1563)
Signed-off-by: Sean O'Neill <sean.kenneth.oneill@gmail.com>
2024-10-03 17:39:28 -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
0b29ae281e
fix(docs): document specifics of "ballooning device" in the `vm.memor… (#1550)
fix(docs): document specifics of "ballooning device" in the `vm.memory` block

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-24 00:12:20 +00:00
Pavel Boldyrev
14a62a712a
chore(lxc): update list of supported OS-es in operating_system.type (#1548)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-21 23:20:37 +00:00
Pavel Boldyrev
e23d2f375c
chore(docs): add example for host disk pass-through to VM (#1547)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-21 13:49:54 +00: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
8f9b036857
chore(docs): improve network_linux_bridge documentation (#1538)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-16 22:32:05 +00:00
Sven Greb
9b34c485ab
feat(lxc): Implement support for container's "protection flag" (#1512)
* feat(lxc): Implement support for container's "protection flag"

The Proxmox VE types already has the `protection` API parameter [1],
but it is not exposed to the provider users.
This pull request implements the missing logic to make it available in
order to allow to protect containers against deletion/update operations,
including the container's disks.

[1]: https://github.com/bpg/terraform-provider-proxmox/blob/v0.63.0/proxmox/nodes/containers/containers_types.go#L59

Relates GH-1126

Signed-off-by: Sven Greb <development@svengreb.de>

* Update example/resource_virtual_environment_container.tf

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

---------

Signed-off-by: Sven Greb <development@svengreb.de>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-08 11:08:13 -04:00
Björn Brauer
a6eb81af08
feat(acme): implement resources and data sources for ACME plugins (#1479)
* feat(acme): implement CRUD API for proxmox cluster ACME plugins

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement acme_plugins data source

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement acme_plugin data source

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource creation

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource read

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource update

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource deletion

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource import

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* docs(acme): generate documentation

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: apply suggestions from code review

Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* refactor: extract common fields into BasePluginData

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: restrict plugin resource to type=dns only

because type=standalone is not configurable and always enabled by
default.

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: remove unused 'nodes' property

https://github.com/bpg/terraform-provider-proxmox/pull/1479/files#r1710916265

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: remove "delete" property

https://github.com/bpg/terraform-provider-proxmox/pull/1479/files#r1710908809

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat: implement attribute deletion

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: ignore empty lines in dns plugin data

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: partial revert of code review suggestions

Joining the values with a string literal would produce \\n instead of \n
and splitting at \\n doesn't match a newline.

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* refactor: extract acme plugin models into separate file

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: format disable parameter as int

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

---------

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-08 10:54:16 -04:00
Tim Wetterek
4f8e18da04
fix(doc): update virtual_environment_vm.md (#1495)
Update virtual_environment_vm.md

Typo in example usage of using downloaded iso for disk

Signed-off-by: Tim Wetterek <tim@wetterek.se>
2024-08-19 11:59:54 -04:00
Sven Greb
cc9d0e7131
feat(file): add support to set the file mode (#1478)
* feat(file): Add support to set the file mode

GH-733 [1] implemented basic support for hook scripts, but the authors
"did not manage to find time to work on" [2] also including support to
set the file mode. This small but important feature makes the use of the
`proxmox_virtual_environment_container.hook_script_file_id` [3] and
`virtual_environment_vm.hook_script_file_id` [34] attributes basically
useless when not combined with the manual step of making the uploaded
file executable (manually running `chmod +x /path/to/script` or using
other methods, based on the storage backend). Using the
`hook_script_file_id` on its own also causes all planned and applies
changes in the same execution to not be saved in the state because the
Proxmox VE API responses with a HTTP `500` because the uploaded and
assigned file is not executable.

This pull request implements the missing feature to set the file mode
by adding a new `file_mode` attribute of type `string` where an
octal-formatted value can be passed, e.g. `0700` or only `600`.
Note that the support for the octal prefixes `0o` and `0x` are not
supported to reduced the complexity, even though Go of course support
it, including the used `os.FileMode` type [5].
Changing the file mode also causes the file to be replaced, which is
true for almost any attribute in the `proxmox_virtual_environment_file`
resource, to ensure that the file mode can also be changed after the
initial creation.

[1]: https://github.com/bpg/terraform-provider-proxmox/pull/733
[2]: https://github.com/bpg/terraform-provider-proxmox/pull/733#issuecomment-2096716738
[3]: https://registry.terraform.io/providers/bpg/proxmox/latest/docs/resources/virtual_environment_container#hook_script_file_id
[4]: https://registry.terraform.io/providers/bpg/proxmox/latest/docs/resources/virtual_environment_vm#hook_script_file_id
[5]: https://pkg.go.dev/os#FileMode

Related to GH-570
Related to GH-733

Signed-off-by: Sven Greb <development@svengreb.de>


---------

Signed-off-by: Sven Greb <development@svengreb.de>
2024-08-13 21:28:48 -04:00