NAME

Paws::CodeDeploy::UpdateDeploymentGroup - Arguments for method UpdateDeploymentGroup on Paws::CodeDeploy

DESCRIPTION

This class represents the parameters used for calling the method UpdateDeploymentGroup on the AWS CodeDeploy service. Use the attributes of this class as arguments to method UpdateDeploymentGroup.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to UpdateDeploymentGroup.

SYNOPSIS

my $codedeploy = Paws->service('CodeDeploy');
my $UpdateDeploymentGroupOutput = $codedeploy->UpdateDeploymentGroup(
  ApplicationName            => 'MyApplicationName',
  CurrentDeploymentGroupName => 'MyDeploymentGroupName',
  AlarmConfiguration         => {
    Alarms => [
      {
        Name => 'MyAlarmName',    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
    Enabled                => 1,    # OPTIONAL
    IgnorePollAlarmFailure => 1,    # OPTIONAL
  },    # OPTIONAL
  AutoRollbackConfiguration => {
    Enabled => 1,    # OPTIONAL
    Events  => [
      'DEPLOYMENT_FAILURE',
      ... # values: DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM, DEPLOYMENT_STOP_ON_REQUEST
    ],    # OPTIONAL
  },    # OPTIONAL
  AutoScalingGroups => [ 'MyAutoScalingGroupName', ... ],    # OPTIONAL
  BlueGreenDeploymentConfiguration => {
    DeploymentReadyOption => {
      ActionOnTimeout => 'CONTINUE_DEPLOYMENT'
      ,    # values: CONTINUE_DEPLOYMENT, STOP_DEPLOYMENT; OPTIONAL
      WaitTimeInMinutes => 1,    # OPTIONAL
    },    # OPTIONAL
    GreenFleetProvisioningOption => {
      Action => 'DISCOVER_EXISTING'
      ,    # values: DISCOVER_EXISTING, COPY_AUTO_SCALING_GROUP; OPTIONAL
    },    # OPTIONAL
    TerminateBlueInstancesOnDeploymentSuccess => {
      Action => 'TERMINATE',    # values: TERMINATE, KEEP_ALIVE; OPTIONAL
      TerminationWaitTimeInMinutes => 1,    # OPTIONAL
    },    # OPTIONAL
  },    # OPTIONAL
  DeploymentConfigName => 'MyDeploymentConfigName',    # OPTIONAL
  DeploymentStyle      => {
    DeploymentOption => 'WITH_TRAFFIC_CONTROL'
    ,    # values: WITH_TRAFFIC_CONTROL, WITHOUT_TRAFFIC_CONTROL; OPTIONAL
    DeploymentType => 'IN_PLACE',   # values: IN_PLACE, BLUE_GREEN; OPTIONAL
  },    # OPTIONAL
  Ec2TagFilters => [
    {
      Key  => 'MyKey',    # OPTIONAL
      Type =>
        'KEY_ONLY',  # values: KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE; OPTIONAL
      Value => 'MyValue',    # OPTIONAL
    },
    ...
  ],    # OPTIONAL
  Ec2TagSet => {
    Ec2TagSetList => [
      [
        {
          Key  => 'MyKey',       # OPTIONAL
          Type => 'KEY_ONLY'
          ,    # values: KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE; OPTIONAL
          Value => 'MyValue',    # OPTIONAL
        },
        ...
      ],
      ...
    ],    # OPTIONAL
  },    # OPTIONAL
  EcsServices => [
    {
      ClusterName => 'MyECSClusterName',    # OPTIONAL
      ServiceName => 'MyECSServiceName',    # OPTIONAL
    },
    ...
  ],    # OPTIONAL
  LoadBalancerInfo => {
    ElbInfoList => [
      {
        Name => 'MyELBName',    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
    TargetGroupInfoList => [
      {
        Name => 'MyTargetGroupName',    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
    TargetGroupPairInfoList => [
      {
        ProdTrafficRoute => {
          ListenerArns => [ 'MyListenerArn', ... ],    # OPTIONAL
        },    # OPTIONAL
        TargetGroups => [
          {
            Name => 'MyTargetGroupName',    # OPTIONAL
          },
          ...
        ],    # OPTIONAL
        TestTrafficRoute => {
          ListenerArns => [ 'MyListenerArn', ... ],    # OPTIONAL
        },    # OPTIONAL
      },
      ...
    ],    # OPTIONAL
  },    # OPTIONAL
  NewDeploymentGroupName       => 'MyDeploymentGroupName',    # OPTIONAL
  OnPremisesInstanceTagFilters => [
    {
      Key  => 'MyKey',    # OPTIONAL
      Type =>
        'KEY_ONLY',  # values: KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE; OPTIONAL
      Value => 'MyValue',    # OPTIONAL
    },
    ...
  ],    # OPTIONAL
  OnPremisesTagSet => {
    OnPremisesTagSetList => [
      [
        {
          Key  => 'MyKey',       # OPTIONAL
          Type => 'KEY_ONLY'
          ,    # values: KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE; OPTIONAL
          Value => 'MyValue',    # OPTIONAL
        },
        ...
      ],
      ...
    ],    # OPTIONAL
  },    # OPTIONAL
  OutdatedInstancesStrategy => 'UPDATE',    # OPTIONAL
  ServiceRoleArn            => 'MyRole',    # OPTIONAL
  TriggerConfigurations     => [
    {
      TriggerEvents => [
        'DeploymentStart',
        ... # values: DeploymentStart, DeploymentSuccess, DeploymentFailure, DeploymentStop, DeploymentRollback, DeploymentReady, InstanceStart, InstanceSuccess, InstanceFailure, InstanceReady
      ],    # OPTIONAL
      TriggerName      => 'MyTriggerName',         # OPTIONAL
      TriggerTargetArn => 'MyTriggerTargetArn',    # OPTIONAL
    },
    ...
  ],    # OPTIONAL
);

# Results:
my $HooksNotCleanedUp = $UpdateDeploymentGroupOutput->HooksNotCleanedUp;

# Returns a L<Paws::CodeDeploy::UpdateDeploymentGroupOutput> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/codedeploy/UpdateDeploymentGroup

ATTRIBUTES

AlarmConfiguration => Paws::CodeDeploy::AlarmConfiguration

Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.

REQUIRED ApplicationName => Str

The application name that corresponds to the deployment group to update.

AutoRollbackConfiguration => Paws::CodeDeploy::AutoRollbackConfiguration

Information for an automatic rollback configuration that is added or changed when a deployment group is updated.

AutoScalingGroups => ArrayRef[Str|Undef]

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.

BlueGreenDeploymentConfiguration => Paws::CodeDeploy::BlueGreenDeploymentConfiguration

Information about blue/green deployment options for a deployment group.

REQUIRED CurrentDeploymentGroupName => Str

The current name of the deployment group.

DeploymentConfigName => Str

The replacement deployment configuration name to use, if you want to change it.

DeploymentStyle => Paws::CodeDeploy::DeploymentStyle

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.

Ec2TagFilters => ArrayRef[Paws::CodeDeploy::EC2TagFilter]

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.

Ec2TagSet => Paws::CodeDeploy::EC2TagSet

Information about groups of tags applied to on-premises instances. The deployment group includes only EC2 instances identified by all the tag groups.

EcsServices => ArrayRef[Paws::CodeDeploy::ECSService]

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

LoadBalancerInfo => Paws::CodeDeploy::LoadBalancerInfo

Information about the load balancer used in a deployment.

NewDeploymentGroupName => Str

The new name of the deployment group, if you want to change it.

OnPremisesInstanceTagFilters => ArrayRef[Paws::CodeDeploy::TagFilter]

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.

OnPremisesTagSet => Paws::CodeDeploy::OnPremisesTagSet

Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.

OutdatedInstancesStrategy => Str

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.

Valid values are: "UPDATE", "IGNORE"

ServiceRoleArn => Str

A replacement ARN for the service role, if you want to change it.

TriggerConfigurations => ArrayRef[Paws::CodeDeploy::TriggerConfig]

Information about triggers to change when the deployment group is updated. For examples, see Edit a Trigger in a CodeDeploy Deployment Group (https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html) in the AWS CodeDeploy User Guide.

SEE ALSO

This class forms part of Paws, documenting arguments for method UpdateDeploymentGroup in Paws::CodeDeploy

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues