xanmanning.terraform_project
Ansibleロール: Terraformプロジェクト
このAnsibleロールは、Hashicorp Terraformプロジェクトのためのワークフローを構築します。
要件
このロールは、次のLinuxディストリビューションに対してAnsible 2.7.0以降でテストされています:
- Amazon Linux 2
- CentOS 8
- CentOS 7
- Debian 10
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
免責事項
問題が発生した場合はGitHubのイシューを作成してください。このロールは私の空き時間に管理しているため、迅速な修正を約束することはできません。
ロール変数
変数名 | 説明 | デフォルト値 |
---|---|---|
terraform_min_version |
Terraformの最小バージョンを指定します(例: 0.11.0 )。スキップするにはfalse を指定します。 |
false |
terraform_max_version |
Terraformの最大バージョンを指定します(例: 0.12.0 )。スキップするにはfalse を指定します。 |
false |
terraform_binary_path |
Terraformバイナリのパスを指定します。${PATH} 内のTerraformを使用するにはfalse を指定します。 |
false |
terraform_exec_projects |
プランまたはアプライするTerraformプロジェクトのリスト。以下に例を示します。 | [] |
terraform_destroy_all |
terraform_exec_projects にリストされたすべてのプロジェクトを破棄します - 注意して使用してください! |
false |
依存関係
他のロールに依存していません。
例 Playbook
このロールの目的は、Terraformの "プラン後に適用" のワークフローをサポートするAnsibleのワークフローを作成することです。また、Terraformの最小および最大バージョンが満たされることを確認します。(例えば、更新できないTerraform 0.12以前のプロジェクトがある場合)。
---
- hosts: control_hosts
become: true
vars:
terraform_min_version: 0.11.0
terraform_max_version: 0.12.0
terraform_exec_projects:
- project_path: project/ # 必須
state: present # 任意、デフォルト: present
plan_file: project.tfplan # 任意、デフォルト: project.tfplan
state_file: project.tfstate # 任意、デフォルト: project.tfstate
workspace: default # 任意、使用するワークスペース。
purge_workspace: false # 任意、削除する場合はtrueかfalse?
lock: true # 任意、サポートされている場合、状態ファイルをロックします。
lock_timeout: 300 # 任意、サポートされている場合のロック時間。
force_init: true # 任意
backend_config_files: # 任意、バックエンド設定を含むファイルのリスト
- config.hcl
backend_config: # 任意、初期化段階で提供するキーと値。
region: "eu-west-1"
bucket: "some-bucket"
key: "random.tfstate"
targets: # 任意、プランまたはアプライする特定のリソースのリスト。
some_target
variables_file: dev.tfvars # 任意、変数ファイルへのパス。
variables: # 任意、変数のためのキーと値。
vm_size: t3.large
roles:
- role: xanmanning.terraform_project
ライセンス
作者情報
プロジェクトについて
Ansible Role that wraps around and builds a workflow around Terraform projects.
インストール
ansible-galaxy install xanmanning.terraform_project
ライセンス
bsd-3-clause
ダウンロード
207
所有者
Deep in the lab...