class Aws::CodeDeploy::Types::UpdateDeploymentGroupInput

Represents the input of an `UpdateDeploymentGroup` operation.

@note When making an API call, you may pass UpdateDeploymentGroupInput

data as a hash:

    {
      application_name: "ApplicationName", # required
      current_deployment_group_name: "DeploymentGroupName", # required
      new_deployment_group_name: "DeploymentGroupName",
      deployment_config_name: "DeploymentConfigName",
      ec2_tag_filters: [
        {
          key: "Key",
          value: "Value",
          type: "KEY_ONLY", # accepts KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE
        },
      ],
      on_premises_instance_tag_filters: [
        {
          key: "Key",
          value: "Value",
          type: "KEY_ONLY", # accepts KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE
        },
      ],
      auto_scaling_groups: ["AutoScalingGroupName"],
      service_role_arn: "Role",
      trigger_configurations: [
        {
          trigger_name: "TriggerName",
          trigger_target_arn: "TriggerTargetArn",
          trigger_events: ["DeploymentStart"], # accepts DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, DeploymentReady, InstanceStart, InstanceSuccess, InstanceFailure, InstanceReady
        },
      ],
      alarm_configuration: {
        enabled: false,
        ignore_poll_alarm_failure: false,
        alarms: [
          {
            name: "AlarmName",
          },
        ],
      },
      auto_rollback_configuration: {
        enabled: false,
        events: ["DEPLOYMENT_FAILURE"], # accepts DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM, DEPLOYMENT_STOP_ON_REQUEST
      },
      outdated_instances_strategy: "UPDATE", # accepts UPDATE, IGNORE
      deployment_style: {
        deployment_type: "IN_PLACE", # accepts IN_PLACE, BLUE_GREEN
        deployment_option: "WITH_TRAFFIC_CONTROL", # accepts WITH_TRAFFIC_CONTROL, WITHOUT_TRAFFIC_CONTROL
      },
      blue_green_deployment_configuration: {
        terminate_blue_instances_on_deployment_success: {
          action: "TERMINATE", # accepts TERMINATE, KEEP_ALIVE
          termination_wait_time_in_minutes: 1,
        },
        deployment_ready_option: {
          action_on_timeout: "CONTINUE_DEPLOYMENT", # accepts CONTINUE_DEPLOYMENT, STOP_DEPLOYMENT
          wait_time_in_minutes: 1,
        },
        green_fleet_provisioning_option: {
          action: "DISCOVER_EXISTING", # accepts DISCOVER_EXISTING, COPY_AUTO_SCALING_GROUP
        },
      },
      load_balancer_info: {
        elb_info_list: [
          {
            name: "ELBName",
          },
        ],
        target_group_info_list: [
          {
            name: "TargetGroupName",
          },
        ],
        target_group_pair_info_list: [
          {
            target_groups: [
              {
                name: "TargetGroupName",
              },
            ],
            prod_traffic_route: {
              listener_arns: ["ListenerArn"],
            },
            test_traffic_route: {
              listener_arns: ["ListenerArn"],
            },
          },
        ],
      },
      ec2_tag_set: {
        ec2_tag_set_list: [
          [
            {
              key: "Key",
              value: "Value",
              type: "KEY_ONLY", # accepts KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE
            },
          ],
        ],
      },
      ecs_services: [
        {
          service_name: "ECSServiceName",
          cluster_name: "ECSClusterName",
        },
      ],
      on_premises_tag_set: {
        on_premises_tag_set_list: [
          [
            {
              key: "Key",
              value: "Value",
              type: "KEY_ONLY", # accepts KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE
            },
          ],
        ],
      },
    }

@!attribute [rw] application_name

The application name that corresponds to the deployment group to
update.
@return [String]

@!attribute [rw] current_deployment_group_name

The current name of the deployment group.
@return [String]

@!attribute [rw] new_deployment_group_name

The new name of the deployment group, if you want to change it.
@return [String]

@!attribute [rw] deployment_config_name

The replacement deployment configuration name to use, if you want to
change it.
@return [String]

@!attribute [rw] ec2_tag_filters

The replacement set of Amazon EC2 tags on which to filter, if you
want to change them. To keep the existing tags, enter their names.
To remove tags, do not enter any tag names.
@return [Array<Types::EC2TagFilter>]

@!attribute [rw] on_premises_instance_tag_filters

The replacement set of on-premises instance tags on which to filter,
if you want to change them. To keep the existing tags, enter their
names. To remove tags, do not enter any tag names.
@return [Array<Types::TagFilter>]

@!attribute [rw] auto_scaling_groups

The replacement list of Auto Scaling groups to be included in the
deployment group, if you want to change them. To keep the Auto
Scaling groups, enter their names. To remove Auto Scaling groups, do
not enter any Auto Scaling group names.
@return [Array<String>]

@!attribute [rw] service_role_arn

A replacement ARN for the service role, if you want to change it.
@return [String]

@!attribute [rw] trigger_configurations

Information about triggers to change when the deployment group is
updated. For examples, see [Edit a Trigger in a CodeDeploy
Deployment Group][1] in the *AWS CodeDeploy User Guide*.

[1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html
@return [Array<Types::TriggerConfig>]

@!attribute [rw] alarm_configuration

Information to add or change about Amazon CloudWatch alarms when the
deployment group is updated.
@return [Types::AlarmConfiguration]

@!attribute [rw] auto_rollback_configuration

Information for an automatic rollback configuration that is added or
changed when a deployment group is updated.
@return [Types::AutoRollbackConfiguration]

@!attribute [rw] outdated_instances_strategy

Indicates what happens when new EC2 instances are launched
mid-deployment and do not receive the deployed application revision.

If this option is set to `UPDATE` or is unspecified, CodeDeploy
initiates one or more 'auto-update outdated instances' deployments
to apply the deployed application revision to the new EC2 instances.

If this option is set to `IGNORE`, CodeDeploy does not initiate a
deployment to update the new EC2 instances. This may result in
instances having different revisions.
@return [String]

@!attribute [rw] deployment_style

Information about the type of deployment, either in-place or
blue/green, you want to run and whether to route deployment traffic
behind a load balancer.
@return [Types::DeploymentStyle]

@!attribute [rw] blue_green_deployment_configuration

Information about blue/green deployment options for a deployment
group.
@return [Types::BlueGreenDeploymentConfiguration]

@!attribute [rw] load_balancer_info

Information about the load balancer used in a deployment.
@return [Types::LoadBalancerInfo]

@!attribute [rw] ec2_tag_set

Information about groups of tags applied to on-premises instances.
The deployment group includes only EC2 instances identified by all
the tag groups.
@return [Types::EC2TagSet]

@!attribute [rw] ecs_services

The target Amazon ECS services in the deployment group. This applies
only to deployment groups that use the Amazon ECS compute platform.
A target Amazon ECS service is specified as an Amazon ECS cluster
and service name pair using the format
`<clustername>:<servicename>`.
@return [Array<Types::ECSService>]

@!attribute [rw] on_premises_tag_set

Information about an on-premises instance tag set. The deployment
group includes only on-premises instances identified by all the tag
groups.
@return [Types::OnPremisesTagSet]

@see docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroupInput AWS API Documentation

Constants

SENSITIVE