💭
AzureのリソースをTerraformにリバースするシェルを書いた
はじめに
既存のリソースをTerraformを使ってIaC化したい時ってありますよね。その際の手段として現在はterraform import
を使ってひとつづつインポートしていく方法やterraformerなど公開されているツールなどを利用する方法などがあります。リソースの数が多かったり、出力するツールが対応していないなどの手間がかかることが多い。などせっかくの新しいサービスが出ても利用するのを躊躇するなんてこともありますよね。対象をAzureだけに絞ることで、AzureやTerraformの標準のコマンドだけでリバースエンジニアリングするシェルを作成してみました。
Gitリポジトリ
https://github.com/takker-hero-se/terracotta
テストOS
- 5.10.102.1-microsoft-standard-WSL2(ubuntu)
- macOS Big Sur version 11.7
必須のソフトウェア
- jq
- Terraform v1.3.1
- Azure CLI 2.32.0
Terraform Provider
- hashicorp/azurerm 3.25.0
使用方法
resource.csvがTerraformとAzureリソースタイプを紐づけるファイルとなっています。
順次対応・自動生成できるようにしていきますが、対応していない場合はご自身でメンテナンスしてご利用ください。
※ AzureのリソースIDにスペースの入っているものについては自動でスキップされます。
git clone https://github.com/takker-hero-se/terracotta.git
cd terracotta
az login
terraform init
bash ./generate_terraform.sh
Discussion