NAME

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

DESCRIPTION

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

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

SYNOPSIS

my $codedeploy = Paws->service('CodeDeploy');
my $CreateDeploymentGroupOutput = $codedeploy->CreateDeploymentGroup(
  ApplicationName     => 'MyApplicationName',
  DeploymentGroupName => 'MyDeploymentGroupName',
  ServiceRoleArn      => 'MyRole',
  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
  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
  Tags                      => [
    {
      Key   => 'MyKey',      # OPTIONAL
      Value => 'MyValue',    # OPTIONAL
    },
    ...
  ],    # 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 $DeploymentGroupId = $CreateDeploymentGroupOutput->DeploymentGroupId;

# Returns a L<Paws::CodeDeploy::CreateDeploymentGroupOutput> 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/CreateDeploymentGroup

ATTRIBUTES

AlarmConfiguration => Paws::CodeDeploy::AlarmConfiguration

Information to add about Amazon CloudWatch alarms when the deployment group is created.

REQUIRED ApplicationName => Str

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

AutoRollbackConfiguration => Paws::CodeDeploy::AutoRollbackConfiguration

Configuration information for an automatic rollback that is added when a deployment group is created.

AutoScalingGroups => ArrayRef[Str|Undef]

A list of associated Amazon EC2 Auto Scaling groups.

BlueGreenDeploymentConfiguration => Paws::CodeDeploy::BlueGreenDeploymentConfiguration

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

DeploymentConfigName => Str

If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.

CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or deployment group.

For more information about the predefined deployment configurations in AWS CodeDeploy, see Working with Deployment Configurations in CodeDeploy (https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) in the AWS CodeDeploy User Guide.

REQUIRED DeploymentGroupName => Str

The name of a new deployment group for the specified application.

DeploymentStyle => Paws::CodeDeploy::DeploymentStyle

Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.

Ec2TagSet => Paws::CodeDeploy::EC2TagSet

Information about groups of tags applied to EC2 instances. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

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.

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

The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.

OnPremisesTagSet => Paws::CodeDeploy::OnPremisesTagSet

Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all of the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

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"

REQUIRED ServiceRoleArn => Str

A service role Amazon Resource Name (ARN) that allows AWS CodeDeploy to act on the user's behalf when interacting with AWS services.

Tags => ArrayRef[Paws::CodeDeploy::Tag]

The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.

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

Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event (https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html) in the AWS CodeDeploy User Guide.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateDeploymentGroup 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