今の所 Terraform は開発が早めです。 複数バージョンの Terraform を混在させたい場合は tfenv を使います。 今回は Homebrew を使って tfenv をインストールし、ACI 上に Tenant を作成する手順をメモしておきます。
tfenv をインストールする
インストール可能な tfenv のバージョンは brew info tfenv
で確認出来ます。 現時点では 2.2.2 でした。
$ brew info tfenv
tfenv: stable 2.2.2 (bottled), HEAD
Terraform version manager inspired by rbenv

GitHub - tfutils/tfenv: Terraform version managerTerraformversionmanager.Contributetotfutils/tfenvdevelopmentbycreatinganaccountonGitHub.
Conflicts with:
terraform (because tfenv symlinks terraform binaries)
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/tfenv.rb
License: MIT
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 8,091 (30 days), 31,143 (90 days), 87,392 (365 days)
install-on-request: 8,074 (30 days), 31,068 (90 days), 87,127 (365 days)
build-error: 0 (30 days)
tfenv をインストールします。
brew install tfenv
インストールが完了したら tfenv --version
を実行して意図したバージョンがインストールされていることを確認します。
$ tfenv --version
tfenv 2.2.2
Terraform をインストールする
インストール可能済みの Terraform バージョンは tfenv list
で確認出来ます。 初期状態では Terraform がインストールされていない為、No versions available.
と表示されました。
$ tfenv list
No versions available. Please install one with: tfenv install
インストール可能な Terraform バージョンは tfenv list-remote
で確認出来ます。 現時点の最新は 1.0.2 のようです。
$ tfenv list-remote
1.1.0-alpha20210630
1.1.0-alpha20210616
1.0.2
1.0.1
1.0.0
0.15.5
・
・
・
今回はバージョン 1.0.2 をインストールします。 tfenv install [VERSION]
で指定バージョンの Terraform をインストール出来ます。
tfenv install 1.0.2
インストールしただけではまだ Terraform を利用することが出来ません。 利用するバージョンは tfenv use [VERSION]
で設定します。 tfenv use [VERSION]
を実行して初めて、実際に terraform を利用することが出来ます。
$ tfenv use 1.0.2
Switching default version to v1.0.2
Switching completed
再度、tfenv list
でインストール済みの Terraform バージョンを表示するとインストールした 1.0.2 が表示され、且つ、バージョン表記の左側に「利用中」であることを示す *
が表示されていることが分かります。
$ tfenv list
* 1.0.2 (set by /opt/homebrew/Cellar/tfenv/2.2.2/version)
Terraform で ACI に Tenant を作成する
次はインストールした Terraform 1.0.2 を利用し、ACI 上に Tenant を作成してみます。 最初に作業用ディレクトリを作成し、そこへ移動します。
$ mkdir my-first-terraform
$ cd my-first-terraform/
下記の 2 ファイルを作成します。 ACI へアクセスする為の情報 (username
, password
, url
) は環境に応じて書き換えます。
main.tf
terraform {
required_providers {
aci = {
source = "CiscoDevNet/aci"
version = "0.7.1"
}
}
}
provider "aci" {
username = "admin"
password = "password"
url = "https://10.0.0.1"
insecure = true
}
aci.tf
# Tenant
resource "aci_tenant" "tenant" {
name = "Tenant1"
}
まず、Terraform を初期化します。 この作業は最初の一回だけ、実行します。
terraform init
定義した .tf ファイルの内容通りに Tenant を作成するには以下を実行します。 これで ACI 上に Tenant1
という Tenant が作成されるはずです。
terraform apply -auto-approve
作成した Tenant を削除するには以下を実行します。
terraform destroy -auto-approve
コメント