AWSマネジメントコンソールの操作を記録しTerraformのコードを自動生成する

以下の記事通りに実行することで Terraformの定義ファイルを自動生成ができる。

dev.classmethod.jp

以下のコンソール操作を記録して生成されたファイルを確認してみる。

  • lamda関数作成
  • lamda関数のトリガー設定
# https://www.terraform.io/downloads.html

provider "aws" {
    region = "ap-northeast-1"
}

resource "aws_lambda_function" "lambda52dfa0c" {
    filename = "CHANGEME.zip"
    function_name = "Load-Inventory"
    handler = "lambda_function.lambda_handler"
    memory_size = 128
    role = "arn:aws:iam::851143247004:role/Lambda-Load-Inventory-Role"
    runtime = "python3.7"
    timeout = 3
    dead_letter_config {
        
    }

    tracing_config {
        mode = "PassThrough"
    }

}

resource "aws_lb_target_group_attachment" "s3control7bdbf95" {
    block_public_acls = true
    block_public_policy = true
    ignore_public_acls = true
    restrict_public_buckets = true
}

resource "aws_lambda_function" "lambdac0d1c63" {
    filename = "CHANGEME.zip"
    function_name = "Check-Stock"
    handler = "lambda_function.lambda_handler"
    memory_size = 128
    role = "arn:aws:iam::851143247004:role/Lambda-Check-Stock-Role"
    runtime = "python3.7"
    timeout = 3
    dead_letter_config {
        
    }

    tracing_config {
        mode = "PassThrough"
    }

}

resource "aws_lambda_event_source_mapping" "lambdadbc4b9d" {
    event_source_arn = "arn:aws:dynamodb:ap-northeast-1:851143247004:table/Inventory"
    function_name = "arn:aws:lambda:ap-northeast-1:851143247004:function:Check-Stock"
    enabled = true
    batch_size = 100
    starting_position = "LATEST"
}

コンソールでポチポチ操作した記録がterraformのyamlで自動生成したことがわかる。