Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f878a5b

Browse files
Merge branch 'master' into fix-runtimes
2 parents 03a5824 + 9acd322 commit f878a5b

File tree

16 files changed

+145
-177
lines changed

16 files changed

+145
-177
lines changed

‎.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ repos:
33
rev: v1.81.0
44
hooks:
55
- id: terraform_fmt
6+
- id: terraform_wrapper_module_for_each
67
- id: terraform_validate
78
- id: terraform_docs
89
args:

‎CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [6.0.0](https://github.com/terraform-aws-modules/terraform-aws-lambda/compare/v5.3.0...v6.0.0) (2023年08月09日)
6+
7+
8+
### ⚠ BREAKING CHANGES
9+
10+
* Disable creation of SAM metadata null-resources by default (#494)
11+
12+
### Features
13+
14+
* Disable creation of SAM metadata null-resources by default ([#494](https://github.com/terraform-aws-modules/terraform-aws-lambda/issues/494)) ([9c9603c](https://github.com/terraform-aws-modules/terraform-aws-lambda/commit/9c9603cbb889a2cda1555deaed908d320e013515))
15+
516
## [5.3.0](https://github.com/terraform-aws-modules/terraform-aws-lambda/compare/v5.2.0...v5.3.0) (2023年07月17日)
617

718

‎README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,7 @@ No modules.
769769
| <a name="input_create_layer"></a> [create\_layer](#input\_create\_layer) | Controls whether Lambda Layer resource should be created | `bool` | `false` | no |
770770
| <a name="input_create_package"></a> [create\_package](#input\_create\_package) | Controls whether Lambda package should be created | `bool` | `true` | no |
771771
| <a name="input_create_role"></a> [create\_role](#input\_create\_role) | Controls whether IAM role for Lambda Function should be created | `bool` | `true` | no |
772+
| <a name="input_create_sam_metadata"></a> [create\_sam\_metadata](#input\_create\_sam\_metadata) | Controls whether the SAM metadata null resource should be created | `bool` | `false` | no |
772773
| <a name="input_create_unqualified_alias_allowed_triggers"></a> [create\_unqualified\_alias\_allowed\_triggers](#input\_create\_unqualified\_alias\_allowed\_triggers) | Whether to allow triggers on unqualified alias pointing to $LATEST version | `bool` | `true` | no |
773774
| <a name="input_create_unqualified_alias_async_event_config"></a> [create\_unqualified\_alias\_async\_event\_config](#input\_create\_unqualified\_alias\_async\_event\_config) | Whether to allow async event configuration on unqualified alias pointing to $LATEST version | `bool` | `true` | no |
774775
| <a name="input_create_unqualified_alias_lambda_function_url"></a> [create\_unqualified\_alias\_lambda\_function\_url](#input\_create\_unqualified\_alias\_lambda\_function\_url) | Whether to use unqualified alias pointing to $LATEST version in Lambda Function URL | `bool` | `true` | no |

‎main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ resource "aws_lambda_function_url" "this" {
377377
# to the TF application. The required data is where SAM CLI can find the Lambda function source code
378378
# and what are the resources that contain the building logic.
379379
resource "null_resource" "sam_metadata_aws_lambda_function" {
380-
count = local.create && var.create_package && var.create_function && !var.create_layer ? 1 : 0
380+
count = local.create && var.create_sam_metadata&& var.create_package && var.create_function && !var.create_layer ? 1 : 0
381381

382382
triggers = {
383383
# This is a way to let SAM CLI correlates between the Lambda function resource, and this metadata
@@ -405,7 +405,7 @@ resource "null_resource" "sam_metadata_aws_lambda_function" {
405405
# to the TF application. The required data is where SAM CLI can find the Lambda layer source code
406406
# and what are the resources that contain the building logic.
407407
resource "null_resource" "sam_metadata_aws_lambda_layer_version" {
408-
count = local.create && var.create_package && var.create_layer ? 1 : 0
408+
count = local.create && var.create_sam_metadata&& var.create_package && var.create_layer ? 1 : 0
409409

410410
triggers = {
411411
# This is a way to let SAM CLI correlates between the Lambda layer resource, and this metadata

‎variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ variable "create_lambda_function_url" {
3434
default = false
3535
}
3636

37+
variable "create_sam_metadata" {
38+
description = "Controls whether the SAM metadata null resource should be created"
39+
type = bool
40+
default = false
41+
}
42+
3743
variable "putin_khuylo" {
3844
description = "Do you agree that Putin doesn't respect Ukrainian sovereignty and territorial integrity? More info: https://en.wikipedia.org/wiki/Putin_khuylo!"
3945
type = bool

‎wrappers/README.md

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ terraform {
1919
2020
inputs = {
2121
defaults = { # Default values
22-
create = true
23-
handler = "index.lambda_handler"
24-
runtime = "python3.8"
22+
create = true
2523
tags = {
2624
Terraform = "true"
2725
Environment = "dev"
@@ -47,9 +45,7 @@ module "wrapper" {
4745
source = "terraform-aws-modules/lambda/aws//wrappers"
4846
4947
defaults = { # Default values
50-
create = true
51-
handler = "index.lambda_handler"
52-
runtime = "python3.8"
48+
create = true
5349
tags = {
5450
Terraform = "true"
5551
Environment = "dev"
@@ -68,38 +64,36 @@ module "wrapper" {
6864
}
6965
```
7066

71-
## Example: Manage multiple Lambdas in one Terragrunt layer
67+
## Example: Manage multiple S3 buckets in one Terragrunt layer
7268

73-
`eu-west-1/lambdas/terragrunt.hcl`:
69+
`eu-west-1/s3-buckets/terragrunt.hcl`:
7470

7571
```hcl
7672
terraform {
77-
source = "tfr:///terraform-aws-modules/lambda/aws//wrappers"
73+
source = "tfr:///terraform-aws-modules/s3-bucket/aws//wrappers"
7874
# Alternative source:
79-
# source = "git::git@github.com:terraform-aws-modules/terraform-aws-lambda.git//wrappers?ref=master"
75+
# source = "git::git@github.com:terraform-aws-modules/terraform-aws-s3-bucket.git//wrappers?ref=master"
8076
}
8177
8278
inputs = {
8379
defaults = {
84-
create = true
85-
handler = "index.lambda_handler"
86-
runtime = "python3.8"
87-
tags = {
88-
Terraform = "true"
89-
Environment = "dev"
90-
}
80+
force_destroy = true
81+
82+
attach_elb_log_delivery_policy = true
83+
attach_lb_log_delivery_policy = true
84+
attach_deny_insecure_transport_policy = true
85+
attach_require_latest_tls_policy = true
9186
}
9287
9388
items = {
94-
lambda1 = {
95-
function_name = "my-lambda1"
96-
description = "My awesome lambda function"\
97-
source_path = "../src/lambda-function1"
89+
bucket1 = {
90+
bucket = "my-random-bucket-1"
9891
}
99-
lambda2 = {
100-
function_name = "my-lambda2"
101-
description = "My second awesome lambda function"
102-
source_path = "../src/lambda-function2"
92+
bucket2 = {
93+
bucket = "my-random-bucket-2"
94+
tags = {
95+
Secure = "probably"
96+
}
10397
}
10498
}
10599
}

‎wrappers/alias/README.md

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,18 @@ This wrapper does not implement any extra functionality.
1212

1313
```hcl
1414
terraform {
15-
source = "tfr:///terraform-aws-modules/lambda/aws"
15+
source = "tfr:///terraform-aws-modules/lambda/aws//wrappers/alias"
1616
# Alternative source:
1717
# source = "git::git@github.com:terraform-aws-modules/terraform-aws-lambda.git//wrappers/alias?ref=master"
1818
}
1919
2020
inputs = {
2121
defaults = { # Default values
22-
create = true
23-
refresh_alias = true
22+
create = true
23+
tags = {
24+
Terraform = "true"
25+
Environment = "dev"
26+
}
2427
}
2528
2629
items = {
@@ -42,8 +45,11 @@ module "wrapper" {
4245
source = "terraform-aws-modules/lambda/aws//wrappers/alias"
4346
4447
defaults = { # Default values
45-
create = true
46-
refresh_alias = true
48+
create = true
49+
tags = {
50+
Terraform = "true"
51+
Environment = "dev"
52+
}
4753
}
4854
4955
items = {
@@ -58,45 +64,36 @@ module "wrapper" {
5864
}
5965
```
6066

61-
## Example: Manage multiple aliases in one Terragrunt layer
67+
## Example: Manage multiple S3 buckets in one Terragrunt layer
6268

63-
`eu-west-1/lambda-aliases/terragrunt.hcl`:
69+
`eu-west-1/s3-buckets/terragrunt.hcl`:
6470

6571
```hcl
6672
terraform {
67-
source = "tfr:///terraform-aws-modules/lambda/aws//wrappers/alias"
73+
source = "tfr:///terraform-aws-modules/s3-bucket/aws//wrappers"
6874
# Alternative source:
69-
# source = "git::git@github.com:terraform-aws-modules/terraform-aws-lambda.git//wrappers/alias?ref=master"
70-
}
71-
72-
dependency "lambda1" {
73-
config_path = "../lambdas/lambda1"
74-
}
75-
dependency "lambda2" {
76-
config_path = "../lambdas/lambda2"
75+
# source = "git::git@github.com:terraform-aws-modules/terraform-aws-s3-bucket.git//wrappers?ref=master"
7776
}
7877
7978
inputs = {
8079
defaults = {
81-
refresh_alias = true
82-
allowed_triggers = {
83-
AnotherAPIGatewayAny = {
84-
service = "apigateway"
85-
source_arn = "arn:aws:execute-api:eu-west-1:135367859851:abcdedfgse/*/*/*"
86-
}
87-
}
80+
force_destroy = true
81+
82+
attach_elb_log_delivery_policy = true
83+
attach_lb_log_delivery_policy = true
84+
attach_deny_insecure_transport_policy = true
85+
attach_require_latest_tls_policy = true
8886
}
8987
9088
items = {
91-
alias1 = {
92-
name = "my-random-alias-1"
93-
function_name = dependency.lambda1.outputs.lambda_function_name
94-
function_version = dependency.lambda1.outputs.lambda_function_version
89+
bucket1 = {
90+
bucket = "my-random-bucket-1"
9591
}
96-
alias2 = {
97-
name = "my-random-alias-2"
98-
function_name = dependency.lambda2.outputs.lambda_function_name
99-
function_version = dependency.lambda2.outputs.lambda_function_version
92+
bucket2 = {
93+
bucket = "my-random-bucket-2"
94+
tags = {
95+
Secure = "probably"
96+
}
10097
}
10198
}
10299
}

‎wrappers/alias/main.tf

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,15 @@ module "wrapper" {
1111
create_qualified_alias_async_event_config = try(each.value.create_qualified_alias_async_event_config, var.defaults.create_qualified_alias_async_event_config, true)
1212
create_version_allowed_triggers = try(each.value.create_version_allowed_triggers, var.defaults.create_version_allowed_triggers, true)
1313
create_qualified_alias_allowed_triggers = try(each.value.create_qualified_alias_allowed_triggers, var.defaults.create_qualified_alias_allowed_triggers, true)
14-
name = try(each.value.name, var.defaults.name, null)
15-
description = try(each.value.description, var.defaults.description, null)
16-
function_name = try(each.value.function_name, var.defaults.function_name, null)
17-
function_version = try(each.value.function_version, var.defaults.function_version, null)
14+
name = try(each.value.name, var.defaults.name, "")
15+
description = try(each.value.description, var.defaults.description, "")
16+
function_name = try(each.value.function_name, var.defaults.function_name, "")
17+
function_version = try(each.value.function_version, var.defaults.function_version, "")
1818
routing_additional_version_weights = try(each.value.routing_additional_version_weights, var.defaults.routing_additional_version_weights, {})
1919
maximum_event_age_in_seconds = try(each.value.maximum_event_age_in_seconds, var.defaults.maximum_event_age_in_seconds, null)
2020
maximum_retry_attempts = try(each.value.maximum_retry_attempts, var.defaults.maximum_retry_attempts, null)
2121
destination_on_failure = try(each.value.destination_on_failure, var.defaults.destination_on_failure, null)
2222
destination_on_success = try(each.value.destination_on_success, var.defaults.destination_on_success, null)
2323
allowed_triggers = try(each.value.allowed_triggers, var.defaults.allowed_triggers, {})
2424
event_source_mapping = try(each.value.event_source_mapping, var.defaults.event_source_mapping, {})
25-
2625
}

‎wrappers/alias/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
terraform {
2-
required_version = ">= 0.13"
2+
required_version = ">= 0.13.1"
33
}

‎wrappers/deploy/README.md

Lines changed: 18 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ terraform {
1919
2020
inputs = {
2121
defaults = { # Default values
22-
create_app = true
22+
create = true
2323
tags = {
2424
Terraform = "true"
2525
Environment = "dev"
@@ -45,7 +45,7 @@ module "wrapper" {
4545
source = "terraform-aws-modules/lambda/aws//wrappers/deploy"
4646
4747
defaults = { # Default values
48-
create_app = true
48+
create = true
4949
tags = {
5050
Terraform = "true"
5151
Environment = "dev"
@@ -64,70 +64,36 @@ module "wrapper" {
6464
}
6565
```
6666

67-
## Example: Manage multiple deployment via AWS CodeDeploy in one Terragrunt layer
67+
## Example: Manage multiple S3 buckets in one Terragrunt layer
6868

69-
`eu-west-1/lambda-deploys/terragrunt.hcl`:
69+
`eu-west-1/s3-buckets/terragrunt.hcl`:
7070

7171
```hcl
7272
terraform {
73-
source = "tfr:///terraform-aws-modules/lambda/aws//wrappers/deploy"
73+
source = "tfr:///terraform-aws-modules/s3-bucket/aws//wrappers"
7474
# Alternative source:
75-
# source = "git::git@github.com:terraform-aws-modules/terraform-aws-lambda.git//wrappers/deploy?ref=master"
76-
}
77-
78-
dependency "aliases" {
79-
config_path = "../lambdas-aliases/"
80-
}
81-
dependency "lambda1" {
82-
config_path = "../lambdas/lambda1"
83-
}
84-
dependency "lambda2" {
85-
config_path = "../lambdas/lambda2"
75+
# source = "git::git@github.com:terraform-aws-modules/terraform-aws-s3-bucket.git//wrappers?ref=master"
8676
}
8777
8878
inputs = {
8979
defaults = {
90-
create_app = true
91-
reate_deployment_group = true
92-
create_deployment = true
93-
run_deployment = true
94-
wait_deployment_completion = true
95-
96-
triggers = {
97-
start = {
98-
events = ["DeploymentStart"]
99-
name = "DeploymentStart"
100-
target_arn = "arn:aws:sns:eu-west-1:135367859851:sns1"
101-
}
102-
success = {
103-
events = ["DeploymentSuccess"]
104-
name = "DeploymentSuccess"
105-
target_arn = "arn:aws:sns:eu-west-1:135367859851:sns2"
106-
}
107-
}
80+
force_destroy = true
10881
109-
tags = {
110-
Terraform = "true"
111-
Environment = "dev"
112-
}
82+
attach_elb_log_delivery_policy = true
83+
attach_lb_log_delivery_policy = true
84+
attach_deny_insecure_transport_policy = true
85+
attach_require_latest_tls_policy = true
11386
}
11487
11588
items = {
116-
deploy1 = {
117-
app_name = "my-random-app-1"
118-
deployment_group_name = "something1"
119-
120-
alias_name = dependency.aliases.outputs.wrapper.alias1.lambda_alias_name
121-
function_name = dependency.lambda1.outputs.lambda_function_name
122-
target_version = dependency.lambda1.outputs.lambda_function_version
89+
bucket1 = {
90+
bucket = "my-random-bucket-1"
12391
}
124-
deploy2 = {
125-
app_name = "my-random-app-2"
126-
deployment_group_name = "something2"
127-
128-
alias_name = dependency.aliases.outputs.wrapper.alias2.lambda_alias_name
129-
function_name = dependency.lambda2.outputs.lambda_function_name
130-
target_version = dependency.lambda2.outputs.lambda_function_version
92+
bucket2 = {
93+
bucket = "my-random-bucket-2"
94+
tags = {
95+
Secure = "probably"
96+
}
13197
}
13298
}
13399
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /