tfe providerでHCP Terraform Organizationsを作成してみた
HCP Terraformの検証時に、個人用の一時的なHCP Terraform Organizationsがほしいときがあります。
管理の負荷を下げるために、Terraformで管理したいです。
tfe providerでは、HCP Terraform Organizationsの作成が可能です。
今回はtfe providerでHCP Terraform Organizationsを発行してみます。
前提条件
以下が必要です。
- HCP Terraform Account
- HCP Terraform Token
まだ作成していない場合は、以下を参考に作成してください。
HCP Terraform Account作成の参考:
HCP Terraform Token作成の参考:
今回は、ローカルからtfe providerを実行します。その際に、HCP Terraform Tokenが必要です。
上記手順でTokenを発行すると、以下にTokenが保存されます。以前HCP Terraform Tokenを発行した覚えがある場合は、確認してみてください。
% cat ~/.terraform.d/credentials.tfrc.json
{
"credentials": {
"app.terraform.io": {
"token": "<Token>"
}
}
}
HCP Terraform Organization作成
以下のファイルを用意します。
terraform {
required_providers {
tfe = {
source = "hashicorp/tfe"
version = "~> 0.64.0"
}
}
}
resource "tfe_organization" "test" {
name = "test-sato-1" # 置き換えてください
email = "hoge@example.com" # 置き換えてください
}
tfe_Organization
には最低限、name
とemail
が必要です。自分の環境に合わせて置き換えてください。
name
はOrganizationの名前になります。
email
はOrganization関連の通知先メールアドレスです。例えば、Organizationを削除した際の通知などが来ます。
tfe_organization | Resources | hashicorp/tfe | Terraform | Terraform Registry
Terraformを実行して、Organizationを作成します。
terraform init
terraform plan
terraform apply
コンソール上からもOrganizationsに追加されていることが分かります。
ちなみに、複数Organization作成したい場合メールアドレス(email
)の重複は問題ありません。name
は重複が不可です。
resource "tfe_organization" "test1" {
name = "test-sato-1"
email = "hoge@example.com"
}
resource "tfe_organization" "test2" {
name = "test-sato-2"
# メールアドレスの重複はOK
email = "hoge@example.com"
}
resource "tfe_organization" "test1" {
name = "test-sato-1"
email = "hoge@example.com"
}
resource "tfe_organization" "test2" {
# 名前の重複はNG
name = "test-sato-1"
email = "hoge@example.com"
}
作成されるOrganizationsについて
上記のコードでは、FreeプランのOrganizationsが作成されます。
料金は発生しませんが、一部機能が利用できない点にご注意ください。
各プランの機能差は以下から確認できます。
おわりに
HCP Terraform OrganizationもTerraformで管理ができます。
Terraformで管理したことで作成削除が簡単になりました。Organizationレベルの検証が捗りそうです。
以上、AWS事業本部の佐藤(@chari7311)でした。