AWS Codepipeline Notification
Since communication in teams became more efficient and messengers such as Slack or MS Teams became a hub for developers, why don't keep all neccessary information handy in one place? Like the status of your Codepipeline. You will get notified of any failed state and the approval action only as of right now.
How it works
Cloudwatch Events Rule trigger a Lambda which sends out basic information about the state of your CodePipeline to either Slack or MS Teams in the appropriate Format using an incoming Webhook which needs to be configured on either of the messengers.
How to deploy it
You can deploy this application by cloning the github repository and packaging the template using Cloudformation.
Package it first and upload to S3:
aws cloudformation package \ --template-file CF-PipelineNotification.yaml\ --s3-bucket <YourBucketName> \ --output-template-file packaged-PipelineNotification.yaml
Then deploy it as a cloudformation stack:
aws cloudformation deploy \ --template-file packaged-PipelineNotification.yaml \ --stack-name CF-PipelineNotification \ --capabilities CAPABILITY_IAM \ --parameter-overrides \ WebhookUrl=<YourWebhookUrl> \ Env=<slack/msteams>
How it looks like:
Further information and the source code can be found here:
CloudFormation vs. Terraform
What are the differences? Which tool is the best for your needs?
Shortcuts for AWS Infrastructure Automation
For some AWS services you can use the AWS console UI for guidance and creating the first version and almost extract most of the automation
CloudFormation security validation
Integrate cfn-nag to validate all CloudFormation files