Hints:


The Solution:

resource "aws_s3_bucket" "sm-bucket" {
  bucket = "my-bucket"

  tags = {
    Name        = "my-bucket"
    Environment = "Dev"
  }

}

resource "aws_s3_bucket_versioning" "sm-bucket-version" {
  bucket = aws_s3_bucket.sm-bucket.id
  versioning_configuration {
    status = "Enabled"
  }
}

resource "aws_s3_bucket_acl" "sm-bucket-acl" {
  bucket = aws_s3_bucket.sm-bucket.id
  acl    = "private"
}

resource "aws_s3_bucket_lifecycle_configuration" "sm-bucket-lifecycle" {
  bucket = aws_s3_bucket.sm-bucket.id
  rule {
    id     = "transition-to-infrequent-access"
    status = "Enabled"

    filter {}

    noncurrent_version_transition {
      noncurrent_days = 30
      storage_class   = "STANDARD_IA"
    }
  }
  depends_on = [aws_s3_bucket_versioning.sm-bucket-version]
}

output "bucket_name" {
  value = aws_s3_bucket.sm-bucket.bucket
}

Random Note


leetcode problem 287. Find the Duplicate Number has 7 solving approach. WOW!!!