1. Packages
  2. AWS
  3. API Docs
  4. codedeploy
  5. DeploymentGroup
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.codedeploy.DeploymentGroup

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    Provides a CodeDeploy Deployment Group for a CodeDeploy Application

    NOTE on blue/green deployments: When using green_fleet_provisioning_option with the COPY_AUTO_SCALING_GROUP action, CodeDeploy will create a new ASG with a different name. This ASG is not managed by this provider and will conflict with existing configuration and state. You may want to use a different approach to managing deployments that involve multiple ASG, such as DISCOVER_EXISTING with separate blue and green ASG.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const assumeRole = aws.iam.getPolicyDocument({
        statements: [{
            effect: "Allow",
            principals: [{
                type: "Service",
                identifiers: ["codedeploy.amazonaws.com"],
            }],
            actions: ["sts:AssumeRole"],
        }],
    });
    const example = new aws.iam.Role("example", {
        name: "example-role",
        assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
    });
    const aWSCodeDeployRole = new aws.iam.RolePolicyAttachment("AWSCodeDeployRole", {
        policyArn: "arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole",
        role: example.name,
    });
    const exampleApplication = new aws.codedeploy.Application("example", {name: "example-app"});
    const exampleTopic = new aws.sns.Topic("example", {name: "example-topic"});
    const exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup("example", {
        appName: exampleApplication.name,
        deploymentGroupName: "example-group",
        serviceRoleArn: example.arn,
        ec2TagSets: [{
            ec2TagFilters: [
                {
                    key: "filterkey1",
                    type: "KEY_AND_VALUE",
                    value: "filtervalue",
                },
                {
                    key: "filterkey2",
                    type: "KEY_AND_VALUE",
                    value: "filtervalue",
                },
            ],
        }],
        triggerConfigurations: [{
            triggerEvents: ["DeploymentFailure"],
            triggerName: "example-trigger",
            triggerTargetArn: exampleTopic.arn,
        }],
        autoRollbackConfiguration: {
            enabled: true,
            events: ["DEPLOYMENT_FAILURE"],
        },
        alarmConfiguration: {
            alarms: ["my-alarm-name"],
            enabled: true,
        },
        outdatedInstancesStrategy: "UPDATE",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    assume_role = aws.iam.get_policy_document(statements=[{
        "effect": "Allow",
        "principals": [{
            "type": "Service",
            "identifiers": ["codedeploy.amazonaws.com"],
        }],
        "actions": ["sts:AssumeRole"],
    }])
    example = aws.iam.Role("example",
        name="example-role",
        assume_role_policy=assume_role.json)
    a_ws_code_deploy_role = aws.iam.RolePolicyAttachment("AWSCodeDeployRole",
        policy_arn="arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole",
        role=example.name)
    example_application = aws.codedeploy.Application("example", name="example-app")
    example_topic = aws.sns.Topic("example", name="example-topic")
    example_deployment_group = aws.codedeploy.DeploymentGroup("example",
        app_name=example_application.name,
        deployment_group_name="example-group",
        service_role_arn=example.arn,
        ec2_tag_sets=[{
            "ec2_tag_filters": [
                {
                    "key": "filterkey1",
                    "type": "KEY_AND_VALUE",
                    "value": "filtervalue",
                },
                {
                    "key": "filterkey2",
                    "type": "KEY_AND_VALUE",
                    "value": "filtervalue",
                },
            ],
        }],
        trigger_configurations=[{
            "trigger_events": ["DeploymentFailure"],
            "trigger_name": "example-trigger",
            "trigger_target_arn": example_topic.arn,
        }],
        auto_rollback_configuration={
            "enabled": True,
            "events": ["DEPLOYMENT_FAILURE"],
        },
        alarm_configuration={
            "alarms": ["my-alarm-name"],
            "enabled": True,
        },
        outdated_instances_strategy="UPDATE")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
    			Statements: []iam.GetPolicyDocumentStatement{
    				{
    					Effect: pulumi.StringRef("Allow"),
    					Principals: []iam.GetPolicyDocumentStatementPrincipal{
    						{
    							Type: "Service",
    							Identifiers: []string{
    								"codedeploy.amazonaws.com",
    							},
    						},
    					},
    					Actions: []string{
    						"sts:AssumeRole",
    					},
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
    			Name:             pulumi.String("example-role"),
    			AssumeRolePolicy: pulumi.String(assumeRole.Json),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = iam.NewRolePolicyAttachment(ctx, "AWSCodeDeployRole", &iam.RolePolicyAttachmentArgs{
    			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole"),
    			Role:      example.Name,
    		})
    		if err != nil {
    			return err
    		}
    		exampleApplication, err := codedeploy.NewApplication(ctx, "example", &codedeploy.ApplicationArgs{
    			Name: pulumi.String("example-app"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleTopic, err := sns.NewTopic(ctx, "example", &sns.TopicArgs{
    			Name: pulumi.String("example-topic"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = codedeploy.NewDeploymentGroup(ctx, "example", &codedeploy.DeploymentGroupArgs{
    			AppName:             exampleApplication.Name,
    			DeploymentGroupName: pulumi.String("example-group"),
    			ServiceRoleArn:      example.Arn,
    			Ec2TagSets: codedeploy.DeploymentGroupEc2TagSetArray{
    				&codedeploy.DeploymentGroupEc2TagSetArgs{
    					Ec2TagFilters: codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArray{
    						&codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{
    							Key:   pulumi.String("filterkey1"),
    							Type:  pulumi.String("KEY_AND_VALUE"),
    							Value: pulumi.String("filtervalue"),
    						},
    						&codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{
    							Key:   pulumi.String("filterkey2"),
    							Type:  pulumi.String("KEY_AND_VALUE"),
    							Value: pulumi.String("filtervalue"),
    						},
    					},
    				},
    			},
    			TriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{
    				&codedeploy.DeploymentGroupTriggerConfigurationArgs{
    					TriggerEvents: pulumi.StringArray{
    						pulumi.String("DeploymentFailure"),
    					},
    					TriggerName:      pulumi.String("example-trigger"),
    					TriggerTargetArn: exampleTopic.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),
    			},
    			OutdatedInstancesStrategy: pulumi.String("UPDATE"),
    		})
    		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 assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
        {
            Statements = new[]
            {
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Principals = new[]
                    {
                        new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                        {
                            Type = "Service",
                            Identifiers = new[]
                            {
                                "codedeploy.amazonaws.com",
                            },
                        },
                    },
                    Actions = new[]
                    {
                        "sts:AssumeRole",
                    },
                },
            },
        });
    
        var example = new Aws.Iam.Role("example", new()
        {
            Name = "example-role",
            AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
        });
    
        var aWSCodeDeployRole = new Aws.Iam.RolePolicyAttachment("AWSCodeDeployRole", new()
        {
            PolicyArn = "arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole",
            Role = example.Name,
        });
    
        var exampleApplication = new Aws.CodeDeploy.Application("example", new()
        {
            Name = "example-app",
        });
    
        var exampleTopic = new Aws.Sns.Topic("example", new()
        {
            Name = "example-topic",
        });
    
        var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup("example", new()
        {
            AppName = exampleApplication.Name,
            DeploymentGroupName = "example-group",
            ServiceRoleArn = example.Arn,
            Ec2TagSets = new[]
            {
                new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetArgs
                {
                    Ec2TagFilters = new[]
                    {
                        new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs
                        {
                            Key = "filterkey1",
                            Type = "KEY_AND_VALUE",
                            Value = "filtervalue",
                        },
                        new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs
                        {
                            Key = "filterkey2",
                            Type = "KEY_AND_VALUE",
                            Value = "filtervalue",
                        },
                    },
                },
            },
            TriggerConfigurations = new[]
            {
                new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs
                {
                    TriggerEvents = new[]
                    {
                        "DeploymentFailure",
                    },
                    TriggerName = "example-trigger",
                    TriggerTargetArn = exampleTopic.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,
            },
            OutdatedInstancesStrategy = "UPDATE",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.iam.IamFunctions;
    import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
    import com.pulumi.aws.iam.Role;
    import com.pulumi.aws.iam.RoleArgs;
    import com.pulumi.aws.iam.RolePolicyAttachment;
    import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
    import com.pulumi.aws.codedeploy.Application;
    import com.pulumi.aws.codedeploy.ApplicationArgs;
    import com.pulumi.aws.sns.Topic;
    import com.pulumi.aws.sns.TopicArgs;
    import com.pulumi.aws.codedeploy.DeploymentGroup;
    import com.pulumi.aws.codedeploy.DeploymentGroupArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagSetArgs;
    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) {
            final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                .statements(GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                        .type("Service")
                        .identifiers("codedeploy.amazonaws.com")
                        .build())
                    .actions("sts:AssumeRole")
                    .build())
                .build());
    
            var example = new Role("example", RoleArgs.builder()
                .name("example-role")
                .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
                .build());
    
            var aWSCodeDeployRole = new RolePolicyAttachment("aWSCodeDeployRole", RolePolicyAttachmentArgs.builder()
                .policyArn("arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole")
                .role(example.name())
                .build());
    
            var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder()
                .name("example-app")
                .build());
    
            var exampleTopic = new Topic("exampleTopic", TopicArgs.builder()
                .name("example-topic")
                .build());
    
            var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder()
                .appName(exampleApplication.name())
                .deploymentGroupName("example-group")
                .serviceRoleArn(example.arn())
                .ec2TagSets(DeploymentGroupEc2TagSetArgs.builder()
                    .ec2TagFilters(                
                        DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()
                            .key("filterkey1")
                            .type("KEY_AND_VALUE")
                            .value("filtervalue")
                            .build(),
                        DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()
                            .key("filterkey2")
                            .type("KEY_AND_VALUE")
                            .value("filtervalue")
                            .build())
                    .build())
                .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()
                    .triggerEvents("DeploymentFailure")
                    .triggerName("example-trigger")
                    .triggerTargetArn(exampleTopic.arn())
                    .build())
                .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()
                    .enabled(true)
                    .events("DEPLOYMENT_FAILURE")
                    .build())
                .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()
                    .alarms("my-alarm-name")
                    .enabled(true)
                    .build())
                .outdatedInstancesStrategy("UPDATE")
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:iam:Role
        properties:
          name: example-role
          assumeRolePolicy: ${assumeRole.json}
      aWSCodeDeployRole:
        type: aws:iam:RolePolicyAttachment
        name: AWSCodeDeployRole
        properties:
          policyArn: arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole
          role: ${example.name}
      exampleApplication:
        type: aws:codedeploy:Application
        name: example
        properties:
          name: example-app
      exampleTopic:
        type: aws:sns:Topic
        name: example
        properties:
          name: example-topic
      exampleDeploymentGroup:
        type: aws:codedeploy:DeploymentGroup
        name: example
        properties:
          appName: ${exampleApplication.name}
          deploymentGroupName: example-group
          serviceRoleArn: ${example.arn}
          ec2TagSets:
            - ec2TagFilters:
                - key: filterkey1
                  type: KEY_AND_VALUE
                  value: filtervalue
                - key: filterkey2
                  type: KEY_AND_VALUE
                  value: filtervalue
          triggerConfigurations:
            - triggerEvents:
                - DeploymentFailure
              triggerName: example-trigger
              triggerTargetArn: ${exampleTopic.arn}
          autoRollbackConfiguration:
            enabled: true
            events:
              - DEPLOYMENT_FAILURE
          alarmConfiguration:
            alarms:
              - my-alarm-name
            enabled: true
          outdatedInstancesStrategy: UPDATE
    variables:
      assumeRole:
        fn::invoke:
          Function: aws:iam:getPolicyDocument
          Arguments:
            statements:
              - effect: Allow
                principals:
                  - type: Service
                    identifiers:
                      - codedeploy.amazonaws.com
                actions:
                  - sts:AssumeRole
    

    Blue Green Deployments with ECS

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.codedeploy.Application("example", {
        computePlatform: "ECS",
        name: "example",
    });
    const exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup("example", {
        appName: example.name,
        deploymentConfigName: "CodeDeployDefault.ECSAllAtOnce",
        deploymentGroupName: "example",
        serviceRoleArn: exampleAwsIamRole.arn,
        autoRollbackConfiguration: {
            enabled: true,
            events: ["DEPLOYMENT_FAILURE"],
        },
        blueGreenDeploymentConfig: {
            deploymentReadyOption: {
                actionOnTimeout: "CONTINUE_DEPLOYMENT",
            },
            terminateBlueInstancesOnDeploymentSuccess: {
                action: "TERMINATE",
                terminationWaitTimeInMinutes: 5,
            },
        },
        deploymentStyle: {
            deploymentOption: "WITH_TRAFFIC_CONTROL",
            deploymentType: "BLUE_GREEN",
        },
        ecsService: {
            clusterName: exampleAwsEcsCluster.name,
            serviceName: exampleAwsEcsService.name,
        },
        loadBalancerInfo: {
            targetGroupPairInfo: {
                prodTrafficRoute: {
                    listenerArns: [exampleAwsLbListener.arn],
                },
                targetGroups: [
                    {
                        name: blue.name,
                    },
                    {
                        name: green.name,
                    },
                ],
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.codedeploy.Application("example",
        compute_platform="ECS",
        name="example")
    example_deployment_group = aws.codedeploy.DeploymentGroup("example",
        app_name=example.name,
        deployment_config_name="CodeDeployDefault.ECSAllAtOnce",
        deployment_group_name="example",
        service_role_arn=example_aws_iam_role["arn"],
        auto_rollback_configuration={
            "enabled": True,
            "events": ["DEPLOYMENT_FAILURE"],
        },
        blue_green_deployment_config={
            "deployment_ready_option": {
                "action_on_timeout": "CONTINUE_DEPLOYMENT",
            },
            "terminate_blue_instances_on_deployment_success": {
                "action": "TERMINATE",
                "termination_wait_time_in_minutes": 5,
            },
        },
        deployment_style={
            "deployment_option": "WITH_TRAFFIC_CONTROL",
            "deployment_type": "BLUE_GREEN",
        },
        ecs_service={
            "cluster_name": example_aws_ecs_cluster["name"],
            "service_name": example_aws_ecs_service["name"],
        },
        load_balancer_info={
            "target_group_pair_info": {
                "prod_traffic_route": {
                    "listener_arns": [example_aws_lb_listener["arn"]],
                },
                "target_groups": [
                    {
                        "name": blue["name"],
                    },
                    {
                        "name": green["name"],
                    },
                ],
            },
        })
    
    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 {
    		example, err := codedeploy.NewApplication(ctx, "example", &codedeploy.ApplicationArgs{
    			ComputePlatform: pulumi.String("ECS"),
    			Name:            pulumi.String("example"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = codedeploy.NewDeploymentGroup(ctx, "example", &codedeploy.DeploymentGroupArgs{
    			AppName:              example.Name,
    			DeploymentConfigName: pulumi.String("CodeDeployDefault.ECSAllAtOnce"),
    			DeploymentGroupName:  pulumi.String("example"),
    			ServiceRoleArn:       pulumi.Any(exampleAwsIamRole.Arn),
    			AutoRollbackConfiguration: &codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{
    				Enabled: pulumi.Bool(true),
    				Events: pulumi.StringArray{
    					pulumi.String("DEPLOYMENT_FAILURE"),
    				},
    			},
    			BlueGreenDeploymentConfig: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{
    				DeploymentReadyOption: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{
    					ActionOnTimeout: pulumi.String("CONTINUE_DEPLOYMENT"),
    				},
    				TerminateBlueInstancesOnDeploymentSuccess: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{
    					Action:                       pulumi.String("TERMINATE"),
    					TerminationWaitTimeInMinutes: pulumi.Int(5),
    				},
    			},
    			DeploymentStyle: &codedeploy.DeploymentGroupDeploymentStyleArgs{
    				DeploymentOption: pulumi.String("WITH_TRAFFIC_CONTROL"),
    				DeploymentType:   pulumi.String("BLUE_GREEN"),
    			},
    			EcsService: &codedeploy.DeploymentGroupEcsServiceArgs{
    				ClusterName: pulumi.Any(exampleAwsEcsCluster.Name),
    				ServiceName: pulumi.Any(exampleAwsEcsService.Name),
    			},
    			LoadBalancerInfo: &codedeploy.DeploymentGroupLoadBalancerInfoArgs{
    				TargetGroupPairInfo: &codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs{
    					ProdTrafficRoute: &codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs{
    						ListenerArns: pulumi.StringArray{
    							exampleAwsLbListener.Arn,
    						},
    					},
    					TargetGroups: codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArray{
    						&codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{
    							Name: pulumi.Any(blue.Name),
    						},
    						&codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{
    							Name: pulumi.Any(green.Name),
    						},
    					},
    				},
    			},
    		})
    		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 example = new Aws.CodeDeploy.Application("example", new()
        {
            ComputePlatform = "ECS",
            Name = "example",
        });
    
        var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup("example", new()
        {
            AppName = example.Name,
            DeploymentConfigName = "CodeDeployDefault.ECSAllAtOnce",
            DeploymentGroupName = "example",
            ServiceRoleArn = exampleAwsIamRole.Arn,
            AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs
            {
                Enabled = true,
                Events = new[]
                {
                    "DEPLOYMENT_FAILURE",
                },
            },
            BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs
            {
                DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs
                {
                    ActionOnTimeout = "CONTINUE_DEPLOYMENT",
                },
                TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs
                {
                    Action = "TERMINATE",
                    TerminationWaitTimeInMinutes = 5,
                },
            },
            DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs
            {
                DeploymentOption = "WITH_TRAFFIC_CONTROL",
                DeploymentType = "BLUE_GREEN",
            },
            EcsService = new Aws.CodeDeploy.Inputs.DeploymentGroupEcsServiceArgs
            {
                ClusterName = exampleAwsEcsCluster.Name,
                ServiceName = exampleAwsEcsService.Name,
            },
            LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs
            {
                TargetGroupPairInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs
                {
                    ProdTrafficRoute = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs
                    {
                        ListenerArns = new[]
                        {
                            exampleAwsLbListener.Arn,
                        },
                    },
                    TargetGroups = new[]
                    {
                        new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs
                        {
                            Name = blue.Name,
                        },
                        new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs
                        {
                            Name = green.Name,
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.codedeploy.Application;
    import com.pulumi.aws.codedeploy.ApplicationArgs;
    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.DeploymentGroupBlueGreenDeploymentConfigArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupEcsServiceArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs;
    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 example = new Application("example", ApplicationArgs.builder()
                .computePlatform("ECS")
                .name("example")
                .build());
    
            var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder()
                .appName(example.name())
                .deploymentConfigName("CodeDeployDefault.ECSAllAtOnce")
                .deploymentGroupName("example")
                .serviceRoleArn(exampleAwsIamRole.arn())
                .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()
                    .enabled(true)
                    .events("DEPLOYMENT_FAILURE")
                    .build())
                .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()
                    .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()
                        .actionOnTimeout("CONTINUE_DEPLOYMENT")
                        .build())
                    .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()
                        .action("TERMINATE")
                        .terminationWaitTimeInMinutes(5)
                        .build())
                    .build())
                .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()
                    .deploymentOption("WITH_TRAFFIC_CONTROL")
                    .deploymentType("BLUE_GREEN")
                    .build())
                .ecsService(DeploymentGroupEcsServiceArgs.builder()
                    .clusterName(exampleAwsEcsCluster.name())
                    .serviceName(exampleAwsEcsService.name())
                    .build())
                .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()
                    .targetGroupPairInfo(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs.builder()
                        .prodTrafficRoute(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs.builder()
                            .listenerArns(exampleAwsLbListener.arn())
                            .build())
                        .targetGroups(                    
                            DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()
                                .name(blue.name())
                                .build(),
                            DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()
                                .name(green.name())
                                .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:codedeploy:Application
        properties:
          computePlatform: ECS
          name: example
      exampleDeploymentGroup:
        type: aws:codedeploy:DeploymentGroup
        name: example
        properties:
          appName: ${example.name}
          deploymentConfigName: CodeDeployDefault.ECSAllAtOnce
          deploymentGroupName: example
          serviceRoleArn: ${exampleAwsIamRole.arn}
          autoRollbackConfiguration:
            enabled: true
            events:
              - DEPLOYMENT_FAILURE
          blueGreenDeploymentConfig:
            deploymentReadyOption:
              actionOnTimeout: CONTINUE_DEPLOYMENT
            terminateBlueInstancesOnDeploymentSuccess:
              action: TERMINATE
              terminationWaitTimeInMinutes: 5
          deploymentStyle:
            deploymentOption: WITH_TRAFFIC_CONTROL
            deploymentType: BLUE_GREEN
          ecsService:
            clusterName: ${exampleAwsEcsCluster.name}
            serviceName: ${exampleAwsEcsService.name}
          loadBalancerInfo:
            targetGroupPairInfo:
              prodTrafficRoute:
                listenerArns:
                  - ${exampleAwsLbListener.arn}
              targetGroups:
                - name: ${blue.name}
                - name: ${green.name}
    

    Blue Green Deployments with Servers and Classic ELB

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.codedeploy.Application("example", {name: "example-app"});
    const exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup("example", {
        appName: example.name,
        deploymentGroupName: "example-group",
        serviceRoleArn: exampleAwsIamRole.arn,
        deploymentStyle: {
            deploymentOption: "WITH_TRAFFIC_CONTROL",
            deploymentType: "BLUE_GREEN",
        },
        loadBalancerInfo: {
            elbInfos: [{
                name: exampleAwsElb.name,
            }],
        },
        blueGreenDeploymentConfig: {
            deploymentReadyOption: {
                actionOnTimeout: "STOP_DEPLOYMENT",
                waitTimeInMinutes: 60,
            },
            greenFleetProvisioningOption: {
                action: "DISCOVER_EXISTING",
            },
            terminateBlueInstancesOnDeploymentSuccess: {
                action: "KEEP_ALIVE",
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.codedeploy.Application("example", name="example-app")
    example_deployment_group = aws.codedeploy.DeploymentGroup("example",
        app_name=example.name,
        deployment_group_name="example-group",
        service_role_arn=example_aws_iam_role["arn"],
        deployment_style={
            "deployment_option": "WITH_TRAFFIC_CONTROL",
            "deployment_type": "BLUE_GREEN",
        },
        load_balancer_info={
            "elb_infos": [{
                "name": example_aws_elb["name"],
            }],
        },
        blue_green_deployment_config={
            "deployment_ready_option": {
                "action_on_timeout": "STOP_DEPLOYMENT",
                "wait_time_in_minutes": 60,
            },
            "green_fleet_provisioning_option": {
                "action": "DISCOVER_EXISTING",
            },
            "terminate_blue_instances_on_deployment_success": {
                "action": "KEEP_ALIVE",
            },
        })
    
    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 {
    		example, err := codedeploy.NewApplication(ctx, "example", &codedeploy.ApplicationArgs{
    			Name: pulumi.String("example-app"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = codedeploy.NewDeploymentGroup(ctx, "example", &codedeploy.DeploymentGroupArgs{
    			AppName:             example.Name,
    			DeploymentGroupName: pulumi.String("example-group"),
    			ServiceRoleArn:      pulumi.Any(exampleAwsIamRole.Arn),
    			DeploymentStyle: &codedeploy.DeploymentGroupDeploymentStyleArgs{
    				DeploymentOption: pulumi.String("WITH_TRAFFIC_CONTROL"),
    				DeploymentType:   pulumi.String("BLUE_GREEN"),
    			},
    			LoadBalancerInfo: &codedeploy.DeploymentGroupLoadBalancerInfoArgs{
    				ElbInfos: codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArray{
    					&codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs{
    						Name: pulumi.Any(exampleAwsElb.Name),
    					},
    				},
    			},
    			BlueGreenDeploymentConfig: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{
    				DeploymentReadyOption: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{
    					ActionOnTimeout:   pulumi.String("STOP_DEPLOYMENT"),
    					WaitTimeInMinutes: pulumi.Int(60),
    				},
    				GreenFleetProvisioningOption: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs{
    					Action: pulumi.String("DISCOVER_EXISTING"),
    				},
    				TerminateBlueInstancesOnDeploymentSuccess: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{
    					Action: pulumi.String("KEEP_ALIVE"),
    				},
    			},
    		})
    		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 example = new Aws.CodeDeploy.Application("example", new()
        {
            Name = "example-app",
        });
    
        var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup("example", new()
        {
            AppName = example.Name,
            DeploymentGroupName = "example-group",
            ServiceRoleArn = exampleAwsIamRole.Arn,
            DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs
            {
                DeploymentOption = "WITH_TRAFFIC_CONTROL",
                DeploymentType = "BLUE_GREEN",
            },
            LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs
            {
                ElbInfos = new[]
                {
                    new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoElbInfoArgs
                    {
                        Name = exampleAwsElb.Name,
                    },
                },
            },
            BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs
            {
                DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs
                {
                    ActionOnTimeout = "STOP_DEPLOYMENT",
                    WaitTimeInMinutes = 60,
                },
                GreenFleetProvisioningOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs
                {
                    Action = "DISCOVER_EXISTING",
                },
                TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs
                {
                    Action = "KEEP_ALIVE",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.codedeploy.Application;
    import com.pulumi.aws.codedeploy.ApplicationArgs;
    import com.pulumi.aws.codedeploy.DeploymentGroup;
    import com.pulumi.aws.codedeploy.DeploymentGroupArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs;
    import com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;
    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 example = new Application("example", ApplicationArgs.builder()
                .name("example-app")
                .build());
    
            var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder()
                .appName(example.name())
                .deploymentGroupName("example-group")
                .serviceRoleArn(exampleAwsIamRole.arn())
                .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()
                    .deploymentOption("WITH_TRAFFIC_CONTROL")
                    .deploymentType("BLUE_GREEN")
                    .build())
                .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()
                    .elbInfos(DeploymentGroupLoadBalancerInfoElbInfoArgs.builder()
                        .name(exampleAwsElb.name())
                        .build())
                    .build())
                .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()
                    .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()
                        .actionOnTimeout("STOP_DEPLOYMENT")
                        .waitTimeInMinutes(60)
                        .build())
                    .greenFleetProvisioningOption(DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.builder()
                        .action("DISCOVER_EXISTING")
                        .build())
                    .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()
                        .action("KEEP_ALIVE")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:codedeploy:Application
        properties:
          name: example-app
      exampleDeploymentGroup:
        type: aws:codedeploy:DeploymentGroup
        name: example
        properties:
          appName: ${example.name}
          deploymentGroupName: example-group
          serviceRoleArn: ${exampleAwsIamRole.arn}
          deploymentStyle:
            deploymentOption: WITH_TRAFFIC_CONTROL
            deploymentType: BLUE_GREEN
          loadBalancerInfo:
            elbInfos:
              - name: ${exampleAwsElb.name}
          blueGreenDeploymentConfig:
            deploymentReadyOption:
              actionOnTimeout: STOP_DEPLOYMENT
              waitTimeInMinutes: 60
            greenFleetProvisioningOption:
              action: DISCOVER_EXISTING
            terminateBlueInstancesOnDeploymentSuccess:
              action: KEEP_ALIVE
    

    Create DeploymentGroup Resource

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

    Constructor syntax

    new DeploymentGroup(name: string, args: DeploymentGroupArgs, opts?: CustomResourceOptions);
    @overload
    def DeploymentGroup(resource_name: str,
                        args: DeploymentGroupArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def DeploymentGroup(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        deployment_group_name: Optional[str] = None,
                        app_name: Optional[str] = None,
                        service_role_arn: Optional[str] = None,
                        ec2_tag_filters: Optional[Sequence[DeploymentGroupEc2TagFilterArgs]] = None,
                        ecs_service: Optional[DeploymentGroupEcsServiceArgs] = None,
                        deployment_config_name: Optional[str] = None,
                        autoscaling_groups: Optional[Sequence[str]] = None,
                        deployment_style: Optional[DeploymentGroupDeploymentStyleArgs] = None,
                        alarm_configuration: Optional[DeploymentGroupAlarmConfigurationArgs] = None,
                        ec2_tag_sets: Optional[Sequence[DeploymentGroupEc2TagSetArgs]] = None,
                        blue_green_deployment_config: Optional[DeploymentGroupBlueGreenDeploymentConfigArgs] = None,
                        load_balancer_info: Optional[DeploymentGroupLoadBalancerInfoArgs] = None,
                        on_premises_instance_tag_filters: Optional[Sequence[DeploymentGroupOnPremisesInstanceTagFilterArgs]] = None,
                        outdated_instances_strategy: Optional[str] = None,
                        auto_rollback_configuration: Optional[DeploymentGroupAutoRollbackConfigurationArgs] = None,
                        tags: Optional[Mapping[str, str]] = None,
                        termination_hook_enabled: Optional[bool] = None,
                        trigger_configurations: Optional[Sequence[DeploymentGroupTriggerConfigurationArgs]] = None)
    func NewDeploymentGroup(ctx *Context, name string, args DeploymentGroupArgs, opts ...ResourceOption) (*DeploymentGroup, error)
    public DeploymentGroup(string name, DeploymentGroupArgs args, CustomResourceOptions? opts = null)
    public DeploymentGroup(String name, DeploymentGroupArgs args)
    public DeploymentGroup(String name, DeploymentGroupArgs args, CustomResourceOptions options)
    
    type: aws:codedeploy:DeploymentGroup
    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 DeploymentGroupArgs
    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 DeploymentGroupArgs
    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 DeploymentGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DeploymentGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DeploymentGroupArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var deploymentGroupResource = new Aws.CodeDeploy.DeploymentGroup("deploymentGroupResource", new()
    {
        DeploymentGroupName = "string",
        AppName = "string",
        ServiceRoleArn = "string",
        Ec2TagFilters = new[]
        {
            new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagFilterArgs
            {
                Key = "string",
                Type = "string",
                Value = "string",
            },
        },
        EcsService = new Aws.CodeDeploy.Inputs.DeploymentGroupEcsServiceArgs
        {
            ClusterName = "string",
            ServiceName = "string",
        },
        DeploymentConfigName = "string",
        AutoscalingGroups = new[]
        {
            "string",
        },
        DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs
        {
            DeploymentOption = "string",
            DeploymentType = "string",
        },
        AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs
        {
            Alarms = new[]
            {
                "string",
            },
            Enabled = false,
            IgnorePollAlarmFailure = false,
        },
        Ec2TagSets = new[]
        {
            new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetArgs
            {
                Ec2TagFilters = new[]
                {
                    new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs
                    {
                        Key = "string",
                        Type = "string",
                        Value = "string",
                    },
                },
            },
        },
        BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs
        {
            DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs
            {
                ActionOnTimeout = "string",
                WaitTimeInMinutes = 0,
            },
            GreenFleetProvisioningOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs
            {
                Action = "string",
            },
            TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs
            {
                Action = "string",
                TerminationWaitTimeInMinutes = 0,
            },
        },
        LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs
        {
            ElbInfos = new[]
            {
                new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoElbInfoArgs
                {
                    Name = "string",
                },
            },
            TargetGroupInfos = new[]
            {
                new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupInfoArgs
                {
                    Name = "string",
                },
            },
            TargetGroupPairInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs
            {
                ProdTrafficRoute = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs
                {
                    ListenerArns = new[]
                    {
                        "string",
                    },
                },
                TargetGroups = new[]
                {
                    new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs
                    {
                        Name = "string",
                    },
                },
                TestTrafficRoute = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRouteArgs
                {
                    ListenerArns = new[]
                    {
                        "string",
                    },
                },
            },
        },
        OnPremisesInstanceTagFilters = new[]
        {
            new Aws.CodeDeploy.Inputs.DeploymentGroupOnPremisesInstanceTagFilterArgs
            {
                Key = "string",
                Type = "string",
                Value = "string",
            },
        },
        OutdatedInstancesStrategy = "string",
        AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs
        {
            Enabled = false,
            Events = new[]
            {
                "string",
            },
        },
        Tags = 
        {
            { "string", "string" },
        },
        TerminationHookEnabled = false,
        TriggerConfigurations = new[]
        {
            new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs
            {
                TriggerEvents = new[]
                {
                    "string",
                },
                TriggerName = "string",
                TriggerTargetArn = "string",
            },
        },
    });
    
    example, err := codedeploy.NewDeploymentGroup(ctx, "deploymentGroupResource", &codedeploy.DeploymentGroupArgs{
    	DeploymentGroupName: pulumi.String("string"),
    	AppName:             pulumi.String("string"),
    	ServiceRoleArn:      pulumi.String("string"),
    	Ec2TagFilters: codedeploy.DeploymentGroupEc2TagFilterArray{
    		&codedeploy.DeploymentGroupEc2TagFilterArgs{
    			Key:   pulumi.String("string"),
    			Type:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	EcsService: &codedeploy.DeploymentGroupEcsServiceArgs{
    		ClusterName: pulumi.String("string"),
    		ServiceName: pulumi.String("string"),
    	},
    	DeploymentConfigName: pulumi.String("string"),
    	AutoscalingGroups: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	DeploymentStyle: &codedeploy.DeploymentGroupDeploymentStyleArgs{
    		DeploymentOption: pulumi.String("string"),
    		DeploymentType:   pulumi.String("string"),
    	},
    	AlarmConfiguration: &codedeploy.DeploymentGroupAlarmConfigurationArgs{
    		Alarms: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Enabled:                pulumi.Bool(false),
    		IgnorePollAlarmFailure: pulumi.Bool(false),
    	},
    	Ec2TagSets: codedeploy.DeploymentGroupEc2TagSetArray{
    		&codedeploy.DeploymentGroupEc2TagSetArgs{
    			Ec2TagFilters: codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArray{
    				&codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{
    					Key:   pulumi.String("string"),
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	BlueGreenDeploymentConfig: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{
    		DeploymentReadyOption: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{
    			ActionOnTimeout:   pulumi.String("string"),
    			WaitTimeInMinutes: pulumi.Int(0),
    		},
    		GreenFleetProvisioningOption: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs{
    			Action: pulumi.String("string"),
    		},
    		TerminateBlueInstancesOnDeploymentSuccess: &codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{
    			Action:                       pulumi.String("string"),
    			TerminationWaitTimeInMinutes: pulumi.Int(0),
    		},
    	},
    	LoadBalancerInfo: &codedeploy.DeploymentGroupLoadBalancerInfoArgs{
    		ElbInfos: codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArray{
    			&codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs{
    				Name: pulumi.String("string"),
    			},
    		},
    		TargetGroupInfos: codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupInfoArray{
    			&codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupInfoArgs{
    				Name: pulumi.String("string"),
    			},
    		},
    		TargetGroupPairInfo: &codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs{
    			ProdTrafficRoute: &codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs{
    				ListenerArns: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			TargetGroups: codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArray{
    				&codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{
    					Name: pulumi.String("string"),
    				},
    			},
    			TestTrafficRoute: &codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRouteArgs{
    				ListenerArns: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    	},
    	OnPremisesInstanceTagFilters: codedeploy.DeploymentGroupOnPremisesInstanceTagFilterArray{
    		&codedeploy.DeploymentGroupOnPremisesInstanceTagFilterArgs{
    			Key:   pulumi.String("string"),
    			Type:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	OutdatedInstancesStrategy: pulumi.String("string"),
    	AutoRollbackConfiguration: &codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{
    		Enabled: pulumi.Bool(false),
    		Events: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TerminationHookEnabled: pulumi.Bool(false),
    	TriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{
    		&codedeploy.DeploymentGroupTriggerConfigurationArgs{
    			TriggerEvents: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			TriggerName:      pulumi.String("string"),
    			TriggerTargetArn: pulumi.String("string"),
    		},
    	},
    })
    
    var deploymentGroupResource = new DeploymentGroup("deploymentGroupResource", DeploymentGroupArgs.builder()
        .deploymentGroupName("string")
        .appName("string")
        .serviceRoleArn("string")
        .ec2TagFilters(DeploymentGroupEc2TagFilterArgs.builder()
            .key("string")
            .type("string")
            .value("string")
            .build())
        .ecsService(DeploymentGroupEcsServiceArgs.builder()
            .clusterName("string")
            .serviceName("string")
            .build())
        .deploymentConfigName("string")
        .autoscalingGroups("string")
        .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()
            .deploymentOption("string")
            .deploymentType("string")
            .build())
        .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()
            .alarms("string")
            .enabled(false)
            .ignorePollAlarmFailure(false)
            .build())
        .ec2TagSets(DeploymentGroupEc2TagSetArgs.builder()
            .ec2TagFilters(DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()
                .key("string")
                .type("string")
                .value("string")
                .build())
            .build())
        .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()
            .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()
                .actionOnTimeout("string")
                .waitTimeInMinutes(0)
                .build())
            .greenFleetProvisioningOption(DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.builder()
                .action("string")
                .build())
            .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()
                .action("string")
                .terminationWaitTimeInMinutes(0)
                .build())
            .build())
        .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()
            .elbInfos(DeploymentGroupLoadBalancerInfoElbInfoArgs.builder()
                .name("string")
                .build())
            .targetGroupInfos(DeploymentGroupLoadBalancerInfoTargetGroupInfoArgs.builder()
                .name("string")
                .build())
            .targetGroupPairInfo(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs.builder()
                .prodTrafficRoute(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs.builder()
                    .listenerArns("string")
                    .build())
                .targetGroups(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()
                    .name("string")
                    .build())
                .testTrafficRoute(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRouteArgs.builder()
                    .listenerArns("string")
                    .build())
                .build())
            .build())
        .onPremisesInstanceTagFilters(DeploymentGroupOnPremisesInstanceTagFilterArgs.builder()
            .key("string")
            .type("string")
            .value("string")
            .build())
        .outdatedInstancesStrategy("string")
        .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()
            .enabled(false)
            .events("string")
            .build())
        .tags(Map.of("string", "string"))
        .terminationHookEnabled(false)
        .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()
            .triggerEvents("string")
            .triggerName("string")
            .triggerTargetArn("string")
            .build())
        .build());
    
    deployment_group_resource = aws.codedeploy.DeploymentGroup("deploymentGroupResource",
        deployment_group_name="string",
        app_name="string",
        service_role_arn="string",
        ec2_tag_filters=[{
            "key": "string",
            "type": "string",
            "value": "string",
        }],
        ecs_service={
            "cluster_name": "string",
            "service_name": "string",
        },
        deployment_config_name="string",
        autoscaling_groups=["string"],
        deployment_style={
            "deployment_option": "string",
            "deployment_type": "string",
        },
        alarm_configuration={
            "alarms": ["string"],
            "enabled": False,
            "ignore_poll_alarm_failure": False,
        },
        ec2_tag_sets=[{
            "ec2_tag_filters": [{
                "key": "string",
                "type": "string",
                "value": "string",
            }],
        }],
        blue_green_deployment_config={
            "deployment_ready_option": {
                "action_on_timeout": "string",
                "wait_time_in_minutes": 0,
            },
            "green_fleet_provisioning_option": {
                "action": "string",
            },
            "terminate_blue_instances_on_deployment_success": {
                "action": "string",
                "termination_wait_time_in_minutes": 0,
            },
        },
        load_balancer_info={
            "elb_infos": [{
                "name": "string",
            }],
            "target_group_infos": [{
                "name": "string",
            }],
            "target_group_pair_info": {
                "prod_traffic_route": {
                    "listener_arns": ["string"],
                },
                "target_groups": [{
                    "name": "string",
                }],
                "test_traffic_route": {
                    "listener_arns": ["string"],
                },
            },
        },
        on_premises_instance_tag_filters=[{
            "key": "string",
            "type": "string",
            "value": "string",
        }],
        outdated_instances_strategy="string",
        auto_rollback_configuration={
            "enabled": False,
            "events": ["string"],
        },
        tags={
            "string": "string",
        },
        termination_hook_enabled=False,
        trigger_configurations=[{
            "trigger_events": ["string"],
            "trigger_name": "string",
            "trigger_target_arn": "string",
        }])
    
    const deploymentGroupResource = new aws.codedeploy.DeploymentGroup("deploymentGroupResource", {
        deploymentGroupName: "string",
        appName: "string",
        serviceRoleArn: "string",
        ec2TagFilters: [{
            key: "string",
            type: "string",
            value: "string",
        }],
        ecsService: {
            clusterName: "string",
            serviceName: "string",
        },
        deploymentConfigName: "string",
        autoscalingGroups: ["string"],
        deploymentStyle: {
            deploymentOption: "string",
            deploymentType: "string",
        },
        alarmConfiguration: {
            alarms: ["string"],
            enabled: false,
            ignorePollAlarmFailure: false,
        },
        ec2TagSets: [{
            ec2TagFilters: [{
                key: "string",
                type: "string",
                value: "string",
            }],
        }],
        blueGreenDeploymentConfig: {
            deploymentReadyOption: {
                actionOnTimeout: "string",
                waitTimeInMinutes: 0,
            },
            greenFleetProvisioningOption: {
                action: "string",
            },
            terminateBlueInstancesOnDeploymentSuccess: {
                action: "string",
                terminationWaitTimeInMinutes: 0,
            },
        },
        loadBalancerInfo: {
            elbInfos: [{
                name: "string",
            }],
            targetGroupInfos: [{
                name: "string",
            }],
            targetGroupPairInfo: {
                prodTrafficRoute: {
                    listenerArns: ["string"],
                },
                targetGroups: [{
                    name: "string",
                }],
                testTrafficRoute: {
                    listenerArns: ["string"],
                },
            },
        },
        onPremisesInstanceTagFilters: [{
            key: "string",
            type: "string",
            value: "string",
        }],
        outdatedInstancesStrategy: "string",
        autoRollbackConfiguration: {
            enabled: false,
            events: ["string"],
        },
        tags: {
            string: "string",
        },
        terminationHookEnabled: false,
        triggerConfigurations: [{
            triggerEvents: ["string"],
            triggerName: "string",
            triggerTargetArn: "string",
        }],
    });
    
    type: aws:codedeploy:DeploymentGroup
    properties:
        alarmConfiguration:
            alarms:
                - string
            enabled: false
            ignorePollAlarmFailure: false
        appName: string
        autoRollbackConfiguration:
            enabled: false
            events:
                - string
        autoscalingGroups:
            - string
        blueGreenDeploymentConfig:
            deploymentReadyOption:
                actionOnTimeout: string
                waitTimeInMinutes: 0
            greenFleetProvisioningOption:
                action: string
            terminateBlueInstancesOnDeploymentSuccess:
                action: string
                terminationWaitTimeInMinutes: 0
        deploymentConfigName: string
        deploymentGroupName: string
        deploymentStyle:
            deploymentOption: string
            deploymentType: string
        ec2TagFilters:
            - key: string
              type: string
              value: string
        ec2TagSets:
            - ec2TagFilters:
                - key: string
                  type: string
                  value: string
        ecsService:
            clusterName: string
            serviceName: string
        loadBalancerInfo:
            elbInfos:
                - name: string
            targetGroupInfos:
                - name: string
            targetGroupPairInfo:
                prodTrafficRoute:
                    listenerArns:
                        - string
                targetGroups:
                    - name: string
                testTrafficRoute:
                    listenerArns:
                        - string
        onPremisesInstanceTagFilters:
            - key: string
              type: string
              value: string
        outdatedInstancesStrategy: string
        serviceRoleArn: string
        tags:
            string: string
        terminationHookEnabled: false
        triggerConfigurations:
            - triggerEvents:
                - string
              triggerName: string
              triggerTargetArn: string
    

    DeploymentGroup Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The DeploymentGroup resource accepts the following input properties:

    AppName string
    The name of the application.
    DeploymentGroupName string
    The name of the deployment group.
    ServiceRoleArn string
    The service role ARN that allows deployments.
    AlarmConfiguration DeploymentGroupAlarmConfiguration
    Configuration block of alarms associated with the deployment group (documented below).
    AutoRollbackConfiguration DeploymentGroupAutoRollbackConfiguration
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    AutoscalingGroups List<string>
    Autoscaling groups associated with the deployment group.
    BlueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfig
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    DeploymentConfigName string
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    DeploymentStyle DeploymentGroupDeploymentStyle
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    Ec2TagFilters List<DeploymentGroupEc2TagFilter>
    Tag filters associated with the deployment group. See the AWS docs for details.
    Ec2TagSets List<DeploymentGroupEc2TagSet>
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    EcsService DeploymentGroupEcsService
    Configuration block(s) of the ECS services for a deployment group (documented below).
    LoadBalancerInfo DeploymentGroupLoadBalancerInfo
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    OnPremisesInstanceTagFilters List<DeploymentGroupOnPremisesInstanceTagFilter>
    On premise tag filters associated with the group. See the AWS docs for details.
    OutdatedInstancesStrategy string
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    Tags Dictionary<string, string>
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TerminationHookEnabled bool
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    TriggerConfigurations List<DeploymentGroupTriggerConfiguration>
    Configuration block(s) of the triggers for the deployment group (documented below).
    AppName string
    The name of the application.
    DeploymentGroupName string
    The name of the deployment group.
    ServiceRoleArn string
    The service role ARN that allows deployments.
    AlarmConfiguration DeploymentGroupAlarmConfigurationArgs
    Configuration block of alarms associated with the deployment group (documented below).
    AutoRollbackConfiguration DeploymentGroupAutoRollbackConfigurationArgs
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    AutoscalingGroups []string
    Autoscaling groups associated with the deployment group.
    BlueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfigArgs
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    DeploymentConfigName string
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    DeploymentStyle DeploymentGroupDeploymentStyleArgs
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    Ec2TagFilters []DeploymentGroupEc2TagFilterArgs
    Tag filters associated with the deployment group. See the AWS docs for details.
    Ec2TagSets []DeploymentGroupEc2TagSetArgs
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    EcsService DeploymentGroupEcsServiceArgs
    Configuration block(s) of the ECS services for a deployment group (documented below).
    LoadBalancerInfo DeploymentGroupLoadBalancerInfoArgs
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    OnPremisesInstanceTagFilters []DeploymentGroupOnPremisesInstanceTagFilterArgs
    On premise tag filters associated with the group. See the AWS docs for details.
    OutdatedInstancesStrategy string
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    Tags map[string]string
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TerminationHookEnabled bool
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    TriggerConfigurations []DeploymentGroupTriggerConfigurationArgs
    Configuration block(s) of the triggers for the deployment group (documented below).
    appName String
    The name of the application.
    deploymentGroupName String
    The name of the deployment group.
    serviceRoleArn String
    The service role ARN that allows deployments.
    alarmConfiguration DeploymentGroupAlarmConfiguration
    Configuration block of alarms associated with the deployment group (documented below).
    autoRollbackConfiguration DeploymentGroupAutoRollbackConfiguration
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscalingGroups List<String>
    Autoscaling groups associated with the deployment group.
    blueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfig
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    deploymentConfigName String
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deploymentStyle DeploymentGroupDeploymentStyle
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2TagFilters List<DeploymentGroupEc2TagFilter>
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagSets List<DeploymentGroupEc2TagSet>
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecsService DeploymentGroupEcsService
    Configuration block(s) of the ECS services for a deployment group (documented below).
    loadBalancerInfo DeploymentGroupLoadBalancerInfo
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    onPremisesInstanceTagFilters List<DeploymentGroupOnPremisesInstanceTagFilter>
    On premise tag filters associated with the group. See the AWS docs for details.
    outdatedInstancesStrategy String
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    tags Map<String,String>
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    terminationHookEnabled Boolean
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    triggerConfigurations List<DeploymentGroupTriggerConfiguration>
    Configuration block(s) of the triggers for the deployment group (documented below).
    appName string
    The name of the application.
    deploymentGroupName string
    The name of the deployment group.
    serviceRoleArn string
    The service role ARN that allows deployments.
    alarmConfiguration DeploymentGroupAlarmConfiguration
    Configuration block of alarms associated with the deployment group (documented below).
    autoRollbackConfiguration DeploymentGroupAutoRollbackConfiguration
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscalingGroups string[]
    Autoscaling groups associated with the deployment group.
    blueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfig
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    deploymentConfigName string
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deploymentStyle DeploymentGroupDeploymentStyle
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2TagFilters DeploymentGroupEc2TagFilter[]
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagSets DeploymentGroupEc2TagSet[]
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecsService DeploymentGroupEcsService
    Configuration block(s) of the ECS services for a deployment group (documented below).
    loadBalancerInfo DeploymentGroupLoadBalancerInfo
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    onPremisesInstanceTagFilters DeploymentGroupOnPremisesInstanceTagFilter[]
    On premise tag filters associated with the group. See the AWS docs for details.
    outdatedInstancesStrategy string
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    tags {[key: string]: string}
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    terminationHookEnabled boolean
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    triggerConfigurations DeploymentGroupTriggerConfiguration[]
    Configuration block(s) of the triggers for the deployment group (documented below).
    app_name str
    The name of the application.
    deployment_group_name str
    The name of the deployment group.
    service_role_arn str
    The service role ARN that allows deployments.
    alarm_configuration DeploymentGroupAlarmConfigurationArgs
    Configuration block of alarms associated with the deployment group (documented below).
    auto_rollback_configuration DeploymentGroupAutoRollbackConfigurationArgs
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscaling_groups Sequence[str]
    Autoscaling groups associated with the deployment group.
    blue_green_deployment_config DeploymentGroupBlueGreenDeploymentConfigArgs
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    deployment_config_name str
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deployment_style DeploymentGroupDeploymentStyleArgs
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2_tag_filters Sequence[DeploymentGroupEc2TagFilterArgs]
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2_tag_sets Sequence[DeploymentGroupEc2TagSetArgs]
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecs_service DeploymentGroupEcsServiceArgs
    Configuration block(s) of the ECS services for a deployment group (documented below).
    load_balancer_info DeploymentGroupLoadBalancerInfoArgs
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    on_premises_instance_tag_filters Sequence[DeploymentGroupOnPremisesInstanceTagFilterArgs]
    On premise tag filters associated with the group. See the AWS docs for details.
    outdated_instances_strategy str
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    tags Mapping[str, str]
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    termination_hook_enabled bool
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    trigger_configurations Sequence[DeploymentGroupTriggerConfigurationArgs]
    Configuration block(s) of the triggers for the deployment group (documented below).
    appName String
    The name of the application.
    deploymentGroupName String
    The name of the deployment group.
    serviceRoleArn String
    The service role ARN that allows deployments.
    alarmConfiguration Property Map
    Configuration block of alarms associated with the deployment group (documented below).
    autoRollbackConfiguration Property Map
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscalingGroups List<String>
    Autoscaling groups associated with the deployment group.
    blueGreenDeploymentConfig Property Map
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    deploymentConfigName String
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deploymentStyle Property Map
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2TagFilters List<Property Map>
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagSets List<Property Map>
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecsService Property Map
    Configuration block(s) of the ECS services for a deployment group (documented below).
    loadBalancerInfo Property Map
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    onPremisesInstanceTagFilters List<Property Map>
    On premise tag filters associated with the group. See the AWS docs for details.
    outdatedInstancesStrategy String
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    tags Map<String>
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    terminationHookEnabled Boolean
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    triggerConfigurations List<Property Map>
    Configuration block(s) of the triggers for the deployment group (documented below).

    Outputs

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

    Arn string
    The ARN of the CodeDeploy deployment group.
    ComputePlatform string
    The destination platform type for the deployment.
    DeploymentGroupId string
    The ID of the CodeDeploy deployment group.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Arn string
    The ARN of the CodeDeploy deployment group.
    ComputePlatform string
    The destination platform type for the deployment.
    DeploymentGroupId string
    The ID of the CodeDeploy deployment group.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    The ARN of the CodeDeploy deployment group.
    computePlatform String
    The destination platform type for the deployment.
    deploymentGroupId String
    The ID of the CodeDeploy deployment group.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn string
    The ARN of the CodeDeploy deployment group.
    computePlatform string
    The destination platform type for the deployment.
    deploymentGroupId string
    The ID of the CodeDeploy deployment group.
    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn str
    The ARN of the CodeDeploy deployment group.
    compute_platform str
    The destination platform type for the deployment.
    deployment_group_id str
    The ID of the CodeDeploy deployment group.
    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    The ARN of the CodeDeploy deployment group.
    computePlatform String
    The destination platform type for the deployment.
    deploymentGroupId String
    The ID of the CodeDeploy deployment group.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Look up Existing DeploymentGroup Resource

    Get an existing DeploymentGroup 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?: DeploymentGroupState, opts?: CustomResourceOptions): DeploymentGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            alarm_configuration: Optional[DeploymentGroupAlarmConfigurationArgs] = None,
            app_name: Optional[str] = None,
            arn: Optional[str] = None,
            auto_rollback_configuration: Optional[DeploymentGroupAutoRollbackConfigurationArgs] = None,
            autoscaling_groups: Optional[Sequence[str]] = None,
            blue_green_deployment_config: Optional[DeploymentGroupBlueGreenDeploymentConfigArgs] = None,
            compute_platform: Optional[str] = None,
            deployment_config_name: Optional[str] = None,
            deployment_group_id: Optional[str] = None,
            deployment_group_name: Optional[str] = None,
            deployment_style: Optional[DeploymentGroupDeploymentStyleArgs] = None,
            ec2_tag_filters: Optional[Sequence[DeploymentGroupEc2TagFilterArgs]] = None,
            ec2_tag_sets: Optional[Sequence[DeploymentGroupEc2TagSetArgs]] = None,
            ecs_service: Optional[DeploymentGroupEcsServiceArgs] = None,
            load_balancer_info: Optional[DeploymentGroupLoadBalancerInfoArgs] = None,
            on_premises_instance_tag_filters: Optional[Sequence[DeploymentGroupOnPremisesInstanceTagFilterArgs]] = None,
            outdated_instances_strategy: Optional[str] = None,
            service_role_arn: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            termination_hook_enabled: Optional[bool] = None,
            trigger_configurations: Optional[Sequence[DeploymentGroupTriggerConfigurationArgs]] = None) -> DeploymentGroup
    func GetDeploymentGroup(ctx *Context, name string, id IDInput, state *DeploymentGroupState, opts ...ResourceOption) (*DeploymentGroup, error)
    public static DeploymentGroup Get(string name, Input<string> id, DeploymentGroupState? state, CustomResourceOptions? opts = null)
    public static DeploymentGroup get(String name, Output<String> id, DeploymentGroupState 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:
    AlarmConfiguration DeploymentGroupAlarmConfiguration
    Configuration block of alarms associated with the deployment group (documented below).
    AppName string
    The name of the application.
    Arn string
    The ARN of the CodeDeploy deployment group.
    AutoRollbackConfiguration DeploymentGroupAutoRollbackConfiguration
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    AutoscalingGroups List<string>
    Autoscaling groups associated with the deployment group.
    BlueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfig
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    ComputePlatform string
    The destination platform type for the deployment.
    DeploymentConfigName string
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    DeploymentGroupId string
    The ID of the CodeDeploy deployment group.
    DeploymentGroupName string
    The name of the deployment group.
    DeploymentStyle DeploymentGroupDeploymentStyle
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    Ec2TagFilters List<DeploymentGroupEc2TagFilter>
    Tag filters associated with the deployment group. See the AWS docs for details.
    Ec2TagSets List<DeploymentGroupEc2TagSet>
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    EcsService DeploymentGroupEcsService
    Configuration block(s) of the ECS services for a deployment group (documented below).
    LoadBalancerInfo DeploymentGroupLoadBalancerInfo
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    OnPremisesInstanceTagFilters List<DeploymentGroupOnPremisesInstanceTagFilter>
    On premise tag filters associated with the group. See the AWS docs for details.
    OutdatedInstancesStrategy string
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    ServiceRoleArn string
    The service role ARN that allows deployments.
    Tags Dictionary<string, string>
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    TerminationHookEnabled bool
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    TriggerConfigurations List<DeploymentGroupTriggerConfiguration>
    Configuration block(s) of the triggers for the deployment group (documented below).
    AlarmConfiguration DeploymentGroupAlarmConfigurationArgs
    Configuration block of alarms associated with the deployment group (documented below).
    AppName string
    The name of the application.
    Arn string
    The ARN of the CodeDeploy deployment group.
    AutoRollbackConfiguration DeploymentGroupAutoRollbackConfigurationArgs
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    AutoscalingGroups []string
    Autoscaling groups associated with the deployment group.
    BlueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfigArgs
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    ComputePlatform string
    The destination platform type for the deployment.
    DeploymentConfigName string
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    DeploymentGroupId string
    The ID of the CodeDeploy deployment group.
    DeploymentGroupName string
    The name of the deployment group.
    DeploymentStyle DeploymentGroupDeploymentStyleArgs
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    Ec2TagFilters []DeploymentGroupEc2TagFilterArgs
    Tag filters associated with the deployment group. See the AWS docs for details.
    Ec2TagSets []DeploymentGroupEc2TagSetArgs
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    EcsService DeploymentGroupEcsServiceArgs
    Configuration block(s) of the ECS services for a deployment group (documented below).
    LoadBalancerInfo DeploymentGroupLoadBalancerInfoArgs
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    OnPremisesInstanceTagFilters []DeploymentGroupOnPremisesInstanceTagFilterArgs
    On premise tag filters associated with the group. See the AWS docs for details.
    OutdatedInstancesStrategy string
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    ServiceRoleArn string
    The service role ARN that allows deployments.
    Tags map[string]string
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    TerminationHookEnabled bool
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    TriggerConfigurations []DeploymentGroupTriggerConfigurationArgs
    Configuration block(s) of the triggers for the deployment group (documented below).
    alarmConfiguration DeploymentGroupAlarmConfiguration
    Configuration block of alarms associated with the deployment group (documented below).
    appName String
    The name of the application.
    arn String
    The ARN of the CodeDeploy deployment group.
    autoRollbackConfiguration DeploymentGroupAutoRollbackConfiguration
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscalingGroups List<String>
    Autoscaling groups associated with the deployment group.
    blueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfig
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    computePlatform String
    The destination platform type for the deployment.
    deploymentConfigName String
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deploymentGroupId String
    The ID of the CodeDeploy deployment group.
    deploymentGroupName String
    The name of the deployment group.
    deploymentStyle DeploymentGroupDeploymentStyle
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2TagFilters List<DeploymentGroupEc2TagFilter>
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagSets List<DeploymentGroupEc2TagSet>
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecsService DeploymentGroupEcsService
    Configuration block(s) of the ECS services for a deployment group (documented below).
    loadBalancerInfo DeploymentGroupLoadBalancerInfo
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    onPremisesInstanceTagFilters List<DeploymentGroupOnPremisesInstanceTagFilter>
    On premise tag filters associated with the group. See the AWS docs for details.
    outdatedInstancesStrategy String
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    serviceRoleArn String
    The service role ARN that allows deployments.
    tags Map<String,String>
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    terminationHookEnabled Boolean
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    triggerConfigurations List<DeploymentGroupTriggerConfiguration>
    Configuration block(s) of the triggers for the deployment group (documented below).
    alarmConfiguration DeploymentGroupAlarmConfiguration
    Configuration block of alarms associated with the deployment group (documented below).
    appName string
    The name of the application.
    arn string
    The ARN of the CodeDeploy deployment group.
    autoRollbackConfiguration DeploymentGroupAutoRollbackConfiguration
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscalingGroups string[]
    Autoscaling groups associated with the deployment group.
    blueGreenDeploymentConfig DeploymentGroupBlueGreenDeploymentConfig
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    computePlatform string
    The destination platform type for the deployment.
    deploymentConfigName string
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deploymentGroupId string
    The ID of the CodeDeploy deployment group.
    deploymentGroupName string
    The name of the deployment group.
    deploymentStyle DeploymentGroupDeploymentStyle
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2TagFilters DeploymentGroupEc2TagFilter[]
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagSets DeploymentGroupEc2TagSet[]
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecsService DeploymentGroupEcsService
    Configuration block(s) of the ECS services for a deployment group (documented below).
    loadBalancerInfo DeploymentGroupLoadBalancerInfo
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    onPremisesInstanceTagFilters DeploymentGroupOnPremisesInstanceTagFilter[]
    On premise tag filters associated with the group. See the AWS docs for details.
    outdatedInstancesStrategy string
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    serviceRoleArn string
    The service role ARN that allows deployments.
    tags {[key: string]: string}
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    terminationHookEnabled boolean
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    triggerConfigurations DeploymentGroupTriggerConfiguration[]
    Configuration block(s) of the triggers for the deployment group (documented below).
    alarm_configuration DeploymentGroupAlarmConfigurationArgs
    Configuration block of alarms associated with the deployment group (documented below).
    app_name str
    The name of the application.
    arn str
    The ARN of the CodeDeploy deployment group.
    auto_rollback_configuration DeploymentGroupAutoRollbackConfigurationArgs
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscaling_groups Sequence[str]
    Autoscaling groups associated with the deployment group.
    blue_green_deployment_config DeploymentGroupBlueGreenDeploymentConfigArgs
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    compute_platform str
    The destination platform type for the deployment.
    deployment_config_name str
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deployment_group_id str
    The ID of the CodeDeploy deployment group.
    deployment_group_name str
    The name of the deployment group.
    deployment_style DeploymentGroupDeploymentStyleArgs
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2_tag_filters Sequence[DeploymentGroupEc2TagFilterArgs]
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2_tag_sets Sequence[DeploymentGroupEc2TagSetArgs]
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecs_service DeploymentGroupEcsServiceArgs
    Configuration block(s) of the ECS services for a deployment group (documented below).
    load_balancer_info DeploymentGroupLoadBalancerInfoArgs
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    on_premises_instance_tag_filters Sequence[DeploymentGroupOnPremisesInstanceTagFilterArgs]
    On premise tag filters associated with the group. See the AWS docs for details.
    outdated_instances_strategy str
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    service_role_arn str
    The service role ARN that allows deployments.
    tags Mapping[str, str]
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    termination_hook_enabled bool
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    trigger_configurations Sequence[DeploymentGroupTriggerConfigurationArgs]
    Configuration block(s) of the triggers for the deployment group (documented below).
    alarmConfiguration Property Map
    Configuration block of alarms associated with the deployment group (documented below).
    appName String
    The name of the application.
    arn String
    The ARN of the CodeDeploy deployment group.
    autoRollbackConfiguration Property Map
    Configuration block of the automatic rollback configuration associated with the deployment group (documented below).
    autoscalingGroups List<String>
    Autoscaling groups associated with the deployment group.
    blueGreenDeploymentConfig Property Map
    Configuration block of the blue/green deployment options for a deployment group (documented below).
    computePlatform String
    The destination platform type for the deployment.
    deploymentConfigName String
    The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime".
    deploymentGroupId String
    The ID of the CodeDeploy deployment group.
    deploymentGroupName String
    The name of the deployment group.
    deploymentStyle Property Map
    Configuration block of the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).
    ec2TagFilters List<Property Map>
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagSets List<Property Map>
    Configuration block(s) of Tag filters associated with the deployment group, which are also referred to as tag groups (documented below). See the AWS docs for details.
    ecsService Property Map
    Configuration block(s) of the ECS services for a deployment group (documented below).
    loadBalancerInfo Property Map
    Single configuration block of the load balancer to use in a blue/green deployment (documented below).
    onPremisesInstanceTagFilters List<Property Map>
    On premise tag filters associated with the group. See the AWS docs for details.
    outdatedInstancesStrategy String
    Configuration block of Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. Valid values are UPDATE and IGNORE. Defaults to UPDATE.
    serviceRoleArn String
    The service role ARN that allows deployments.
    tags Map<String>
    Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    terminationHookEnabled Boolean
    Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
    triggerConfigurations List<Property Map>
    Configuration block(s) of the triggers for the deployment group (documented below).

    Supporting Types

    DeploymentGroupAlarmConfiguration, DeploymentGroupAlarmConfigurationArgs

    Alarms List<string>
    A list of alarms configured for the deployment group.
    Enabled bool
    Indicates whether the alarm configuration is enabled. This option is useful when you want to temporarily deactivate alarm monitoring for a deployment group without having to add the same alarms again later.
    IgnorePollAlarmFailure bool
    Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from CloudWatch. The default value is false.
    Alarms []string
    A list of alarms configured for the deployment group.
    Enabled bool
    Indicates whether the alarm configuration is enabled. This option is useful when you want to temporarily deactivate alarm monitoring for a deployment group without having to add the same alarms again later.
    IgnorePollAlarmFailure bool
    Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from CloudWatch. The default value is false.
    alarms List<String>
    A list of alarms configured for the deployment group.
    enabled Boolean
    Indicates whether the alarm configuration is enabled. This option is useful when you want to temporarily deactivate alarm monitoring for a deployment group without having to add the same alarms again later.
    ignorePollAlarmFailure Boolean
    Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from CloudWatch. The default value is false.
    alarms string[]
    A list of alarms configured for the deployment group.
    enabled boolean
    Indicates whether the alarm configuration is enabled. This option is useful when you want to temporarily deactivate alarm monitoring for a deployment group without having to add the same alarms again later.
    ignorePollAlarmFailure boolean
    Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from CloudWatch. The default value is false.
    alarms Sequence[str]
    A list of alarms configured for the deployment group.
    enabled bool
    Indicates whether the alarm configuration is enabled. This option is useful when you want to temporarily deactivate alarm monitoring for a deployment group without having to add the same alarms again later.
    ignore_poll_alarm_failure bool
    Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from CloudWatch. The default value is false.
    alarms List<String>
    A list of alarms configured for the deployment group.
    enabled Boolean
    Indicates whether the alarm configuration is enabled. This option is useful when you want to temporarily deactivate alarm monitoring for a deployment group without having to add the same alarms again later.
    ignorePollAlarmFailure Boolean
    Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from CloudWatch. The default value is false.

    DeploymentGroupAutoRollbackConfiguration, DeploymentGroupAutoRollbackConfigurationArgs

    Enabled bool
    Indicates whether a defined automatic rollback configuration is currently enabled for this Deployment Group. If you enable automatic rollback, you must specify at least one event type.
    Events List<string>

    The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM and DEPLOYMENT_STOP_ON_REQUEST.

    Only one auto_rollback_configuration is allowed.

    Enabled bool
    Indicates whether a defined automatic rollback configuration is currently enabled for this Deployment Group. If you enable automatic rollback, you must specify at least one event type.
    Events []string

    The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM and DEPLOYMENT_STOP_ON_REQUEST.

    Only one auto_rollback_configuration is allowed.

    enabled Boolean
    Indicates whether a defined automatic rollback configuration is currently enabled for this Deployment Group. If you enable automatic rollback, you must specify at least one event type.
    events List<String>

    The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM and DEPLOYMENT_STOP_ON_REQUEST.

    Only one auto_rollback_configuration is allowed.

    enabled boolean
    Indicates whether a defined automatic rollback configuration is currently enabled for this Deployment Group. If you enable automatic rollback, you must specify at least one event type.
    events string[]

    The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM and DEPLOYMENT_STOP_ON_REQUEST.

    Only one auto_rollback_configuration is allowed.

    enabled bool
    Indicates whether a defined automatic rollback configuration is currently enabled for this Deployment Group. If you enable automatic rollback, you must specify at least one event type.
    events Sequence[str]

    The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM and DEPLOYMENT_STOP_ON_REQUEST.

    Only one auto_rollback_configuration is allowed.

    enabled Boolean
    Indicates whether a defined automatic rollback configuration is currently enabled for this Deployment Group. If you enable automatic rollback, you must specify at least one event type.
    events List<String>

    The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM and DEPLOYMENT_STOP_ON_REQUEST.

    Only one auto_rollback_configuration is allowed.

    DeploymentGroupBlueGreenDeploymentConfig, DeploymentGroupBlueGreenDeploymentConfigArgs

    DeploymentReadyOption DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption
    Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
    GreenFleetProvisioningOption DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption
    Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
    TerminateBlueInstancesOnDeploymentSuccess DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess

    Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    Only one blue_green_deployment_config is allowed.

    DeploymentReadyOption DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption
    Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
    GreenFleetProvisioningOption DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption
    Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
    TerminateBlueInstancesOnDeploymentSuccess DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess

    Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    Only one blue_green_deployment_config is allowed.

    deploymentReadyOption DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption
    Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
    greenFleetProvisioningOption DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption
    Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
    terminateBlueInstancesOnDeploymentSuccess DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess

    Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    Only one blue_green_deployment_config is allowed.

    deploymentReadyOption DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption
    Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
    greenFleetProvisioningOption DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption
    Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
    terminateBlueInstancesOnDeploymentSuccess DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess

    Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    Only one blue_green_deployment_config is allowed.

    deployment_ready_option DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption
    Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
    green_fleet_provisioning_option DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption
    Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
    terminate_blue_instances_on_deployment_success DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess

    Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    Only one blue_green_deployment_config is allowed.

    deploymentReadyOption Property Map
    Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
    greenFleetProvisioningOption Property Map
    Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
    terminateBlueInstancesOnDeploymentSuccess Property Map

    Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    Only one blue_green_deployment_config is allowed.

    DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption, DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs

    ActionOnTimeout string
    When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

    • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.
    • STOP_DEPLOYMENT: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped.
    WaitTimeInMinutes int
    The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for action_on_timeout.
    ActionOnTimeout string
    When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

    • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.
    • STOP_DEPLOYMENT: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped.
    WaitTimeInMinutes int
    The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for action_on_timeout.
    actionOnTimeout String
    When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

    • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.
    • STOP_DEPLOYMENT: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped.
    waitTimeInMinutes Integer
    The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for action_on_timeout.
    actionOnTimeout string
    When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

    • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.
    • STOP_DEPLOYMENT: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped.
    waitTimeInMinutes number
    The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for action_on_timeout.
    action_on_timeout str
    When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

    • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.
    • STOP_DEPLOYMENT: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped.
    wait_time_in_minutes int
    The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for action_on_timeout.
    actionOnTimeout String
    When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

    • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.
    • STOP_DEPLOYMENT: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped.
    waitTimeInMinutes Number
    The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for action_on_timeout.

    DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption, DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs

    Action string
    The method used to add instances to a replacement environment.

    • DISCOVER_EXISTING: Use instances that already exist or will be created manually.
    • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group. Exactly one Auto Scaling group must be specified when selecting COPY_AUTO_SCALING_GROUP. Use autoscaling_groups to specify the Auto Scaling group.
    Action string
    The method used to add instances to a replacement environment.

    • DISCOVER_EXISTING: Use instances that already exist or will be created manually.
    • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group. Exactly one Auto Scaling group must be specified when selecting COPY_AUTO_SCALING_GROUP. Use autoscaling_groups to specify the Auto Scaling group.
    action String
    The method used to add instances to a replacement environment.

    • DISCOVER_EXISTING: Use instances that already exist or will be created manually.
    • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group. Exactly one Auto Scaling group must be specified when selecting COPY_AUTO_SCALING_GROUP. Use autoscaling_groups to specify the Auto Scaling group.
    action string
    The method used to add instances to a replacement environment.

    • DISCOVER_EXISTING: Use instances that already exist or will be created manually.
    • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group. Exactly one Auto Scaling group must be specified when selecting COPY_AUTO_SCALING_GROUP. Use autoscaling_groups to specify the Auto Scaling group.
    action str
    The method used to add instances to a replacement environment.

    • DISCOVER_EXISTING: Use instances that already exist or will be created manually.
    • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group. Exactly one Auto Scaling group must be specified when selecting COPY_AUTO_SCALING_GROUP. Use autoscaling_groups to specify the Auto Scaling group.
    action String
    The method used to add instances to a replacement environment.

    • DISCOVER_EXISTING: Use instances that already exist or will be created manually.
    • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group. Exactly one Auto Scaling group must be specified when selecting COPY_AUTO_SCALING_GROUP. Use autoscaling_groups to specify the Auto Scaling group.

    DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess, DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs

    Action string
    The action to take on instances in the original environment after a successful blue/green deployment.

    • TERMINATE: Instances are terminated after a specified wait time.
    • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.
    TerminationWaitTimeInMinutes int
    The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.
    Action string
    The action to take on instances in the original environment after a successful blue/green deployment.

    • TERMINATE: Instances are terminated after a specified wait time.
    • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.
    TerminationWaitTimeInMinutes int
    The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.
    action String
    The action to take on instances in the original environment after a successful blue/green deployment.

    • TERMINATE: Instances are terminated after a specified wait time.
    • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.
    terminationWaitTimeInMinutes Integer
    The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.
    action string
    The action to take on instances in the original environment after a successful blue/green deployment.

    • TERMINATE: Instances are terminated after a specified wait time.
    • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.
    terminationWaitTimeInMinutes number
    The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.
    action str
    The action to take on instances in the original environment after a successful blue/green deployment.

    • TERMINATE: Instances are terminated after a specified wait time.
    • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.
    termination_wait_time_in_minutes int
    The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.
    action String
    The action to take on instances in the original environment after a successful blue/green deployment.

    • TERMINATE: Instances are terminated after a specified wait time.
    • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.
    terminationWaitTimeInMinutes Number
    The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.

    DeploymentGroupDeploymentStyle, DeploymentGroupDeploymentStyleArgs

    DeploymentOption string
    Indicates whether to route deployment traffic behind a load balancer. Valid Values are WITH_TRAFFIC_CONTROL or WITHOUT_TRAFFIC_CONTROL. Default is WITHOUT_TRAFFIC_CONTROL.
    DeploymentType string

    Indicates whether to run an in-place deployment or a blue/green deployment. Valid Values are IN_PLACE or BLUE_GREEN. Default is IN_PLACE.

    Only one deployment_style is allowed.

    DeploymentOption string
    Indicates whether to route deployment traffic behind a load balancer. Valid Values are WITH_TRAFFIC_CONTROL or WITHOUT_TRAFFIC_CONTROL. Default is WITHOUT_TRAFFIC_CONTROL.
    DeploymentType string

    Indicates whether to run an in-place deployment or a blue/green deployment. Valid Values are IN_PLACE or BLUE_GREEN. Default is IN_PLACE.

    Only one deployment_style is allowed.

    deploymentOption String
    Indicates whether to route deployment traffic behind a load balancer. Valid Values are WITH_TRAFFIC_CONTROL or WITHOUT_TRAFFIC_CONTROL. Default is WITHOUT_TRAFFIC_CONTROL.
    deploymentType String

    Indicates whether to run an in-place deployment or a blue/green deployment. Valid Values are IN_PLACE or BLUE_GREEN. Default is IN_PLACE.

    Only one deployment_style is allowed.

    deploymentOption string
    Indicates whether to route deployment traffic behind a load balancer. Valid Values are WITH_TRAFFIC_CONTROL or WITHOUT_TRAFFIC_CONTROL. Default is WITHOUT_TRAFFIC_CONTROL.
    deploymentType string

    Indicates whether to run an in-place deployment or a blue/green deployment. Valid Values are IN_PLACE or BLUE_GREEN. Default is IN_PLACE.

    Only one deployment_style is allowed.

    deployment_option str
    Indicates whether to route deployment traffic behind a load balancer. Valid Values are WITH_TRAFFIC_CONTROL or WITHOUT_TRAFFIC_CONTROL. Default is WITHOUT_TRAFFIC_CONTROL.
    deployment_type str

    Indicates whether to run an in-place deployment or a blue/green deployment. Valid Values are IN_PLACE or BLUE_GREEN. Default is IN_PLACE.

    Only one deployment_style is allowed.

    deploymentOption String
    Indicates whether to route deployment traffic behind a load balancer. Valid Values are WITH_TRAFFIC_CONTROL or WITHOUT_TRAFFIC_CONTROL. Default is WITHOUT_TRAFFIC_CONTROL.
    deploymentType String

    Indicates whether to run an in-place deployment or a blue/green deployment. Valid Values are IN_PLACE or BLUE_GREEN. Default is IN_PLACE.

    Only one deployment_style is allowed.

    DeploymentGroupEc2TagFilter, DeploymentGroupEc2TagFilterArgs

    Key string
    The key of the tag filter.
    Type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    Value string

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    Key string
    The key of the tag filter.
    Type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    Value string

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key String
    The key of the tag filter.
    type String
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value String

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key string
    The key of the tag filter.
    type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value string

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key str
    The key of the tag filter.
    type str
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value str

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key String
    The key of the tag filter.
    type String
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value String

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    DeploymentGroupEc2TagSet, DeploymentGroupEc2TagSetArgs

    Ec2TagFilters List<DeploymentGroupEc2TagSetEc2TagFilter>
    Tag filters associated with the deployment group. See the AWS docs for details.
    Ec2TagFilters []DeploymentGroupEc2TagSetEc2TagFilter
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagFilters List<DeploymentGroupEc2TagSetEc2TagFilter>
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagFilters DeploymentGroupEc2TagSetEc2TagFilter[]
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2_tag_filters Sequence[DeploymentGroupEc2TagSetEc2TagFilter]
    Tag filters associated with the deployment group. See the AWS docs for details.
    ec2TagFilters List<Property Map>
    Tag filters associated with the deployment group. See the AWS docs for details.

    DeploymentGroupEc2TagSetEc2TagFilter, DeploymentGroupEc2TagSetEc2TagFilterArgs

    Key string
    The key of the tag filter.
    Type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    Value string

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    Key string
    The key of the tag filter.
    Type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    Value string

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key String
    The key of the tag filter.
    type String
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value String

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key string
    The key of the tag filter.
    type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value string

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key str
    The key of the tag filter.
    type str
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value str

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    key String
    The key of the tag filter.
    type String
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value String

    The value of the tag filter.

    Multiple occurrences of ec2_tag_filter are allowed, where any instance that matches to at least one of the tag filters is selected.

    DeploymentGroupEcsService, DeploymentGroupEcsServiceArgs

    ClusterName string
    The name of the ECS cluster.
    ServiceName string
    The name of the ECS service.
    ClusterName string
    The name of the ECS cluster.
    ServiceName string
    The name of the ECS service.
    clusterName String
    The name of the ECS cluster.
    serviceName String
    The name of the ECS service.
    clusterName string
    The name of the ECS cluster.
    serviceName string
    The name of the ECS service.
    cluster_name str
    The name of the ECS cluster.
    service_name str
    The name of the ECS service.
    clusterName String
    The name of the ECS cluster.
    serviceName String
    The name of the ECS service.

    DeploymentGroupLoadBalancerInfo, DeploymentGroupLoadBalancerInfoArgs

    ElbInfos List<DeploymentGroupLoadBalancerInfoElbInfo>
    The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.
    TargetGroupInfos List<DeploymentGroupLoadBalancerInfoTargetGroupInfo>
    The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.
    TargetGroupPairInfo DeploymentGroupLoadBalancerInfoTargetGroupPairInfo
    The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.
    ElbInfos []DeploymentGroupLoadBalancerInfoElbInfo
    The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.
    TargetGroupInfos []DeploymentGroupLoadBalancerInfoTargetGroupInfo
    The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.
    TargetGroupPairInfo DeploymentGroupLoadBalancerInfoTargetGroupPairInfo
    The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.
    elbInfos List<DeploymentGroupLoadBalancerInfoElbInfo>
    The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.
    targetGroupInfos List<DeploymentGroupLoadBalancerInfoTargetGroupInfo>
    The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.
    targetGroupPairInfo DeploymentGroupLoadBalancerInfoTargetGroupPairInfo
    The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.
    elbInfos DeploymentGroupLoadBalancerInfoElbInfo[]
    The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.
    targetGroupInfos DeploymentGroupLoadBalancerInfoTargetGroupInfo[]
    The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.
    targetGroupPairInfo DeploymentGroupLoadBalancerInfoTargetGroupPairInfo
    The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.
    elb_infos Sequence[DeploymentGroupLoadBalancerInfoElbInfo]
    The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.
    target_group_infos Sequence[DeploymentGroupLoadBalancerInfoTargetGroupInfo]
    The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.
    target_group_pair_info DeploymentGroupLoadBalancerInfoTargetGroupPairInfo
    The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.
    elbInfos List<Property Map>
    The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.
    targetGroupInfos List<Property Map>
    The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.
    targetGroupPairInfo Property Map
    The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.

    DeploymentGroupLoadBalancerInfoElbInfo, DeploymentGroupLoadBalancerInfoElbInfoArgs

    Name string
    The name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    Name string
    The name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name String
    The name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name string
    The name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name str
    The name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name String
    The name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

    DeploymentGroupLoadBalancerInfoTargetGroupInfo, DeploymentGroupLoadBalancerInfoTargetGroupInfoArgs

    Name string
    The name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    Name string
    The name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name String
    The name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name string
    The name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name str
    The name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.
    name String
    The name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

    DeploymentGroupLoadBalancerInfoTargetGroupPairInfo, DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs

    ProdTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRoute
    Configuration block for the production traffic route (documented below).
    TargetGroups List<DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroup>
    Configuration blocks for a target group within a target group pair (documented below).
    TestTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRoute
    Configuration block for the test traffic route (documented below).
    ProdTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRoute
    Configuration block for the production traffic route (documented below).
    TargetGroups []DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroup
    Configuration blocks for a target group within a target group pair (documented below).
    TestTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRoute
    Configuration block for the test traffic route (documented below).
    prodTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRoute
    Configuration block for the production traffic route (documented below).
    targetGroups List<DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroup>
    Configuration blocks for a target group within a target group pair (documented below).
    testTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRoute
    Configuration block for the test traffic route (documented below).
    prodTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRoute
    Configuration block for the production traffic route (documented below).
    targetGroups DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroup[]
    Configuration blocks for a target group within a target group pair (documented below).
    testTrafficRoute DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRoute
    Configuration block for the test traffic route (documented below).
    prod_traffic_route DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRoute
    Configuration block for the production traffic route (documented below).
    target_groups Sequence[DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroup]
    Configuration blocks for a target group within a target group pair (documented below).
    test_traffic_route DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRoute
    Configuration block for the test traffic route (documented below).
    prodTrafficRoute Property Map
    Configuration block for the production traffic route (documented below).
    targetGroups List<Property Map>
    Configuration blocks for a target group within a target group pair (documented below).
    testTrafficRoute Property Map
    Configuration block for the test traffic route (documented below).

    DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRoute, DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs

    ListenerArns List<string>
    List of Amazon Resource Names (ARNs) of the load balancer listeners. Must contain exactly one listener ARN.
    ListenerArns []string
    List of Amazon Resource Names (ARNs) of the load balancer listeners. Must contain exactly one listener ARN.
    listenerArns List<String>
    List of Amazon Resource Names (ARNs) of the load balancer listeners. Must contain exactly one listener ARN.
    listenerArns string[]
    List of Amazon Resource Names (ARNs) of the load balancer listeners. Must contain exactly one listener ARN.
    listener_arns Sequence[str]
    List of Amazon Resource Names (ARNs) of the load balancer listeners. Must contain exactly one listener ARN.
    listenerArns List<String>
    List of Amazon Resource Names (ARNs) of the load balancer listeners. Must contain exactly one listener ARN.

    DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroup, DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs

    Name string
    Name of the target group.
    Name string
    Name of the target group.
    name String
    Name of the target group.
    name string
    Name of the target group.
    name str
    Name of the target group.
    name String
    Name of the target group.

    DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRoute, DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTestTrafficRouteArgs

    ListenerArns List<string>
    List of Amazon Resource Names (ARNs) of the load balancer listeners.
    ListenerArns []string
    List of Amazon Resource Names (ARNs) of the load balancer listeners.
    listenerArns List<String>
    List of Amazon Resource Names (ARNs) of the load balancer listeners.
    listenerArns string[]
    List of Amazon Resource Names (ARNs) of the load balancer listeners.
    listener_arns Sequence[str]
    List of Amazon Resource Names (ARNs) of the load balancer listeners.
    listenerArns List<String>
    List of Amazon Resource Names (ARNs) of the load balancer listeners.

    DeploymentGroupOnPremisesInstanceTagFilter, DeploymentGroupOnPremisesInstanceTagFilterArgs

    Key string
    The key of the tag filter.
    Type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    Value string
    The value of the tag filter.
    Key string
    The key of the tag filter.
    Type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    Value string
    The value of the tag filter.
    key String
    The key of the tag filter.
    type String
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value String
    The value of the tag filter.
    key string
    The key of the tag filter.
    type string
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value string
    The value of the tag filter.
    key str
    The key of the tag filter.
    type str
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value str
    The value of the tag filter.
    key String
    The key of the tag filter.
    type String
    The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.
    value String
    The value of the tag filter.

    DeploymentGroupTriggerConfiguration, DeploymentGroupTriggerConfigurationArgs

    TriggerEvents List<string>
    The event type or types for which notifications are triggered. Some values that are supported: DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, InstanceStart, InstanceSuccess, InstanceFailure. See the CodeDeploy documentation for all possible values.
    TriggerName string
    The name of the notification trigger.
    TriggerTargetArn string
    The ARN of the SNS topic through which notifications are sent.
    TriggerEvents []string
    The event type or types for which notifications are triggered. Some values that are supported: DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, InstanceStart, InstanceSuccess, InstanceFailure. See the CodeDeploy documentation for all possible values.
    TriggerName string
    The name of the notification trigger.
    TriggerTargetArn string
    The ARN of the SNS topic through which notifications are sent.
    triggerEvents List<String>
    The event type or types for which notifications are triggered. Some values that are supported: DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, InstanceStart, InstanceSuccess, InstanceFailure. See the CodeDeploy documentation for all possible values.
    triggerName String
    The name of the notification trigger.
    triggerTargetArn String
    The ARN of the SNS topic through which notifications are sent.
    triggerEvents string[]
    The event type or types for which notifications are triggered. Some values that are supported: DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, InstanceStart, InstanceSuccess, InstanceFailure. See the CodeDeploy documentation for all possible values.
    triggerName string
    The name of the notification trigger.
    triggerTargetArn string
    The ARN of the SNS topic through which notifications are sent.
    trigger_events Sequence[str]
    The event type or types for which notifications are triggered. Some values that are supported: DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, InstanceStart, InstanceSuccess, InstanceFailure. See the CodeDeploy documentation for all possible values.
    trigger_name str
    The name of the notification trigger.
    trigger_target_arn str
    The ARN of the SNS topic through which notifications are sent.
    triggerEvents List<String>
    The event type or types for which notifications are triggered. Some values that are supported: DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, InstanceStart, InstanceSuccess, InstanceFailure. See the CodeDeploy documentation for all possible values.
    triggerName String
    The name of the notification trigger.
    triggerTargetArn String
    The ARN of the SNS topic through which notifications are sent.

    Import

    Using pulumi import, import CodeDeploy Deployment Groups using app_name, a colon, and deployment_group_name. For example:

    $ pulumi import aws:codedeploy/deploymentGroup:DeploymentGroup example my-application:my-deployment-group
    

    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
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi