Required
These variables have no default values and must be set in every module call.The name of the SNS topic to create or reference.
The Slack incoming webhook URL. If the URL is KMS-encrypted, provide the base64-encoded ciphertext and set
kms_key_arn.The name of the Slack channel that receives notifications (for example,
#alerts).The display name that appears on Slack messages posted by the bot.
General
Whether to create all module resources. Set to
false to disable the entire module without removing it from your configuration.A map of tags to add to all resources created by this module.
Slack settings
A custom emoji that appears as the bot icon on Slack messages.
When
true, the Lambda function logs the full incoming event payload to CloudWatch at the INFO level. Useful for debugging, but increases log volume.Logging level for the Lambda function. Valid values are
DEBUG, INFO, WARNING, ERROR, and CRITICAL.SNS topic
Whether to create a new SNS topic. Set to
false when you want to subscribe the Lambda function to an existing topic identified by sns_topic_name.ARN of the KMS key used to enable server-side encryption (SSE) on the SNS topic.
Whether to enable SNS delivery status logging for Lambda deliveries. When enabled, success and failure delivery attempts are logged to CloudWatch using an IAM feedback role.
ARN of an existing IAM role to use for SNS delivery status logging. When set, the module does not create a new feedback role.
Name of the IAM role created for SNS delivery status logging. Only used when
enable_sns_topic_delivery_status_logs = true and no existing role ARN is provided.Description of the IAM role used for SNS delivery status logging.
IAM path for the SNS feedback role.
Whether to force-detach any policies from the SNS feedback IAM role before destroying it.
ARN of a permissions boundary policy to attach to the SNS feedback IAM role.
Additional tags to assign to the SNS topic feedback IAM role.
Percentage of successful Lambda deliveries to log. Accepts values from
0 to 100.Additional tags for the SNS topic, merged with
tags.Lambda function
The name given to the Lambda function.
A description for the Lambda function, visible in the AWS console.
Path to a custom Lambda function source file, relative to your Terraform root module. When
null, the bundled functions/notify_slack.py is used.The Lambda runtime identifier. Defaults to
python3.13.Instruction set architecture for the Lambda function. Valid values are
["x86_64"] and ["arm64"].The number of reserved concurrent executions for the Lambda function.
0 disables invocations; -1 removes concurrency limits.Amount of ephemeral
/tmp storage in MB available to the Lambda function at runtime. Valid range is 512–10240 MB.Additional tags for the Lambda function, merged with
tags.Whether to recreate the Lambda deployment package if it is missing locally.
An extra string added to the hash used for the Lambda deployment package. Useful when building the same source path for multiple functions.
When
true, the file timestamp is used when deciding whether to recreate the deployment archive. When false (the default), the timestamp is ignored and the archive is only recreated when the source content changes.Lambda networking
List of subnet IDs the Lambda function should run in. Use private or intra subnets to keep traffic inside the VPC.
List of security group IDs to associate with the Lambda function when running inside a VPC.
Lambda IAM
ARN of an existing IAM role to attach to the Lambda function. When set, the module does not create a new role.
Prefix for the generated IAM role name. The full name is
{prefix}-{lambda_function_name}.IAM path for the Lambda execution role.
ARN of a permissions boundary policy to attach to the Lambda execution role.
Additional tags for the Lambda IAM role.
Lambda storage
Whether to upload the Lambda deployment package to S3 rather than storing it locally.
Name of the S3 bucket used to store the Lambda deployment artifact. Required when
lambda_function_store_on_s3 = true.Lambda dead letter
ARN of an SNS topic or SQS queue to notify when a Lambda invocation fails after all retries are exhausted.
Whether to attach an IAM policy granting the Lambda role permission to send to the dead letter target.
Encryption
ARN of the KMS key used to decrypt an encrypted Slack webhook URL. When set,
kms:Decrypt is added to the Lambda execution role policy.ARN of the KMS key used to encrypt log data in the Lambda CloudWatch log group.
CloudWatch
Number of days to retain log events in the Lambda log group.
0 means logs are retained indefinitely.Additional tags for the CloudWatch log group, merged with
tags.Subscription filter
A valid SNS filter policy JSON string. When set, only messages matching this policy are delivered to the Lambda function.
The scope of the filter policy. Valid values are
MessageAttributes and MessageBody.