Skip to content
Merged
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
3 changes: 1 addition & 2 deletions autotagging.tf
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ resource "aws_sqs_queue" "auto_tagging" {
}

resource "aws_sns_topic_subscription" "auto_tagging" {
count = var.enable_auto_tagging == true ? var.sns_topic_arn == "" ? 0 : 1 : 0

count = var.enable_auto_tagging == true ? var.sns_topic_arn == "" ? 0 : 1 : 0
topic_arn = var.sns_topic_arn
protocol = "sqs"
endpoint = aws_sqs_queue.auto_tagging[0].arn
Expand Down
11 changes: 6 additions & 5 deletions glue_create.tf
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,12 @@ resource "aws_sqs_queue_redrive_allow_policy" "terraform_queue_redrive_allow_pol
}

resource "aws_sns_topic_subscription" "glue_create_sns_sub" {
count = var.enable_glue_create ? 1 : 0

topic_arn = var.glue_create_config.sns_topic_arn
protocol = "sqs"
endpoint = aws_sqs_queue.glue_create[0].arn
count = var.enable_glue_create ? 1 : 0
filter_policy = var.glue_create_config.sns_subcription_filter_policy
filter_policy_scope = var.glue_create_config.filter_policy_scope
topic_arn = var.glue_create_config.sns_topic_arn
protocol = "sqs"
endpoint = aws_sqs_queue.glue_create[0].arn
}

data "aws_iam_policy_document" "glue_create_assume" {
Expand Down
11 changes: 6 additions & 5 deletions glue_sync.tf
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,12 @@ resource "aws_sqs_queue_redrive_allow_policy" "glue_syncredrive_allow_policy" {
}

resource "aws_sns_topic_subscription" "glue_sync_sns_sub" {
count = var.enable_glue_sync ? 1 : 0

topic_arn = var.glue_sync_config.sns_topic_arn
protocol = "sqs"
endpoint = aws_sqs_queue.glue_sync[0].arn
count = var.enable_glue_sync ? 1 : 0
filter_policy = var.glue_sync_config.sns_subcription_filter_policy
filter_policy_scope = var.glue_sync_config.filter_policy_scope
topic_arn = var.glue_sync_config.sns_topic_arn
protocol = "sqs"
endpoint = aws_sqs_queue.glue_sync[0].arn
}

data "aws_iam_policy_document" "glue_sync_assume" {
Expand Down
3 changes: 1 addition & 2 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -263,8 +263,7 @@ resource "aws_sqs_queue" "this_DL" {
}

resource "aws_sns_topic_subscription" "this_sns_sub" {
count = var.sns_topic_arn == "" ? 0 : 1

count = var.sns_topic_arn == "" ? 0 : 1
topic_arn = var.sns_topic_arn
protocol = "sqs"
endpoint = local.enable_group_events ? aws_sqs_queue.group_events_lambda_sqs[0].arn : aws_sqs_queue.this_sqs[0].arn
Expand Down
46 changes: 25 additions & 21 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -291,18 +291,20 @@ variable "enable_schema_evolution" {

variable "glue_create_config" {
type = object({
athena_workgroup_name = string // Name of AWS Athena workgroup
athena_data_source = string // Arn name of AWS Athena data source (catalog)
athena_bucket_name = string // name of AWS Athena bucket.
lambda_s3_key = string // lambda s3 key - lambda path on S3 and file name filename
lambda_s3_bucket = string // lambda s3 bucket where lambda is stored
lambda_function_name = string // lambda function name
path_regex = string // regexp for mapping s3 path to database/table
sns_topic_arn = string // sns topic arn with s3 events (source for lambda)
sqs_queue_name = string // name of sqs queue for glue-sync lambda
sqs_queue_name_dl = string // name dead letter sqs que with not processed s3 events
iam_role_name = string // lambda role name
iam_policy_name = string // lambda policy name
athena_workgroup_name = string // Name of AWS Athena workgroup
athena_data_source = string // Arn name of AWS Athena data source (catalog)
athena_bucket_name = string // name of AWS Athena bucket.
lambda_s3_key = string // lambda s3 key - lambda path on S3 and file name filename
lambda_s3_bucket = string // lambda s3 bucket where lambda is stored
lambda_function_name = string // lambda function name
path_regex = string // regexp for mapping s3 path to database/table
sns_topic_arn = string // sns topic arn with s3 events (source for lambda)
sqs_queue_name = string // name of sqs queue for glue-sync lambda
sqs_queue_name_dl = string // name dead letter sqs que with not processed s3 events
iam_role_name = string // lambda role name
iam_policy_name = string // lambda policy name
sns_subcription_filter_policy = string // sns subcription filter policy
filter_policy_scope = string // sns subcription filter policy scope
})
description = "Configuration of glue-create lambda"
}
Expand All @@ -315,15 +317,17 @@ variable "enable_glue_sync" {

variable "glue_sync_config" {
type = object({
lambda_s3_key = string // lambda s3 key - lambda path on S3 and file name filename
lambda_s3_bucket = string // lambda s3 bucket where lambda is stored
lambda_function_name = string // lambda function name
path_regex = string // regexp for mapping s3 path to database/table
sns_topic_arn = string // sns topic arn with s3 events (source for lambda)
sqs_queue_name = string // name of sqs queue for glue-sync lambda
sqs_queue_name_dl = string // name dead letter sqs que with not processed s3 events
iam_role_name = string // lambda role name
iam_policy_name = string // lambda policy name
lambda_s3_key = string // lambda s3 key - lambda path on S3 and file name filename
lambda_s3_bucket = string // lambda s3 bucket where lambda is stored
lambda_function_name = string // lambda function name
path_regex = string // regexp for mapping s3 path to database/table
sns_topic_arn = string // sns topic arn with s3 events (source for lambda)
sqs_queue_name = string // name of sqs queue for glue-sync lambda
sqs_queue_name_dl = string // name dead letter sqs que with not processed s3 events
iam_role_name = string // lambda role name
iam_policy_name = string // lambda policy name
sns_subcription_filter_policy = string // sns subcription filter policy
filter_policy_scope = string // sns subcription filter policy scope
})
description = "Configuration of glue-sync lambda"
}
Expand Down
Loading