centos7でjqが入っていればワンライナーでいけた
sudo echo ; zcat <( CURRR_VER=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r -M '.current_version') ; curl -q "https://releases.hashicorp.com/terraform/$CURRR_VER/terraform_${CURRR_VER}_linux_amd64.zip" ) | sudo tee /usr/local/bin/terraform > /dev/null ; sudo chmod +x /usr/local/bin/terraform
純粋なjsonではないが、ネストが浅くなるので読みやすい。
| iam.tf |
| main.tf |
1. 接続情報と対象のリソースファイルを作成して、terraform init
resource "aws_vpc" "default-vpc" {
}
provider "aws" {
version = "~>2.0"
region = "ap-northeast-1"
# IAM profile
profile = "YOUR_IAM_PROFILE"
}
2. importコマンド実施すると、tfstateファイルに現在の状況が書き込まれる
terraform import aws_vpc.test_vpc vpc-a01106c2
3.現在のリソース状況を確認しながら変数の値を埋めていく!
terraform state show aws_vpc.default-vpc
既存リソースをリバースエンジニアリングだが、terraform importがあるので不要かも?
https://qiita.com/ringo/items/875f08ec550f0826f0dc
| terraform fmt | カレントディレクトリのtfファイルをフォーマット |
| init | ワークスペースを初期化 |
| play | 実行するとどのような状態になるかを表示 |
| apply | 実施 |
| destroy | 削除 |
| show | 現在の状態を表示 |
| terraform apply -target=module.ec2_1 | モジュール指定で実行 |
| terraform plan -target=aws_lambda_layer_version.lambda_layer | リソース指定で実行 |
OS_DEBUG=1 TF_LOG=DEBUG terraform apply
provider "openstack" {
user_name = "CONOHA_USER"
password = "CONOHA_PW"
tenant_id = "自分のテナントID"
auth_url = "https://identity.tyo1.conoha.io/v2.0" #アカウントによってはtyo2の可能性も
}決めるのはimage_name,flavor_name