1. Packages
  2. AWS Classic
  3. API Docs
  4. codedeploy
  5. DeploymentConfig

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.41.0 published on Tuesday, Jun 18, 2024 by Pulumi

aws.codedeploy.DeploymentConfig

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.41.0 published on Tuesday, Jun 18, 2024 by Pulumi

    Provides a CodeDeploy deployment config for an application

    Example Usage

    Server Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const foo = new aws.codedeploy.DeploymentConfig("foo", {
        deploymentConfigName: "test-deployment-config",
        minimumHealthyHosts: {
            type: "HOST_COUNT",
            value: 2,
        },
    });
    const fooDeploymentGroup = new aws.codedeploy.DeploymentGroup("foo", {
        appName: fooApp.name,
        deploymentGroupName: "bar",
        serviceRoleArn: fooRole.arn,
        deploymentConfigName: foo.id,
        ec2TagFilters: [{
            key: "filterkey",
            type: "KEY_AND_VALUE",
            value: "filtervalue",
        }],
        triggerConfigurations: [{
            triggerEvents: ["DeploymentFailure"],
            triggerName: "foo-trigger",
            triggerTargetArn: "foo-topic-arn",
        }],
        autoRollbackConfiguration: {
            enabled: true,
            events: ["DEPLOYMENT_FAILURE"],
        },
        alarmConfiguration: {
            alarms: ["my-alarm-name"],
            enabled: true,
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    foo = aws.codedeploy.DeploymentConfig("foo",
        deployment_config_name="test-deployment-config",
        minimum_healthy_hosts=aws.codedeploy.DeploymentConfigMinimumHealthyHostsArgs(
            type="HOST_COUNT",
            value=2,
        ))
    foo_deployment_group = aws.codedeploy.DeploymentGroup("foo",
        app_name=foo_app["name"],
        deployment_group_name="bar",
        service_role_arn=foo_role["arn"],
        deployment_config_name=foo.id,
        ec2_tag_filters=[aws.codedeploy.DeploymentGroupEc2TagFilterArgs(
            key="filterkey",
            type="KEY_AND_VALUE",
            value="filtervalue",
        )],
        trigger_configurations=[aws.codedeploy.DeploymentGroupTriggerConfigurationArgs(
            trigger_events=["DeploymentFailure"],
            trigger_name="foo-trigger",
            trigger_target_arn="foo-topic-arn",
        )],
        auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(
            enabled=True,
            events=["DEPLOYMENT_FAILURE"],
        ),
        alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(
            alarms=["my-alarm-name"],
            enabled=True,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		foo, err := codedeploy.NewDeploymentConfig(ctx, "foo", &codedeploy.DeploymentConfigArgs{
    			DeploymentConfigName: pulumi.String("test-deployment-config"),
    			MinimumHealthyHosts: &codedeploy.DeploymentConfigMinimumHealthyHostsArgs{
    				Type:  pulumi.String("HOST_COUNT"),
    				Value: pulumi.Int(2),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = codedeploy.NewDeploymentGroup(ctx, "foo", &codedeploy.DeploymentGroupArgs{
    			AppName:              pulumi.Any(fooApp.Name),
    			DeploymentGroupName:  pulumi.String("bar"),
    			ServiceRoleArn:       pulumi.Any(fooRole.Arn),
    			DeploymentConfigName: foo.ID(),
    			Ec2TagFilters: codedeploy.DeploymentGroupEc2TagFilterArray{
    				&codedeploy.DeploymentGroupEc2TagFilterArgs{
    					Key:   pulumi.String("filterkey"),
    					Type:  pulumi.String("KEY_AND_VALUE"),
    					Value: pulumi.String("filtervalue"),
    				},
    			},
    			TriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{
    				&codedeploy.DeploymentGroupTriggerConfigurationArgs{
    					TriggerEvents: pulumi.StringArray{
    						pulumi.String("DeploymentFailure"),
    					},
    					TriggerName:      pulumi.String("foo-trigger"),
    					TriggerTargetArn: pulumi.String("foo-topic-arn"),
    				},
    			},
    			AutoRollbackConfiguration: &codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{
    				Enabled: pulumi.Bool(true),
    				Events: pulumi.StringArray{
    					pulumi.String("DEPLOYMENT_FAILURE"),
    				},
    			},
    			AlarmConfiguration: &codedeploy.DeploymentGroupAlarmConfigurationArgs{
    				Alarms: pulumi.StringArray{
    					pulumi.String("my-alarm-name"),
    				},
    				Enabled: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Aws.CodeDeploy.DeploymentConfig("foo", new()
        {
            DeploymentConfigName = "test-deployment-config",
            MinimumHealthyHosts = new Aws.CodeDeploy.Inputs.DeploymentConfigMinimumHealthyHostsArgs
            {
                Type = "HOST_COUNT",
                Value = 2,
            },
        });
    
        var fooDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup("foo", new()
        {
            AppName = fooApp.Name,
            DeploymentGroupName = "bar",
            ServiceRoleArn = fooRole.Arn,
            DeploymentConfigName = foo.Id,
            Ec2TagFilters = new[]
            {
                new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagFilterArgs
                {
                    Key = "filterkey",
                    Type = "KEY_AND_VALUE",
                    Value = "filtervalue",
                },
            },
            TriggerConfigurations = new[]
            {
                new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs
                {
                    TriggerEvents = new[]
                    {
                        "DeploymentFailure",
                    },
                    TriggerName = "foo-trigger",
                    TriggerTargetArn = "foo-topic-arn",
                },
            },
            AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs
            {
                Enabled = true,
                Events = new[]
                {
                    "DEPLOYMENT_FAILURE",
                },
            },
            AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs
            {
                Alarms = new[]
                {
                    "my-alarm-name",
                },
                Enabled = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.codedeploy.DeploymentConfig;
    import com.pulumi.aws.codedeploy.DeploymentConfigArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentConfigMinimumHealthyHostsArgs;
    import com.pulumi.aws.codedeploy.DeploymentGroup;
    import com.pulumi.aws.codedeploy.DeploymentGroupArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagFilterArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupTriggerConfigurationArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var foo = new DeploymentConfig("foo", DeploymentConfigArgs.builder()
                .deploymentConfigName("test-deployment-config")
                .minimumHealthyHosts(DeploymentConfigMinimumHealthyHostsArgs.builder()
                    .type("HOST_COUNT")
                    .value(2)
                    .build())
                .build());
    
            var fooDeploymentGroup = new DeploymentGroup("fooDeploymentGroup", DeploymentGroupArgs.builder()
                .appName(fooApp.name())
                .deploymentGroupName("bar")
                .serviceRoleArn(fooRole.arn())
                .deploymentConfigName(foo.id())
                .ec2TagFilters(DeploymentGroupEc2TagFilterArgs.builder()
                    .key("filterkey")
                    .type("KEY_AND_VALUE")
                    .value("filtervalue")
                    .build())
                .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()
                    .triggerEvents("DeploymentFailure")
                    .triggerName("foo-trigger")
                    .triggerTargetArn("foo-topic-arn")
                    .build())
                .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()
                    .enabled(true)
                    .events("DEPLOYMENT_FAILURE")
                    .build())
                .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()
                    .alarms("my-alarm-name")
                    .enabled(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: aws:codedeploy:DeploymentConfig
        properties:
          deploymentConfigName: test-deployment-config
          minimumHealthyHosts:
            type: HOST_COUNT
            value: 2
      fooDeploymentGroup:
        type: aws:codedeploy:DeploymentGroup
        name: foo
        properties:
          appName: ${fooApp.name}
          deploymentGroupName: bar
          serviceRoleArn: ${fooRole.arn}
          deploymentConfigName: ${foo.id}
          ec2TagFilters:
            - key: filterkey
              type: KEY_AND_VALUE
              value: filtervalue
          triggerConfigurations:
            - triggerEvents:
                - DeploymentFailure
              triggerName: foo-trigger
              triggerTargetArn: foo-topic-arn
          autoRollbackConfiguration:
            enabled: true
            events:
              - DEPLOYMENT_FAILURE
          alarmConfiguration:
            alarms:
              - my-alarm-name
            enabled: true
    

    Lambda Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const foo = new aws.codedeploy.DeploymentConfig("foo", {
        deploymentConfigName: "test-deployment-config",
        computePlatform: "Lambda",
        trafficRoutingConfig: {
            type: "TimeBasedLinear",
            timeBasedLinear: {
                interval: 10,
                percentage: 10,
            },
        },
    });
    const fooDeploymentGroup = new aws.codedeploy.DeploymentGroup("foo", {
        appName: fooApp.name,
        deploymentGroupName: "bar",
        serviceRoleArn: fooRole.arn,
        deploymentConfigName: foo.id,
        autoRollbackConfiguration: {
            enabled: true,
            events: ["DEPLOYMENT_STOP_ON_ALARM"],
        },
        alarmConfiguration: {
            alarms: ["my-alarm-name"],
            enabled: true,
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    foo = aws.codedeploy.DeploymentConfig("foo",
        deployment_config_name="test-deployment-config",
        compute_platform="Lambda",
        traffic_routing_config=aws.codedeploy.DeploymentConfigTrafficRoutingConfigArgs(
            type="TimeBasedLinear",
            time_based_linear=aws.codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs(
                interval=10,
                percentage=10,
            ),
        ))
    foo_deployment_group = aws.codedeploy.DeploymentGroup("foo",
        app_name=foo_app["name"],
        deployment_group_name="bar",
        service_role_arn=foo_role["arn"],
        deployment_config_name=foo.id,
        auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(
            enabled=True,
            events=["DEPLOYMENT_STOP_ON_ALARM"],
        ),
        alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(
            alarms=["my-alarm-name"],
            enabled=True,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		foo, err := codedeploy.NewDeploymentConfig(ctx, "foo", &codedeploy.DeploymentConfigArgs{
    			DeploymentConfigName: pulumi.String("test-deployment-config"),
    			ComputePlatform:      pulumi.String("Lambda"),
    			TrafficRoutingConfig: &codedeploy.DeploymentConfigTrafficRoutingConfigArgs{
    				Type: pulumi.String("TimeBasedLinear"),
    				TimeBasedLinear: &codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs{
    					Interval:   pulumi.Int(10),
    					Percentage: pulumi.Int(10),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = codedeploy.NewDeploymentGroup(ctx, "foo", &codedeploy.DeploymentGroupArgs{
    			AppName:              pulumi.Any(fooApp.Name),
    			DeploymentGroupName:  pulumi.String("bar"),
    			ServiceRoleArn:       pulumi.Any(fooRole.Arn),
    			DeploymentConfigName: foo.ID(),
    			AutoRollbackConfiguration: &codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{
    				Enabled: pulumi.Bool(true),
    				Events: pulumi.StringArray{
    					pulumi.String("DEPLOYMENT_STOP_ON_ALARM"),
    				},
    			},
    			AlarmConfiguration: &codedeploy.DeploymentGroupAlarmConfigurationArgs{
    				Alarms: pulumi.StringArray{
    					pulumi.String("my-alarm-name"),
    				},
    				Enabled: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Aws.CodeDeploy.DeploymentConfig("foo", new()
        {
            DeploymentConfigName = "test-deployment-config",
            ComputePlatform = "Lambda",
            TrafficRoutingConfig = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigArgs
            {
                Type = "TimeBasedLinear",
                TimeBasedLinear = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs
                {
                    Interval = 10,
                    Percentage = 10,
                },
            },
        });
    
        var fooDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup("foo", new()
        {
            AppName = fooApp.Name,
            DeploymentGroupName = "bar",
            ServiceRoleArn = fooRole.Arn,
            DeploymentConfigName = foo.Id,
            AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs
            {
                Enabled = true,
                Events = new[]
                {
                    "DEPLOYMENT_STOP_ON_ALARM",
                },
            },
            AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs
            {
                Alarms = new[]
                {
                    "my-alarm-name",
                },
                Enabled = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.codedeploy.DeploymentConfig;
    import com.pulumi.aws.codedeploy.DeploymentConfigArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentConfigTrafficRoutingConfigArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs;
    import com.pulumi.aws.codedeploy.DeploymentGroup;
    import com.pulumi.aws.codedeploy.DeploymentGroupArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var foo = new DeploymentConfig("foo", DeploymentConfigArgs.builder()
                .deploymentConfigName("test-deployment-config")
                .computePlatform("Lambda")
                .trafficRoutingConfig(DeploymentConfigTrafficRoutingConfigArgs.builder()
                    .type("TimeBasedLinear")
                    .timeBasedLinear(DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs.builder()
                        .interval(10)
                        .percentage(10)
                        .build())
                    .build())
                .build());
    
            var fooDeploymentGroup = new DeploymentGroup("fooDeploymentGroup", DeploymentGroupArgs.builder()
                .appName(fooApp.name())
                .deploymentGroupName("bar")
                .serviceRoleArn(fooRole.arn())
                .deploymentConfigName(foo.id())
                .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()
                    .enabled(true)
                    .events("DEPLOYMENT_STOP_ON_ALARM")
                    .build())
                .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()
                    .alarms("my-alarm-name")
                    .enabled(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: aws:codedeploy:DeploymentConfig
        properties:
          deploymentConfigName: test-deployment-config
          computePlatform: Lambda
          trafficRoutingConfig:
            type: TimeBasedLinear
            timeBasedLinear:
              interval: 10
              percentage: 10
      fooDeploymentGroup:
        type: aws:codedeploy:DeploymentGroup
        name: foo
        properties:
          appName: ${fooApp.name}
          deploymentGroupName: bar
          serviceRoleArn: ${fooRole.arn}
          deploymentConfigName: ${foo.id}
          autoRollbackConfiguration:
            enabled: true
            events:
              - DEPLOYMENT_STOP_ON_ALARM
          alarmConfiguration:
            alarms:
              - my-alarm-name
            enabled: true
    

    Create DeploymentConfig Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new DeploymentConfig(name: string, args?: DeploymentConfigArgs, opts?: CustomResourceOptions);
    @overload
    def DeploymentConfig(resource_name: str,
                         args: Optional[DeploymentConfigArgs] = None,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def DeploymentConfig(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         compute_platform: Optional[str] = None,
                         deployment_config_name: Optional[str] = None,
                         minimum_healthy_hosts: Optional[DeploymentConfigMinimumHealthyHostsArgs] = None,
                         traffic_routing_config: Optional[DeploymentConfigTrafficRoutingConfigArgs] = None)
    func NewDeploymentConfig(ctx *Context, name string, args *DeploymentConfigArgs, opts ...ResourceOption) (*DeploymentConfig, error)
    public DeploymentConfig(string name, DeploymentConfigArgs? args = null, CustomResourceOptions? opts = null)
    public DeploymentConfig(String name, DeploymentConfigArgs args)
    public DeploymentConfig(String name, DeploymentConfigArgs args, CustomResourceOptions options)
    
    type: aws:codedeploy:DeploymentConfig
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DeploymentConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DeploymentConfigArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DeploymentConfigArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DeploymentConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DeploymentConfigArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var deploymentConfigResource = new Aws.CodeDeploy.DeploymentConfig("deploymentConfigResource", new()
    {
        ComputePlatform = "string",
        DeploymentConfigName = "string",
        MinimumHealthyHosts = new Aws.CodeDeploy.Inputs.DeploymentConfigMinimumHealthyHostsArgs
        {
            Type = "string",
            Value = 0,
        },
        TrafficRoutingConfig = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigArgs
        {
            TimeBasedCanary = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigTimeBasedCanaryArgs
            {
                Interval = 0,
                Percentage = 0,
            },
            TimeBasedLinear = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs
            {
                Interval = 0,
                Percentage = 0,
            },
            Type = "string",
        },
    });
    
    example, err := codedeploy.NewDeploymentConfig(ctx, "deploymentConfigResource", &codedeploy.DeploymentConfigArgs{
    	ComputePlatform:      pulumi.String("string"),
    	DeploymentConfigName: pulumi.String("string"),
    	MinimumHealthyHosts: &codedeploy.DeploymentConfigMinimumHealthyHostsArgs{
    		Type:  pulumi.String("string"),
    		Value: pulumi.Int(0),
    	},
    	TrafficRoutingConfig: &codedeploy.DeploymentConfigTrafficRoutingConfigArgs{
    		TimeBasedCanary: &codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedCanaryArgs{
    			Interval:   pulumi.Int(0),
    			Percentage: pulumi.Int(0),
    		},
    		TimeBasedLinear: &codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs{
    			Interval:   pulumi.Int(0),
    			Percentage: pulumi.Int(0),
    		},
    		Type: pulumi.String("string"),
    	},
    })
    
    var deploymentConfigResource = new DeploymentConfig("deploymentConfigResource", DeploymentConfigArgs.builder()
        .computePlatform("string")
        .deploymentConfigName("string")
        .minimumHealthyHosts(DeploymentConfigMinimumHealthyHostsArgs.builder()
            .type("string")
            .value(0)
            .build())
        .trafficRoutingConfig(DeploymentConfigTrafficRoutingConfigArgs.builder()
            .timeBasedCanary(DeploymentConfigTrafficRoutingConfigTimeBasedCanaryArgs.builder()
                .interval(0)
                .percentage(0)
                .build())
            .timeBasedLinear(DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs.builder()
                .interval(0)
                .percentage(0)
                .build())
            .type("string")
            .build())
        .build());
    
    deployment_config_resource = aws.codedeploy.DeploymentConfig("deploymentConfigResource",
        compute_platform="string",
        deployment_config_name="string",
        minimum_healthy_hosts=aws.codedeploy.DeploymentConfigMinimumHealthyHostsArgs(
            type="string",
            value=0,
        ),
        traffic_routing_config=aws.codedeploy.DeploymentConfigTrafficRoutingConfigArgs(
            time_based_canary=aws.codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedCanaryArgs(
                interval=0,
                percentage=0,
            ),
            time_based_linear=aws.codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs(
                interval=0,
                percentage=0,
            ),
            type="string",
        ))
    
    const deploymentConfigResource = new aws.codedeploy.DeploymentConfig("deploymentConfigResource", {
        computePlatform: "string",
        deploymentConfigName: "string",
        minimumHealthyHosts: {
            type: "string",
            value: 0,
        },
        trafficRoutingConfig: {
            timeBasedCanary: {
                interval: 0,
                percentage: 0,
            },
            timeBasedLinear: {
                interval: 0,
                percentage: 0,
            },
            type: "string",
        },
    });
    
    type: aws:codedeploy:DeploymentConfig
    properties:
        computePlatform: string
        deploymentConfigName: string
        minimumHealthyHosts:
            type: string
            value: 0
        trafficRoutingConfig:
            timeBasedCanary:
                interval: 0
                percentage: 0
            timeBasedLinear:
                interval: 0
                percentage: 0
            type: string
    

    DeploymentConfig Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The DeploymentConfig resource accepts the following input properties:

    ComputePlatform string
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    DeploymentConfigName string
    The name of the deployment config.
    MinimumHealthyHosts DeploymentConfigMinimumHealthyHosts
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    TrafficRoutingConfig DeploymentConfigTrafficRoutingConfig
    A traffic_routing_config block. Traffic Routing Config is documented below.
    ComputePlatform string
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    DeploymentConfigName string
    The name of the deployment config.
    MinimumHealthyHosts DeploymentConfigMinimumHealthyHostsArgs
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    TrafficRoutingConfig DeploymentConfigTrafficRoutingConfigArgs
    A traffic_routing_config block. Traffic Routing Config is documented below.
    computePlatform String
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deploymentConfigName String
    The name of the deployment config.
    minimumHealthyHosts DeploymentConfigMinimumHealthyHosts
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    trafficRoutingConfig DeploymentConfigTrafficRoutingConfig
    A traffic_routing_config block. Traffic Routing Config is documented below.
    computePlatform string
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deploymentConfigName string
    The name of the deployment config.
    minimumHealthyHosts DeploymentConfigMinimumHealthyHosts
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    trafficRoutingConfig DeploymentConfigTrafficRoutingConfig
    A traffic_routing_config block. Traffic Routing Config is documented below.
    compute_platform str
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deployment_config_name str
    The name of the deployment config.
    minimum_healthy_hosts DeploymentConfigMinimumHealthyHostsArgs
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    traffic_routing_config DeploymentConfigTrafficRoutingConfigArgs
    A traffic_routing_config block. Traffic Routing Config is documented below.
    computePlatform String
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deploymentConfigName String
    The name of the deployment config.
    minimumHealthyHosts Property Map
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    trafficRoutingConfig Property Map
    A traffic_routing_config block. Traffic Routing Config is documented below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the DeploymentConfig resource produces the following output properties:

    Arn string
    The ARN of the deployment config.
    DeploymentConfigId string
    The AWS Assigned deployment config id
    Id string
    The provider-assigned unique ID for this managed resource.
    Arn string
    The ARN of the deployment config.
    DeploymentConfigId string
    The AWS Assigned deployment config id
    Id string
    The provider-assigned unique ID for this managed resource.
    arn String
    The ARN of the deployment config.
    deploymentConfigId String
    The AWS Assigned deployment config id
    id String
    The provider-assigned unique ID for this managed resource.
    arn string
    The ARN of the deployment config.
    deploymentConfigId string
    The AWS Assigned deployment config id
    id string
    The provider-assigned unique ID for this managed resource.
    arn str
    The ARN of the deployment config.
    deployment_config_id str
    The AWS Assigned deployment config id
    id str
    The provider-assigned unique ID for this managed resource.
    arn String
    The ARN of the deployment config.
    deploymentConfigId String
    The AWS Assigned deployment config id
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing DeploymentConfig Resource

    Get an existing DeploymentConfig resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DeploymentConfigState, opts?: CustomResourceOptions): DeploymentConfig
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            compute_platform: Optional[str] = None,
            deployment_config_id: Optional[str] = None,
            deployment_config_name: Optional[str] = None,
            minimum_healthy_hosts: Optional[DeploymentConfigMinimumHealthyHostsArgs] = None,
            traffic_routing_config: Optional[DeploymentConfigTrafficRoutingConfigArgs] = None) -> DeploymentConfig
    func GetDeploymentConfig(ctx *Context, name string, id IDInput, state *DeploymentConfigState, opts ...ResourceOption) (*DeploymentConfig, error)
    public static DeploymentConfig Get(string name, Input<string> id, DeploymentConfigState? state, CustomResourceOptions? opts = null)
    public static DeploymentConfig get(String name, Output<String> id, DeploymentConfigState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string
    The ARN of the deployment config.
    ComputePlatform string
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    DeploymentConfigId string
    The AWS Assigned deployment config id
    DeploymentConfigName string
    The name of the deployment config.
    MinimumHealthyHosts DeploymentConfigMinimumHealthyHosts
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    TrafficRoutingConfig DeploymentConfigTrafficRoutingConfig
    A traffic_routing_config block. Traffic Routing Config is documented below.
    Arn string
    The ARN of the deployment config.
    ComputePlatform string
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    DeploymentConfigId string
    The AWS Assigned deployment config id
    DeploymentConfigName string
    The name of the deployment config.
    MinimumHealthyHosts DeploymentConfigMinimumHealthyHostsArgs
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    TrafficRoutingConfig DeploymentConfigTrafficRoutingConfigArgs
    A traffic_routing_config block. Traffic Routing Config is documented below.
    arn String
    The ARN of the deployment config.
    computePlatform String
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deploymentConfigId String
    The AWS Assigned deployment config id
    deploymentConfigName String
    The name of the deployment config.
    minimumHealthyHosts DeploymentConfigMinimumHealthyHosts
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    trafficRoutingConfig DeploymentConfigTrafficRoutingConfig
    A traffic_routing_config block. Traffic Routing Config is documented below.
    arn string
    The ARN of the deployment config.
    computePlatform string
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deploymentConfigId string
    The AWS Assigned deployment config id
    deploymentConfigName string
    The name of the deployment config.
    minimumHealthyHosts DeploymentConfigMinimumHealthyHosts
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    trafficRoutingConfig DeploymentConfigTrafficRoutingConfig
    A traffic_routing_config block. Traffic Routing Config is documented below.
    arn str
    The ARN of the deployment config.
    compute_platform str
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deployment_config_id str
    The AWS Assigned deployment config id
    deployment_config_name str
    The name of the deployment config.
    minimum_healthy_hosts DeploymentConfigMinimumHealthyHostsArgs
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    traffic_routing_config DeploymentConfigTrafficRoutingConfigArgs
    A traffic_routing_config block. Traffic Routing Config is documented below.
    arn String
    The ARN of the deployment config.
    computePlatform String
    The compute platform can be Server, Lambda, or ECS. Default is Server.
    deploymentConfigId String
    The AWS Assigned deployment config id
    deploymentConfigName String
    The name of the deployment config.
    minimumHealthyHosts Property Map
    A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.
    trafficRoutingConfig Property Map
    A traffic_routing_config block. Traffic Routing Config is documented below.

    Supporting Types

    DeploymentConfigMinimumHealthyHosts, DeploymentConfigMinimumHealthyHostsArgs

    Type string
    The type can either be FLEET_PERCENT or HOST_COUNT.
    Value int
    The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.
    Type string
    The type can either be FLEET_PERCENT or HOST_COUNT.
    Value int
    The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.
    type String
    The type can either be FLEET_PERCENT or HOST_COUNT.
    value Integer
    The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.
    type string
    The type can either be FLEET_PERCENT or HOST_COUNT.
    value number
    The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.
    type str
    The type can either be FLEET_PERCENT or HOST_COUNT.
    value int
    The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.
    type String
    The type can either be FLEET_PERCENT or HOST_COUNT.
    value Number
    The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.

    DeploymentConfigTrafficRoutingConfig, DeploymentConfigTrafficRoutingConfigArgs

    TimeBasedCanary DeploymentConfigTrafficRoutingConfigTimeBasedCanary
    The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.
    TimeBasedLinear DeploymentConfigTrafficRoutingConfigTimeBasedLinear
    The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.
    Type string
    Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.
    TimeBasedCanary DeploymentConfigTrafficRoutingConfigTimeBasedCanary
    The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.
    TimeBasedLinear DeploymentConfigTrafficRoutingConfigTimeBasedLinear
    The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.
    Type string
    Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.
    timeBasedCanary DeploymentConfigTrafficRoutingConfigTimeBasedCanary
    The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.
    timeBasedLinear DeploymentConfigTrafficRoutingConfigTimeBasedLinear
    The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.
    type String
    Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.
    timeBasedCanary DeploymentConfigTrafficRoutingConfigTimeBasedCanary
    The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.
    timeBasedLinear DeploymentConfigTrafficRoutingConfigTimeBasedLinear
    The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.
    type string
    Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.
    time_based_canary DeploymentConfigTrafficRoutingConfigTimeBasedCanary
    The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.
    time_based_linear DeploymentConfigTrafficRoutingConfigTimeBasedLinear
    The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.
    type str
    Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.
    timeBasedCanary Property Map
    The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.
    timeBasedLinear Property Map
    The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.
    type String
    Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.

    DeploymentConfigTrafficRoutingConfigTimeBasedCanary, DeploymentConfigTrafficRoutingConfigTimeBasedCanaryArgs

    Interval int
    The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.
    Percentage int
    The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.
    Interval int
    The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.
    Percentage int
    The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.
    interval Integer
    The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.
    percentage Integer
    The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.
    interval number
    The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.
    percentage number
    The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.
    interval int
    The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.
    percentage int
    The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.
    interval Number
    The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.
    percentage Number
    The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.

    DeploymentConfigTrafficRoutingConfigTimeBasedLinear, DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs

    Interval int
    The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.
    Percentage int
    The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.
    Interval int
    The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.
    Percentage int
    The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.
    interval Integer
    The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.
    percentage Integer
    The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.
    interval number
    The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.
    percentage number
    The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.
    interval int
    The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.
    percentage int
    The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.
    interval Number
    The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.
    percentage Number
    The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.

    Import

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

    $ pulumi import aws:codedeploy/deploymentConfig:DeploymentConfig example my-deployment-config
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.41.0 published on Tuesday, Jun 18, 2024 by Pulumi