From 0be72d3b74f1bb296b5d2be990d0a2a142279ec2 Mon Sep 17 00:00:00 2001 From: Sunita Sahu Date: Sun, 21 Aug 2022 18:33:51 +0530 Subject: [PATCH 1/2] deprication removed --- examples/fresh-start/.terraform.lock.hcl | 22 ++++++++++++++++++++++ examples/fresh-start/main.tf | 4 ++-- examples/fresh-start/versions.tf | 9 ++++++++- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 examples/fresh-start/.terraform.lock.hcl diff --git a/examples/fresh-start/.terraform.lock.hcl b/examples/fresh-start/.terraform.lock.hcl new file mode 100644 index 0000000..0b7e022 --- /dev/null +++ b/examples/fresh-start/.terraform.lock.hcl @@ -0,0 +1,22 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "4.27.0" + constraints = "~> 4.16" + hashes = [ + "h1:OKB0tanWDnG2hYs2IHOwmFYpEb+YjSaUxtuRzgdDCw4=", + "zh:0f5ade3801fec487641e4f7d81e28075b716c787772f9709cc2378d20f325791", + "zh:19ffa83be6b6765a4f821a17b8d260dd0f192a6c40765fa53ac65fd042cb1f65", + "zh:3ac89d33ff8ca75bdc42f31c63ce0018ffc66aa69917c18713e824e381950e4e", + "zh:81a199724e74992c8a029a968d211cb45277d95a2e88d0f07ec85127b6c6849b", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:a2e2c851a37ef97bbccccd2e686b4d016abe207a7f56bff70b10bfdf8ed1cbfd", + "zh:baf844def338d77f8a3106b1411a1fe22e93a82e3dc51e5d33b766f741c4a6a3", + "zh:bc33137fae808f91da0a9de7031cbea77d0ee4eefb4d2ad6ab7f58cc2111a7ff", + "zh:c960ae2b33c8d3327f67a3db5ce1952315146d69dfc3f1b0922242e2b218eec8", + "zh:f3ea1a25797c79c035463a1188a6a42e131f391f3cb714975ce49ccd301cda07", + "zh:f7e77c871d38236e5fedee0086ff77ff396e88964348c794cf38e578fcc00293", + "zh:fb338d5dfafab907b8608bd66cad8ca9ae4679f8c62c2435c2056a38b719baa2", + ] +} diff --git a/examples/fresh-start/main.tf b/examples/fresh-start/main.tf index 0027f89..a223356 100644 --- a/examples/fresh-start/main.tf +++ b/examples/fresh-start/main.tf @@ -1,9 +1,9 @@ variable "backend_bucket" { } + provider "aws" { - version = "~> 2.39" - region = "us-west-2" + region = "us-west-2" } module "backend" { diff --git a/examples/fresh-start/versions.tf b/examples/fresh-start/versions.tf index ac97c6a..94fb5a5 100644 --- a/examples/fresh-start/versions.tf +++ b/examples/fresh-start/versions.tf @@ -1,4 +1,11 @@ terraform { - required_version = ">= 0.12" + required_version = ">= 1.2.0" + + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.16" + } + } } From 5779c25cce99ccb2211ea5fb83a09c30a3886b46 Mon Sep 17 00:00:00 2001 From: Sunita Sahu Date: Fri, 9 Sep 2022 22:03:05 +0530 Subject: [PATCH 2/2] changes in main.tf file --- .terraform.lock.hcl | 21 +++++++++++++++++ main.tf | 56 +++++++++++++++++++++++++++++++-------------- versions.tf | 2 +- 3 files changed, 61 insertions(+), 18 deletions(-) create mode 100644 .terraform.lock.hcl diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl new file mode 100644 index 0000000..3a97d3d --- /dev/null +++ b/.terraform.lock.hcl @@ -0,0 +1,21 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "4.27.0" + hashes = [ + "h1:OKB0tanWDnG2hYs2IHOwmFYpEb+YjSaUxtuRzgdDCw4=", + "zh:0f5ade3801fec487641e4f7d81e28075b716c787772f9709cc2378d20f325791", + "zh:19ffa83be6b6765a4f821a17b8d260dd0f192a6c40765fa53ac65fd042cb1f65", + "zh:3ac89d33ff8ca75bdc42f31c63ce0018ffc66aa69917c18713e824e381950e4e", + "zh:81a199724e74992c8a029a968d211cb45277d95a2e88d0f07ec85127b6c6849b", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:a2e2c851a37ef97bbccccd2e686b4d016abe207a7f56bff70b10bfdf8ed1cbfd", + "zh:baf844def338d77f8a3106b1411a1fe22e93a82e3dc51e5d33b766f741c4a6a3", + "zh:bc33137fae808f91da0a9de7031cbea77d0ee4eefb4d2ad6ab7f58cc2111a7ff", + "zh:c960ae2b33c8d3327f67a3db5ce1952315146d69dfc3f1b0922242e2b218eec8", + "zh:f3ea1a25797c79c035463a1188a6a42e131f391f3cb714975ce49ccd301cda07", + "zh:f7e77c871d38236e5fedee0086ff77ff396e88964348c794cf38e578fcc00293", + "zh:fb338d5dfafab907b8608bd66cad8ca9ae4679f8c62c2435c2056a38b719baa2", + ] +} diff --git a/main.tf b/main.tf index d3b2e71..97ea43f 100644 --- a/main.tf +++ b/main.tf @@ -58,32 +58,44 @@ resource "aws_dynamodb_table" "tf_backend_state_lock_table" { resource "aws_s3_bucket" "tf_backend_bucket" { bucket = var.backend_bucket - acl = "private" - versioning { - enabled = true - } - logging { - target_bucket = aws_s3_bucket.tf_backend_logs_bucket.id - target_prefix = "log/" - } + tags = { Description = "Terraform S3 Backend bucket which stores the terraform state for account ${data.aws_caller_identity.current.account_id}." ManagedByTerraform = "true" TerraformModule = "terraform-aws-backend" } - server_side_encryption_configuration { + lifecycle { + prevent_destroy = true + } +} + +resource "aws_s3_bucket_logging" "tf_backend_logging" { + bucket = aws_s3_bucket.tf_backend_bucket.id + + target_bucket = aws_s3_bucket.tf_backend_logs_bucket.id + target_prefix = "log/" +} +resource "aws_s3_bucket_acl" "tf_backend_acl" { + bucket = aws_s3_bucket.tf_backend_bucket.id + acl = "private" +} + +resource "aws_s3_bucket_server_side_encryption_configuration" "tf_backend_server_side" { + bucket = aws_s3_bucket.tf_backend_bucket.id rule { apply_server_side_encryption_by_default { kms_master_key_id = var.kms_key_id sse_algorithm = var.kms_key_id == "" ? "AES256" : "aws:kms" } } - } - lifecycle { - prevent_destroy = true - } } +resource "aws_s3_bucket_versioning" "tf_backend_version" { + bucket = aws_s3_bucket.tf_backend_bucket.id + versioning_configuration { + status = "Enabled" + } +} data "aws_iam_policy_document" "tf_backend_bucket_policy" { statement { sid = "RequireEncryptedTransport" @@ -137,10 +149,7 @@ resource "aws_s3_bucket_policy" "tf_backend_bucket_policy" { resource "aws_s3_bucket" "tf_backend_logs_bucket" { bucket = "${var.backend_bucket}-logs" - acl = "log-delivery-write" - versioning { - enabled = true - } + tags = { Purpose = "Logging bucket for ${var.backend_bucket}" ManagedByTerraform = "true" @@ -151,3 +160,16 @@ resource "aws_s3_bucket" "tf_backend_logs_bucket" { } } +resource "aws_s3_bucket_acl" "tf_backend_logs_acl" { + bucket = aws_s3_bucket.tf_backend_logs_bucket.id + acl = "log-delivery-write" +} + + +resource "aws_s3_bucket_versioning" "tf_backend_logs_version" { + bucket = aws_s3_bucket.tf_backend_logs_bucket.id + versioning_configuration { + status = "Enabled" + } +} + diff --git a/versions.tf b/versions.tf index ac97c6a..e317c43 100644 --- a/versions.tf +++ b/versions.tf @@ -1,4 +1,4 @@ terraform { - required_version = ">= 0.12" + required_version = ">= 1.2.0" }