* lxd_container: support lxd instance types
Update the lxd_container module to enable the new LXD API endpoint,
which supports different types of instances, such as containers and virtual machines.
The type attributes can be set explicitly to create containers or virtual machines.
* lxd_container: rename references from containers to instances
* lxd_container: add an example of creating vms
* lxd_container: update doc
* lxd_container: fix pylint
* resolve converstation
* remove type from config
* remove outdated validation related to the instance api
* correct diff
* changing last bits
* add missing dot
* Fixed - TypeError: unexpected keyword argument
- File proxmox_group_info.py creates the error "TypeError:
get_group() got an unexpected keyword argument \'group\'\r\n'" if a
group parameter is used.
Issue is an argument naming conflict. After changing the argument
name to 'groupid', as used in method ProxmoxGroupInfoAnsible::get_group,
testing a Proxmox group name is working now.
* Changelog fragment added for #3649
changelog fragment for TypeError: unexpected keyword argument #3649
* Update changelogs/fragments/3649-proxmox_group_info_TypeError.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
While porting this module to make use of `pyone` I have overlooked one
attribute. Luckily the error only occurs when trying to rename an image
to a name that has already been taken.
Instead of telling the user which image ID already uses that name, the
module failed with the following error (along with a huge backtrace):
AttributeError: 'IMAGESub' object has no attribute 'id'
With this commit the error message is much more obvous again.
* Started creating Unit tests for Proxmox Tasks module
* Tried really hard to get the mock to work
* unit tests for the module
* Fixed symslink and permissions
* Suggested changes and more unit tests
* Fixed isFalse
* Apply suggestions from code review
* Update plugins/modules/cloud/misc/proxmox_tasks_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* enable deprecate message for ignore_volatile_options
* fix E128
* add frament 3429
* remove default value and modify the resulting checks
spelling fixes
bump version for deprecated messge
* fix spelling and depricated version
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
* do not ignore volatile - fix#2466
* remove unnecessary checks
* fix ansible-tests sanity
* fix access to the option: ignore_volatile_options
* add fragment
* fix quotation marks error
* fix review findings
* fix sanity error
* fix description - in yaml examples use true not True
comment out the deprecate message
* remove "default=True" at ignore_volatile_options
fix spelling
* fix sanity error that ignore_volatile_options have no default value
* undo changes. add defaut value and remove keyword at dict.get()
* fix sanity error
* small spelling fixes
* change text for fragment
* Fix description sentence.
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
Co-authored-by: Felix Fontein <felix@fontein.de>
* udm_dns_record: Fix handling of PTR records (#3244)
Before, it was not possible to manage PTR records in Univention DNS,
due to broken zone lookups and improper used parameters of the object.
This patch fixes the PTR handling, allowing both v4 and v6 entries.
* udm_dns_record: [doc] add changelog fragment
* udm_dns_record: [fix] validation errors
* udm_dns_record: import ipaddress module conditionally (#3244)
* udm_dns_record: fix sanity check error, improve doc (#3244)
* udm_dns_record: Improve changes to meet community standards (#3244)
* Fixed incorrect VMID: cloning to an existing VM
During a cloning operation, if the destination VM already exists the VMID returned is not correct.
The VMID returned should be that of the destination VM and not that of the source VM (consistent with line 1230).
A playbook that relies on the returned VMID, for example, to perform other operations on the destination VM, will not work properly if it is unexpectedly interrupted.
* Add files via upload
* moved 3266-vmid-existing-target-clone.yml to changelogs/fragments/
replaced line separator CRLF -> LF
* storing vmid list in variable to avoid multiple API calls
* Clone sucess should return new vm id, not id from cloned vm.
* add changelog fragment
* Update changelogs/fragments/3034-promox-kvm-return-new-id.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Yvan E. Watchman <git@yvanwatchman.eu>
Co-authored-by: Felix Fontein <felix@fontein.de>
* added check_destroy
This is based on the work done in PR 398. Authors from that PR:
Co-authored-by: effaamponsah <kamponsah.amponsah@gmail.com>
Co-authored-by: m-yosefpor
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* added changelog fragment
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update changelogs/fragments/2874-terraform-check-destroy.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: effaamponsah <kamponsah.amponsah@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
ZFS-backed block devices may contain just the bare device name and
not have extra options like `,size=foo`, `,format=qcow2` etc. This
breaks an assumption in existing regex (which expects a comma).
Support such device strings and add a couple of testcases to validate.
* Add proxmox_nic module
Add proxmox_nic module to manage NIC's on Qemu(KVM) VM's in a Proxmox VE
cluster.
Update proxmox integration tests and add tests for proxmox_nic module.
This partially solves https://github.com/ansible-collections/community.general/issues/1964#issuecomment-790499397
and allows for adding/updating/deleting network interface cards after
creating/cloning a VM.
The proxmox_nic module will keep MAC-addresses the same when updating a
NIC. It only changes when explicitly setting a MAC-address.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check_mode and implement review comments
- check_mode added
- some documentation updates
- when MTU is set, check if the model is virtio, else fail
- trunks can now be provided as list of ints instead of vlanid[;vlanid...]
* Make returns on update_nic and delete_nic more readable
Co-authored-by: Felix Fontein <felix@fontein.de>
* Increase readability on update_nic and delete_nic
* Implement check in get_vmid
- get_vmid will now fail when multiple vmid's are returned as proxmox
doesn't guarantee uniqueness
- remove an unused import
- fix a typo in an error message
* Add some error checking to get_vmid
- get_vmid will now return the error message when proxmoxer fails
- get_vmid will return the vmid directly instead of a list of one
- Some minor documentation updates
* Warn instead of fail when setting mtu on unsupported nic
- When setting the MTU on an unsupported NIC model (virtio is the only
supported model) this module will now print a warning instead of
failing.
- Some minor documentation updates.
* Take advantage of proxmox_auth_argument_spec
Make use of proxmox_auth_argument_spec from plugins/module_utils/proxmox.py
This provides some extra environment fallbacks.
* Add blank line to conform with pep8
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed elements for many lists
* added changelog fragment
* Removed verbose types in description - still missing formatting and properly documenting dicts
* Add plugin_paths parameter to terraform module.
The list `plugin_paths` is used in the init phase of terraform by setting
the `-plugin-dir` command line argument to a path that contains
terraform plugins. When the `-plugin-dir` argument is set, the plugin
discovery and auto-download of terraform is disabled. This is useful when
running terraform in automation environments for testing where the production
endpoints are strictly controlled or on air-gapped networks and you need
to control the versions of plugins available.
* Added `elements: path` to `plugin_paths` parameter documentation in terraform.py
* added changelog fragment
* Update changelogs/fragments/2308-terraform-add-plugin_paths-parameter.yaml
use double back-ticks vice single
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add version added to documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add markup around URL in documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
remove `required=False` and `default=None` from module argument spec, as that is the default behavior and redundant
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Added directory structure info to documentation and examples sections.
* Update plugins/modules/cloud/misc/terraform.py
grammatical fix
Co-authored-by: Felix Fontein <felix@fontein.de>
* grammar fix to description.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* fixed udm_dns_zone
* fixed udm_dns_record
* removed lines from ignore files
* added changelog fragment
* moved the list elements fix to minor_changes
* linode_v4: add support for `private_ip` option.
* linode_v4: remove `required` attribute from `private_ip` parameter.
* linode_v4: add changelog fragment.
* linode_v4: add PR link to changelog fragment.
Co-authored-by: Amin Vakil <info@aminvakil.com>
* linode_v4: add the `version_added` attribute to the `private_ip` section of module documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* linode_v4: improve styling of `private_ip` docs
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix for Terraform 0.15
removed the append of variables in terraform validate because this is deprecated in Terraform 0.15. See: https://github.com/hashicorp/terraform/blob/v0.15/CHANGELOG.md >> The -var and -var-file options are no longer available on terraform validate. These were deprecated and have had no effect since Terraform v0.12
* Create terraform-validate.yaml
* Update and rename terraform-validate.yaml to 2246-terraform-validate.yaml
* Update changelogs/fragments/2246-terraform-validate.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update terraform.py
remove `-force` add `-auto-approve` on destroy as described in issue #2247
* Update and rename 2246-terraform-validate.yaml to 2246-terraform.yaml
* Update 2246-terraform.yaml
* add a function which check the used tf version
* add a function which check the used tf version
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* add version return to function
* changed it to pass sanity check
* change variable name
* changed to a more specialized data types
* remove use_unsafe_shell=True
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add description
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Rainer Leber <rainer.leber@sva.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed cdrom parameter
* fixed networks and custom_params parameters
* fixed disks parameter
* fixed remaining parameters
* removed plugins/modules/cloud/xenserver/xenserver_guest.py from ignore list
* comments from PR
* comments from PR
* more adjustments from the PR
* using get_bin_path() on atomic modules
* added changelog fragment
* Update changelogs/fragments/2144-atomic_get_bin_path.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix type information for vmadm.resolvers
* Update changelogs/fragments/2135-vmadm-resolvers-type-fix.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* opennebula: add one_template module
A basic module for maintaining VM templates which should be flexible enough
for most needs ...
* fixup! opennebula: add one_template module
* fixup! fixup! opennebula: add one_template module