0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-06-30 10:33:46 +00:00
Commit Graph

190 Commits

Author SHA1 Message Date
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
Björn Brauer
9de4037a82
feat(acme): implement resources and data sources for ACME accounts (#1455)
* feat(acme): implement CRUD API for proxmox cluster ACME
* feat(acme): implement acme_accounts data source
* feat(acme): implement acme_account data source
* fix(acme): wait for task status on account creation
* feat(acme): implement account resource creation
* feat(acme): implement account read
* fix(acme): wait for task status on account update
* feat(acme): implement account update
* fix(acme): wait for task status on account deletion
* feat(acme): implement account deletion
* feat(acme): implement account import
* feat(acme): provide correctly typed API response for `account` field
* feat(acme): implement account schema for acme_account data source
* fix(acme): read `location` into state in acme_account resource
* fix(acme): ensure `name` of acme_account resource can't be changed
* docs(acme): generate documentation
* feat(acme): read back ACME account details from API
* Revert "fix(acme): ensure `name` of acme_account resource can't be changed"
* fix(acme): provide default for acme account name
* fix(acme): acme account name can't be changed
* chore(acme): update resource doc to clarify PVE auth requirements
* chore(acme): add `created_at` attr to the resource, sort model fields & schema attributes alphabetically

---------

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-08-07 23:16:31 -04:00
windowsrefund
2475d99317
fix(docs): document role privileges required by proxmox_virtual_environment_download_file (#1442)
* document role privileges required by proxmox_virtual_environment_download_file resource

* move the new section to the download_file resource doc


---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: windowsrefund <mtf8>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-07-16 19:36:05 -04:00
Sven Greb
357f7c70a7
feat(node): implement initial support to manage APT repositories (#1325)
* feat(nodes): Initial support to manage APT repositories

> Summary

This commit implements initial support for managing APT repositories
which is (currently) limited to…

- …adding "standard" repositories to allow to configure it.
- toggling the activation status (enabled/disabled) of any configured
  repository.

+ !WARNING!
+ Note that deleting or modifying a repository in any other way is
+ (sadly) not possible (yet?)!
+ The limited functionality is due to the (current) capabilities of
+ the Proxmox VE APT repository API [1] itself.

>> Why are there two resources for one API entity?

Even though an APT repository should be seen as a single API entity, it
was required to implement standard repositories as dedicated
`proxmox_virtual_environment_apt_standard_repository`. This is because
standard repositories must be configured (added) first to the default
source list files because their activation status can be toggled. This
is handled by the HTTP `PUT` request, but the modifying request is
`POST` which would require two calls within the same Terraform execution
cycle. I tried to implement it in a single resource and it worked out
mostly after some handling some edges cases, but in the end there were
still too many situations an edge cases where it might break due to
Terraform state drifts between states. In the end the dedicated
resources are way cleaner and easier to use without no complexity and
conditional attribute juggling for practitioners.

>> Other "specialties"

Unfortunately the Proxmox VE API responses to HTTP `GET` requests with
four larger arrays which are, more or less, kind of connected to each
other, but they also somehow stand on their own. This means that there
is a `files` array that contains the `repositories` again which again
contains all repositories with their metadata of every source file. On
the other hand available standard repositories are listed in the
`standard-repos` array, but their activation status is only stored when
they have already been added through a `PUT` request. The `infos` array
is more less useless.

So in order to get the required data and store them in the state the
`importFromAPI` methods of the models must loop through all the
deep-nested arrays and act based on specific attributes like a matching
file path, comparing it to the activation status and so on.

In the end the implementation is really stable after testing it with all
possible conditions and state combinations.

@bpg if you'd like me to create a small data logic flow chart to make it
easier to understand some parts of the code let me know. I can make my
local notes "shareable" which I created to not loose track of the logic.

>> What is the way to manage the activation status of a "standard" repository?

Because the two resources are modular and scoped they can be simply
combined to manage an APT "standard" repository, e.g. toggling its
activation status. The following examples are also included in the
documentations.

```hcl
// This resource ensure that the "no-subscription" standard repository
// is added to the source list.
// It represents the `PUT` API request.
resource "proxmox_virtual_environment_apt_standard_repository" "example" {
  handle = "no-subscription"
  node   = "pve"
}

// This resource allows to actually modify the activation status of the
// standard repository as it represents the `POST`.
// Using the values from the dedicated standard repository resource
// makes sure that Terraform correctly resolves dependency order.
resource "proxmox_virtual_environment_apt_repository" "example" {
  enabled   = true
  file_path = proxmox_virtual_environment_apt_standard_repository.example.file_path
  index     = proxmox_virtual_environment_apt_standard_repository.example.index
  node      = proxmox_virtual_environment_apt_standard_repository.example.node
}
```

[1]: https://pve.proxmox.com/pve-docs/api-viewer/#/nodes/{node}/apt/repositories

---------

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-07-05 18:48:35 -04:00
Jason Lingohr
763654ac8f
fix(docs): Mention alternate valid use of Volid's for containers (#1407)
Signed-off-by: Jason Lingohr <lingfish@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-25 01:05:10 -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
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
1eb64a2522
fix(docs): add more details about the usb block in VM (#1382)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-11 00:00:08 +00:00
Charles Rodrigues
63f0cbfd27
fix(docs): update virtual_environment_vm.md (#1377)
Update virtual_environment_vm.md

Signed-off-by: Charles Rodrigues <56375916+chrodrigues@users.noreply.github.com>
2024-06-10 18:06:11 -04: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