ACI 用の Terraform Provider を利用すれば Terraform から ACI の構成管理 (設定/設定削除) することが出来ます。 ACI の場合も他 Provider と同様に設定を tfstate にインポートすることが可能です。 例えば Tenant-1
というテナントをインポートする場合、以下のような .tf ファイルを用意します。
terraform {
required_providers {
aci = {
source = "CiscoDevNet/aci"
version = "2.5.2"
}
}
}
provider "aci" {
url = "https://10.0.0.1"
username = "admin"
password = "password"
insecure = true
}
# Tenant
resource "aci_tenant" "tenant1" {
name = "Tenant1"
}
あとは通常通り、terraform import
を実行してインポートします。
terraform import aci_tenant.tenant1 uni/tn-Tenant1
ACI に限った話しではありませんが、インポートされた対象 (今回はテナント) のパラメータまで読み込んでいるわけではありません。 詳細な設定まで .tfstate に読み込ませるのであれば以下、いずれかの手段を取る必要があります。
- 事前の .tf ファイルに、実機と同じ設定をしておく
- .tfstate を修正し、実機の設定と同じにする
いずれにしろ、「実機上の設定を全て・正確にインポートする」のは面倒です。 「自動化する」ということがわかっているのであれば、(後から .tfstate を修正していくより) 最初から自動化したい対象設定を Terraform に管理させた方が簡単ではあります。
コメント