mirror of
https://github.com/sidpalas/devops-directive-terraform-course.git
synced 2025-12-10 21:01:14 +00:00
03-basics: Fix deprecation warnings and postgres version error (#12)
This change updates the s3 bucket resource syntax to use the newer resource types for specifying versioning and encryption configs. We also enable auto_minor_version_upgrade for the RDS instance and switch to only asking for major version 12. This will just use the default/latest RDS PostgreSQL v12 minor version. Upside, the specific engine_version provided here will take longer before it becomes invalid. Minor downside, we are saying its OK for this RDS instance to undergo minor version upgrades, which while fine for a toy example like this, is often not great in prod.
This commit is contained in:
@@ -27,15 +27,20 @@ provider "aws" {
|
|||||||
resource "aws_s3_bucket" "terraform_state" {
|
resource "aws_s3_bucket" "terraform_state" {
|
||||||
bucket = "devops-directive-tf-state" # REPLACE WITH YOUR BUCKET NAME
|
bucket = "devops-directive-tf-state" # REPLACE WITH YOUR BUCKET NAME
|
||||||
force_destroy = true
|
force_destroy = true
|
||||||
versioning {
|
}
|
||||||
enabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
server_side_encryption_configuration {
|
resource "aws_s3_bucket_versioning" "terraform_bucket_versioning" {
|
||||||
rule {
|
bucket = aws_s3_bucket.terraform_state.id
|
||||||
apply_server_side_encryption_by_default {
|
versioning_configuration {
|
||||||
sse_algorithm = "AES256"
|
status = "Enabled"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_s3_bucket_server_side_encryption_configuration" "terraform_state_crypto_conf" {
|
||||||
|
bucket = aws_s3_bucket.terraform_state.bucket
|
||||||
|
rule {
|
||||||
|
apply_server_side_encryption_by_default {
|
||||||
|
sse_algorithm = "AES256"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,15 +46,20 @@ resource "aws_instance" "instance_2" {
|
|||||||
resource "aws_s3_bucket" "bucket" {
|
resource "aws_s3_bucket" "bucket" {
|
||||||
bucket = "devops-directive-web-app-data"
|
bucket = "devops-directive-web-app-data"
|
||||||
force_destroy = true
|
force_destroy = true
|
||||||
versioning {
|
}
|
||||||
enabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
server_side_encryption_configuration {
|
resource "aws_s3_bucket_versioning" "bucket_versioning" {
|
||||||
rule {
|
bucket = aws_s3_bucket.bucket.id
|
||||||
apply_server_side_encryption_by_default {
|
versioning_configuration {
|
||||||
sse_algorithm = "AES256"
|
status = "Enabled"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_s3_bucket_server_side_encryption_configuration" "bucket_crypto_conf" {
|
||||||
|
bucket = aws_s3_bucket.bucket.bucket
|
||||||
|
rule {
|
||||||
|
apply_server_side_encryption_by_default {
|
||||||
|
sse_algorithm = "AES256"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -198,13 +203,18 @@ resource "aws_route53_record" "root" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_db_instance" "db_instance" {
|
resource "aws_db_instance" "db_instance" {
|
||||||
allocated_storage = 20
|
allocated_storage = 20
|
||||||
storage_type = "standard"
|
# This allows any minor version within the major engine_version
|
||||||
engine = "postgres"
|
# defined below, but will also result in allowing AWS to auto
|
||||||
engine_version = "12.5"
|
# upgrade the minor version of your DB. This may be too risky
|
||||||
instance_class = "db.t2.micro"
|
# in a real production environment.
|
||||||
name = "mydb"
|
auto_minor_version_upgrade = true
|
||||||
username = "foo"
|
storage_type = "standard"
|
||||||
password = "foobarbaz"
|
engine = "postgres"
|
||||||
skip_final_snapshot = true
|
engine_version = "12"
|
||||||
|
instance_class = "db.t2.micro"
|
||||||
|
name = "mydb"
|
||||||
|
username = "foo"
|
||||||
|
password = "foobarbaz"
|
||||||
|
skip_final_snapshot = true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user