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/tasks/main.yml
patchback[bot] 2ed7e96372
[PR #7439/2b628260 backport][stable-7] Fix more typos (#7445)
Fix more typos (#7439)

* Fix more typos in plugins/.

* Fix typos in tests/unit/.

* Fix typos in tests/integration/.

* Fix more typos.

Co-authored-by: Sebastian Gumprich <rndmh3ro@users.noreply.github.com>

---------

Co-authored-by: Sebastian Gumprich <rndmh3ro@users.noreply.github.com>
(cherry picked from commit 2b62826082)

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-10-29 20:26:39 +01:00

67 lines
2.4 KiB
YAML

---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
# This block checks and registers Terraform version of the binary found in path.
- name: Check for existing Terraform in path
block:
- name: Check if terraform is present in path
ansible.builtin.command: "command -v terraform"
register: terraform_binary_path
ignore_errors: true
- name: Check Terraform version
ansible.builtin.command: terraform version
register: terraform_version_output
when: terraform_binary_path.rc == 0
- name: Set terraform version
ansible.builtin.set_fact:
terraform_version_installed: "{{ terraform_version_output.stdout | regex_search('(?!Terraform.*v)([0-9]+\\.[0-9]+\\.[0-9]+)') }}"
when: terraform_version_output.changed
# This block handles the tasks of installing the Terraform binary. This happens if there is no existing
# terraform in $PATH OR version does not match `terraform_version`.
- name: Execute Terraform install tasks
block:
- name: Install Terraform
ansible.builtin.debug:
msg: "Installing terraform {{ terraform_version }}, found: {{ terraform_version_installed | default('no terraform binary found') }}."
- name: Ensure unzip is present
ansible.builtin.package:
name: unzip
state: present
- name: Install Terraform binary
ansible.builtin.unarchive:
src: "{{ terraform_url }}"
dest: "{{ remote_tmp_dir }}"
mode: 0755
remote_src: true
validate_certs: "{{ validate_certs }}"
when: terraform_version_installed is not defined or terraform_version_installed != terraform_version
# This sets `terraform_binary_path` to coalesced output of first non-empty string in this order:
# path from the 'Check if terraform is present in path' task, and lastly, the fallback path.
- name: Set path to terraform binary
ansible.builtin.set_fact:
terraform_binary_path: "{{ terraform_binary_path.stdout or remote_tmp_dir ~ '/terraform' }}"
- name: Loop over provider upgrade test tasks
ansible.builtin.include_tasks: test_provider_upgrade.yml
vars:
tf_provider: "{{ terraform_provider_versions[provider_index] }}"
loop: "{{ terraform_provider_versions }}"
loop_control:
index_var: provider_index
- name: Test Complex Variables
ansible.builtin.include_tasks: complex_variables.yml