AWS Terraform moduleを指定する方法

環境
AWS Terraform

構文
terraform plan -target=module.モジュール名
targetオプションでmoduleを指定すると、そのmodule以下のリソースが対象となります。

使用例
1.モジュールのサンプル

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
resource "aws_s3_bucket" "cft_bucket" {
bucket = "test-bucket-000000000000"
}
resource "aws_s3_bucket_server_side_encryption_configuration" "cft_bucket" {
bucket = aws_s3_bucket.cft_bucket.bucket
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
resource "aws_s3_bucket_public_access_block" "cft_bucket" {
bucket = aws_s3_bucket.cft_bucket.bucket
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
resource "aws_s3_bucket" "cft_bucket" { bucket = "test-bucket-000000000000" } resource "aws_s3_bucket_server_side_encryption_configuration" "cft_bucket" { bucket = aws_s3_bucket.cft_bucket.bucket rule { apply_server_side_encryption_by_default { sse_algorithm = "AES256" } } } resource "aws_s3_bucket_public_access_block" "cft_bucket" { bucket = aws_s3_bucket.cft_bucket.bucket block_public_acls = true block_public_policy = true ignore_public_acls = true restrict_public_buckets = true }
resource "aws_s3_bucket" "cft_bucket" {
  bucket = "test-bucket-000000000000"
}

resource "aws_s3_bucket_server_side_encryption_configuration" "cft_bucket" {
  bucket = aws_s3_bucket.cft_bucket.bucket

  rule {
    apply_server_side_encryption_by_default {
      sse_algorithm = "AES256"
    }
  }
}

resource "aws_s3_bucket_public_access_block" "cft_bucket" {
  bucket = aws_s3_bucket.cft_bucket.bucket

  block_public_acls       = true
  block_public_policy     = true
  ignore_public_acls      = true
  restrict_public_buckets = true
}

2.main.tfで上記モジュールを読み込む

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
module "sample" {
source = "./modules/sample"
}
module "sample" { source = "./modules/sample" }
module "sample" {
  source = "./modules/sample"
}

3.-targetオプションでmodule.sampleを指定すると、modules/sampleディレクトリ以下のリソースが対象となります
$ terraform plan -target=module.sample

AWS

Posted by arkgame