mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
5b029c66c5
* Adds optional `-upgrade` flag to terraform init.
This allows Terraform to install provider dependencies into an existing project when the provider constraints change.
* fix transposed documentation keys
* Add integration tests for terraform init
* Revert to validate_certs: yes for general public testing
* skip integration tests on irrelevant platforms
* skip legacy Python versions from CI tests
* add changelog fragment
* Update plugins/modules/cloud/misc/terraform.py
Adds version_added metadata to the new module option.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change terraform_arch constant to Ansible fact mapping
* correct var typo, clarify task purpose
* Squashed some logic bugs, added override for local Terraform
If `existing_terraform_path` is provided, the playbook will not download Terraform or check its version.
I also tested this on a local system with Terraform installed, and squashed some bugs related to using of an
existing binary.
* revert to previous test behavior for TF install
* readability cleanup
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit e4a25beedc
)
Co-authored-by: Kamil Markowicz <geekifier@users.noreply.github.com>
23 lines
No EOL
825 B
YAML
23 lines
No EOL
825 B
YAML
---
|
|
|
|
- name: Output terraform provider test project
|
|
ansible.builtin.template:
|
|
src: templates/provider_test/main.tf.j2
|
|
dest: "{{ terraform_project_dir }}/{{ tf_provider['name'] }}/main.tf"
|
|
force: yes
|
|
register: terraform_provider_hcl
|
|
|
|
# The purpose of this task is to init terraform multiple times with different provider module
|
|
# versions, so that we can verify that provider upgrades during init work as intended.
|
|
|
|
- name: Init Terraform configuration with pinned provider version
|
|
community.general.terraform:
|
|
project_path: "{{ terraform_provider_hcl.dest | dirname }}"
|
|
binary_path: "{{ terraform_binary_path }}"
|
|
force_init: yes
|
|
provider_upgrade: "{{ terraform_provider_upgrade }}"
|
|
state: present
|
|
register: terraform_init_result
|
|
|
|
- assert:
|
|
that: terraform_init_result is not failed |