* feat(vm): add support for 'boot_order and boot_disk flags for VM
* refactoring (1)
* refactor to use only boot_order argument
---------
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
refactor(provider): Allow specifying attributes outside of virtual_environment block
Also deprecate virtual_environment block, update docs and examples.
Fixes#117
Apparently CDKTF skips schemas without attributes, it has been fixed but it is available only in prerelease currently (https://github.com/hashicorp/terraform-cdk/pull/2736)
Release-As: 0.17.0
fix(firewall): fw controls bugfixes
- fix alias examples in docs
- docs & examples improvements
- add support for security group insertion
Release-As: 0.17.0-rc2
* refactoring existing cluster / firewall API for better composition
* add basic security groups API
fix linter errors
* add rules API
* fix after renaming resourceVirtualEnvironmentClusterIPSet
* fix linter errors
* make linter happy
* even more refactoring
* tidy up datasources
* in refactoring spree
* update examples
* fix firewall resource/datasource & client error handling
* add ipset(s) datasource
* update docs
* add security group resource with rules
* docs
* fix security group update, TODO: rule update
* fix after rebase
* add rule update, extract common rule schema, refactor group
* fix linter errors
* bump linter for ci
* make alias and ipset reusable
* make security group reusable
* refactor datasources
* add security group datasources
* fix linter errors
* update docs
TODO: documentation for group datasources
* add sg docs, update doc index
* minor cleanup
* fix examples & tests
* stub for firewall-level options and rules
* extract firewall interface
* add firewall options and rules on the cluster level
TODO: issues with rule list management
* refactor all resources format AGAIN, now more flat, without complex subresources
* sort out hierarchy of APIs and remove duplication in API wrappers
* bring back security group
* finally, working rules
* restore cluster firewall option
* add containers support
* add options
* move rules back under security group, update docs
* fix vm_id / container_id attrs
* add examples
* cleanup
* more cleanup
Release-As: 0.17.0-rc1
* feat(vm): Add a bare minimum VM datasource
* fix linter errors
* fix doc
* add lookup across all nodes in the cluster, add filter by tags
* stable vm list
* fix linter errors
* pr feedback: switch to dynamic id for vms
* add datasource examples
* add unit tests
* Update virtual_environment_vms.md
* chore: add regex for custom cpu model validation
* update logic to use TF validators & add tests
---------
Co-authored-by: Kai Kahllund <kai.kahllund@akra.de>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
* fix(vm): Fix false detection of a changed VM state when KVM arguments is empty
PVE returns a single space string (`" "`) when KVM arguments are not set.
* fix(vm): set KVM arguments only if non-empty
Don't add extra hostpci entry
When I try to clone from a template with no `hostpci` in the config, the post body would contain an extra `hostpci` because of these lines (from `DefaultFunc`).
* feat: add support for "args" flag for VM
* switch from args to kvmarguments, update type
* cosmetics: `kvmarguments` -> `kvm_arguments`
also update doc to match description from the official PVE documentation.
* fix(vm): Add parser for CustomEFIDisk
* use parseDiskSize(&string) from utils.go for CustomEFIDisk
* readd the remove space by github space
* address linter errors, remove duplicated code, add unit test
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
* feat: add support for "args" flag for VM
* switch from args to kvmarguments, update type
* cosmetics: `kvmarguments` -> `kvm_arguments`
also update doc to match description from the official PVE documentation.
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
* feat: Add cloud-init network-config support
* add documentation entry
* fix re-apply use case
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
vm: OnBoot: change default to `true`
The `on_boot` parameter is used to start a VM when the
node reboots. As the VM infrastructure should not really care whether
an hypervisor has rebooted, we change the default value from `false` to
`true` in order to make it explicit not to start the VM on reboot.
Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
* add support for network_device MTU
* add mtu to the example templates
* change default mtu 1500 -> 0, update docs
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
* feat: add support for ssd flag
* update docs, add `ssd` to examples
* restore original .md formatting
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
* feat: add workaround for cloning to non-shared storage
* fix: fix wrong API params used
* test: add new var to tests
* fix: lint issues
* docs: add new argument to docs
* docs: fix function documentation
* fix: better work with heterogeneous datastores
* docs: clarify clone behavior
* fix: go lint issues
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
* fix: Remove cloned ide2 before creating new one (#174)
* add test case to `/examples`
Co-authored-by: Michał Gawryś <mgawrys@netbyte.pl>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
* feat: Add support for custom cloud-init vendor data file
Add new argument `initialization`.`vendor_data_file_id` to specify a file ID form snippets.
* add vendor cloud-init to examples
* add missing `vendor` to unmarshal
* remove debug lines
Outputs 'ipv4_addresses', 'ipv6_addresses', 'network_interface_names' of
stopped VM are empty and break plans - e.g. search for "eth0" in empty list.
On update, mark them 'Computed' if there is planned change in 'started'
or 'network_device' of the VM.
This makes it possible to depend on e.g. 'network_interface_names' of VM
which is not running at the time of 'terraform plan', but which will be
started during 'terraform apply'.