class Aws::CodeDeploy::Types::CreateDeploymentInput

Represents the input of a `CreateDeployment` operation.

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

data as a hash:

    {
      application_name: "ApplicationName", # required
      deployment_group_name: "DeploymentGroupName",
      revision: {
        revision_type: "S3", # accepts S3, GitHub, String, AppSpecContent
        s3_location: {
          bucket: "S3Bucket",
          key: "S3Key",
          bundle_type: "tar", # accepts tar, tgz, zip, YAML, JSON
          version: "VersionId",
          e_tag: "ETag",
        },
        git_hub_location: {
          repository: "Repository",
          commit_id: "CommitId",
        },
        string: {
          content: "RawStringContent",
          sha256: "RawStringSha256",
        },
        app_spec_content: {
          content: "RawStringContent",
          sha256: "RawStringSha256",
        },
      },
      deployment_config_name: "DeploymentConfigName",
      description: "Description",
      ignore_application_stop_failures: false,
      target_instances: {
        tag_filters: [
          {
            key: "Key",
            value: "Value",
            type: "KEY_ONLY", # accepts KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE
          },
        ],
        auto_scaling_groups: ["AutoScalingGroupName"],
        ec2_tag_set: {
          ec2_tag_set_list: [
            [
              {
                key: "Key",
                value: "Value",
                type: "KEY_ONLY", # accepts KEY_ONLY, VALUE_ONLY, KEY_AND_VALUE
              },
            ],
          ],
        },
      },
      auto_rollback_configuration: {
        enabled: false,
        events: ["DEPLOYMENT_FAILURE"], # accepts DEPLOYMENT_FAILURE, DEPLOYMENT_STOP_ON_ALARM, DEPLOYMENT_STOP_ON_REQUEST
      },
      update_outdated_instances_only: false,
      file_exists_behavior: "DISALLOW", # accepts DISALLOW, OVERWRITE, RETAIN
    }

@!attribute [rw] application_name

The name of an AWS CodeDeploy application associated with the IAM
user or AWS account.
@return [String]

@!attribute [rw] deployment_group_name

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

@!attribute [rw] revision

The type and location of the revision to deploy.
@return [Types::RevisionLocation]

@!attribute [rw] deployment_config_name

The name of a deployment configuration associated with the IAM user
or AWS account.

If not specified, the value configured in the deployment group is
used as the default. If the deployment group does not have a
deployment configuration associated with it,
`CodeDeployDefault`.`OneAtATime` is used by default.
@return [String]

@!attribute [rw] description

A comment about the deployment.
@return [String]

@!attribute [rw] ignore_application_stop_failures

If true, then if an `ApplicationStop`, `BeforeBlockTraffic`, or
`AfterBlockTraffic` deployment lifecycle event to an instance fails,
then the deployment continues to the next deployment lifecycle
event. For example, if `ApplicationStop` fails, the deployment
continues with `DownloadBundle`. If `BeforeBlockTraffic` fails, the
deployment continues with `BlockTraffic`. If `AfterBlockTraffic`
fails, the deployment continues with `ApplicationStop`.

If false or not specified, then if a lifecycle event fails during a
deployment to an instance, that deployment fails. If deployment to
that instance is part of an overall deployment and the number of
healthy hosts is not less than the minimum number of healthy hosts,
then a deployment to the next instance is attempted.

During a deployment, the AWS CodeDeploy agent runs the scripts
specified for `ApplicationStop`, `BeforeBlockTraffic`, and
`AfterBlockTraffic` in the AppSpec file from the previous successful
deployment. (All other scripts are run from the AppSpec file in the
current deployment.) If one of these scripts contains an error and
does not run successfully, the deployment can fail.

If the cause of the failure is a script from the last successful
deployment that will never run successfully, create a new deployment
and use `ignoreApplicationStopFailures` to specify that the
`ApplicationStop`, `BeforeBlockTraffic`, and `AfterBlockTraffic`
failures should be ignored.
@return [Boolean]

@!attribute [rw] target_instances

Information about the instances that belong to the replacement
environment in a blue/green deployment.
@return [Types::TargetInstances]

@!attribute [rw] auto_rollback_configuration

Configuration information for an automatic rollback that is added
when a deployment is created.
@return [Types::AutoRollbackConfiguration]

@!attribute [rw] update_outdated_instances_only

Indicates whether to deploy to all instances or only to instances
that are not running the latest application revision.
@return [Boolean]

@!attribute [rw] file_exists_behavior

Information about how AWS CodeDeploy handles files that already
exist in a deployment target location but weren't part of the
previous successful deployment.

The `fileExistsBehavior` parameter takes any of the following
values:

* DISALLOW: The deployment fails. This is also the default behavior
  if no option is specified.

* OVERWRITE: The version of the file from the application revision
  currently being deployed replaces the version already on the
  instance.

* RETAIN: The version of the file already on the instance is kept
  and used as part of the new deployment.
@return [String]

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

Constants

SENSITIVE