Ansible module that pulls output dictionary from Terraform tfstate files from s3 backend.
Ansible module that fetches output dictionary from Terraform tfstate file from s3 backend.
The following play fetches Terraform outputs from arn:aws:s3:::terraform-state-repository/ireland/katapult_cloud_networking.tfstate using default AWS profile in ~/.aws/credentials
.
---
- hosts: localhost
become: false
tasks:
- name: fetch Terraform networking outputs from Ireland region
fetch_terraform_backend_outputs:
bucket: "terraform-state-repository"
object: "ireland/katapult_cloud_networking.tfstate"
register: vpc_networking
- name: set vpc id
set_fact:
vpc_id: "{{ vpc_networking.vars.katapult_cloud_vpc_id }}"
...
The following play fetches Terraform outputs from arn:aws:s3:::terraform-state-repository/ireland/katapult_cloud_networking.tfstate using AWS access and secret access keys.
---
- hosts: localhost
become: false
tasks:
- name: fetch Terraform networking outputs from Ireland region
fetch_terraform_backend_outputs:
bucket: "terraform-state-repository"
object: "ireland/katapult_cloud_networking.tfstate"
aws_access_key: AAABBBTTGSSSS45
aws_secret_access_key: jbd63ij2bdft/812ebud1f2623m2837rmmqj
register: vpc_networking
- name: set vpc id
set_fact:
vpc_id: "{{ vpc_networking.vars.katapult_cloud_vpc_id }}"
...
Utilize profile or access keys with minimal privileges to AWS resources. If possible utilize credentials with read only access to the Terraform state bucket.
GPL-v3
Stefan Roman ([email protected])