You must be logged in to view saved presets

Sets up a basic AWS CodeDeploy deployment group with EC2 tag filters and SNS notifications for deployment failures.
data "aws_iam_policy_document" "assume_role" {
statement {
actions = ["sts:AssumeRole"]
effect = "Allow"
principals {
identifiers = ["codedeploy.amazonaws.com"]
type = "Service"
}
}
}
resource "aws_codedeploy_app" "example" {
name = "example-app"
}
resource "aws_codedeploy_deployment_group" "example" {
alarm_configuration {
alarms = ["my-alarm-name"]
enabled = true
}
app_name = aws_codedeploy_app.example.name
auto_rollback_configuration {
enabled = true
events = ["DEPLOYMENT_FAILURE"]
}
deployment_group_name = "example-group"
outdated_instances_strategy = "UPDATE"
service_role_arn = aws_iam_role.example.arn
trigger_configuration {
trigger_events = ["DeploymentFailure"]
trigger_name = "example-trigger"
trigger_target_arn = aws_sns_topic.example.arn
}
}
resource "aws_iam_role" "example" {
assume_role_policy = data.aws_iam_policy_document.assume_role.json
name = "example-role"
}
resource "aws_iam_role_policy_attachment" "AWSCodeDeployRole" {
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole"
role = aws_iam_role.example.name
}
resource "aws_sns_topic" "example" {
name = "example-topic"
}