A terraform module to set up Slack notifications for your AWS CodePipelines. Available through the Terraform registry.
resource "aws_codepipeline" "example" {
// ...
}
module "codepipeline_notifications" {
source = "kjagiello/codepipeline-slack-notifications/aws"
version = "3.0.0"
name = "codepipeline-notifications"
namespace = "kjagiello"
stage = "sandbox"
slack_url = "https://hooks.slack.com/services/(...)"
slack_channel = "#notifications"
codepipelines = [
aws_codepipeline.example,
]
}
Name | Version |
---|---|
terraform | >= 1.5 |
archive | >= 1.3 |
aws | >= 5.0 |
Name | Description | Type | Default | Required |
---|---|---|---|---|
additional_tag_map | Additional tags for appending to tags_as_list_of_maps. Not added to tags . |
map(string) |
{} |
no |
approval_event_type_ids | The list of pipeline events to trigger a notification on | list(string) |
[ |
no |
attributes | Additional attributes (e.g. 1 ) |
list(string) |
[] |
no |
codepipelines | CodePipeline resources that should trigger Slack notifications | list(any) |
n/a | yes |
context | Single object for setting entire context at once. See description of individual variables for details. Leave string and numeric variables as null to use default value.Individual variable settings (non-null) override settings in context object, except for attributes, tags, and additional_tag_map, which are merged. |
any |
{ |
no |
delimiter | Delimiter to be used between namespace , environment , stage , name and attributes .Defaults to - (hyphen). Set to "" to use no delimiter at all. |
string |
null |
no |
enabled | Set to false to prevent the module from creating any resources | bool |
null |
no |
environment | Environment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT' | string |
null |
no |
id_length_limit | Limit id to this many characters (minimum 6).Set to 0 for unlimited length.Set to null for default, which is 0 .Does not affect id_full . |
number |
null |
no |
label_key_case | The letter case of label keys (tag names) (i.e. name , namespace , environment , stage , attributes ) to use in tags .Possible values: lower , title , upper .Default value: title . |
string |
null |
no |
label_order | The naming order of the id output and Name tag. Defaults to ["namespace", "environment", "stage", "name", "attributes"]. You can omit any of the 5 elements, but at least one must be present. |
list(string) |
null |
no |
label_value_case | The letter case of output label values (also used in tags and id ).Possible values: lower , title , upper and none (no transformation).Default value: lower . |
string |
null |
no |
lambda_runtime | The runtime to use for the lambda function | string |
"python3.12" |
no |
name | Solution name, e.g. 'app' or 'jenkins' | string |
null |
no |
namespace | Namespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp' | string |
null |
no |
pipeline_event_type_ids | The list of pipeline events to trigger a notification on | list(string) |
[ |
no |
regex_replace_chars | Regex to replace chars with empty string in namespace , environment , stage and name .If not set, "/[^a-zA-Z0-9-]/" is used to remove all characters other than hyphens, letters and digits. |
string |
null |
no |
slack_channel | A slack channel to send the deployment notifications to | string |
n/a | yes |
slack_emoji | The emoji avatar of the user that sends the notifications | string |
":rocket:" |
no |
slack_url | Slack webhook URL for deploy notifications | string |
n/a | yes |
slack_username | The name of the user that sends the notifications | string |
"Deploy Bot" |
no |
stage | Stage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'release' | string |
null |
no |
tags | Additional tags (e.g. map('BusinessUnit','XYZ') |
map(string) |
{} |
no |
No outputs.