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


  1. Effectively Using Django REST Framework Serializers
  2. How To Use DRF Serializers Effectively in Django
  3. My personal django rest framework serializer notes
  4. How to use DRF serializers effectively during write operations