Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions modules/alias/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ No modules.
| <a name="input_maximum_retry_attempts"></a> [maximum\_retry\_attempts](#input\_maximum\_retry\_attempts) | Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2. | `number` | `null` | no |
| <a name="input_name"></a> [name](#input\_name) | Name for the alias you are creating. | `string` | `""` | no |
| <a name="input_refresh_alias"></a> [refresh\_alias](#input\_refresh\_alias) | Whether to refresh function version used in the alias. Useful when using this module together with external tool do deployments (eg, AWS CodeDeploy). | `bool` | `true` | no |
| <a name="input_region"></a> [region](#input\_region) | Region where the resource(s) will be managed. Defaults to the region set in the provider configuration | `string` | `null` | no |
| <a name="input_routing_additional_version_weights"></a> [routing\_additional\_version\_weights](#input\_routing\_additional\_version\_weights) | A map that defines the proportion of events that should be sent to different versions of a lambda function. | `map(number)` | `{}` | no |
| <a name="input_use_existing_alias"></a> [use\_existing\_alias](#input\_use\_existing\_alias) | Whether to manage existing alias instead of creating a new one. Useful when using this module together with external tool do deployments (eg, AWS CodeDeploy). | `bool` | `false` | no |

Expand Down
14 changes: 14 additions & 0 deletions modules/alias/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@ locals {
data "aws_lambda_alias" "existing" {
count = var.create && var.use_existing_alias ? 1 : 0

region = var.region

function_name = var.function_name
name = var.name
}

resource "aws_lambda_alias" "no_refresh" {
count = var.create && !var.use_existing_alias && !var.refresh_alias ? 1 : 0

region = var.region

name = var.name
description = var.description

Expand All @@ -36,6 +40,8 @@ resource "aws_lambda_alias" "no_refresh" {
resource "aws_lambda_alias" "with_refresh" {
count = var.create && !var.use_existing_alias && var.refresh_alias ? 1 : 0

region = var.region

name = var.name
description = var.description

Expand All @@ -54,6 +60,8 @@ resource "aws_lambda_alias" "with_refresh" {
resource "aws_lambda_function_event_invoke_config" "this" {
for_each = var.create && var.create_async_event_config ? local.qualifiers : {}

region = var.region

function_name = var.function_name
qualifier = each.key == "version" ? local.version : var.name

Expand Down Expand Up @@ -83,6 +91,8 @@ resource "aws_lambda_function_event_invoke_config" "this" {
resource "aws_lambda_permission" "version_triggers" {
for_each = var.create && var.create_version_allowed_triggers ? var.allowed_triggers : {}

region = var.region

function_name = var.function_name

# Error: Error adding new Lambda Permission for ... InvalidParameterValueException: We currently do not support adding policies for $LATEST.
Expand All @@ -100,6 +110,8 @@ resource "aws_lambda_permission" "version_triggers" {
resource "aws_lambda_permission" "qualified_alias_triggers" {
for_each = var.create && var.create_qualified_alias_allowed_triggers ? var.allowed_triggers : {}

region = var.region

function_name = var.function_name
qualifier = var.name

Expand All @@ -115,6 +127,8 @@ resource "aws_lambda_permission" "qualified_alias_triggers" {
resource "aws_lambda_event_source_mapping" "this" {
for_each = { for k, v in var.event_source_mapping : k => v if var.create }

region = var.region

function_name = local.alias_arn

event_source_arn = try(each.value.event_source_arn, null)
Expand Down
6 changes: 6 additions & 0 deletions modules/alias/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ variable "create_qualified_alias_allowed_triggers" {
default = true
}

variable "region" {
description = "Region where the resource(s) will be managed. Defaults to the region set in the provider configuration"
type = string
default = null
}

########
# Alias
########
Expand Down
1 change: 1 addition & 0 deletions wrappers/alias/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ module "wrapper" {
maximum_retry_attempts = try(each.value.maximum_retry_attempts, var.defaults.maximum_retry_attempts, null)
name = try(each.value.name, var.defaults.name, "")
refresh_alias = try(each.value.refresh_alias, var.defaults.refresh_alias, true)
region = try(each.value.region, var.defaults.region, null)
routing_additional_version_weights = try(each.value.routing_additional_version_weights, var.defaults.routing_additional_version_weights, {})
use_existing_alias = try(each.value.use_existing_alias, var.defaults.use_existing_alias, false)
}
Loading