1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/tests/integration/targets/terraform/vars/main.yml
patchback[bot] 5b029c66c5
Terraform init -upgrade flag (#4455) (#4502)
* 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>
2022-04-13 19:22:08 +02:00

37 lines
1.3 KiB
YAML

---
# Terraform version that will be downloaded
terraform_version: 1.1.7
# Architecture of the downloaded Terraform release (needs to match target testing platform)
terraform_arch: "{{ ansible_system | lower }}_{{terraform_arch_map[ansible_architecture] }}"
# URL of where the Terraform binary will be downloaded from
terraform_url: "https://releases.hashicorp.com/terraform/{{ terraform_version }}/terraform_{{ terraform_version }}_{{ terraform_arch }}.zip"
# Controls whether the unarchive task will validate TLS certs of the Terraform binary host
validate_certs: yes
# Directory where Terraform tests will be created
terraform_project_dir: "{{ remote_tmp_dir }}/tf_provider_test"
# Controls whether terraform init will use the `-upgrade` flag
terraform_provider_upgrade: yes
# list of dicts containing Terraform providers that will be tested
# The null provider is a good candidate, as it's small and has no external dependencies
terraform_provider_versions:
- name: "null"
source: "hashicorp/null"
version: ">=2.0.0, < 3.0.0"
- name: "null"
source: "hashicorp/null"
version: ">=3.0.0"
# mapping between values returned from ansible_architecture and arch names used by golang builds of Terraform
# see https://www.terraform.io/downloads
terraform_arch_map:
x86_64: amd64
arm64: arm64