cf-terraformingで既存のDNSレコード(cloudflare_record)をインポートする
前準備
APIトークンの取得
$ export CLOUDFLARE_API_TOKEN="YOUR_TOKEN"
Zone IDの確認
自分のドメインの管理画面からゾーンIDを確認して環境変数に設定する
$ export CLOUDFLARE_ZONE_ID="YOUR_ZONE_ID"
cf-terraformingを使って既存リソースのコードを生成する
cf-terraforming generateコマンドを使うと既存リソースをTerraform化できる
$ cf-terraforming generate --resource-type cloudflare_record > record.tf
Zone IDは環境変数から指定しているけどオプションでも指定できる
cf-terraformingを使ってterraform importコマンドを生成する
$ cf-terraforming import --resource-type cloudflare_record > import.sh
terraform importコマンドがまとめて生成される
code:import.sh
terraform import cloudflare_record.terraform_managed_resource_<RESOURCE_ID> <ZONE_ID>/<RESOURCE_ID>
terraform import cloudflare_record.terraform_managed_resource_<RESOURCE_ID> <ZONE_ID>/<RESOURCE_ID>
リソース名を扱いやすいように修正する
cf-terraforming generateで生成されたコードのリソース名も変更する
code:import.sh
terraform import cloudflare_record.mx_1 <ZONE_ID>/<RESOURCE_ID>
terraform import cloudflare_record.mx_2 <ZONE_ID>/<RESOURCE_ID>
terraform importを実行する
先程保存したimport用のスクリプトを実行してStateに取り込む
$ bash ./import.sh