mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
beef93f687
* Adding capability to specify complex variables type to terraform * Terrform variable types are mapped to ansible veriable types * Currently handles Dict, List, Str, Int, Bool types * Updated the documentation accordingly * Updated with an example. * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Wonder how that missed the PEP8 checks :). Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Adding the changelog fragment * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Adding ``integer_types`` from ``module_utils`` Simplified the ``integer_types``, ``str`` and ``float`` value population through ``json.dumps()``. Now the strings can have special characters which can break the module execution. * Update changelogs/fragments/4797-terraform-complex-variables.yml Co-authored-by: Felix Fontein <felix@fontein.de> * * Changed to approach to make the code more readble and simple to understand. * Maintaining the original for loop for the top_level variables. Therefore the rocess_conplex_args() now only handle second level variables when the type() is either Dict or List. * Json dumps are used only for the low level variables. Terraform CLI had issues interpreting escape sequecences from json.dumps() * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * adding boolean explicitly, although boolean is a subclass of integer, adding this for self documentation pupose and the clarity of the code. * fixing the doc strings * Update terraform.py Fixing docstrings * * Introducing format_args funtion to simplify formatting each argument type for top_level and lower level. * Terraform Lists of strings, numbers, objects and lists are supported. * Adding COMMAND: to the fail_json msg, for plan failures to help troubleshoot command line arguments. * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * * Adding full terraform command to fail_json() when the terrafor plan fails * Fixing a spelling mistake. * plan_command if a list, stringifying the list * * Fixing the new line for the change fragments * Removed CR (\r) from the output messages. Now output lines carry only LF (\n), not CRLF (\r\n). * Added integration testing for complex variables. * Restructured integration testing code to be more expandable. * Update changelogs/fragments/4797-terraform-complex-variables.yml Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com> * double-quotes are not properly escaped in shell, and python string escaping are nullified the way terraform handle second tier string variables (within terraform). * changing all the task actions to FQCN format. * integration testing now includes: 1. Top level strings containing, special shell characters, spaces, double-quotes. 2. Second level strings containing, special shell characters, spaces, double-quotes repeating double-quotes to ensure proper regex substitution. * Adding colon ':' to string test casses. * Added complex_vars to switch between the old and the new variable interpretations. Updated the documentations to reflect the changes. Updated the examples. Handling '\' as well with the escape sequence. * Added tests for the new escape sequences. Added multilines tests. * Restructuring the documente strings to a shorter string. Argument_spec changed to 'bool' * Update changelogs/fragments/4797-terraform-complex-variables.yml Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/cloud/misc/terraform.py Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com> |
||
---|---|---|
.. | ||
.keep | ||
4520-xfconf-deprecate-disable-facts.yml | ||
4654-alternatives-add-subcommands.yml | ||
4674-use-mh-raise.yaml | ||
4682-compatibility-virtualmedia-resource-location.yaml | ||
4700-code-changes.yml | ||
4712-consul-bugfix.yaml | ||
4719-fix-keycloak-realm.yaml | ||
4724-proxmox-qemu-extend.yaml | ||
4726-zfs.yml | ||
4733-redis-fail.yml | ||
4736-cmd-runner-skip-if-check.yml | ||
4740-puppet-feature.yaml | ||
4746-add-vpn-support-nmcli.yaml | ||
4752-ansible-galaxy-install-mh-updates.yml | ||
4755-mhexception-improvement.yml | ||
4776-xfconf-cmd-runner.yaml | ||
4777-cmd-runner-deprecate-fmt.yaml | ||
4778-gconftool2-deprecate-state-get.yaml | ||
4780-passwordstore-wrapper-compat.yml | ||
4791-cmd-runner-callable.yaml | ||
4794-sudoers-validation.yml | ||
4797-terraform-complex-variables.yml | ||
4809-redhat_subscription-unsubscribe.yaml | ||
4810-alternatives-bug.yml | ||
4812-expose-unredirected-headers.yml | ||
4813-fix-nmcli-convert-list.yaml | ||
4814-sudoers-file-permissions.yml | ||
4816-proxmox-fix-extended-status.yaml | ||
4836-alternatives.yml | ||
4839-fix-VirtualMediaInsert-Supermicro.yml | ||
4849-add-password-prompt-support-for-machinectl.yml | ||
4852-sudoers-state-absent.yml | ||
4886-fix-lxd-inventory-hostname.yml | ||
4899-add-GetManagerInventory-for-redfish_info.yml | ||
4901-fix-redfish-chassispower.yml | ||
4903-cmdrunner-bugfix.yaml | ||
4910-fix-for-agent-enabled.yml | ||
4911-dsv-honor-tld-option.yml | ||
4916-opentelemetry-ini-options.yaml | ||
4933-fix-rax-clb-nodes.yaml | ||
4945-fix-get_vm-int-parse-handling.yaml | ||
4953-listen-ports-facts-extend-output.yaml | ||
4955-fix-path-detection-for-gopass.yaml | ||
4956-pacman-install-reason.yaml | ||
4959-pacman-fix-url-packages-name.yaml | ||
4964-fix-keyring-info.yml | ||
4973-introduce-dig-lookup-argument.yaml | ||
4975-xfconf-use-do-raise.yaml | ||
4976-apk-add-support-for-a-custom-world-file.yaml | ||
4996-consul-session-ttl.yml | ||
4999-xfconf-bool.yml | ||
5008-addSetSessionService.yml | ||
5019-slack-support-more-groups.yml | ||
5022-lastpass-lookup-cleanup.yml | ||
5023-http-agent-param-keycloak.yml | ||
5027-fix-returnall-for-gopass.yaml | ||
5035-mh-base-verbosity.yaml | ||
5037-xfconf-add-cmd-output.yaml | ||
5059-wdc_redfish_command-indicator-leds.yml | ||
5085-pipx-use-cmd-runner.yaml | ||
5100-pipx-req-if.yaml | ||
5105-pipx-state-latest.yaml | ||
5107-proxmox-agent-argument.yaml | ||
5108-proxmox-node-name-condition.yml | ||
5111-fixes.yml | ||
5112-fix-nsupdate-ns-entry.yaml | ||
5124-compatibility-virtualmedia-resource-location.yaml | ||
5126-nmcli-remove-diffs.yml | ||
5129-dig-boolean-params-fix.yml | ||
5145-wdc-redfish-enclosure-power-state.yml | ||
5147-terraform-init-no-color.yml | ||
5149-nmcli-bond-option.yml | ||
5151-add-delinea-support-tss-lookup.yml | ||
5193-consul-session-token.yaml | ||
5194-fix-proxmox-agent-exception.yaml | ||
5202-bugfix-environmentError-wrong-indentation.yaml | ||
5203-seport-add-local-argument.yaml | ||
5206-proxmox-conditional-vmid.yml | ||
5224-proxmox-unprivileged-default.yaml | ||
5228-nmcli-ip-options.yaml | ||
5239-nagios-refactor.yaml | ||
5240-unused-imports.yaml | ||
5241-homebrew-add-linux-path.yaml | ||
5243-osx-defaults-expand-user-flags.yml | ||
5249-add-new-channel-prefix.yml | ||
5259-gitlab-imports.yaml | ||
5271-gitlab_hook-refactor.yaml | ||
5274-proxmox-snap-container-with-mountpoints.yml | ||
5280-lxc_container-py3.yaml | ||
5282-locale_gen.yaml | ||
5287-machinectl-become-success.yml | ||
5291-fix-nmcli-error-when-setting-unset-mac-address.yaml | ||
5297-bitwarden-add-search-field.yml | ||
5301-netcup_dnsapi-timeout.yml | ||
5307-ini_file-lint.yaml | ||
5313-fix-redhat_subscription-idempotency-pool_ids.yml | ||
licenses-2.yml | ||
licenses.yml | ||
psf-license.yml | ||
simplified-bsd-license.yml |