The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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