From 5158cab63477ec9a6066a0eff2d638c9c2f97f28 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Wed, 13 Oct 2021 17:04:53 +0300 Subject: [PATCH 01/16] Add S3 bucket ownership controls --- main.tf | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/main.tf b/main.tf index 4632762..2347434 100644 --- a/main.tf +++ b/main.tf @@ -178,3 +178,15 @@ resource "aws_s3_bucket_public_access_block" "default" { ignore_public_acls = var.ignore_public_acls restrict_public_buckets = var.restrict_public_buckets } + +# Per https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html +# It is safe to always set to BucketOwnerPreferred. The bucket owner will own the object +# if the object is uploaded with the bucket-owner-full-control canned ACL. Without +# this setting and canned ACL, the object is uploaded and remains owned by the uploading account. +resource "aws_s3_bucket_ownership_controls" "example" { + bucket = aws_s3_bucket.default.id + + rule { + object_ownership = "BucketOwnerPreferred" + } +} From 097aa0c56f66089007440a6b946f36eb79808648 Mon Sep 17 00:00:00 2001 From: cloudpossebot <11232728+cloudpossebot@users.noreply.github.com> Date: Wed, 13 Oct 2021 14:10:14 +0000 Subject: [PATCH 02/16] Auto Format --- README.md | 1 + docs/terraform.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 5448d0d..1403670 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,7 @@ Available targets: |------|------| | [aws_s3_bucket.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource | | [aws_s3_bucket_notification.bucket_notification](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_notification) | resource | +| [aws_s3_bucket_ownership_controls.example](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource | | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | diff --git a/docs/terraform.md b/docs/terraform.md index cf84a09..e5cb97d 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -24,6 +24,7 @@ |------|------| | [aws_s3_bucket.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource | | [aws_s3_bucket_notification.bucket_notification](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_notification) | resource | +| [aws_s3_bucket_ownership_controls.example](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource | | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | From 49dd792586c211ebe0f32e45bad0433ce61fc031 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Thu, 14 Oct 2021 15:09:53 +0300 Subject: [PATCH 03/16] fix count --- main.tf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 2347434..fb09697 100644 --- a/main.tf +++ b/main.tf @@ -184,7 +184,8 @@ resource "aws_s3_bucket_public_access_block" "default" { # if the object is uploaded with the bucket-owner-full-control canned ACL. Without # this setting and canned ACL, the object is uploaded and remains owned by the uploading account. resource "aws_s3_bucket_ownership_controls" "example" { - bucket = aws_s3_bucket.default.id + count = module.this.enabled ? 1 : 0 + bucket = join("", aws_s3_bucket.default.*.id) rule { object_ownership = "BucketOwnerPreferred" From 71d7f217a92b2750bb35f1389e1f738fd8287750 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Thu, 14 Oct 2021 15:16:56 +0300 Subject: [PATCH 04/16] use sane name --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index fb09697..df43ced 100644 --- a/main.tf +++ b/main.tf @@ -183,7 +183,7 @@ resource "aws_s3_bucket_public_access_block" "default" { # It is safe to always set to BucketOwnerPreferred. The bucket owner will own the object # if the object is uploaded with the bucket-owner-full-control canned ACL. Without # this setting and canned ACL, the object is uploaded and remains owned by the uploading account. -resource "aws_s3_bucket_ownership_controls" "example" { +resource "aws_s3_bucket_ownership_controls" "default" { count = module.this.enabled ? 1 : 0 bucket = join("", aws_s3_bucket.default.*.id) From 1a8ef0df5dcad2111aa151dcc41f5b20b04a66e3 Mon Sep 17 00:00:00 2001 From: cloudpossebot <11232728+cloudpossebot@users.noreply.github.com> Date: Thu, 14 Oct 2021 12:17:35 +0000 Subject: [PATCH 05/16] Auto Format --- README.md | 2 +- docs/terraform.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1403670..daa2434 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ Available targets: |------|------| | [aws_s3_bucket.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource | | [aws_s3_bucket_notification.bucket_notification](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_notification) | resource | -| [aws_s3_bucket_ownership_controls.example](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource | +| [aws_s3_bucket_ownership_controls.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource | | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | diff --git a/docs/terraform.md b/docs/terraform.md index e5cb97d..c0ad1c9 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -24,7 +24,7 @@ |------|------| | [aws_s3_bucket.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource | | [aws_s3_bucket_notification.bucket_notification](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_notification) | resource | -| [aws_s3_bucket_ownership_controls.example](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource | +| [aws_s3_bucket_ownership_controls.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource | | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | From be8441a7e0afa3ae7c6cd46f5d9e17fcbb1104d8 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Thu, 28 Oct 2021 15:53:33 +0300 Subject: [PATCH 06/16] Fix dependency --- main.tf | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/main.tf b/main.tf index df43ced..2571620 100644 --- a/main.tf +++ b/main.tf @@ -190,4 +190,12 @@ resource "aws_s3_bucket_ownership_controls" "default" { rule { object_ownership = "BucketOwnerPreferred" } + depends_on = [time_sleep.wait_for_aws_s3_bucket_policy] +} + +# Workaround S3 eventual consistency for settings objects +resource "time_sleep" "wait_for_aws_s3_bucket_policy" { + depends_on = [aws_s3_bucket_policy.default] + create_duration = "30s" + destroy_duration = "30s" } From 28ed7ed9bd789023d8bd181f30e13de2e5f9f1d5 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Thu, 28 Oct 2021 15:58:44 +0300 Subject: [PATCH 07/16] add time version --- versions.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/versions.tf b/versions.tf index 5b2c49b..2e9b9a3 100644 --- a/versions.tf +++ b/versions.tf @@ -6,5 +6,9 @@ terraform { source = "hashicorp/aws" version = ">= 2.0" } + time = { + source = "hashicorp/time" + version = ">= 0.7.2" + } } } From 16c2a54e4cad18e25726c356e1dbb523fe5ab545 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Thu, 28 Oct 2021 16:03:16 +0300 Subject: [PATCH 08/16] add count --- main.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/main.tf b/main.tf index 2571620..ff7b128 100644 --- a/main.tf +++ b/main.tf @@ -195,6 +195,7 @@ resource "aws_s3_bucket_ownership_controls" "default" { # Workaround S3 eventual consistency for settings objects resource "time_sleep" "wait_for_aws_s3_bucket_policy" { + count = module.this.enabled ? 1 : 0 depends_on = [aws_s3_bucket_policy.default] create_duration = "30s" destroy_duration = "30s" From 5ec122d8b1f5065cc56f6347bb8f3b8e308f3b18 Mon Sep 17 00:00:00 2001 From: cloudpossebot <11232728+cloudpossebot@users.noreply.github.com> Date: Thu, 28 Oct 2021 13:15:04 +0000 Subject: [PATCH 09/16] Auto Format --- README.md | 3 +++ docs/terraform.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/README.md b/README.md index daa2434..bdd669f 100644 --- a/README.md +++ b/README.md @@ -142,12 +142,14 @@ Available targets: |------|---------| | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 2.0 | +| [time](#requirement\_time) | >= 0.7.2 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | >= 2.0 | +| [time](#provider\_time) | >= 0.7.2 | ## Modules @@ -165,6 +167,7 @@ Available targets: | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | +| [time_sleep.wait_for_aws_s3_bucket_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource | | [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source | | [aws_iam_policy_document.aggregated_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_iam_policy_document.bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | diff --git a/docs/terraform.md b/docs/terraform.md index c0ad1c9..7a87558 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -5,12 +5,14 @@ |------|---------| | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 2.0 | +| [time](#requirement\_time) | >= 0.7.2 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | >= 2.0 | +| [time](#provider\_time) | >= 0.7.2 | ## Modules @@ -28,6 +30,7 @@ | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | +| [time_sleep.wait_for_aws_s3_bucket_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource | | [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source | | [aws_iam_policy_document.aggregated_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_iam_policy_document.bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | From a02b04a371d525d6e48ddd33d6ab5122cd3ea668 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Thu, 28 Oct 2021 20:53:00 +0300 Subject: [PATCH 10/16] increase timeout --- main.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.tf b/main.tf index ff7b128..8956951 100644 --- a/main.tf +++ b/main.tf @@ -197,6 +197,6 @@ resource "aws_s3_bucket_ownership_controls" "default" { resource "time_sleep" "wait_for_aws_s3_bucket_policy" { count = module.this.enabled ? 1 : 0 depends_on = [aws_s3_bucket_policy.default] - create_duration = "30s" - destroy_duration = "30s" + create_duration = "1m" + destroy_duration = "1m" } From ee30af22df9c32dde53db541f8f7b79cb5b26e5c Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Thu, 28 Oct 2021 22:11:04 +0300 Subject: [PATCH 11/16] copy from s3 bucket --- main.tf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main.tf b/main.tf index 8956951..10d49a5 100644 --- a/main.tf +++ b/main.tf @@ -190,13 +190,13 @@ resource "aws_s3_bucket_ownership_controls" "default" { rule { object_ownership = "BucketOwnerPreferred" } - depends_on = [time_sleep.wait_for_aws_s3_bucket_policy] + depends_on = [time_sleep.wait_for_aws_s3_bucket_settings] } # Workaround S3 eventual consistency for settings objects -resource "time_sleep" "wait_for_aws_s3_bucket_policy" { +resource "time_sleep" "wait_for_aws_s3_bucket_settings" { count = module.this.enabled ? 1 : 0 - depends_on = [aws_s3_bucket_policy.default] - create_duration = "1m" - destroy_duration = "1m" + depends_on = [aws_s3_bucket_public_access_block.default, aws_s3_bucket_policy.default] + create_duration = "30s" + destroy_duration = "30s" } From e6da15ac3e6fa8dbb146d93ffb70f58efc7632e4 Mon Sep 17 00:00:00 2001 From: cloudpossebot <11232728+cloudpossebot@users.noreply.github.com> Date: Thu, 28 Oct 2021 19:11:40 +0000 Subject: [PATCH 12/16] Auto Format --- README.md | 2 +- docs/terraform.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bdd669f..36f345b 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ Available targets: | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | -| [time_sleep.wait_for_aws_s3_bucket_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource | +| [time_sleep.wait_for_aws_s3_bucket_settings](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource | | [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source | | [aws_iam_policy_document.aggregated_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_iam_policy_document.bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | diff --git a/docs/terraform.md b/docs/terraform.md index 7a87558..e2d9b16 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -30,7 +30,7 @@ | [aws_s3_bucket_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | | [aws_s3_bucket_public_access_block.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | | [aws_sqs_queue.notifications](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | -| [time_sleep.wait_for_aws_s3_bucket_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource | +| [time_sleep.wait_for_aws_s3_bucket_settings](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource | | [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source | | [aws_iam_policy_document.aggregated_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_iam_policy_document.bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | From 9795eb1bc7baa5be6040d3b40f1277b19fc54b13 Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Fri, 29 Oct 2021 14:37:55 +0300 Subject: [PATCH 13/16] Update versions.tf Co-authored-by: nitrocode --- versions.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.tf b/versions.tf index 2e9b9a3..1e7553a 100644 --- a/versions.tf +++ b/versions.tf @@ -8,7 +8,7 @@ terraform { } time = { source = "hashicorp/time" - version = ">= 0.7.2" + version = ">= 0.7" } } } From 5be359037dc41b218bf29f5ed882c444572a7c41 Mon Sep 17 00:00:00 2001 From: cloudpossebot <11232728+cloudpossebot@users.noreply.github.com> Date: Fri, 29 Oct 2021 11:38:30 +0000 Subject: [PATCH 14/16] Auto Format --- README.md | 4 ++-- docs/terraform.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 36f345b..f8ca725 100644 --- a/README.md +++ b/README.md @@ -142,14 +142,14 @@ Available targets: |------|---------| | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 2.0 | -| [time](#requirement\_time) | >= 0.7.2 | +| [time](#requirement\_time) | >= 0.7 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | >= 2.0 | -| [time](#provider\_time) | >= 0.7.2 | +| [time](#provider\_time) | >= 0.7 | ## Modules diff --git a/docs/terraform.md b/docs/terraform.md index e2d9b16..865cb4a 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -5,14 +5,14 @@ |------|---------| | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 2.0 | -| [time](#requirement\_time) | >= 0.7.2 | +| [time](#requirement\_time) | >= 0.7 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | >= 2.0 | -| [time](#provider\_time) | >= 0.7.2 | +| [time](#provider\_time) | >= 0.7 | ## Modules From a9f9f58aa1bf5cd07f44be0fd281a9c0c009a95b Mon Sep 17 00:00:00 2001 From: Max Lobur Date: Fri, 29 Oct 2021 14:40:39 +0300 Subject: [PATCH 15/16] Update versions.tf Co-authored-by: nitrocode --- versions.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.tf b/versions.tf index 1e7553a..ac1455d 100644 --- a/versions.tf +++ b/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 2.0" + version = ">= 3.0" } time = { source = "hashicorp/time" From 26e103f0f27c28f208c468a8ed505dcea0b467e8 Mon Sep 17 00:00:00 2001 From: cloudpossebot <11232728+cloudpossebot@users.noreply.github.com> Date: Fri, 29 Oct 2021 11:41:11 +0000 Subject: [PATCH 16/16] Auto Format --- README.md | 4 ++-- docs/terraform.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f8ca725..7c4e126 100644 --- a/README.md +++ b/README.md @@ -141,14 +141,14 @@ Available targets: | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 0.13.0 | -| [aws](#requirement\_aws) | >= 2.0 | +| [aws](#requirement\_aws) | >= 3.0 | | [time](#requirement\_time) | >= 0.7 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 2.0 | +| [aws](#provider\_aws) | >= 3.0 | | [time](#provider\_time) | >= 0.7 | ## Modules diff --git a/docs/terraform.md b/docs/terraform.md index 865cb4a..dd0e8d4 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -4,14 +4,14 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 0.13.0 | -| [aws](#requirement\_aws) | >= 2.0 | +| [aws](#requirement\_aws) | >= 3.0 | | [time](#requirement\_time) | >= 0.7 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 2.0 | +| [aws](#provider\_aws) | >= 3.0 | | [time](#provider\_time) | >= 0.7 | ## Modules