🐙
terraformでコンソールで作成したものをコード化する
やること
- マネジメントコンソールで適当なリソースを作成する
- terraform aws provider(awsの場合)に行き該当リソースで作成したもので思い当たるリソースをリストアップする
- 2でリストアップしたリソースに適当に名前をつける
- 2のリストアップした画面のページでimport方法を確認し、import用のリソースIDをマネジメントコンソールから特定し、リストアップする
- terraformでimport文を書く
terraform import -var-file env/<任意>.tfvars aws_api_gateway.test xxxxx/yy
...
- aws_api_gateway.testに合わせて空のコードを作成する
- import文作成が手間な場合、6を実行すると7の記述がterminalに出力されるため、貼り付ける
resource "aws_api_gateway" "test" {}
- 繰り返す
- 5のimport文を実行する
- import成功の文言が表示される
- 5のimport文のリソースを使い、
terraform state show <リソース名>
を実行- terraform文が出力される
- 出力されたコードをファイルに貼り付ける
-
terraform plan
再実施 -> エラーがないこと確認 あればエラーが出た該当のフィールドに対して対処する(消す等) - done!!
※この方法で行う場合、自分の想定しているところ以外のリソースが作られている場合、コード化出来ない可能性がある
Discussion