This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

codedeploy

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

class pulumi_aws.codedeploy.Application(resource_name, opts=None, compute_platform=None, name=None, unique_id=None, __props__=None, __name__=None, __opts__=None)

Provides a CodeDeploy application to be used as a basis for deployments

import pulumi
import pulumi_aws as aws

example = aws.codedeploy.Application("example", compute_platform="ECS")
import pulumi
import pulumi_aws as aws

example = aws.codedeploy.Application("example", compute_platform="Lambda")
import pulumi
import pulumi_aws as aws

example = aws.codedeploy.Application("example", compute_platform="Server")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • compute_platform (pulumi.Input[str]) – The compute platform can either be ECS, Lambda, or Server. Default is Server.

  • name (pulumi.Input[str]) – The name of the application.

compute_platform: pulumi.Output[str] = None

The compute platform can either be ECS, Lambda, or Server. Default is Server.

name: pulumi.Output[str] = None

The name of the application.

static get(resource_name, id, opts=None, compute_platform=None, name=None, unique_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • compute_platform (pulumi.Input[str]) – The compute platform can either be ECS, Lambda, or Server. Default is Server.

  • name (pulumi.Input[str]) – The name of the application.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.codedeploy.DeploymentConfig(resource_name, opts=None, compute_platform=None, deployment_config_name=None, minimum_healthy_hosts=None, traffic_routing_config=None, __props__=None, __name__=None, __opts__=None)

Provides a CodeDeploy deployment config for an application

import pulumi
import pulumi_aws as aws

foo_deployment_config = aws.codedeploy.DeploymentConfig("fooDeploymentConfig",
    deployment_config_name="test-deployment-config",
    minimum_healthy_hosts={
        "type": "HOST_COUNT",
        "value": 2,
    })
foo_deployment_group = aws.codedeploy.DeploymentGroup("fooDeploymentGroup",
    alarm_configuration={
        "alarms": ["my-alarm-name"],
        "enabled": True,
    },
    app_name=aws_codedeploy_app["foo_app"]["name"],
    auto_rollback_configuration={
        "enabled": True,
        "events": ["DEPLOYMENT_FAILURE"],
    },
    deployment_config_name=foo_deployment_config.id,
    deployment_group_name="bar",
    ec2_tag_filters=[{
        "key": "filterkey",
        "type": "KEY_AND_VALUE",
        "value": "filtervalue",
    }],
    service_role_arn=aws_iam_role["foo_role"]["arn"],
    trigger_configurations=[{
        "triggerEvents": ["DeploymentFailure"],
        "triggerName": "foo-trigger",
        "triggerTargetArn": "foo-topic-arn",
    }])
import pulumi
import pulumi_aws as aws

foo_deployment_config = aws.codedeploy.DeploymentConfig("fooDeploymentConfig",
    compute_platform="Lambda",
    deployment_config_name="test-deployment-config",
    traffic_routing_config={
        "timeBasedLinear": {
            "interval": 10,
            "percentage": 10,
        },
        "type": "TimeBasedLinear",
    })
foo_deployment_group = aws.codedeploy.DeploymentGroup("fooDeploymentGroup",
    alarm_configuration={
        "alarms": ["my-alarm-name"],
        "enabled": True,
    },
    app_name=aws_codedeploy_app["foo_app"]["name"],
    auto_rollback_configuration={
        "enabled": True,
        "events": ["DEPLOYMENT_STOP_ON_ALARM"],
    },
    deployment_config_name=foo_deployment_config.id,
    deployment_group_name="bar",
    service_role_arn=aws_iam_role["foo_role"]["arn"])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • compute_platform (pulumi.Input[str]) – The compute platform can be Server, Lambda, or ECS. Default is Server.

  • deployment_config_name (pulumi.Input[str]) – The name of the deployment config.

  • minimum_healthy_hosts (pulumi.Input[dict]) – A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.

  • traffic_routing_config (pulumi.Input[dict]) – A traffic_routing_config block. Traffic Routing Config is documented below.

The minimum_healthy_hosts object supports the following:

  • type (pulumi.Input[str]) - The type can either be FLEET_PERCENT or HOST_COUNT.

  • value (pulumi.Input[float]) - The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.

The traffic_routing_config object supports the following:

  • timeBasedCanary (pulumi.Input[dict]) - The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.

    • interval (pulumi.Input[float]) - The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.

    • percentage (pulumi.Input[float]) - The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.

  • timeBasedLinear (pulumi.Input[dict]) - The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.

    • interval (pulumi.Input[float]) - The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.

    • percentage (pulumi.Input[float]) - The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.

  • type (pulumi.Input[str]) - Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.

compute_platform: pulumi.Output[str] = None

The compute platform can be Server, Lambda, or ECS. Default is Server.

deployment_config_id: pulumi.Output[str] = None

The AWS Assigned deployment config id

deployment_config_name: pulumi.Output[str] = None

The name of the deployment config.

minimum_healthy_hosts: pulumi.Output[dict] = None

A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.

  • type (str) - The type can either be FLEET_PERCENT or HOST_COUNT.

  • value (float) - The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.

traffic_routing_config: pulumi.Output[dict] = None

A traffic_routing_config block. Traffic Routing Config is documented below.

  • timeBasedCanary (dict) - The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.

    • interval (float) - The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.

    • percentage (float) - The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.

  • timeBasedLinear (dict) - The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.

    • interval (float) - The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.

    • percentage (float) - The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.

  • type (str) - Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.

static get(resource_name, id, opts=None, compute_platform=None, deployment_config_id=None, deployment_config_name=None, minimum_healthy_hosts=None, traffic_routing_config=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • compute_platform (pulumi.Input[str]) – The compute platform can be Server, Lambda, or ECS. Default is Server.

  • deployment_config_id (pulumi.Input[str]) – The AWS Assigned deployment config id

  • deployment_config_name (pulumi.Input[str]) – The name of the deployment config.

  • minimum_healthy_hosts (pulumi.Input[dict]) – A minimum_healthy_hosts block. Required for Server compute platform. Minimum Healthy Hosts are documented below.

  • traffic_routing_config (pulumi.Input[dict]) – A traffic_routing_config block. Traffic Routing Config is documented below.

The minimum_healthy_hosts object supports the following:

  • type (pulumi.Input[str]) - The type can either be FLEET_PERCENT or HOST_COUNT.

  • value (pulumi.Input[float]) - The value when the type is FLEET_PERCENT represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. When the type is HOST_COUNT, the value represents the minimum number of healthy instances as an absolute value.

The traffic_routing_config object supports the following:

  • timeBasedCanary (pulumi.Input[dict]) - The time based canary configuration information. If type is TimeBasedLinear, use time_based_linear instead.

    • interval (pulumi.Input[float]) - The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.

    • percentage (pulumi.Input[float]) - The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.

  • timeBasedLinear (pulumi.Input[dict]) - The time based linear configuration information. If type is TimeBasedCanary, use time_based_canary instead.

    • interval (pulumi.Input[float]) - The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.

    • percentage (pulumi.Input[float]) - The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.

  • type (pulumi.Input[str]) - Type of traffic routing config. One of TimeBasedCanary, TimeBasedLinear, AllAtOnce.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.codedeploy.DeploymentGroup(resource_name, opts=None, alarm_configuration=None, app_name=None, auto_rollback_configuration=None, autoscaling_groups=None, blue_green_deployment_config=None, deployment_config_name=None, deployment_group_name=None, deployment_style=None, ec2_tag_filters=None, ec2_tag_sets=None, ecs_service=None, load_balancer_info=None, on_premises_instance_tag_filters=None, service_role_arn=None, trigger_configurations=None, __props__=None, __name__=None, __opts__=None)

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.

import pulumi
import pulumi_aws as aws

example_role = aws.iam.Role("exampleRole", assume_role_policy="""{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "codedeploy.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

""")
a_ws_code_deploy_role = aws.iam.RolePolicyAttachment("aWSCodeDeployRole",
    policy_arn="arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole",
    role=example_role.name)
example_application = aws.codedeploy.Application("exampleApplication")
example_topic = aws.sns.Topic("exampleTopic")
example_deployment_group = aws.codedeploy.DeploymentGroup("exampleDeploymentGroup",
    alarm_configuration={
        "alarms": ["my-alarm-name"],
        "enabled": True,
    },
    app_name=example_application.name,
    auto_rollback_configuration={
        "enabled": True,
        "events": ["DEPLOYMENT_FAILURE"],
    },
    deployment_group_name="example-group",
    ec2_tag_sets=[{
        "ec2TagFilter": [
            {
                "key": "filterkey1",
                "type": "KEY_AND_VALUE",
                "value": "filtervalue",
            },
            {
                "key": "filterkey2",
                "type": "KEY_AND_VALUE",
                "value": "filtervalue",
            },
        ],
    }],
    service_role_arn=example_role.arn,
    trigger_configurations=[{
        "triggerEvents": ["DeploymentFailure"],
        "triggerName": "example-trigger",
        "triggerTargetArn": example_topic.arn,
    }])
import pulumi
import pulumi_aws as aws

example_application = aws.codedeploy.Application("exampleApplication", compute_platform="ECS")
example_deployment_group = aws.codedeploy.DeploymentGroup("exampleDeploymentGroup",
    app_name=example_application.name,
    auto_rollback_configuration={
        "enabled": True,
        "events": ["DEPLOYMENT_FAILURE"],
    },
    blue_green_deployment_config={
        "deploymentReadyOption": {
            "actionOnTimeout": "CONTINUE_DEPLOYMENT",
        },
        "terminateBlueInstancesOnDeploymentSuccess": {
            "action": "TERMINATE",
            "terminationWaitTimeInMinutes": 5,
        },
    },
    deployment_config_name="CodeDeployDefault.ECSAllAtOnce",
    deployment_group_name="example",
    deployment_style={
        "deploymentOption": "WITH_TRAFFIC_CONTROL",
        "deploymentType": "BLUE_GREEN",
    },
    ecs_service={
        "cluster_name": aws_ecs_cluster["example"]["name"],
        "service_name": aws_ecs_service["example"]["name"],
    },
    load_balancer_info={
        "targetGroupPairInfo": {
            "prodTrafficRoute": {
                "listenerArns": [aws_lb_listener["example"]["arn"]],
            },
            "targetGroup": [
                {
                    "name": aws_lb_target_group["blue"]["name"],
                },
                {
                    "name": aws_lb_target_group["green"]["name"],
                },
            ],
        },
    },
    service_role_arn=aws_iam_role["example"]["arn"])
import pulumi
import pulumi_aws as aws

example_application = aws.codedeploy.Application("exampleApplication")
example_deployment_group = aws.codedeploy.DeploymentGroup("exampleDeploymentGroup",
    app_name=example_application.name,
    blue_green_deployment_config={
        "deploymentReadyOption": {
            "actionOnTimeout": "STOP_DEPLOYMENT",
            "waitTimeInMinutes": 60,
        },
        "greenFleetProvisioningOption": {
            "action": "DISCOVER_EXISTING",
        },
        "terminateBlueInstancesOnDeploymentSuccess": {
            "action": "KEEP_ALIVE",
        },
    },
    deployment_group_name="example-group",
    deployment_style={
        "deploymentOption": "WITH_TRAFFIC_CONTROL",
        "deploymentType": "BLUE_GREEN",
    },
    load_balancer_info={
        "elbInfo": [{
            "name": aws_elb["example"]["name"],
        }],
    },
    service_role_arn=aws_iam_role["example"]["arn"])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • alarm_configuration (pulumi.Input[dict]) – Configuration block of alarms associated with the deployment group (documented below).

  • app_name (pulumi.Input[str]) – The name of the application.

  • auto_rollback_configuration (pulumi.Input[dict]) – Configuration block of the automatic rollback configuration associated with the deployment group (documented below).

  • autoscaling_groups (pulumi.Input[list]) – Autoscaling groups associated with the deployment group.

  • blue_green_deployment_config (pulumi.Input[dict]) – Configuration block of the blue/green deployment options for a deployment group (documented below).

  • deployment_config_name (pulumi.Input[str]) – The name of the group’s deployment config. The default is “CodeDeployDefault.OneAtATime”.

  • deployment_group_name (pulumi.Input[str]) – The name of the deployment group.

  • deployment_style (pulumi.Input[dict]) – 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 (pulumi.Input[list]) – Tag filters associated with the deployment group. See the AWS docs for details.

  • ec2_tag_sets (pulumi.Input[list]) – 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 (pulumi.Input[dict]) – Configuration block(s) of the ECS services for a deployment group (documented below).

  • load_balancer_info (pulumi.Input[dict]) – Single configuration block of the load balancer to use in a blue/green deployment (documented below).

  • on_premises_instance_tag_filters (pulumi.Input[list]) – On premise tag filters associated with the group. See the AWS docs for details.

  • service_role_arn (pulumi.Input[str]) – The service role ARN that allows deployments.

  • trigger_configurations (pulumi.Input[list]) – Configuration block(s) of the triggers for the deployment group (documented below).

The alarm_configuration object supports the following:

  • alarms (pulumi.Input[list]) - A list of alarms configured for the deployment group. A maximum of 10 alarms can be added to a deployment group.

  • enabled (pulumi.Input[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 (pulumi.Input[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.

    • true: The deployment will proceed even if alarm status information can’t be retrieved.

    • false: The deployment will stop if alarm status information can’t be retrieved.

The auto_rollback_configuration object supports the following:

  • enabled (pulumi.Input[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 (pulumi.Input[list]) - The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE and DEPLOYMENT_STOP_ON_ALARM.

The blue_green_deployment_config object supports the following:

  • deploymentReadyOption (pulumi.Input[dict]) - Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).

    • actionOnTimeout (pulumi.Input[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.

    • waitTimeInMinutes (pulumi.Input[float]) - 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.

  • greenFleetProvisioningOption (pulumi.Input[dict]) - Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).

    • action (pulumi.Input[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.

  • terminateBlueInstancesOnDeploymentSuccess (pulumi.Input[dict]) - Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    • action (pulumi.Input[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.

    • terminationWaitTimeInMinutes (pulumi.Input[float]) - The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.

The deployment_style object supports the following:

  • deploymentOption (pulumi.Input[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.

  • deploymentType (pulumi.Input[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.

The ec2_tag_filters object supports the following:

  • key (pulumi.Input[str]) - The key of the tag filter.

  • type (pulumi.Input[str]) - The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.

  • value (pulumi.Input[str]) - The value of the tag filter.

The ec2_tag_sets object supports the following:

  • ec2_tag_filters (pulumi.Input[list]) - Tag filters associated with the deployment group. See the AWS docs for details.

    • key (pulumi.Input[str]) - The key of the tag filter.

    • type (pulumi.Input[str]) - The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.

    • value (pulumi.Input[str]) - The value of the tag filter.

The ecs_service object supports the following:

  • cluster_name (pulumi.Input[str]) - The name of the ECS cluster.

  • service_name (pulumi.Input[str]) - The name of the ECS service.

The load_balancer_info object supports the following:

  • elbInfos (pulumi.Input[list]) - The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.

    • name (pulumi.Input[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.

  • targetGroupInfos (pulumi.Input[list]) - The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.

    • name (pulumi.Input[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.

  • targetGroupPairInfo (pulumi.Input[dict]) - The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.

    • prodTrafficRoute (pulumi.Input[dict]) - Configuration block for the production traffic route (documented below).

      • listenerArns (pulumi.Input[list]) - List of Amazon Resource Names (ARNs) of the load balancer listeners.

    • targetGroups (pulumi.Input[list]) - Configuration blocks for a target group within a target group pair (documented below).

      • name (pulumi.Input[str]) - Name of the target group.

    • testTrafficRoute (pulumi.Input[dict]) - Configuration block for the test traffic route (documented below).

      • listenerArns (pulumi.Input[list]) - List of Amazon Resource Names (ARNs) of the load balancer listeners.

The on_premises_instance_tag_filters object supports the following:

  • key (pulumi.Input[str]) - The key of the tag filter.

  • type (pulumi.Input[str]) - The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.

  • value (pulumi.Input[str]) - The value of the tag filter.

The trigger_configurations object supports the following:

  • triggerEvents (pulumi.Input[list]) - 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 (pulumi.Input[str]) - The name of the notification trigger.

  • triggerTargetArn (pulumi.Input[str]) - The ARN of the SNS topic through which notifications are sent.

alarm_configuration: pulumi.Output[dict] = None

Configuration block of alarms associated with the deployment group (documented below).

  • alarms (list) - A list of alarms configured for the deployment group. A maximum of 10 alarms can be added to a 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.

    • true: The deployment will proceed even if alarm status information can’t be retrieved.

    • false: The deployment will stop if alarm status information can’t be retrieved.

app_name: pulumi.Output[str] = None

The name of the application.

auto_rollback_configuration: pulumi.Output[dict] = None

Configuration block of the automatic rollback configuration associated with the deployment group (documented below).

  • 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) - The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE and DEPLOYMENT_STOP_ON_ALARM.

autoscaling_groups: pulumi.Output[list] = None

Autoscaling groups associated with the deployment group.

blue_green_deployment_config: pulumi.Output[dict] = None

Configuration block of the blue/green deployment options for a deployment group (documented below).

  • deploymentReadyOption (dict) - Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).

    • actionOnTimeout (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.

    • waitTimeInMinutes (float) - 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.

  • greenFleetProvisioningOption (dict) - Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).

    • 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.

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

    • 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.

    • terminationWaitTimeInMinutes (float) - The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.

deployment_config_name: pulumi.Output[str] = None

The name of the group’s deployment config. The default is “CodeDeployDefault.OneAtATime”.

deployment_group_name: pulumi.Output[str] = None

The name of the deployment group.

deployment_style: pulumi.Output[dict] = None

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).

  • deploymentOption (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.

  • deploymentType (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.

ec2_tag_filters: pulumi.Output[list] = None

Tag filters associated with the deployment group. See the AWS docs for details.

  • 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.

ec2_tag_sets: pulumi.Output[list] = None

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.

  • ec2_tag_filters (list) - Tag filters associated with the deployment group. See the AWS docs for details.

    • 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.

ecs_service: pulumi.Output[dict] = None

Configuration block(s) of the ECS services for a deployment group (documented below).

  • cluster_name (str) - The name of the ECS cluster.

  • service_name (str) - The name of the ECS service.

load_balancer_info: pulumi.Output[dict] = None

Single configuration block of the load balancer to use in a blue/green deployment (documented below).

  • elbInfos (list) - The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.

    • 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.

  • targetGroupInfos (list) - The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.

    • 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.

  • targetGroupPairInfo (dict) - The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.

    • prodTrafficRoute (dict) - Configuration block for the production traffic route (documented below).

      • listenerArns (list) - List of Amazon Resource Names (ARNs) of the load balancer listeners.

    • targetGroups (list) - Configuration blocks for a target group within a target group pair (documented below).

      • name (str) - Name of the target group.

    • testTrafficRoute (dict) - Configuration block for the test traffic route (documented below).

      • listenerArns (list) - List of Amazon Resource Names (ARNs) of the load balancer listeners.

on_premises_instance_tag_filters: pulumi.Output[list] = None

On premise tag filters associated with the group. See the AWS docs for details.

  • 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.

service_role_arn: pulumi.Output[str] = None

The service role ARN that allows deployments.

trigger_configurations: pulumi.Output[list] = None

Configuration block(s) of the triggers for the deployment group (documented below).

  • triggerEvents (list) - 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 (str) - The name of the notification trigger.

  • triggerTargetArn (str) - The ARN of the SNS topic through which notifications are sent.

static get(resource_name, id, opts=None, alarm_configuration=None, app_name=None, auto_rollback_configuration=None, autoscaling_groups=None, blue_green_deployment_config=None, deployment_config_name=None, deployment_group_name=None, deployment_style=None, ec2_tag_filters=None, ec2_tag_sets=None, ecs_service=None, load_balancer_info=None, on_premises_instance_tag_filters=None, service_role_arn=None, trigger_configurations=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • alarm_configuration (pulumi.Input[dict]) – Configuration block of alarms associated with the deployment group (documented below).

  • app_name (pulumi.Input[str]) – The name of the application.

  • auto_rollback_configuration (pulumi.Input[dict]) – Configuration block of the automatic rollback configuration associated with the deployment group (documented below).

  • autoscaling_groups (pulumi.Input[list]) – Autoscaling groups associated with the deployment group.

  • blue_green_deployment_config (pulumi.Input[dict]) – Configuration block of the blue/green deployment options for a deployment group (documented below).

  • deployment_config_name (pulumi.Input[str]) – The name of the group’s deployment config. The default is “CodeDeployDefault.OneAtATime”.

  • deployment_group_name (pulumi.Input[str]) – The name of the deployment group.

  • deployment_style (pulumi.Input[dict]) – 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 (pulumi.Input[list]) – Tag filters associated with the deployment group. See the AWS docs for details.

  • ec2_tag_sets (pulumi.Input[list]) – 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 (pulumi.Input[dict]) – Configuration block(s) of the ECS services for a deployment group (documented below).

  • load_balancer_info (pulumi.Input[dict]) – Single configuration block of the load balancer to use in a blue/green deployment (documented below).

  • on_premises_instance_tag_filters (pulumi.Input[list]) – On premise tag filters associated with the group. See the AWS docs for details.

  • service_role_arn (pulumi.Input[str]) – The service role ARN that allows deployments.

  • trigger_configurations (pulumi.Input[list]) – Configuration block(s) of the triggers for the deployment group (documented below).

The alarm_configuration object supports the following:

  • alarms (pulumi.Input[list]) - A list of alarms configured for the deployment group. A maximum of 10 alarms can be added to a deployment group.

  • enabled (pulumi.Input[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 (pulumi.Input[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.

    • true: The deployment will proceed even if alarm status information can’t be retrieved.

    • false: The deployment will stop if alarm status information can’t be retrieved.

The auto_rollback_configuration object supports the following:

  • enabled (pulumi.Input[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 (pulumi.Input[list]) - The event type or types that trigger a rollback. Supported types are DEPLOYMENT_FAILURE and DEPLOYMENT_STOP_ON_ALARM.

The blue_green_deployment_config object supports the following:

  • deploymentReadyOption (pulumi.Input[dict]) - Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).

    • actionOnTimeout (pulumi.Input[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.

    • waitTimeInMinutes (pulumi.Input[float]) - 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.

  • greenFleetProvisioningOption (pulumi.Input[dict]) - Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).

    • action (pulumi.Input[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.

  • terminateBlueInstancesOnDeploymentSuccess (pulumi.Input[dict]) - Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).

    • action (pulumi.Input[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.

    • terminationWaitTimeInMinutes (pulumi.Input[float]) - The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.

The deployment_style object supports the following:

  • deploymentOption (pulumi.Input[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.

  • deploymentType (pulumi.Input[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.

The ec2_tag_filters object supports the following:

  • key (pulumi.Input[str]) - The key of the tag filter.

  • type (pulumi.Input[str]) - The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.

  • value (pulumi.Input[str]) - The value of the tag filter.

The ec2_tag_sets object supports the following:

  • ec2_tag_filters (pulumi.Input[list]) - Tag filters associated with the deployment group. See the AWS docs for details.

    • key (pulumi.Input[str]) - The key of the tag filter.

    • type (pulumi.Input[str]) - The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.

    • value (pulumi.Input[str]) - The value of the tag filter.

The ecs_service object supports the following:

  • cluster_name (pulumi.Input[str]) - The name of the ECS cluster.

  • service_name (pulumi.Input[str]) - The name of the ECS service.

The load_balancer_info object supports the following:

  • elbInfos (pulumi.Input[list]) - The Classic Elastic Load Balancer to use in a deployment. Conflicts with target_group_info and target_group_pair_info.

    • name (pulumi.Input[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.

  • targetGroupInfos (pulumi.Input[list]) - The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with elb_info and target_group_pair_info.

    • name (pulumi.Input[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.

  • targetGroupPairInfo (pulumi.Input[dict]) - The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with elb_info and target_group_info.

    • prodTrafficRoute (pulumi.Input[dict]) - Configuration block for the production traffic route (documented below).

      • listenerArns (pulumi.Input[list]) - List of Amazon Resource Names (ARNs) of the load balancer listeners.

    • targetGroups (pulumi.Input[list]) - Configuration blocks for a target group within a target group pair (documented below).

      • name (pulumi.Input[str]) - Name of the target group.

    • testTrafficRoute (pulumi.Input[dict]) - Configuration block for the test traffic route (documented below).

      • listenerArns (pulumi.Input[list]) - List of Amazon Resource Names (ARNs) of the load balancer listeners.

The on_premises_instance_tag_filters object supports the following:

  • key (pulumi.Input[str]) - The key of the tag filter.

  • type (pulumi.Input[str]) - The type of the tag filter, either KEY_ONLY, VALUE_ONLY, or KEY_AND_VALUE.

  • value (pulumi.Input[str]) - The value of the tag filter.

The trigger_configurations object supports the following:

  • triggerEvents (pulumi.Input[list]) - 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 (pulumi.Input[str]) - The name of the notification trigger.

  • triggerTargetArn (pulumi.Input[str]) - The ARN of the SNS topic through which notifications are sent.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str