Skip to content

Commit 773eda3

Browse files
authored
feat(vpc): added dual-stack support in ipv6 enabled VPCs (#146)
1 parent bd76bcc commit 773eda3

File tree

35 files changed

+271
-108
lines changed

35 files changed

+271
-108
lines changed

Makefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,15 @@ release: check-git-branch bump-version ## Releases a new module version
103103
-d "{\"tag_name\":\"$(NEXT_TAG)\",\"generate_release_notes\":true}"; \
104104
fi;
105105

106+
.PHONY: update
107+
update: ## Upgrades Terraform core and providers constraints recursively using https://github.com/minamijoyo/tfupdate
108+
@echo "+ $@"
109+
@command -v tfupdate >/dev/null 2>&1 || { echo >&2 "Please install tfupdate: 'brew install minamijoyo/tfupdate/tfupdate'"; exit 1; }
110+
@tfupdate terraform -v ">= 1.3" -r .
111+
@tfupdate provider aws -v ">= 5.32" -r .
112+
@tfupdate provider archive -v ">= 2.2" -r .
113+
@tfupdate provider null -v ">= 3.2" -r .
114+
106115
.PHONY: help
107116
help: ## Display this help screen
108117
@grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ see [examples](examples/deployment) for details.
315315
- [with-cloudwatch-logs-subscription](examples/with-cloudwatch-logs-subscription)
316316
- [with-event-source-mappings](examples/with-event-source-mappings)
317317
- [with-sns-subscriptions](examples/with-sns-subscriptions)
318+
- [with-vpc](examples/with-vpc)
318319

319320

320321
## Bootstrap new projects
@@ -344,13 +345,13 @@ should migrate to this module as a drop-in replacement to benefit from new featu
344345
| Name | Version |
345346
|------|---------|
346347
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
347-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.0 |
348+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.32 |
348349

349350
## Providers
350351

351352
| Name | Version |
352353
|------|---------|
353-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.0 |
354+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.32 |
354355

355356
## Modules
356357

@@ -417,6 +418,8 @@ No modules.
417418
| <a name="input_memory_size"></a> [memory\_size](#input\_memory\_size) | Amount of memory in MB your Lambda Function can use at runtime. | `number` | `128` | no |
418419
| <a name="input_package_type"></a> [package\_type](#input\_package\_type) | The Lambda deployment package type. Valid values are Zip and Image. | `string` | `"Zip"` | no |
419420
| <a name="input_publish"></a> [publish](#input\_publish) | Whether to publish creation/change as new Lambda Function Version. | `bool` | `false` | no |
421+
| <a name="input_replace_security_groups_on_destroy"></a> [replace\_security\_groups\_on\_destroy](#input\_replace\_security\_groups\_on\_destroy) | (Optional) Whether to replace the security groups on the function's VPC configuration prior to destruction. Removing these security group associations prior to function destruction can speed up security group deletion times of AWS's internal cleanup operations. By default, the security groups will be replaced with the default security group in the function's configured VPC. Set the `replacement_security_group_ids` attribute to use a custom list of security groups for replacement. | `bool` | `null` | no |
422+
| <a name="input_replacement_security_group_ids"></a> [replacement\_security\_group\_ids](#input\_replacement\_security\_group\_ids) | (Optional) List of security group IDs to assign to the function's VPC configuration prior to destruction. `replace_security_groups_on_destroy` must be set to `true` to use this attribute. | `list(string)` | `null` | no |
420423
| <a name="input_reserved_concurrent_executions"></a> [reserved\_concurrent\_executions](#input\_reserved\_concurrent\_executions) | The amount of reserved concurrent executions for this lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `-1` | no |
421424
| <a name="input_runtime"></a> [runtime](#input\_runtime) | The runtime environment for the Lambda function you are uploading. | `string` | `""` | no |
422425
| <a name="input_s3_bucket"></a> [s3\_bucket](#input\_s3\_bucket) | The S3 bucket location containing the function's deployment package. Conflicts with filename and image\_uri. This bucket must reside in the same AWS region where you are creating the Lambda function. | `string` | `null` | no |
@@ -429,7 +432,7 @@ No modules.
429432
| <a name="input_tags"></a> [tags](#input\_tags) | A mapping of tags to assign to the Lambda function and all resources supporting tags. | `map(string)` | `{}` | no |
430433
| <a name="input_timeout"></a> [timeout](#input\_timeout) | The amount of time your Lambda Function has to run in seconds. | `number` | `3` | no |
431434
| <a name="input_tracing_config_mode"></a> [tracing\_config\_mode](#input\_tracing\_config\_mode) | Tracing config mode of the Lambda function. Can be either PassThrough or Active. | `string` | `null` | no |
432-
| <a name="input_vpc_config"></a> [vpc\_config](#input\_vpc\_config) | Provide this to allow your function to access your VPC (if both 'subnet\_ids' and 'security\_group\_ids' are empty then vpc\_config is considered to be empty or unset, see https://docs.aws.amazon.com/lambda/latest/dg/vpc.html for details). | <pre>object({<br> security_group_ids = list(string)<br> subnet_ids = list(string)<br> })</pre> | `null` | no |
435+
| <a name="input_vpc_config"></a> [vpc\_config](#input\_vpc\_config) | Provide this to allow your function to access your VPC (if both `subnet_ids` and `security_group_ids` are empty then vpc\_config is considered to be empty or unset, see https://docs.aws.amazon.com/lambda/latest/dg/vpc.html for details). | <pre>object({<br> ipv6_allowed_for_dual_stack = optional(bool, false)<br> security_group_ids = list(string)<br> subnet_ids = list(string)<br> })</pre> | `null` | no |
433436

434437
## Outputs
435438

examples/complete/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ Note that this example may create resources which cost money. Run `terraform des
1717

1818
| Name | Version |
1919
|------|---------|
20-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 |
21-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.0 |
20+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
21+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.32 |
2222
| <a name="requirement_random"></a> [random](#requirement\_random) | >= 3.5 |
2323

2424
## Providers
2525

2626
| Name | Version |
2727
|------|---------|
28-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.0 |
28+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.32 |
2929
| <a name="provider_random"></a> [random](#provider\_random) | >= 3.5 |
3030

3131
## Modules

examples/complete/versions.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
terraform {
2-
required_version = ">= 1.0"
2+
required_version = ">= 1.3"
33

44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.0"
7+
version = ">= 5.32"
88
}
99
random = {
1010
source = "hashicorp/random"

examples/container-image/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ Note that this example may create resources which cost money. Run `terraform des
1717

1818
| Name | Version |
1919
|------|---------|
20-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 |
21-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.0 |
20+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
21+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.32 |
2222
| <a name="requirement_null"></a> [null](#requirement\_null) | >= 3.2 |
2323

2424
## Providers
2525

2626
| Name | Version |
2727
|------|---------|
28-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.0 |
28+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.32 |
2929
| <a name="provider_null"></a> [null](#provider\_null) | >= 3.2 |
3030

3131
## Modules

examples/container-image/versions.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
terraform {
2-
required_version = ">= 1.0"
2+
required_version = ">= 1.3"
33

44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.0"
7+
version = ">= 5.32"
88
}
99
null = {
1010
source = "hashicorp/null"

examples/deployment/complete/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ aws s3api put-object --bucket example-ci-{account_id}-{region} --key deployment-
3030

3131
| Name | Version |
3232
|------|---------|
33-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 |
33+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
3434
| <a name="requirement_archive"></a> [archive](#requirement\_archive) | >= 2.2 |
3535
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.32 |
3636

examples/deployment/complete/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
terraform {
2-
required_version = ">= 1.0"
2+
required_version = ">= 1.3"
33

44
required_providers {
55
aws = {

examples/deployment/container-image/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ docker push {account_id}.dkr.ecr.{region}.amazonaws.com/with-ecr-deployment:prod
2626

2727
| Name | Version |
2828
|------|---------|
29-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 |
30-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.0 |
29+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
30+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.32 |
3131
| <a name="requirement_null"></a> [null](#requirement\_null) | >= 3.2 |
3232

3333
## Providers
3434

3535
| Name | Version |
3636
|------|---------|
37-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.0 |
37+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.32 |
3838
| <a name="provider_null"></a> [null](#provider\_null) | >= 3.2 |
3939

4040
## Modules

examples/deployment/container-image/versions.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
terraform {
2-
required_version = ">= 1.0"
2+
required_version = ">= 1.3"
33

44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.0"
7+
version = ">= 5.32"
88
}
99
null = {
1010
source = "hashicorp/null"

0 commit comments

Comments
 (0)