Resource: aws_codedeploy_deployment_config

Provides a CodeDeploy deployment config for an application

Example Usage

Server Usage

resource "aws_codedeploy_deployment_config" "foo" {
  deployment_config_name = "test-deployment-config"

  minimum_healthy_hosts {
    type  = "HOST_COUNT"
    value = 2
  }
}

resource "aws_codedeploy_deployment_group" "foo" {
  app_name               = aws_codedeploy_app.foo_app.name
  deployment_group_name  = "bar"
  service_role_arn       = aws_iam_role.foo_role.arn
  deployment_config_name = aws_codedeploy_deployment_config.foo.id

  ec2_tag_filter {
    key   = "filterkey"
    type  = "KEY_AND_VALUE"
    value = "filtervalue"
  }

  trigger_configuration {
    trigger_events     = ["DeploymentFailure"]
    trigger_name       = "foo-trigger"
    trigger_target_arn = "foo-topic-arn"
  }

  auto_rollback_configuration {
    enabled = true
    events  = ["DEPLOYMENT_FAILURE"]
  }

  alarm_configuration {
    alarms  = ["my-alarm-name"]
    enabled = true
  }
}

Lambda Usage

resource "aws_codedeploy_deployment_config" "foo" {
  deployment_config_name = "test-deployment-config"
  compute_platform       = "Lambda"

  traffic_routing_config {
    type = "TimeBasedLinear"

    time_based_linear {
      interval   = 10
      percentage = 10
    }
  }
}

resource "aws_codedeploy_deployment_group" "foo" {
  app_name               = aws_codedeploy_app.foo_app.name
  deployment_group_name  = "bar"
  service_role_arn       = aws_iam_role.foo_role.arn
  deployment_config_name = aws_codedeploy_deployment_config.foo.id

  auto_rollback_configuration {
    enabled = true
    events  = ["DEPLOYMENT_STOP_ON_ALARM"]
  }

  alarm_configuration {
    alarms  = ["my-alarm-name"]
    enabled = true
  }
}

Argument Reference

This resource supports the following arguments:

The minimum_healthy_hosts block supports the following:

The traffic_routing_config block supports the following:

The time_based_canary block supports the following:

The time_based_linear block supports the following:

Attribute Reference

This resource exports the following attributes in addition to the arguments above:

Import

In Terraform v1.5.0 and later, use an import block to import CodeDeploy Deployment Configurations using the deployment_config_name. For example:

import {
  to = aws_codedeploy_deployment_config.example
  id = "my-deployment-config"
}

Using terraform import, import CodeDeploy Deployment Configurations using the deployment_config_name. For example:

% terraform import aws_codedeploy_deployment_config.example my-deployment-config