diff --git a/.devrev/repo.yml b/.devrev/repo.yml new file mode 100644 index 00000000..a1d97bfc --- /dev/null +++ b/.devrev/repo.yml @@ -0,0 +1 @@ +deployable: true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..2eeb7ea3 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @infrastructure @navneel99 diff --git a/README.md b/README.md index 3d045ce0..bac899cd 100644 --- a/README.md +++ b/README.md @@ -667,7 +667,7 @@ Q4: What does this error mean - `"We currently do not support adding policies fo | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.5.7 | -| [aws](#requirement\_aws) | >= 6.0 | +| [aws](#requirement\_aws) | >= 6.23.0 | | [external](#requirement\_external) | >= 1.0 | | [local](#requirement\_local) | >= 1.0 | | [null](#requirement\_null) | >= 2.0 | @@ -676,7 +676,7 @@ Q4: What does this error mean - `"We currently do not support adding policies fo | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 6.0 | +| [aws](#provider\_aws) | >= 6.23.0 | | [external](#provider\_external) | >= 1.0 | | [local](#provider\_local) | >= 1.0 | | [null](#provider\_null) | >= 2.0 | @@ -858,6 +858,7 @@ No modules. | [source\_path](#input\_source\_path) | The absolute path to a local file or directory containing your Lambda source code | `any` | `null` | no | | [store\_on\_s3](#input\_store\_on\_s3) | Whether to store produced artifacts on S3 or locally. | `bool` | `false` | no | | [tags](#input\_tags) | A map of tags to assign to resources. | `map(string)` | `{}` | no | +| [tenant\_isolation\_mode](#input\_tenant\_isolation\_mode) | Whether to enable tenant isolation mode | `bool` | `false` | no | | [timeout](#input\_timeout) | The amount of time your Lambda Function has to run in seconds. | `number` | `3` | no | | [timeouts](#input\_timeouts) | Define maximum timeout for creating, updating, and deleting Lambda Function resources | `map(string)` | `{}` | no | | [tracing\_mode](#input\_tracing\_mode) | Tracing mode of the Lambda Function. Valid value can be either PassThrough or Active. | `string` | `null` | no | diff --git a/examples/complete/main.tf b/examples/complete/main.tf index 356d9f3e..6d2ed5d6 100644 --- a/examples/complete/main.tf +++ b/examples/complete/main.tf @@ -26,6 +26,7 @@ module "lambda_function" { ephemeral_storage_size = 10240 architectures = ["x86_64"] publish = true + tenant_isolation_mode = true # recursive_loop = "Allow" source_path = "${path.module}/../fixtures/python-app1" diff --git a/main.tf b/main.tf index cc7d011a..419b07c7 100644 --- a/main.tf +++ b/main.tf @@ -84,6 +84,13 @@ resource "aws_lambda_function" "this" { } } + dynamic "tenancy_config" { + for_each = var.tenant_isolation_mode ? [true] : [] + content { + tenant_isolation_mode = "PER_TENANT" + } + } + dynamic "tracing_config" { for_each = var.tracing_mode == null ? [] : [true] content { diff --git a/modules/alias/README.md b/modules/alias/README.md index 5ee31171..dc596ed0 100644 --- a/modules/alias/README.md +++ b/modules/alias/README.md @@ -116,13 +116,13 @@ module "lambda" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.5.7 | -| [aws](#requirement\_aws) | >= 6.0 | +| [aws](#requirement\_aws) | >= 6.23.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 6.0 | +| [aws](#provider\_aws) | >= 6.23.0 | ## Modules diff --git a/modules/alias/versions.tf b/modules/alias/versions.tf index db13b0a8..3005433d 100644 --- a/modules/alias/versions.tf +++ b/modules/alias/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } } } diff --git a/modules/deploy/README.md b/modules/deploy/README.md index b5d535c9..2bdcd1f0 100644 --- a/modules/deploy/README.md +++ b/modules/deploy/README.md @@ -101,7 +101,7 @@ module "lambda" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.5.7 | -| [aws](#requirement\_aws) | >= 6.0 | +| [aws](#requirement\_aws) | >= 6.23.0 | | [local](#requirement\_local) | >= 1.0 | | [null](#requirement\_null) | >= 2.0 | @@ -109,7 +109,7 @@ module "lambda" { | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 6.0 | +| [aws](#provider\_aws) | >= 6.23.0 | | [local](#provider\_local) | >= 1.0 | | [null](#provider\_null) | >= 2.0 | diff --git a/modules/deploy/versions.tf b/modules/deploy/versions.tf index ddb64c76..2545506a 100644 --- a/modules/deploy/versions.tf +++ b/modules/deploy/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } local = { source = "hashicorp/local" diff --git a/modules/docker-build/README.md b/modules/docker-build/README.md index 8d9d8315..0e4a61d2 100644 --- a/modules/docker-build/README.md +++ b/modules/docker-build/README.md @@ -58,7 +58,7 @@ module "docker_image" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.5.7 | -| [aws](#requirement\_aws) | >= 6.0 | +| [aws](#requirement\_aws) | >= 6.23.0 | | [docker](#requirement\_docker) | >= 3.5.0 | | [null](#requirement\_null) | >= 2.0 | @@ -66,7 +66,7 @@ module "docker_image" { | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 6.0 | +| [aws](#provider\_aws) | >= 6.23.0 | | [docker](#provider\_docker) | >= 3.5.0 | | [null](#provider\_null) | >= 2.0 | diff --git a/modules/docker-build/versions.tf b/modules/docker-build/versions.tf index b203b635..afc6a0a5 100644 --- a/modules/docker-build/versions.tf +++ b/modules/docker-build/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } docker = { source = "kreuzwerker/docker" diff --git a/variables.tf b/variables.tf index 6ea454f6..cbd58655 100644 --- a/variables.tf +++ b/variables.tf @@ -278,6 +278,12 @@ variable "skip_destroy" { default = null } +variable "tenant_isolation_mode" { + description = "Whether to enable tenant isolation mode" + type = bool + default = false +} + ############### # Function URL ############### diff --git a/versions.tf b/versions.tf index 8dea461c..82caa51c 100644 --- a/versions.tf +++ b/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } external = { source = "hashicorp/external" diff --git a/wrappers/alias/versions.tf b/wrappers/alias/versions.tf index db13b0a8..3005433d 100644 --- a/wrappers/alias/versions.tf +++ b/wrappers/alias/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } } } diff --git a/wrappers/deploy/versions.tf b/wrappers/deploy/versions.tf index ddb64c76..2545506a 100644 --- a/wrappers/deploy/versions.tf +++ b/wrappers/deploy/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } local = { source = "hashicorp/local" diff --git a/wrappers/docker-build/versions.tf b/wrappers/docker-build/versions.tf index b203b635..afc6a0a5 100644 --- a/wrappers/docker-build/versions.tf +++ b/wrappers/docker-build/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } docker = { source = "kreuzwerker/docker" diff --git a/wrappers/main.tf b/wrappers/main.tf index eb78bb41..efe127f7 100644 --- a/wrappers/main.tf +++ b/wrappers/main.tf @@ -128,6 +128,7 @@ module "wrapper" { source_path = try(each.value.source_path, var.defaults.source_path, null) store_on_s3 = try(each.value.store_on_s3, var.defaults.store_on_s3, false) tags = try(each.value.tags, var.defaults.tags, {}) + tenant_isolation_mode = try(each.value.tenant_isolation_mode, var.defaults.tenant_isolation_mode, false) timeout = try(each.value.timeout, var.defaults.timeout, 3) timeouts = try(each.value.timeouts, var.defaults.timeouts, {}) tracing_mode = try(each.value.tracing_mode, var.defaults.tracing_mode, null) diff --git a/wrappers/versions.tf b/wrappers/versions.tf index 8dea461c..82caa51c 100644 --- a/wrappers/versions.tf +++ b/wrappers/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 6.0" + version = ">= 6.23.0" } external = { source = "hashicorp/external"