codedeploy.d.ts
   1  import {Request} from '../lib/request';
   2  import {Response} from '../lib/response';
   3  import {AWSError} from '../lib/error';
   4  import {Service} from '../lib/service';
   5  import {WaiterConfiguration} from '../lib/service';
   6  import {ServiceConfigurationOptions} from '../lib/service';
   7  import {ConfigBase as Config} from '../lib/config-base';
   8  interface Blob {}
   9  declare class CodeDeploy extends Service {
  10    /**
  11     * Constructs a service object. This object has one method for each API operation.
  12     */
  13    constructor(options?: CodeDeploy.Types.ClientConfiguration)
  14    config: Config & CodeDeploy.Types.ClientConfiguration;
  15    /**
  16     * Adds tags to on-premises instances.
  17     */
  18    addTagsToOnPremisesInstances(params: CodeDeploy.Types.AddTagsToOnPremisesInstancesInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  19    /**
  20     * Adds tags to on-premises instances.
  21     */
  22    addTagsToOnPremisesInstances(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  23    /**
  24     * Gets information about one or more application revisions. The maximum number of application revisions that can be returned is 25.
  25     */
  26    batchGetApplicationRevisions(params: CodeDeploy.Types.BatchGetApplicationRevisionsInput, callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetApplicationRevisionsOutput) => void): Request<CodeDeploy.Types.BatchGetApplicationRevisionsOutput, AWSError>;
  27    /**
  28     * Gets information about one or more application revisions. The maximum number of application revisions that can be returned is 25.
  29     */
  30    batchGetApplicationRevisions(callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetApplicationRevisionsOutput) => void): Request<CodeDeploy.Types.BatchGetApplicationRevisionsOutput, AWSError>;
  31    /**
  32     * Gets information about one or more applications. The maximum number of applications that can be returned is 100.
  33     */
  34    batchGetApplications(params: CodeDeploy.Types.BatchGetApplicationsInput, callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetApplicationsOutput) => void): Request<CodeDeploy.Types.BatchGetApplicationsOutput, AWSError>;
  35    /**
  36     * Gets information about one or more applications. The maximum number of applications that can be returned is 100.
  37     */
  38    batchGetApplications(callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetApplicationsOutput) => void): Request<CodeDeploy.Types.BatchGetApplicationsOutput, AWSError>;
  39    /**
  40     * Gets information about one or more deployment groups.
  41     */
  42    batchGetDeploymentGroups(params: CodeDeploy.Types.BatchGetDeploymentGroupsInput, callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentGroupsOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentGroupsOutput, AWSError>;
  43    /**
  44     * Gets information about one or more deployment groups.
  45     */
  46    batchGetDeploymentGroups(callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentGroupsOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentGroupsOutput, AWSError>;
  47    /**
  48     *   This method works, but is deprecated. Use BatchGetDeploymentTargets instead.    Returns an array of one or more instances associated with a deployment. This method works with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets works with all compute platforms. The maximum number of instances that can be returned is 25.
  49     */
  50    batchGetDeploymentInstances(params: CodeDeploy.Types.BatchGetDeploymentInstancesInput, callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentInstancesOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentInstancesOutput, AWSError>;
  51    /**
  52     *   This method works, but is deprecated. Use BatchGetDeploymentTargets instead.    Returns an array of one or more instances associated with a deployment. This method works with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets works with all compute platforms. The maximum number of instances that can be returned is 25.
  53     */
  54    batchGetDeploymentInstances(callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentInstancesOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentInstancesOutput, AWSError>;
  55    /**
  56     *  Returns an array of one or more targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances. The maximum number of targets that can be returned is 25.  The type of targets returned depends on the deployment's compute platform or deployment method:     EC2/On-premises: Information about EC2 instance targets.     AWS Lambda: Information about Lambda functions targets.     Amazon ECS: Information about Amazon ECS service targets.     CloudFormation: Information about targets of blue/green deployments initiated by a CloudFormation stack update.  
  57     */
  58    batchGetDeploymentTargets(params: CodeDeploy.Types.BatchGetDeploymentTargetsInput, callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentTargetsOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentTargetsOutput, AWSError>;
  59    /**
  60     *  Returns an array of one or more targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances. The maximum number of targets that can be returned is 25.  The type of targets returned depends on the deployment's compute platform or deployment method:     EC2/On-premises: Information about EC2 instance targets.     AWS Lambda: Information about Lambda functions targets.     Amazon ECS: Information about Amazon ECS service targets.     CloudFormation: Information about targets of blue/green deployments initiated by a CloudFormation stack update.  
  61     */
  62    batchGetDeploymentTargets(callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentTargetsOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentTargetsOutput, AWSError>;
  63    /**
  64     * Gets information about one or more deployments. The maximum number of deployments that can be returned is 25.
  65     */
  66    batchGetDeployments(params: CodeDeploy.Types.BatchGetDeploymentsInput, callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentsOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentsOutput, AWSError>;
  67    /**
  68     * Gets information about one or more deployments. The maximum number of deployments that can be returned is 25.
  69     */
  70    batchGetDeployments(callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetDeploymentsOutput) => void): Request<CodeDeploy.Types.BatchGetDeploymentsOutput, AWSError>;
  71    /**
  72     * Gets information about one or more on-premises instances. The maximum number of on-premises instances that can be returned is 25.
  73     */
  74    batchGetOnPremisesInstances(params: CodeDeploy.Types.BatchGetOnPremisesInstancesInput, callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetOnPremisesInstancesOutput) => void): Request<CodeDeploy.Types.BatchGetOnPremisesInstancesOutput, AWSError>;
  75    /**
  76     * Gets information about one or more on-premises instances. The maximum number of on-premises instances that can be returned is 25.
  77     */
  78    batchGetOnPremisesInstances(callback?: (err: AWSError, data: CodeDeploy.Types.BatchGetOnPremisesInstancesOutput) => void): Request<CodeDeploy.Types.BatchGetOnPremisesInstancesOutput, AWSError>;
  79    /**
  80     * For a blue/green deployment, starts the process of rerouting traffic from instances in the original environment to instances in the replacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.) 
  81     */
  82    continueDeployment(params: CodeDeploy.Types.ContinueDeploymentInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  83    /**
  84     * For a blue/green deployment, starts the process of rerouting traffic from instances in the original environment to instances in the replacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.) 
  85     */
  86    continueDeployment(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  87    /**
  88     * Creates an application.
  89     */
  90    createApplication(params: CodeDeploy.Types.CreateApplicationInput, callback?: (err: AWSError, data: CodeDeploy.Types.CreateApplicationOutput) => void): Request<CodeDeploy.Types.CreateApplicationOutput, AWSError>;
  91    /**
  92     * Creates an application.
  93     */
  94    createApplication(callback?: (err: AWSError, data: CodeDeploy.Types.CreateApplicationOutput) => void): Request<CodeDeploy.Types.CreateApplicationOutput, AWSError>;
  95    /**
  96     * Deploys an application revision through the specified deployment group.
  97     */
  98    createDeployment(params: CodeDeploy.Types.CreateDeploymentInput, callback?: (err: AWSError, data: CodeDeploy.Types.CreateDeploymentOutput) => void): Request<CodeDeploy.Types.CreateDeploymentOutput, AWSError>;
  99    /**
 100     * Deploys an application revision through the specified deployment group.
 101     */
 102    createDeployment(callback?: (err: AWSError, data: CodeDeploy.Types.CreateDeploymentOutput) => void): Request<CodeDeploy.Types.CreateDeploymentOutput, AWSError>;
 103    /**
 104     *  Creates a deployment configuration. 
 105     */
 106    createDeploymentConfig(params: CodeDeploy.Types.CreateDeploymentConfigInput, callback?: (err: AWSError, data: CodeDeploy.Types.CreateDeploymentConfigOutput) => void): Request<CodeDeploy.Types.CreateDeploymentConfigOutput, AWSError>;
 107    /**
 108     *  Creates a deployment configuration. 
 109     */
 110    createDeploymentConfig(callback?: (err: AWSError, data: CodeDeploy.Types.CreateDeploymentConfigOutput) => void): Request<CodeDeploy.Types.CreateDeploymentConfigOutput, AWSError>;
 111    /**
 112     * Creates a deployment group to which application revisions are deployed.
 113     */
 114    createDeploymentGroup(params: CodeDeploy.Types.CreateDeploymentGroupInput, callback?: (err: AWSError, data: CodeDeploy.Types.CreateDeploymentGroupOutput) => void): Request<CodeDeploy.Types.CreateDeploymentGroupOutput, AWSError>;
 115    /**
 116     * Creates a deployment group to which application revisions are deployed.
 117     */
 118    createDeploymentGroup(callback?: (err: AWSError, data: CodeDeploy.Types.CreateDeploymentGroupOutput) => void): Request<CodeDeploy.Types.CreateDeploymentGroupOutput, AWSError>;
 119    /**
 120     * Deletes an application.
 121     */
 122    deleteApplication(params: CodeDeploy.Types.DeleteApplicationInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 123    /**
 124     * Deletes an application.
 125     */
 126    deleteApplication(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 127    /**
 128     * Deletes a deployment configuration.  A deployment configuration cannot be deleted if it is currently in use. Predefined configurations cannot be deleted. 
 129     */
 130    deleteDeploymentConfig(params: CodeDeploy.Types.DeleteDeploymentConfigInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 131    /**
 132     * Deletes a deployment configuration.  A deployment configuration cannot be deleted if it is currently in use. Predefined configurations cannot be deleted. 
 133     */
 134    deleteDeploymentConfig(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 135    /**
 136     * Deletes a deployment group.
 137     */
 138    deleteDeploymentGroup(params: CodeDeploy.Types.DeleteDeploymentGroupInput, callback?: (err: AWSError, data: CodeDeploy.Types.DeleteDeploymentGroupOutput) => void): Request<CodeDeploy.Types.DeleteDeploymentGroupOutput, AWSError>;
 139    /**
 140     * Deletes a deployment group.
 141     */
 142    deleteDeploymentGroup(callback?: (err: AWSError, data: CodeDeploy.Types.DeleteDeploymentGroupOutput) => void): Request<CodeDeploy.Types.DeleteDeploymentGroupOutput, AWSError>;
 143    /**
 144     * Deletes a GitHub account connection.
 145     */
 146    deleteGitHubAccountToken(params: CodeDeploy.Types.DeleteGitHubAccountTokenInput, callback?: (err: AWSError, data: CodeDeploy.Types.DeleteGitHubAccountTokenOutput) => void): Request<CodeDeploy.Types.DeleteGitHubAccountTokenOutput, AWSError>;
 147    /**
 148     * Deletes a GitHub account connection.
 149     */
 150    deleteGitHubAccountToken(callback?: (err: AWSError, data: CodeDeploy.Types.DeleteGitHubAccountTokenOutput) => void): Request<CodeDeploy.Types.DeleteGitHubAccountTokenOutput, AWSError>;
 151    /**
 152     * Deletes resources linked to an external ID.
 153     */
 154    deleteResourcesByExternalId(params: CodeDeploy.Types.DeleteResourcesByExternalIdInput, callback?: (err: AWSError, data: CodeDeploy.Types.DeleteResourcesByExternalIdOutput) => void): Request<CodeDeploy.Types.DeleteResourcesByExternalIdOutput, AWSError>;
 155    /**
 156     * Deletes resources linked to an external ID.
 157     */
 158    deleteResourcesByExternalId(callback?: (err: AWSError, data: CodeDeploy.Types.DeleteResourcesByExternalIdOutput) => void): Request<CodeDeploy.Types.DeleteResourcesByExternalIdOutput, AWSError>;
 159    /**
 160     * Deregisters an on-premises instance.
 161     */
 162    deregisterOnPremisesInstance(params: CodeDeploy.Types.DeregisterOnPremisesInstanceInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 163    /**
 164     * Deregisters an on-premises instance.
 165     */
 166    deregisterOnPremisesInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 167    /**
 168     * Gets information about an application.
 169     */
 170    getApplication(params: CodeDeploy.Types.GetApplicationInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetApplicationOutput) => void): Request<CodeDeploy.Types.GetApplicationOutput, AWSError>;
 171    /**
 172     * Gets information about an application.
 173     */
 174    getApplication(callback?: (err: AWSError, data: CodeDeploy.Types.GetApplicationOutput) => void): Request<CodeDeploy.Types.GetApplicationOutput, AWSError>;
 175    /**
 176     * Gets information about an application revision.
 177     */
 178    getApplicationRevision(params: CodeDeploy.Types.GetApplicationRevisionInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetApplicationRevisionOutput) => void): Request<CodeDeploy.Types.GetApplicationRevisionOutput, AWSError>;
 179    /**
 180     * Gets information about an application revision.
 181     */
 182    getApplicationRevision(callback?: (err: AWSError, data: CodeDeploy.Types.GetApplicationRevisionOutput) => void): Request<CodeDeploy.Types.GetApplicationRevisionOutput, AWSError>;
 183    /**
 184     * Gets information about a deployment.   The content property of the appSpecContent object in the returned revision is always null. Use GetApplicationRevision and the sha256 property of the returned appSpecContent object to get the content of the deployment’s AppSpec file.  
 185     */
 186    getDeployment(params: CodeDeploy.Types.GetDeploymentInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentOutput) => void): Request<CodeDeploy.Types.GetDeploymentOutput, AWSError>;
 187    /**
 188     * Gets information about a deployment.   The content property of the appSpecContent object in the returned revision is always null. Use GetApplicationRevision and the sha256 property of the returned appSpecContent object to get the content of the deployment’s AppSpec file.  
 189     */
 190    getDeployment(callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentOutput) => void): Request<CodeDeploy.Types.GetDeploymentOutput, AWSError>;
 191    /**
 192     * Gets information about a deployment configuration.
 193     */
 194    getDeploymentConfig(params: CodeDeploy.Types.GetDeploymentConfigInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentConfigOutput) => void): Request<CodeDeploy.Types.GetDeploymentConfigOutput, AWSError>;
 195    /**
 196     * Gets information about a deployment configuration.
 197     */
 198    getDeploymentConfig(callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentConfigOutput) => void): Request<CodeDeploy.Types.GetDeploymentConfigOutput, AWSError>;
 199    /**
 200     * Gets information about a deployment group.
 201     */
 202    getDeploymentGroup(params: CodeDeploy.Types.GetDeploymentGroupInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentGroupOutput) => void): Request<CodeDeploy.Types.GetDeploymentGroupOutput, AWSError>;
 203    /**
 204     * Gets information about a deployment group.
 205     */
 206    getDeploymentGroup(callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentGroupOutput) => void): Request<CodeDeploy.Types.GetDeploymentGroupOutput, AWSError>;
 207    /**
 208     * Gets information about an instance as part of a deployment.
 209     */
 210    getDeploymentInstance(params: CodeDeploy.Types.GetDeploymentInstanceInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentInstanceOutput) => void): Request<CodeDeploy.Types.GetDeploymentInstanceOutput, AWSError>;
 211    /**
 212     * Gets information about an instance as part of a deployment.
 213     */
 214    getDeploymentInstance(callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentInstanceOutput) => void): Request<CodeDeploy.Types.GetDeploymentInstanceOutput, AWSError>;
 215    /**
 216     *  Returns information about a deployment target. 
 217     */
 218    getDeploymentTarget(params: CodeDeploy.Types.GetDeploymentTargetInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentTargetOutput) => void): Request<CodeDeploy.Types.GetDeploymentTargetOutput, AWSError>;
 219    /**
 220     *  Returns information about a deployment target. 
 221     */
 222    getDeploymentTarget(callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentTargetOutput) => void): Request<CodeDeploy.Types.GetDeploymentTargetOutput, AWSError>;
 223    /**
 224     *  Gets information about an on-premises instance. 
 225     */
 226    getOnPremisesInstance(params: CodeDeploy.Types.GetOnPremisesInstanceInput, callback?: (err: AWSError, data: CodeDeploy.Types.GetOnPremisesInstanceOutput) => void): Request<CodeDeploy.Types.GetOnPremisesInstanceOutput, AWSError>;
 227    /**
 228     *  Gets information about an on-premises instance. 
 229     */
 230    getOnPremisesInstance(callback?: (err: AWSError, data: CodeDeploy.Types.GetOnPremisesInstanceOutput) => void): Request<CodeDeploy.Types.GetOnPremisesInstanceOutput, AWSError>;
 231    /**
 232     * Lists information about revisions for an application.
 233     */
 234    listApplicationRevisions(params: CodeDeploy.Types.ListApplicationRevisionsInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListApplicationRevisionsOutput) => void): Request<CodeDeploy.Types.ListApplicationRevisionsOutput, AWSError>;
 235    /**
 236     * Lists information about revisions for an application.
 237     */
 238    listApplicationRevisions(callback?: (err: AWSError, data: CodeDeploy.Types.ListApplicationRevisionsOutput) => void): Request<CodeDeploy.Types.ListApplicationRevisionsOutput, AWSError>;
 239    /**
 240     * Lists the applications registered with the IAM user or AWS account.
 241     */
 242    listApplications(params: CodeDeploy.Types.ListApplicationsInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListApplicationsOutput) => void): Request<CodeDeploy.Types.ListApplicationsOutput, AWSError>;
 243    /**
 244     * Lists the applications registered with the IAM user or AWS account.
 245     */
 246    listApplications(callback?: (err: AWSError, data: CodeDeploy.Types.ListApplicationsOutput) => void): Request<CodeDeploy.Types.ListApplicationsOutput, AWSError>;
 247    /**
 248     * Lists the deployment configurations with the IAM user or AWS account.
 249     */
 250    listDeploymentConfigs(params: CodeDeploy.Types.ListDeploymentConfigsInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentConfigsOutput) => void): Request<CodeDeploy.Types.ListDeploymentConfigsOutput, AWSError>;
 251    /**
 252     * Lists the deployment configurations with the IAM user or AWS account.
 253     */
 254    listDeploymentConfigs(callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentConfigsOutput) => void): Request<CodeDeploy.Types.ListDeploymentConfigsOutput, AWSError>;
 255    /**
 256     * Lists the deployment groups for an application registered with the IAM user or AWS account.
 257     */
 258    listDeploymentGroups(params: CodeDeploy.Types.ListDeploymentGroupsInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentGroupsOutput) => void): Request<CodeDeploy.Types.ListDeploymentGroupsOutput, AWSError>;
 259    /**
 260     * Lists the deployment groups for an application registered with the IAM user or AWS account.
 261     */
 262    listDeploymentGroups(callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentGroupsOutput) => void): Request<CodeDeploy.Types.ListDeploymentGroupsOutput, AWSError>;
 263    /**
 264     *   The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or AWS Lambda.    Lists the instance for a deployment associated with the IAM user or AWS account. 
 265     */
 266    listDeploymentInstances(params: CodeDeploy.Types.ListDeploymentInstancesInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentInstancesOutput) => void): Request<CodeDeploy.Types.ListDeploymentInstancesOutput, AWSError>;
 267    /**
 268     *   The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or AWS Lambda.    Lists the instance for a deployment associated with the IAM user or AWS account. 
 269     */
 270    listDeploymentInstances(callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentInstancesOutput) => void): Request<CodeDeploy.Types.ListDeploymentInstancesOutput, AWSError>;
 271    /**
 272     *  Returns an array of target IDs that are associated a deployment. 
 273     */
 274    listDeploymentTargets(params: CodeDeploy.Types.ListDeploymentTargetsInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentTargetsOutput) => void): Request<CodeDeploy.Types.ListDeploymentTargetsOutput, AWSError>;
 275    /**
 276     *  Returns an array of target IDs that are associated a deployment. 
 277     */
 278    listDeploymentTargets(callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentTargetsOutput) => void): Request<CodeDeploy.Types.ListDeploymentTargetsOutput, AWSError>;
 279    /**
 280     * Lists the deployments in a deployment group for an application registered with the IAM user or AWS account.
 281     */
 282    listDeployments(params: CodeDeploy.Types.ListDeploymentsInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentsOutput) => void): Request<CodeDeploy.Types.ListDeploymentsOutput, AWSError>;
 283    /**
 284     * Lists the deployments in a deployment group for an application registered with the IAM user or AWS account.
 285     */
 286    listDeployments(callback?: (err: AWSError, data: CodeDeploy.Types.ListDeploymentsOutput) => void): Request<CodeDeploy.Types.ListDeploymentsOutput, AWSError>;
 287    /**
 288     * Lists the names of stored connections to GitHub accounts.
 289     */
 290    listGitHubAccountTokenNames(params: CodeDeploy.Types.ListGitHubAccountTokenNamesInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListGitHubAccountTokenNamesOutput) => void): Request<CodeDeploy.Types.ListGitHubAccountTokenNamesOutput, AWSError>;
 291    /**
 292     * Lists the names of stored connections to GitHub accounts.
 293     */
 294    listGitHubAccountTokenNames(callback?: (err: AWSError, data: CodeDeploy.Types.ListGitHubAccountTokenNamesOutput) => void): Request<CodeDeploy.Types.ListGitHubAccountTokenNamesOutput, AWSError>;
 295    /**
 296     * Gets a list of names for one or more on-premises instances. Unless otherwise specified, both registered and deregistered on-premises instance names are listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.
 297     */
 298    listOnPremisesInstances(params: CodeDeploy.Types.ListOnPremisesInstancesInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListOnPremisesInstancesOutput) => void): Request<CodeDeploy.Types.ListOnPremisesInstancesOutput, AWSError>;
 299    /**
 300     * Gets a list of names for one or more on-premises instances. Unless otherwise specified, both registered and deregistered on-premises instance names are listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.
 301     */
 302    listOnPremisesInstances(callback?: (err: AWSError, data: CodeDeploy.Types.ListOnPremisesInstancesOutput) => void): Request<CodeDeploy.Types.ListOnPremisesInstancesOutput, AWSError>;
 303    /**
 304     *  Returns a list of tags for the resource identified by a specified Amazon Resource Name (ARN). Tags are used to organize and categorize your CodeDeploy resources. 
 305     */
 306    listTagsForResource(params: CodeDeploy.Types.ListTagsForResourceInput, callback?: (err: AWSError, data: CodeDeploy.Types.ListTagsForResourceOutput) => void): Request<CodeDeploy.Types.ListTagsForResourceOutput, AWSError>;
 307    /**
 308     *  Returns a list of tags for the resource identified by a specified Amazon Resource Name (ARN). Tags are used to organize and categorize your CodeDeploy resources. 
 309     */
 310    listTagsForResource(callback?: (err: AWSError, data: CodeDeploy.Types.ListTagsForResourceOutput) => void): Request<CodeDeploy.Types.ListTagsForResourceOutput, AWSError>;
 311    /**
 312     *  Sets the result of a Lambda validation function. The function validates lifecycle hooks during a deployment that uses the AWS Lambda or Amazon ECS compute platform. For AWS Lambda deployments, the available lifecycle hooks are BeforeAllowTraffic and AfterAllowTraffic. For Amazon ECS deployments, the available lifecycle hooks are BeforeInstall, AfterInstall, AfterAllowTestTraffic, BeforeAllowTraffic, and AfterAllowTraffic. Lambda validation functions return Succeeded or Failed. For more information, see AppSpec 'hooks' Section for an AWS Lambda Deployment  and AppSpec 'hooks' Section for an Amazon ECS Deployment.
 313     */
 314    putLifecycleEventHookExecutionStatus(params: CodeDeploy.Types.PutLifecycleEventHookExecutionStatusInput, callback?: (err: AWSError, data: CodeDeploy.Types.PutLifecycleEventHookExecutionStatusOutput) => void): Request<CodeDeploy.Types.PutLifecycleEventHookExecutionStatusOutput, AWSError>;
 315    /**
 316     *  Sets the result of a Lambda validation function. The function validates lifecycle hooks during a deployment that uses the AWS Lambda or Amazon ECS compute platform. For AWS Lambda deployments, the available lifecycle hooks are BeforeAllowTraffic and AfterAllowTraffic. For Amazon ECS deployments, the available lifecycle hooks are BeforeInstall, AfterInstall, AfterAllowTestTraffic, BeforeAllowTraffic, and AfterAllowTraffic. Lambda validation functions return Succeeded or Failed. For more information, see AppSpec 'hooks' Section for an AWS Lambda Deployment  and AppSpec 'hooks' Section for an Amazon ECS Deployment.
 317     */
 318    putLifecycleEventHookExecutionStatus(callback?: (err: AWSError, data: CodeDeploy.Types.PutLifecycleEventHookExecutionStatusOutput) => void): Request<CodeDeploy.Types.PutLifecycleEventHookExecutionStatusOutput, AWSError>;
 319    /**
 320     * Registers with AWS CodeDeploy a revision for the specified application.
 321     */
 322    registerApplicationRevision(params: CodeDeploy.Types.RegisterApplicationRevisionInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 323    /**
 324     * Registers with AWS CodeDeploy a revision for the specified application.
 325     */
 326    registerApplicationRevision(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 327    /**
 328     * Registers an on-premises instance.  Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both. 
 329     */
 330    registerOnPremisesInstance(params: CodeDeploy.Types.RegisterOnPremisesInstanceInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 331    /**
 332     * Registers an on-premises instance.  Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both. 
 333     */
 334    registerOnPremisesInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 335    /**
 336     * Removes one or more tags from one or more on-premises instances.
 337     */
 338    removeTagsFromOnPremisesInstances(params: CodeDeploy.Types.RemoveTagsFromOnPremisesInstancesInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 339    /**
 340     * Removes one or more tags from one or more on-premises instances.
 341     */
 342    removeTagsFromOnPremisesInstances(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 343    /**
 344     * In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is complete.
 345     */
 346    skipWaitTimeForInstanceTermination(params: CodeDeploy.Types.SkipWaitTimeForInstanceTerminationInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 347    /**
 348     * In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is complete.
 349     */
 350    skipWaitTimeForInstanceTermination(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 351    /**
 352     * Attempts to stop an ongoing deployment.
 353     */
 354    stopDeployment(params: CodeDeploy.Types.StopDeploymentInput, callback?: (err: AWSError, data: CodeDeploy.Types.StopDeploymentOutput) => void): Request<CodeDeploy.Types.StopDeploymentOutput, AWSError>;
 355    /**
 356     * Attempts to stop an ongoing deployment.
 357     */
 358    stopDeployment(callback?: (err: AWSError, data: CodeDeploy.Types.StopDeploymentOutput) => void): Request<CodeDeploy.Types.StopDeploymentOutput, AWSError>;
 359    /**
 360     *  Associates the list of tags in the input Tags parameter with the resource identified by the ResourceArn input parameter. 
 361     */
 362    tagResource(params: CodeDeploy.Types.TagResourceInput, callback?: (err: AWSError, data: CodeDeploy.Types.TagResourceOutput) => void): Request<CodeDeploy.Types.TagResourceOutput, AWSError>;
 363    /**
 364     *  Associates the list of tags in the input Tags parameter with the resource identified by the ResourceArn input parameter. 
 365     */
 366    tagResource(callback?: (err: AWSError, data: CodeDeploy.Types.TagResourceOutput) => void): Request<CodeDeploy.Types.TagResourceOutput, AWSError>;
 367    /**
 368     *  Disassociates a resource from a list of tags. The resource is identified by the ResourceArn input parameter. The tags are identified by the list of keys in the TagKeys input parameter. 
 369     */
 370    untagResource(params: CodeDeploy.Types.UntagResourceInput, callback?: (err: AWSError, data: CodeDeploy.Types.UntagResourceOutput) => void): Request<CodeDeploy.Types.UntagResourceOutput, AWSError>;
 371    /**
 372     *  Disassociates a resource from a list of tags. The resource is identified by the ResourceArn input parameter. The tags are identified by the list of keys in the TagKeys input parameter. 
 373     */
 374    untagResource(callback?: (err: AWSError, data: CodeDeploy.Types.UntagResourceOutput) => void): Request<CodeDeploy.Types.UntagResourceOutput, AWSError>;
 375    /**
 376     * Changes the name of an application.
 377     */
 378    updateApplication(params: CodeDeploy.Types.UpdateApplicationInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 379    /**
 380     * Changes the name of an application.
 381     */
 382    updateApplication(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
 383    /**
 384     * Changes information about a deployment group.
 385     */
 386    updateDeploymentGroup(params: CodeDeploy.Types.UpdateDeploymentGroupInput, callback?: (err: AWSError, data: CodeDeploy.Types.UpdateDeploymentGroupOutput) => void): Request<CodeDeploy.Types.UpdateDeploymentGroupOutput, AWSError>;
 387    /**
 388     * Changes information about a deployment group.
 389     */
 390    updateDeploymentGroup(callback?: (err: AWSError, data: CodeDeploy.Types.UpdateDeploymentGroupOutput) => void): Request<CodeDeploy.Types.UpdateDeploymentGroupOutput, AWSError>;
 391    /**
 392     * Waits for the deploymentSuccessful state by periodically calling the underlying CodeDeploy.getDeploymentoperation every 15 seconds (at most 120 times).
 393     */
 394    waitFor(state: "deploymentSuccessful", params: CodeDeploy.Types.GetDeploymentInput & {$waiter?: WaiterConfiguration}, callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentOutput) => void): Request<CodeDeploy.Types.GetDeploymentOutput, AWSError>;
 395    /**
 396     * Waits for the deploymentSuccessful state by periodically calling the underlying CodeDeploy.getDeploymentoperation every 15 seconds (at most 120 times).
 397     */
 398    waitFor(state: "deploymentSuccessful", callback?: (err: AWSError, data: CodeDeploy.Types.GetDeploymentOutput) => void): Request<CodeDeploy.Types.GetDeploymentOutput, AWSError>;
 399  }
 400  declare namespace CodeDeploy {
 401    export interface AddTagsToOnPremisesInstancesInput {
 402      /**
 403       * The tag key-value pairs to add to the on-premises instances. Keys and values are both required. Keys cannot be null or empty strings. Value-only tags are not allowed.
 404       */
 405      tags: TagList;
 406      /**
 407       * The names of the on-premises instances to which to add tags.
 408       */
 409      instanceNames: InstanceNameList;
 410    }
 411    export type AdditionalDeploymentStatusInfo = string;
 412    export interface Alarm {
 413      /**
 414       * The name of the alarm. Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms.
 415       */
 416      name?: AlarmName;
 417    }
 418    export interface AlarmConfiguration {
 419      /**
 420       * Indicates whether the alarm configuration is enabled.
 421       */
 422      enabled?: Boolean;
 423      /**
 424       * Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch. The default value is false.    true: The deployment proceeds even if alarm status information can't be retrieved from Amazon CloudWatch.    false: The deployment stops if alarm status information can't be retrieved from Amazon CloudWatch.  
 425       */
 426      ignorePollAlarmFailure?: Boolean;
 427      /**
 428       * A list of alarms configured for the deployment group. A maximum of 10 alarms can be added to a deployment group.
 429       */
 430      alarms?: AlarmList;
 431    }
 432    export type AlarmList = Alarm[];
 433    export type AlarmName = string;
 434    export interface AppSpecContent {
 435      /**
 436       *  The YAML-formatted or JSON-formatted revision string.   For an AWS Lambda deployment, the content includes a Lambda function name, the alias for its original version, and the alias for its replacement version. The deployment shifts traffic from the original version of the Lambda function to the replacement version.   For an Amazon ECS deployment, the content includes the task name, information about the load balancer that serves traffic to the container, and more.   For both types of deployments, the content can specify Lambda functions that run at specified hooks, such as BeforeInstall, during a deployment. 
 437       */
 438      content?: RawStringContent;
 439      /**
 440       *  The SHA256 hash value of the revision content. 
 441       */
 442      sha256?: RawStringSha256;
 443    }
 444    export type ApplicationId = string;
 445    export interface ApplicationInfo {
 446      /**
 447       * The application ID.
 448       */
 449      applicationId?: ApplicationId;
 450      /**
 451       * The application name.
 452       */
 453      applicationName?: ApplicationName;
 454      /**
 455       * The time at which the application was created.
 456       */
 457      createTime?: Timestamp;
 458      /**
 459       * True if the user has authenticated with GitHub for the specified application. Otherwise, false.
 460       */
 461      linkedToGitHub?: Boolean;
 462      /**
 463       * The name for a connection to a GitHub account.
 464       */
 465      gitHubAccountName?: GitHubAccountTokenName;
 466      /**
 467       * The destination platform type for deployment of the application (Lambda or Server).
 468       */
 469      computePlatform?: ComputePlatform;
 470    }
 471    export type ApplicationName = string;
 472    export type ApplicationRevisionSortBy = "registerTime"|"firstUsedTime"|"lastUsedTime"|string;
 473    export type ApplicationsInfoList = ApplicationInfo[];
 474    export type ApplicationsList = ApplicationName[];
 475    export type Arn = string;
 476    export interface AutoRollbackConfiguration {
 477      /**
 478       * Indicates whether a defined automatic rollback configuration is currently enabled.
 479       */
 480      enabled?: Boolean;
 481      /**
 482       * The event type or types that trigger a rollback.
 483       */
 484      events?: AutoRollbackEventsList;
 485    }
 486    export type AutoRollbackEvent = "DEPLOYMENT_FAILURE"|"DEPLOYMENT_STOP_ON_ALARM"|"DEPLOYMENT_STOP_ON_REQUEST"|string;
 487    export type AutoRollbackEventsList = AutoRollbackEvent[];
 488    export interface AutoScalingGroup {
 489      /**
 490       * The Auto Scaling group name.
 491       */
 492      name?: AutoScalingGroupName;
 493      /**
 494       * An Auto Scaling lifecycle event hook name.
 495       */
 496      hook?: AutoScalingGroupHook;
 497    }
 498    export type AutoScalingGroupHook = string;
 499    export type AutoScalingGroupList = AutoScalingGroup[];
 500    export type AutoScalingGroupName = string;
 501    export type AutoScalingGroupNameList = AutoScalingGroupName[];
 502    export interface BatchGetApplicationRevisionsInput {
 503      /**
 504       * The name of an AWS CodeDeploy application about which to get revision information.
 505       */
 506      applicationName: ApplicationName;
 507      /**
 508       * An array of RevisionLocation objects that specify information to get about the application revisions, including type and location. The maximum number of RevisionLocation objects you can specify is 25.
 509       */
 510      revisions: RevisionLocationList;
 511    }
 512    export interface BatchGetApplicationRevisionsOutput {
 513      /**
 514       * The name of the application that corresponds to the revisions.
 515       */
 516      applicationName?: ApplicationName;
 517      /**
 518       * Information about errors that might have occurred during the API call.
 519       */
 520      errorMessage?: ErrorMessage;
 521      /**
 522       * Additional information about the revisions, including the type and location.
 523       */
 524      revisions?: RevisionInfoList;
 525    }
 526    export interface BatchGetApplicationsInput {
 527      /**
 528       * A list of application names separated by spaces. The maximum number of application names you can specify is 100.
 529       */
 530      applicationNames: ApplicationsList;
 531    }
 532    export interface BatchGetApplicationsOutput {
 533      /**
 534       * Information about the applications.
 535       */
 536      applicationsInfo?: ApplicationsInfoList;
 537    }
 538    export interface BatchGetDeploymentGroupsInput {
 539      /**
 540       * The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.
 541       */
 542      applicationName: ApplicationName;
 543      /**
 544       * The names of the deployment groups.
 545       */
 546      deploymentGroupNames: DeploymentGroupsList;
 547    }
 548    export interface BatchGetDeploymentGroupsOutput {
 549      /**
 550       * Information about the deployment groups.
 551       */
 552      deploymentGroupsInfo?: DeploymentGroupInfoList;
 553      /**
 554       * Information about errors that might have occurred during the API call.
 555       */
 556      errorMessage?: ErrorMessage;
 557    }
 558    export interface BatchGetDeploymentInstancesInput {
 559      /**
 560       *  The unique ID of a deployment. 
 561       */
 562      deploymentId: DeploymentId;
 563      /**
 564       * The unique IDs of instances used in the deployment. The maximum number of instance IDs you can specify is 25.
 565       */
 566      instanceIds: InstancesList;
 567    }
 568    export interface BatchGetDeploymentInstancesOutput {
 569      /**
 570       * Information about the instance.
 571       */
 572      instancesSummary?: InstanceSummaryList;
 573      /**
 574       * Information about errors that might have occurred during the API call.
 575       */
 576      errorMessage?: ErrorMessage;
 577    }
 578    export interface BatchGetDeploymentTargetsInput {
 579      /**
 580       *  The unique ID of a deployment. 
 581       */
 582      deploymentId?: DeploymentId;
 583      /**
 584       *  The unique IDs of the deployment targets. The compute platform of the deployment determines the type of the targets and their formats. The maximum number of deployment target IDs you can specify is 25.    For deployments that use the EC2/On-premises compute platform, the target IDs are EC2 or on-premises instances IDs, and their target type is instanceTarget.     For deployments that use the AWS Lambda compute platform, the target IDs are the names of Lambda functions, and their target type is instanceTarget.     For deployments that use the Amazon ECS compute platform, the target IDs are pairs of Amazon ECS clusters and services specified using the format &lt;clustername&gt;:&lt;servicename&gt;. Their target type is ecsTarget.     For deployments that are deployed with AWS CloudFormation, the target IDs are CloudFormation stack IDs. Their target type is cloudFormationTarget.   
 585       */
 586      targetIds?: TargetIdList;
 587    }
 588    export interface BatchGetDeploymentTargetsOutput {
 589      /**
 590       *  A list of target objects for a deployment. Each target object contains details about the target, such as its status and lifecycle events. The type of the target objects depends on the deployment' compute platform.     EC2/On-premises: Each target object is an EC2 or on-premises instance.     AWS Lambda: The target object is a specific version of an AWS Lambda function.     Amazon ECS: The target object is an Amazon ECS service.     CloudFormation: The target object is an AWS CloudFormation blue/green deployment.   
 591       */
 592      deploymentTargets?: DeploymentTargetList;
 593    }
 594    export interface BatchGetDeploymentsInput {
 595      /**
 596       *  A list of deployment IDs, separated by spaces. The maximum number of deployment IDs you can specify is 25.
 597       */
 598      deploymentIds: DeploymentsList;
 599    }
 600    export interface BatchGetDeploymentsOutput {
 601      /**
 602       *  Information about the deployments. 
 603       */
 604      deploymentsInfo?: DeploymentsInfoList;
 605    }
 606    export interface BatchGetOnPremisesInstancesInput {
 607      /**
 608       * The names of the on-premises instances about which to get information. The maximum number of instance names you can specify is 25.
 609       */
 610      instanceNames: InstanceNameList;
 611    }
 612    export interface BatchGetOnPremisesInstancesOutput {
 613      /**
 614       * Information about the on-premises instances.
 615       */
 616      instanceInfos?: InstanceInfoList;
 617    }
 618    export interface BlueGreenDeploymentConfiguration {
 619      /**
 620       * Information about whether to terminate instances in the original fleet during a blue/green deployment.
 621       */
 622      terminateBlueInstancesOnDeploymentSuccess?: BlueInstanceTerminationOption;
 623      /**
 624       * Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.
 625       */
 626      deploymentReadyOption?: DeploymentReadyOption;
 627      /**
 628       * Information about how instances are provisioned for a replacement environment in a blue/green deployment.
 629       */
 630      greenFleetProvisioningOption?: GreenFleetProvisioningOption;
 631    }
 632    export interface BlueInstanceTerminationOption {
 633      /**
 634       * The action to take on instances in the original environment after a successful blue/green deployment.    TERMINATE: Instances are terminated after a specified wait time.    KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.  
 635       */
 636      action?: InstanceAction;
 637      /**
 638       * For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.  For an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set.   The maximum setting is 2880 minutes (2 days). 
 639       */
 640      terminationWaitTimeInMinutes?: Duration;
 641    }
 642    export type Boolean = boolean;
 643    export type BundleType = "tar"|"tgz"|"zip"|"YAML"|"JSON"|string;
 644    export type CloudFormationResourceType = string;
 645    export interface CloudFormationTarget {
 646      /**
 647       * The unique ID of an AWS CloudFormation blue/green deployment.
 648       */
 649      deploymentId?: DeploymentId;
 650      /**
 651       *  The unique ID of a deployment target that has a type of CloudFormationTarget. 
 652       */
 653      targetId?: TargetId;
 654      /**
 655       *  The date and time when the target application was updated by an AWS CloudFormation blue/green deployment. 
 656       */
 657      lastUpdatedAt?: Time;
 658      /**
 659       *  The lifecycle events of the AWS CloudFormation blue/green deployment to this target application. 
 660       */
 661      lifecycleEvents?: LifecycleEventList;
 662      /**
 663       *  The status of an AWS CloudFormation blue/green deployment's target application. 
 664       */
 665      status?: TargetStatus;
 666      /**
 667       * The resource type for the AWS CloudFormation blue/green deployment.
 668       */
 669      resourceType?: CloudFormationResourceType;
 670      /**
 671       * The percentage of production traffic that the target version of an AWS CloudFormation blue/green deployment receives.
 672       */
 673      targetVersionWeight?: TrafficWeight;
 674    }
 675    export type CommitId = string;
 676    export type ComputePlatform = "Server"|"Lambda"|"ECS"|string;
 677    export interface ContinueDeploymentInput {
 678      /**
 679       *  The unique ID of a blue/green deployment for which you want to start rerouting traffic to the replacement environment. 
 680       */
 681      deploymentId?: DeploymentId;
 682      /**
 683       *  The status of the deployment's waiting period. READY_WAIT indicates that the deployment is ready to start shifting traffic. TERMINATION_WAIT indicates that the traffic is shifted, but the original target is not terminated. 
 684       */
 685      deploymentWaitType?: DeploymentWaitType;
 686    }
 687    export interface CreateApplicationInput {
 688      /**
 689       * The name of the application. This name must be unique with the applicable IAM user or AWS account.
 690       */
 691      applicationName: ApplicationName;
 692      /**
 693       *  The destination platform type for the deployment (Lambda, Server, or ECS).
 694       */
 695      computePlatform?: ComputePlatform;
 696      /**
 697       *  The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define. 
 698       */
 699      tags?: TagList;
 700    }
 701    export interface CreateApplicationOutput {
 702      /**
 703       * A unique application ID.
 704       */
 705      applicationId?: ApplicationId;
 706    }
 707    export interface CreateDeploymentConfigInput {
 708      /**
 709       * The name of the deployment configuration to create.
 710       */
 711      deploymentConfigName: DeploymentConfigName;
 712      /**
 713       * The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value. The type parameter takes either of the following values:   HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.   FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instances and rounds up fractional instances.   The value parameter takes an integer. For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.
 714       */
 715      minimumHealthyHosts?: MinimumHealthyHosts;
 716      /**
 717       * The configuration that specifies how the deployment traffic is routed.
 718       */
 719      trafficRoutingConfig?: TrafficRoutingConfig;
 720      /**
 721       * The destination platform type for the deployment (Lambda, Server, or ECS).
 722       */
 723      computePlatform?: ComputePlatform;
 724    }
 725    export interface CreateDeploymentConfigOutput {
 726      /**
 727       * A unique deployment configuration ID.
 728       */
 729      deploymentConfigId?: DeploymentConfigId;
 730    }
 731    export interface CreateDeploymentGroupInput {
 732      /**
 733       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
 734       */
 735      applicationName: ApplicationName;
 736      /**
 737       * The name of a new deployment group for the specified application.
 738       */
 739      deploymentGroupName: DeploymentGroupName;
 740      /**
 741       * 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 in the AWS CodeDeploy User Guide.
 742       */
 743      deploymentConfigName?: DeploymentConfigName;
 744      /**
 745       * 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.
 746       */
 747      ec2TagFilters?: EC2TagFilterList;
 748      /**
 749       * 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.
 750       */
 751      onPremisesInstanceTagFilters?: TagFilterList;
 752      /**
 753       * A list of associated Amazon EC2 Auto Scaling groups.
 754       */
 755      autoScalingGroups?: AutoScalingGroupNameList;
 756      /**
 757       * A service role Amazon Resource Name (ARN) that allows AWS CodeDeploy to act on the user's behalf when interacting with AWS services.
 758       */
 759      serviceRoleArn: Role;
 760      /**
 761       * Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event in the AWS CodeDeploy User Guide.
 762       */
 763      triggerConfigurations?: TriggerConfigList;
 764      /**
 765       * Information to add about Amazon CloudWatch alarms when the deployment group is created.
 766       */
 767      alarmConfiguration?: AlarmConfiguration;
 768      /**
 769       * Configuration information for an automatic rollback that is added when a deployment group is created.
 770       */
 771      autoRollbackConfiguration?: AutoRollbackConfiguration;
 772      /**
 773       * 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.
 774       */
 775      outdatedInstancesStrategy?: OutdatedInstancesStrategy;
 776      /**
 777       * 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.
 778       */
 779      deploymentStyle?: DeploymentStyle;
 780      /**
 781       * Information about blue/green deployment options for a deployment group.
 782       */
 783      blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration;
 784      /**
 785       * Information about the load balancer used in a deployment.
 786       */
 787      loadBalancerInfo?: LoadBalancerInfo;
 788      /**
 789       * 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.
 790       */
 791      ec2TagSet?: EC2TagSet;
 792      /**
 793       *  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 &lt;clustername&gt;:&lt;servicename&gt;. 
 794       */
 795      ecsServices?: ECSServiceList;
 796      /**
 797       * 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.
 798       */
 799      onPremisesTagSet?: OnPremisesTagSet;
 800      /**
 801       *  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. 
 802       */
 803      tags?: TagList;
 804    }
 805    export interface CreateDeploymentGroupOutput {
 806      /**
 807       * A unique deployment group ID.
 808       */
 809      deploymentGroupId?: DeploymentGroupId;
 810    }
 811    export interface CreateDeploymentInput {
 812      /**
 813       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
 814       */
 815      applicationName: ApplicationName;
 816      /**
 817       * The name of the deployment group.
 818       */
 819      deploymentGroupName?: DeploymentGroupName;
 820      /**
 821       *  The type and location of the revision to deploy. 
 822       */
 823      revision?: RevisionLocation;
 824      /**
 825       * 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.
 826       */
 827      deploymentConfigName?: DeploymentConfigName;
 828      /**
 829       * A comment about the deployment.
 830       */
 831      description?: Description;
 832      /**
 833       *  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. 
 834       */
 835      ignoreApplicationStopFailures?: Boolean;
 836      /**
 837       *  Information about the instances that belong to the replacement environment in a blue/green deployment. 
 838       */
 839      targetInstances?: TargetInstances;
 840      /**
 841       * Configuration information for an automatic rollback that is added when a deployment is created.
 842       */
 843      autoRollbackConfiguration?: AutoRollbackConfiguration;
 844      /**
 845       *  Indicates whether to deploy to all instances or only to instances that are not running the latest application revision. 
 846       */
 847      updateOutdatedInstancesOnly?: Boolean;
 848      /**
 849       * 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.  
 850       */
 851      fileExistsBehavior?: FileExistsBehavior;
 852    }
 853    export interface CreateDeploymentOutput {
 854      /**
 855       *  The unique ID of a deployment. 
 856       */
 857      deploymentId?: DeploymentId;
 858    }
 859    export interface DeleteApplicationInput {
 860      /**
 861       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
 862       */
 863      applicationName: ApplicationName;
 864    }
 865    export interface DeleteDeploymentConfigInput {
 866      /**
 867       * The name of a deployment configuration associated with the IAM user or AWS account.
 868       */
 869      deploymentConfigName: DeploymentConfigName;
 870    }
 871    export interface DeleteDeploymentGroupInput {
 872      /**
 873       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
 874       */
 875      applicationName: ApplicationName;
 876      /**
 877       * The name of a deployment group for the specified application.
 878       */
 879      deploymentGroupName: DeploymentGroupName;
 880    }
 881    export interface DeleteDeploymentGroupOutput {
 882      /**
 883       * If the output contains no data, and the corresponding deployment group contained at least one Auto Scaling group, AWS CodeDeploy successfully removed all corresponding Auto Scaling lifecycle event hooks from the Amazon EC2 instances in the Auto Scaling group. If the output contains data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event hooks from the Amazon EC2 instances in the Auto Scaling group.
 884       */
 885      hooksNotCleanedUp?: AutoScalingGroupList;
 886    }
 887    export interface DeleteGitHubAccountTokenInput {
 888      /**
 889       * The name of the GitHub account connection to delete.
 890       */
 891      tokenName?: GitHubAccountTokenName;
 892    }
 893    export interface DeleteGitHubAccountTokenOutput {
 894      /**
 895       * The name of the GitHub account connection that was deleted.
 896       */
 897      tokenName?: GitHubAccountTokenName;
 898    }
 899    export interface DeleteResourcesByExternalIdInput {
 900      /**
 901       * The unique ID of an external resource (for example, a CloudFormation stack ID) that is linked to one or more CodeDeploy resources.
 902       */
 903      externalId?: ExternalId;
 904    }
 905    export interface DeleteResourcesByExternalIdOutput {
 906    }
 907    export type DeploymentConfigId = string;
 908    export interface DeploymentConfigInfo {
 909      /**
 910       * The deployment configuration ID.
 911       */
 912      deploymentConfigId?: DeploymentConfigId;
 913      /**
 914       * The deployment configuration name.
 915       */
 916      deploymentConfigName?: DeploymentConfigName;
 917      /**
 918       * Information about the number or percentage of minimum healthy instance.
 919       */
 920      minimumHealthyHosts?: MinimumHealthyHosts;
 921      /**
 922       * The time at which the deployment configuration was created.
 923       */
 924      createTime?: Timestamp;
 925      /**
 926       * The destination platform type for the deployment (Lambda, Server, or ECS).
 927       */
 928      computePlatform?: ComputePlatform;
 929      /**
 930       * The configuration that specifies how the deployment traffic is routed. Used for deployments with a Lambda or ECS compute platform only.
 931       */
 932      trafficRoutingConfig?: TrafficRoutingConfig;
 933    }
 934    export type DeploymentConfigName = string;
 935    export type DeploymentConfigsList = DeploymentConfigName[];
 936    export type DeploymentCreator = "user"|"autoscaling"|"codeDeployRollback"|"CodeDeploy"|"CodeDeployAutoUpdate"|"CloudFormation"|"CloudFormationRollback"|string;
 937    export type DeploymentGroupId = string;
 938    export interface DeploymentGroupInfo {
 939      /**
 940       * The application name.
 941       */
 942      applicationName?: ApplicationName;
 943      /**
 944       * The deployment group ID.
 945       */
 946      deploymentGroupId?: DeploymentGroupId;
 947      /**
 948       * The deployment group name.
 949       */
 950      deploymentGroupName?: DeploymentGroupName;
 951      /**
 952       * The deployment configuration name.
 953       */
 954      deploymentConfigName?: DeploymentConfigName;
 955      /**
 956       * The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags.
 957       */
 958      ec2TagFilters?: EC2TagFilterList;
 959      /**
 960       * The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags.
 961       */
 962      onPremisesInstanceTagFilters?: TagFilterList;
 963      /**
 964       * A list of associated Auto Scaling groups.
 965       */
 966      autoScalingGroups?: AutoScalingGroupList;
 967      /**
 968       * A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see Create a Service Role for AWS CodeDeploy in the AWS CodeDeploy User Guide.
 969       */
 970      serviceRoleArn?: Role;
 971      /**
 972       * Information about the deployment group's target revision, including type and location.
 973       */
 974      targetRevision?: RevisionLocation;
 975      /**
 976       * Information about triggers associated with the deployment group.
 977       */
 978      triggerConfigurations?: TriggerConfigList;
 979      /**
 980       * A list of alarms associated with the deployment group.
 981       */
 982      alarmConfiguration?: AlarmConfiguration;
 983      /**
 984       * Information about the automatic rollback configuration associated with the deployment group.
 985       */
 986      autoRollbackConfiguration?: AutoRollbackConfiguration;
 987      /**
 988       * 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.
 989       */
 990      deploymentStyle?: DeploymentStyle;
 991      /**
 992       * 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.
 993       */
 994      outdatedInstancesStrategy?: OutdatedInstancesStrategy;
 995      /**
 996       * Information about blue/green deployment options for a deployment group.
 997       */
 998      blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration;
 999      /**
1000       * Information about the load balancer to use in a deployment.
1001       */
1002      loadBalancerInfo?: LoadBalancerInfo;
1003      /**
1004       * Information about the most recent successful deployment to the deployment group.
1005       */
1006      lastSuccessfulDeployment?: LastDeploymentInfo;
1007      /**
1008       * Information about the most recent attempted deployment to the deployment group.
1009       */
1010      lastAttemptedDeployment?: LastDeploymentInfo;
1011      /**
1012       * Information about groups of tags applied to an EC2 instance. The deployment group includes only EC2 instances identified by all of the tag groups. Cannot be used in the same call as ec2TagFilters.
1013       */
1014      ec2TagSet?: EC2TagSet;
1015      /**
1016       * Information about groups of tags applied to an on-premises instance. The deployment group includes only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.
1017       */
1018      onPremisesTagSet?: OnPremisesTagSet;
1019      /**
1020       * The destination platform type for the deployment (Lambda, Server, or ECS).
1021       */
1022      computePlatform?: ComputePlatform;
1023      /**
1024       *  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 &lt;clustername&gt;:&lt;servicename&gt;. 
1025       */
1026      ecsServices?: ECSServiceList;
1027    }
1028    export type DeploymentGroupInfoList = DeploymentGroupInfo[];
1029    export type DeploymentGroupName = string;
1030    export type DeploymentGroupsList = DeploymentGroupName[];
1031    export type DeploymentId = string;
1032    export interface DeploymentInfo {
1033      /**
1034       * The application name.
1035       */
1036      applicationName?: ApplicationName;
1037      /**
1038       *  The deployment group name. 
1039       */
1040      deploymentGroupName?: DeploymentGroupName;
1041      /**
1042       *  The deployment configuration name. 
1043       */
1044      deploymentConfigName?: DeploymentConfigName;
1045      /**
1046       *  The unique ID of a deployment. 
1047       */
1048      deploymentId?: DeploymentId;
1049      /**
1050       * Information about the application revision that was deployed to the deployment group before the most recent successful deployment.
1051       */
1052      previousRevision?: RevisionLocation;
1053      /**
1054       * Information about the location of stored application artifacts and the service from which to retrieve them.
1055       */
1056      revision?: RevisionLocation;
1057      /**
1058       * The current state of the deployment as a whole.
1059       */
1060      status?: DeploymentStatus;
1061      /**
1062       * Information about any error associated with this deployment.
1063       */
1064      errorInformation?: ErrorInformation;
1065      /**
1066       * A timestamp that indicates when the deployment was created.
1067       */
1068      createTime?: Timestamp;
1069      /**
1070       * A timestamp that indicates when the deployment was deployed to the deployment group. In some cases, the reported value of the start time might be later than the complete time. This is due to differences in the clock settings of backend servers that participate in the deployment process.
1071       */
1072      startTime?: Timestamp;
1073      /**
1074       * A timestamp that indicates when the deployment was complete.
1075       */
1076      completeTime?: Timestamp;
1077      /**
1078       * A summary of the deployment status of the instances in the deployment.
1079       */
1080      deploymentOverview?: DeploymentOverview;
1081      /**
1082       * A comment about the deployment.
1083       */
1084      description?: Description;
1085      /**
1086       * The means by which the deployment was created:    user: A user created the deployment.    autoscaling: Amazon EC2 Auto Scaling created the deployment.    codeDeployRollback: A rollback process created the deployment.    CodeDeployAutoUpdate: An auto-update process created the deployment when it detected outdated EC2 instances.  
1087       */
1088      creator?: DeploymentCreator;
1089      /**
1090       *  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. 
1091       */
1092      ignoreApplicationStopFailures?: Boolean;
1093      /**
1094       * Information about the automatic rollback configuration associated with the deployment.
1095       */
1096      autoRollbackConfiguration?: AutoRollbackConfiguration;
1097      /**
1098       * Indicates whether only instances that are not running the latest application revision are to be deployed to.
1099       */
1100      updateOutdatedInstancesOnly?: Boolean;
1101      /**
1102       * Information about a deployment rollback.
1103       */
1104      rollbackInfo?: RollbackInfo;
1105      /**
1106       * 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.
1107       */
1108      deploymentStyle?: DeploymentStyle;
1109      /**
1110       * Information about the instances that belong to the replacement environment in a blue/green deployment.
1111       */
1112      targetInstances?: TargetInstances;
1113      /**
1114       * Indicates whether the wait period set for the termination of instances in the original environment has started. Status is 'false' if the KEEP_ALIVE option is specified. Otherwise, 'true' as soon as the termination wait period starts.
1115       */
1116      instanceTerminationWaitTimeStarted?: Boolean;
1117      /**
1118       * Information about blue/green deployment options for this deployment.
1119       */
1120      blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration;
1121      /**
1122       * Information about the load balancer used in the deployment.
1123       */
1124      loadBalancerInfo?: LoadBalancerInfo;
1125      /**
1126       * Provides information about the results of a deployment, such as whether instances in the original environment in a blue/green deployment were not terminated.
1127       */
1128      additionalDeploymentStatusInfo?: AdditionalDeploymentStatusInfo;
1129      /**
1130       * Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren't part of the previous successful deployment.    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.  
1131       */
1132      fileExistsBehavior?: FileExistsBehavior;
1133      /**
1134       * Messages that contain information about the status of a deployment.
1135       */
1136      deploymentStatusMessages?: DeploymentStatusMessageList;
1137      /**
1138       * The destination platform type for the deployment (Lambda, Server, or ECS).
1139       */
1140      computePlatform?: ComputePlatform;
1141      /**
1142       * The unique ID for an external resource (for example, a CloudFormation stack ID) that is linked to this deployment.
1143       */
1144      externalId?: ExternalId;
1145      relatedDeployments?: RelatedDeployments;
1146    }
1147    export type DeploymentOption = "WITH_TRAFFIC_CONTROL"|"WITHOUT_TRAFFIC_CONTROL"|string;
1148    export interface DeploymentOverview {
1149      /**
1150       * The number of instances in the deployment in a pending state.
1151       */
1152      Pending?: InstanceCount;
1153      /**
1154       * The number of instances in which the deployment is in progress.
1155       */
1156      InProgress?: InstanceCount;
1157      /**
1158       * The number of instances in the deployment to which revisions have been successfully deployed.
1159       */
1160      Succeeded?: InstanceCount;
1161      /**
1162       * The number of instances in the deployment in a failed state.
1163       */
1164      Failed?: InstanceCount;
1165      /**
1166       * The number of instances in the deployment in a skipped state.
1167       */
1168      Skipped?: InstanceCount;
1169      /**
1170       * The number of instances in a replacement environment ready to receive traffic in a blue/green deployment.
1171       */
1172      Ready?: InstanceCount;
1173    }
1174    export type DeploymentReadyAction = "CONTINUE_DEPLOYMENT"|"STOP_DEPLOYMENT"|string;
1175    export interface DeploymentReadyOption {
1176      /**
1177       * Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.   CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.   STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using ContinueDeployment. If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to Stopped.  
1178       */
1179      actionOnTimeout?: DeploymentReadyAction;
1180      /**
1181       * The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for actionOnTimeout.
1182       */
1183      waitTimeInMinutes?: Duration;
1184    }
1185    export type DeploymentStatus = "Created"|"Queued"|"InProgress"|"Baking"|"Succeeded"|"Failed"|"Stopped"|"Ready"|string;
1186    export type DeploymentStatusList = DeploymentStatus[];
1187    export type DeploymentStatusMessageList = ErrorMessage[];
1188    export interface DeploymentStyle {
1189      /**
1190       * Indicates whether to run an in-place deployment or a blue/green deployment.
1191       */
1192      deploymentType?: DeploymentType;
1193      /**
1194       * Indicates whether to route deployment traffic behind a load balancer.
1195       */
1196      deploymentOption?: DeploymentOption;
1197    }
1198    export interface DeploymentTarget {
1199      /**
1200       * The deployment type that is specific to the deployment's compute platform or deployments initiated by a CloudFormation stack update.
1201       */
1202      deploymentTargetType?: DeploymentTargetType;
1203      /**
1204       *  Information about the target for a deployment that uses the EC2/On-premises compute platform. 
1205       */
1206      instanceTarget?: InstanceTarget;
1207      /**
1208       *  Information about the target for a deployment that uses the AWS Lambda compute platform. 
1209       */
1210      lambdaTarget?: LambdaTarget;
1211      /**
1212       *  Information about the target for a deployment that uses the Amazon ECS compute platform. 
1213       */
1214      ecsTarget?: ECSTarget;
1215      cloudFormationTarget?: CloudFormationTarget;
1216    }
1217    export type DeploymentTargetList = DeploymentTarget[];
1218    export type DeploymentTargetType = "InstanceTarget"|"LambdaTarget"|"ECSTarget"|"CloudFormationTarget"|string;
1219    export type DeploymentType = "IN_PLACE"|"BLUE_GREEN"|string;
1220    export type DeploymentWaitType = "READY_WAIT"|"TERMINATION_WAIT"|string;
1221    export type DeploymentsInfoList = DeploymentInfo[];
1222    export type DeploymentsList = DeploymentId[];
1223    export interface DeregisterOnPremisesInstanceInput {
1224      /**
1225       * The name of the on-premises instance to deregister.
1226       */
1227      instanceName: InstanceName;
1228    }
1229    export type Description = string;
1230    export interface Diagnostics {
1231      /**
1232       * The associated error code:   Success: The specified script ran.   ScriptMissing: The specified script was not found in the specified location.   ScriptNotExecutable: The specified script is not a recognized executable file type.   ScriptTimedOut: The specified script did not finish running in the specified time period.   ScriptFailed: The specified script failed to run as expected.   UnknownError: The specified script did not run for an unknown reason.  
1233       */
1234      errorCode?: LifecycleErrorCode;
1235      /**
1236       * The name of the script.
1237       */
1238      scriptName?: ScriptName;
1239      /**
1240       * The message associated with the error.
1241       */
1242      message?: LifecycleMessage;
1243      /**
1244       * The last portion of the diagnostic log. If available, AWS CodeDeploy returns up to the last 4 KB of the diagnostic log.
1245       */
1246      logTail?: LogTail;
1247    }
1248    export type Duration = number;
1249    export interface EC2TagFilter {
1250      /**
1251       * The tag filter key.
1252       */
1253      Key?: Key;
1254      /**
1255       * The tag filter value.
1256       */
1257      Value?: Value;
1258      /**
1259       * The tag filter type:    KEY_ONLY: Key only.    VALUE_ONLY: Value only.    KEY_AND_VALUE: Key and value.  
1260       */
1261      Type?: EC2TagFilterType;
1262    }
1263    export type EC2TagFilterList = EC2TagFilter[];
1264    export type EC2TagFilterType = "KEY_ONLY"|"VALUE_ONLY"|"KEY_AND_VALUE"|string;
1265    export interface EC2TagSet {
1266      /**
1267       * A list that contains other lists of EC2 instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.
1268       */
1269      ec2TagSetList?: EC2TagSetList;
1270    }
1271    export type EC2TagSetList = EC2TagFilterList[];
1272    export type ECSClusterName = string;
1273    export interface ECSService {
1274      /**
1275       *  The name of the target Amazon ECS service. 
1276       */
1277      serviceName?: ECSServiceName;
1278      /**
1279       *  The name of the cluster that the Amazon ECS service is associated with. 
1280       */
1281      clusterName?: ECSClusterName;
1282    }
1283    export type ECSServiceList = ECSService[];
1284    export type ECSServiceName = string;
1285    export interface ECSTarget {
1286      /**
1287       *  The unique ID of a deployment. 
1288       */
1289      deploymentId?: DeploymentId;
1290      /**
1291       *  The unique ID of a deployment target that has a type of ecsTarget. 
1292       */
1293      targetId?: TargetId;
1294      /**
1295       *  The Amazon Resource Name (ARN) of the target. 
1296       */
1297      targetArn?: TargetArn;
1298      /**
1299       *  The date and time when the target Amazon ECS application was updated by a deployment. 
1300       */
1301      lastUpdatedAt?: Time;
1302      /**
1303       *  The lifecycle events of the deployment to this target Amazon ECS application. 
1304       */
1305      lifecycleEvents?: LifecycleEventList;
1306      /**
1307       *  The status an Amazon ECS deployment's target ECS application. 
1308       */
1309      status?: TargetStatus;
1310      /**
1311       *  The ECSTaskSet objects associated with the ECS target. 
1312       */
1313      taskSetsInfo?: ECSTaskSetList;
1314    }
1315    export interface ECSTaskSet {
1316      /**
1317       *  A unique ID of an ECSTaskSet. 
1318       */
1319      identifer?: ECSTaskSetIdentifier;
1320      /**
1321       *  The number of tasks in a task set. During a deployment that uses the Amazon ECS compute type, CodeDeploy instructs Amazon ECS to create a new task set and uses this value to determine how many tasks to create. After the updated task set is created, CodeDeploy shifts traffic to the new task set. 
1322       */
1323      desiredCount?: ECSTaskSetCount;
1324      /**
1325       *  The number of tasks in the task set that are in the PENDING status during an Amazon ECS deployment. A task in the PENDING state is preparing to enter the RUNNING state. A task set enters the PENDING status when it launches for the first time, or when it is restarted after being in the STOPPED state. 
1326       */
1327      pendingCount?: ECSTaskSetCount;
1328      /**
1329       *  The number of tasks in the task set that are in the RUNNING status during an Amazon ECS deployment. A task in the RUNNING state is running and ready for use. 
1330       */
1331      runningCount?: ECSTaskSetCount;
1332      /**
1333       *  The status of the task set. There are three valid task set statuses:     PRIMARY: Indicates the task set is serving production traffic.     ACTIVE: Indicates the task set is not serving production traffic.     DRAINING: Indicates the tasks in the task set are being stopped and their corresponding targets are being deregistered from their target group.   
1334       */
1335      status?: ECSTaskSetStatus;
1336      /**
1337       *  The percentage of traffic served by this task set. 
1338       */
1339      trafficWeight?: TrafficWeight;
1340      /**
1341       *  The target group associated with the task set. The target group is used by AWS CodeDeploy to manage traffic to a task set. 
1342       */
1343      targetGroup?: TargetGroupInfo;
1344      /**
1345       *  A label that identifies whether the ECS task set is an original target (BLUE) or a replacement target (GREEN). 
1346       */
1347      taskSetLabel?: TargetLabel;
1348    }
1349    export type ECSTaskSetCount = number;
1350    export type ECSTaskSetIdentifier = string;
1351    export type ECSTaskSetList = ECSTaskSet[];
1352    export type ECSTaskSetStatus = string;
1353    export interface ELBInfo {
1354      /**
1355       * For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.
1356       */
1357      name?: ELBName;
1358    }
1359    export type ELBInfoList = ELBInfo[];
1360    export type ELBName = string;
1361    export type ETag = string;
1362    export type ErrorCode = "AGENT_ISSUE"|"ALARM_ACTIVE"|"APPLICATION_MISSING"|"AUTOSCALING_VALIDATION_ERROR"|"AUTO_SCALING_CONFIGURATION"|"AUTO_SCALING_IAM_ROLE_PERMISSIONS"|"CODEDEPLOY_RESOURCE_CANNOT_BE_FOUND"|"CUSTOMER_APPLICATION_UNHEALTHY"|"DEPLOYMENT_GROUP_MISSING"|"ECS_UPDATE_ERROR"|"ELASTIC_LOAD_BALANCING_INVALID"|"ELB_INVALID_INSTANCE"|"HEALTH_CONSTRAINTS"|"HEALTH_CONSTRAINTS_INVALID"|"HOOK_EXECUTION_FAILURE"|"IAM_ROLE_MISSING"|"IAM_ROLE_PERMISSIONS"|"INTERNAL_ERROR"|"INVALID_ECS_SERVICE"|"INVALID_LAMBDA_CONFIGURATION"|"INVALID_LAMBDA_FUNCTION"|"INVALID_REVISION"|"MANUAL_STOP"|"MISSING_BLUE_GREEN_DEPLOYMENT_CONFIGURATION"|"MISSING_ELB_INFORMATION"|"MISSING_GITHUB_TOKEN"|"NO_EC2_SUBSCRIPTION"|"NO_INSTANCES"|"OVER_MAX_INSTANCES"|"RESOURCE_LIMIT_EXCEEDED"|"REVISION_MISSING"|"THROTTLED"|"TIMEOUT"|"CLOUDFORMATION_STACK_FAILURE"|string;
1363    export interface ErrorInformation {
1364      /**
1365       * For more information, see Error Codes for AWS CodeDeploy in the AWS CodeDeploy User Guide. The error code:   APPLICATION_MISSING: The application was missing. This error code is most likely raised if the application is deleted after the deployment is created, but before it is started.   DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error code is most likely raised if the deployment group is deleted after the deployment is created, but before it is started.   HEALTH_CONSTRAINTS: The deployment failed on too many instances to be successfully deployed within the instance health constraints specified.   HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed within the instance health constraints specified.   IAM_ROLE_MISSING: The service role cannot be accessed.   IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions.   INTERNAL_ERROR: There was an internal error.   NO_EC2_SUBSCRIPTION: The calling account is not subscribed to Amazon EC2.   NO_INSTANCES: No instances were specified, or no instances can be found.   OVER_MAX_INSTANCES: The maximum number of instances was exceeded.   THROTTLED: The operation was throttled because the calling account exceeded the throttling limits of one or more AWS services.   TIMEOUT: The deployment has timed out.   REVISION_MISSING: The revision ID was missing. This error code is most likely raised if the revision is deleted after the deployment is created, but before it is started.  
1366       */
1367      code?: ErrorCode;
1368      /**
1369       * An accompanying error message.
1370       */
1371      message?: ErrorMessage;
1372    }
1373    export type ErrorMessage = string;
1374    export type ExternalId = string;
1375    export type FileExistsBehavior = "DISALLOW"|"OVERWRITE"|"RETAIN"|string;
1376    export type FilterValue = string;
1377    export type FilterValueList = FilterValue[];
1378    export interface GenericRevisionInfo {
1379      /**
1380       * A comment about the revision.
1381       */
1382      description?: Description;
1383      /**
1384       * The deployment groups for which this is the current target revision.
1385       */
1386      deploymentGroups?: DeploymentGroupsList;
1387      /**
1388       * When the revision was first used by AWS CodeDeploy.
1389       */
1390      firstUsedTime?: Timestamp;
1391      /**
1392       * When the revision was last used by AWS CodeDeploy.
1393       */
1394      lastUsedTime?: Timestamp;
1395      /**
1396       * When the revision was registered with AWS CodeDeploy.
1397       */
1398      registerTime?: Timestamp;
1399    }
1400    export interface GetApplicationInput {
1401      /**
1402       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
1403       */
1404      applicationName: ApplicationName;
1405    }
1406    export interface GetApplicationOutput {
1407      /**
1408       * Information about the application.
1409       */
1410      application?: ApplicationInfo;
1411    }
1412    export interface GetApplicationRevisionInput {
1413      /**
1414       * The name of the application that corresponds to the revision.
1415       */
1416      applicationName: ApplicationName;
1417      /**
1418       * Information about the application revision to get, including type and location.
1419       */
1420      revision: RevisionLocation;
1421    }
1422    export interface GetApplicationRevisionOutput {
1423      /**
1424       * The name of the application that corresponds to the revision.
1425       */
1426      applicationName?: ApplicationName;
1427      /**
1428       * Additional information about the revision, including type and location.
1429       */
1430      revision?: RevisionLocation;
1431      /**
1432       * General information about the revision.
1433       */
1434      revisionInfo?: GenericRevisionInfo;
1435    }
1436    export interface GetDeploymentConfigInput {
1437      /**
1438       * The name of a deployment configuration associated with the IAM user or AWS account.
1439       */
1440      deploymentConfigName: DeploymentConfigName;
1441    }
1442    export interface GetDeploymentConfigOutput {
1443      /**
1444       * Information about the deployment configuration.
1445       */
1446      deploymentConfigInfo?: DeploymentConfigInfo;
1447    }
1448    export interface GetDeploymentGroupInput {
1449      /**
1450       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
1451       */
1452      applicationName: ApplicationName;
1453      /**
1454       * The name of a deployment group for the specified application.
1455       */
1456      deploymentGroupName: DeploymentGroupName;
1457    }
1458    export interface GetDeploymentGroupOutput {
1459      /**
1460       * Information about the deployment group.
1461       */
1462      deploymentGroupInfo?: DeploymentGroupInfo;
1463    }
1464    export interface GetDeploymentInput {
1465      /**
1466       *  The unique ID of a deployment associated with the IAM user or AWS account. 
1467       */
1468      deploymentId: DeploymentId;
1469    }
1470    export interface GetDeploymentInstanceInput {
1471      /**
1472       *  The unique ID of a deployment. 
1473       */
1474      deploymentId: DeploymentId;
1475      /**
1476       *  The unique ID of an instance in the deployment group. 
1477       */
1478      instanceId: InstanceId;
1479    }
1480    export interface GetDeploymentInstanceOutput {
1481      /**
1482       *  Information about the instance. 
1483       */
1484      instanceSummary?: InstanceSummary;
1485    }
1486    export interface GetDeploymentOutput {
1487      /**
1488       * Information about the deployment.
1489       */
1490      deploymentInfo?: DeploymentInfo;
1491    }
1492    export interface GetDeploymentTargetInput {
1493      /**
1494       *  The unique ID of a deployment. 
1495       */
1496      deploymentId?: DeploymentId;
1497      /**
1498       *  The unique ID of a deployment target. 
1499       */
1500      targetId?: TargetId;
1501    }
1502    export interface GetDeploymentTargetOutput {
1503      /**
1504       *  A deployment target that contains information about a deployment such as its status, lifecycle events, and when it was last updated. It also contains metadata about the deployment target. The deployment target metadata depends on the deployment target's type (instanceTarget, lambdaTarget, or ecsTarget). 
1505       */
1506      deploymentTarget?: DeploymentTarget;
1507    }
1508    export interface GetOnPremisesInstanceInput {
1509      /**
1510       *  The name of the on-premises instance about which to get information. 
1511       */
1512      instanceName: InstanceName;
1513    }
1514    export interface GetOnPremisesInstanceOutput {
1515      /**
1516       *  Information about the on-premises instance. 
1517       */
1518      instanceInfo?: InstanceInfo;
1519    }
1520    export type GitHubAccountTokenName = string;
1521    export type GitHubAccountTokenNameList = GitHubAccountTokenName[];
1522    export interface GitHubLocation {
1523      /**
1524       * The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision.  Specified as account/repository.
1525       */
1526      repository?: Repository;
1527      /**
1528       * The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.
1529       */
1530      commitId?: CommitId;
1531    }
1532    export type GreenFleetProvisioningAction = "DISCOVER_EXISTING"|"COPY_AUTO_SCALING_GROUP"|string;
1533    export interface GreenFleetProvisioningOption {
1534      /**
1535       * The method used to add instances to a replacement environment.    DISCOVER_EXISTING: Use instances that already exist or will be created manually.    COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group.  
1536       */
1537      action?: GreenFleetProvisioningAction;
1538    }
1539    export type IamSessionArn = string;
1540    export type IamUserArn = string;
1541    export type InstanceAction = "TERMINATE"|"KEEP_ALIVE"|string;
1542    export type InstanceArn = string;
1543    export type InstanceCount = number;
1544    export type InstanceId = string;
1545    export interface InstanceInfo {
1546      /**
1547       * The name of the on-premises instance.
1548       */
1549      instanceName?: InstanceName;
1550      /**
1551       * The ARN of the IAM session associated with the on-premises instance.
1552       */
1553      iamSessionArn?: IamSessionArn;
1554      /**
1555       * The IAM user ARN associated with the on-premises instance.
1556       */
1557      iamUserArn?: IamUserArn;
1558      /**
1559       * The ARN of the on-premises instance.
1560       */
1561      instanceArn?: InstanceArn;
1562      /**
1563       * The time at which the on-premises instance was registered.
1564       */
1565      registerTime?: Timestamp;
1566      /**
1567       * If the on-premises instance was deregistered, the time at which the on-premises instance was deregistered.
1568       */
1569      deregisterTime?: Timestamp;
1570      /**
1571       * The tags currently associated with the on-premises instance.
1572       */
1573      tags?: TagList;
1574    }
1575    export type InstanceInfoList = InstanceInfo[];
1576    export type InstanceName = string;
1577    export type InstanceNameList = InstanceName[];
1578    export type InstanceStatus = "Pending"|"InProgress"|"Succeeded"|"Failed"|"Skipped"|"Unknown"|"Ready"|string;
1579    export type InstanceStatusList = InstanceStatus[];
1580    export interface InstanceSummary {
1581      /**
1582       *  The unique ID of a deployment. 
1583       */
1584      deploymentId?: DeploymentId;
1585      /**
1586       * The instance ID.
1587       */
1588      instanceId?: InstanceId;
1589      /**
1590       * The deployment status for this instance:    Pending: The deployment is pending for this instance.    In Progress: The deployment is in progress for this instance.    Succeeded: The deployment has succeeded for this instance.    Failed: The deployment has failed for this instance.    Skipped: The deployment has been skipped for this instance.    Unknown: The deployment status is unknown for this instance.  
1591       */
1592      status?: InstanceStatus;
1593      /**
1594       * A timestamp that indicates when the instance information was last updated.
1595       */
1596      lastUpdatedAt?: Timestamp;
1597      /**
1598       * A list of lifecycle events for this instance.
1599       */
1600      lifecycleEvents?: LifecycleEventList;
1601      /**
1602       * Information about which environment an instance belongs to in a blue/green deployment.   BLUE: The instance is part of the original environment.   GREEN: The instance is part of the replacement environment.  
1603       */
1604      instanceType?: InstanceType;
1605    }
1606    export type InstanceSummaryList = InstanceSummary[];
1607    export interface InstanceTarget {
1608      /**
1609       *  The unique ID of a deployment. 
1610       */
1611      deploymentId?: DeploymentId;
1612      /**
1613       *  The unique ID of a deployment target that has a type of instanceTarget. 
1614       */
1615      targetId?: TargetId;
1616      /**
1617       *  The Amazon Resource Name (ARN) of the target. 
1618       */
1619      targetArn?: TargetArn;
1620      /**
1621       *  The status an EC2/On-premises deployment's target instance. 
1622       */
1623      status?: TargetStatus;
1624      /**
1625       *  The date and time when the target instance was updated by a deployment. 
1626       */
1627      lastUpdatedAt?: Time;
1628      /**
1629       *  The lifecycle events of the deployment to this target instance. 
1630       */
1631      lifecycleEvents?: LifecycleEventList;
1632      /**
1633       *  A label that identifies whether the instance is an original target (BLUE) or a replacement target (GREEN). 
1634       */
1635      instanceLabel?: TargetLabel;
1636    }
1637    export type InstanceType = "Blue"|"Green"|string;
1638    export type InstanceTypeList = InstanceType[];
1639    export type InstancesList = InstanceId[];
1640    export type Key = string;
1641    export type LambdaFunctionAlias = string;
1642    export interface LambdaFunctionInfo {
1643      /**
1644       *  The name of a Lambda function. 
1645       */
1646      functionName?: LambdaFunctionName;
1647      /**
1648       *  The alias of a Lambda function. For more information, see AWS Lambda Function Aliases in the AWS Lambda Developer Guide.
1649       */
1650      functionAlias?: LambdaFunctionAlias;
1651      /**
1652       *  The version of a Lambda function that production traffic points to. 
1653       */
1654      currentVersion?: Version;
1655      /**
1656       *  The version of a Lambda function that production traffic points to after the Lambda function is deployed. 
1657       */
1658      targetVersion?: Version;
1659      /**
1660       *  The percentage of production traffic that the target version of a Lambda function receives. 
1661       */
1662      targetVersionWeight?: TrafficWeight;
1663    }
1664    export type LambdaFunctionName = string;
1665    export interface LambdaTarget {
1666      /**
1667       *  The unique ID of a deployment. 
1668       */
1669      deploymentId?: DeploymentId;
1670      /**
1671       *  The unique ID of a deployment target that has a type of lambdaTarget. 
1672       */
1673      targetId?: TargetId;
1674      /**
1675       *  The Amazon Resource Name (ARN) of the target. 
1676       */
1677      targetArn?: TargetArn;
1678      /**
1679       *  The status an AWS Lambda deployment's target Lambda function. 
1680       */
1681      status?: TargetStatus;
1682      /**
1683       *  The date and time when the target Lambda function was updated by a deployment. 
1684       */
1685      lastUpdatedAt?: Time;
1686      /**
1687       *  The lifecycle events of the deployment to this target Lambda function. 
1688       */
1689      lifecycleEvents?: LifecycleEventList;
1690      /**
1691       *  A LambdaFunctionInfo object that describes a target Lambda function. 
1692       */
1693      lambdaFunctionInfo?: LambdaFunctionInfo;
1694    }
1695    export interface LastDeploymentInfo {
1696      /**
1697       *  The unique ID of a deployment. 
1698       */
1699      deploymentId?: DeploymentId;
1700      /**
1701       * The status of the most recent deployment.
1702       */
1703      status?: DeploymentStatus;
1704      /**
1705       * A timestamp that indicates when the most recent deployment to the deployment group was complete.
1706       */
1707      endTime?: Timestamp;
1708      /**
1709       * A timestamp that indicates when the most recent deployment to the deployment group started.
1710       */
1711      createTime?: Timestamp;
1712    }
1713    export type LifecycleErrorCode = "Success"|"ScriptMissing"|"ScriptNotExecutable"|"ScriptTimedOut"|"ScriptFailed"|"UnknownError"|string;
1714    export interface LifecycleEvent {
1715      /**
1716       * The deployment lifecycle event name, such as ApplicationStop, BeforeInstall, AfterInstall, ApplicationStart, or ValidateService.
1717       */
1718      lifecycleEventName?: LifecycleEventName;
1719      /**
1720       * Diagnostic information about the deployment lifecycle event.
1721       */
1722      diagnostics?: Diagnostics;
1723      /**
1724       * A timestamp that indicates when the deployment lifecycle event started.
1725       */
1726      startTime?: Timestamp;
1727      /**
1728       * A timestamp that indicates when the deployment lifecycle event ended.
1729       */
1730      endTime?: Timestamp;
1731      /**
1732       * The deployment lifecycle event status:   Pending: The deployment lifecycle event is pending.   InProgress: The deployment lifecycle event is in progress.   Succeeded: The deployment lifecycle event ran successfully.   Failed: The deployment lifecycle event has failed.   Skipped: The deployment lifecycle event has been skipped.   Unknown: The deployment lifecycle event is unknown.  
1733       */
1734      status?: LifecycleEventStatus;
1735    }
1736    export type LifecycleEventHookExecutionId = string;
1737    export type LifecycleEventList = LifecycleEvent[];
1738    export type LifecycleEventName = string;
1739    export type LifecycleEventStatus = "Pending"|"InProgress"|"Succeeded"|"Failed"|"Skipped"|"Unknown"|string;
1740    export type LifecycleMessage = string;
1741    export interface ListApplicationRevisionsInput {
1742      /**
1743       *  The name of an AWS CodeDeploy application associated with the IAM user or AWS account. 
1744       */
1745      applicationName: ApplicationName;
1746      /**
1747       * The column name to use to sort the list results:    registerTime: Sort by the time the revisions were registered with AWS CodeDeploy.    firstUsedTime: Sort by the time the revisions were first used in a deployment.    lastUsedTime: Sort by the time the revisions were last used in a deployment.    If not specified or set to null, the results are returned in an arbitrary order. 
1748       */
1749      sortBy?: ApplicationRevisionSortBy;
1750      /**
1751       *  The order in which to sort the list results:     ascending: ascending order.    descending: descending order.   If not specified, the results are sorted in ascending order. If set to null, the results are sorted in an arbitrary order.
1752       */
1753      sortOrder?: SortOrder;
1754      /**
1755       *  An Amazon S3 bucket name to limit the search for revisions.   If set to null, all of the user's buckets are searched. 
1756       */
1757      s3Bucket?: S3Bucket;
1758      /**
1759       *  A key prefix for the set of Amazon S3 objects to limit the search for revisions. 
1760       */
1761      s3KeyPrefix?: S3Key;
1762      /**
1763       *  Whether to list revisions based on whether the revision is the target revision of a deployment group:     include: List revisions that are target revisions of a deployment group.    exclude: Do not list revisions that are target revisions of a deployment group.    ignore: List all revisions.  
1764       */
1765      deployed?: ListStateFilterAction;
1766      /**
1767       * An identifier returned from the previous ListApplicationRevisions call. It can be used to return the next set of applications in the list.
1768       */
1769      nextToken?: NextToken;
1770    }
1771    export interface ListApplicationRevisionsOutput {
1772      /**
1773       * A list of locations that contain the matching revisions.
1774       */
1775      revisions?: RevisionLocationList;
1776      /**
1777       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.
1778       */
1779      nextToken?: NextToken;
1780    }
1781    export interface ListApplicationsInput {
1782      /**
1783       * An identifier returned from the previous list applications call. It can be used to return the next set of applications in the list.
1784       */
1785      nextToken?: NextToken;
1786    }
1787    export interface ListApplicationsOutput {
1788      /**
1789       * A list of application names.
1790       */
1791      applications?: ApplicationsList;
1792      /**
1793       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list applications call to return the next set of applications in the list.
1794       */
1795      nextToken?: NextToken;
1796    }
1797    export interface ListDeploymentConfigsInput {
1798      /**
1799       * An identifier returned from the previous ListDeploymentConfigs call. It can be used to return the next set of deployment configurations in the list. 
1800       */
1801      nextToken?: NextToken;
1802    }
1803    export interface ListDeploymentConfigsOutput {
1804      /**
1805       * A list of deployment configurations, including built-in configurations such as CodeDeployDefault.OneAtATime.
1806       */
1807      deploymentConfigsList?: DeploymentConfigsList;
1808      /**
1809       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment configurations call to return the next set of deployment configurations in the list.
1810       */
1811      nextToken?: NextToken;
1812    }
1813    export interface ListDeploymentGroupsInput {
1814      /**
1815       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
1816       */
1817      applicationName: ApplicationName;
1818      /**
1819       * An identifier returned from the previous list deployment groups call. It can be used to return the next set of deployment groups in the list.
1820       */
1821      nextToken?: NextToken;
1822    }
1823    export interface ListDeploymentGroupsOutput {
1824      /**
1825       * The application name.
1826       */
1827      applicationName?: ApplicationName;
1828      /**
1829       * A list of deployment group names.
1830       */
1831      deploymentGroups?: DeploymentGroupsList;
1832      /**
1833       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment groups call to return the next set of deployment groups in the list.
1834       */
1835      nextToken?: NextToken;
1836    }
1837    export interface ListDeploymentInstancesInput {
1838      /**
1839       *  The unique ID of a deployment. 
1840       */
1841      deploymentId: DeploymentId;
1842      /**
1843       * An identifier returned from the previous list deployment instances call. It can be used to return the next set of deployment instances in the list.
1844       */
1845      nextToken?: NextToken;
1846      /**
1847       * A subset of instances to list by status:    Pending: Include those instances with pending deployments.    InProgress: Include those instances where deployments are still in progress.    Succeeded: Include those instances with successful deployments.    Failed: Include those instances with failed deployments.    Skipped: Include those instances with skipped deployments.    Unknown: Include those instances with deployments in an unknown state.  
1848       */
1849      instanceStatusFilter?: InstanceStatusList;
1850      /**
1851       * The set of instances in a blue/green deployment, either those in the original environment ("BLUE") or those in the replacement environment ("GREEN"), for which you want to view instance information.
1852       */
1853      instanceTypeFilter?: InstanceTypeList;
1854    }
1855    export interface ListDeploymentInstancesOutput {
1856      /**
1857       * A list of instance IDs.
1858       */
1859      instancesList?: InstancesList;
1860      /**
1861       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment instances call to return the next set of deployment instances in the list.
1862       */
1863      nextToken?: NextToken;
1864    }
1865    export interface ListDeploymentTargetsInput {
1866      /**
1867       *  The unique ID of a deployment. 
1868       */
1869      deploymentId?: DeploymentId;
1870      /**
1871       *  A token identifier returned from the previous ListDeploymentTargets call. It can be used to return the next set of deployment targets in the list. 
1872       */
1873      nextToken?: NextToken;
1874      /**
1875       *  A key used to filter the returned targets. The two valid values are:    TargetStatus - A TargetStatus filter string can be Failed, InProgress, Pending, Ready, Skipped, Succeeded, or Unknown.     ServerInstanceLabel - A ServerInstanceLabel filter string can be Blue or Green.   
1876       */
1877      targetFilters?: TargetFilters;
1878    }
1879    export interface ListDeploymentTargetsOutput {
1880      /**
1881       *  The unique IDs of deployment targets. 
1882       */
1883      targetIds?: TargetIdList;
1884      /**
1885       *  If a large amount of information is returned, a token identifier is also returned. It can be used in a subsequent ListDeploymentTargets call to return the next set of deployment targets in the list. 
1886       */
1887      nextToken?: NextToken;
1888    }
1889    export interface ListDeploymentsInput {
1890      /**
1891       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.  If applicationName is specified, then deploymentGroupName must be specified. If it is not specified, then deploymentGroupName must not be specified.  
1892       */
1893      applicationName?: ApplicationName;
1894      /**
1895       * The name of a deployment group for the specified application.  If deploymentGroupName is specified, then applicationName must be specified. If it is not specified, then applicationName must not be specified.  
1896       */
1897      deploymentGroupName?: DeploymentGroupName;
1898      /**
1899       * The unique ID of an external resource for returning deployments linked to the external resource.
1900       */
1901      externalId?: ExternalId;
1902      /**
1903       * A subset of deployments to list by status:    Created: Include created deployments in the resulting list.    Queued: Include queued deployments in the resulting list.    In Progress: Include in-progress deployments in the resulting list.    Succeeded: Include successful deployments in the resulting list.    Failed: Include failed deployments in the resulting list.    Stopped: Include stopped deployments in the resulting list.  
1904       */
1905      includeOnlyStatuses?: DeploymentStatusList;
1906      /**
1907       * A time range (start and end) for returning a subset of the list of deployments.
1908       */
1909      createTimeRange?: TimeRange;
1910      /**
1911       * An identifier returned from the previous list deployments call. It can be used to return the next set of deployments in the list.
1912       */
1913      nextToken?: NextToken;
1914    }
1915    export interface ListDeploymentsOutput {
1916      /**
1917       * A list of deployment IDs.
1918       */
1919      deployments?: DeploymentsList;
1920      /**
1921       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployments call to return the next set of deployments in the list.
1922       */
1923      nextToken?: NextToken;
1924    }
1925    export interface ListGitHubAccountTokenNamesInput {
1926      /**
1927       * An identifier returned from the previous ListGitHubAccountTokenNames call. It can be used to return the next set of names in the list. 
1928       */
1929      nextToken?: NextToken;
1930    }
1931    export interface ListGitHubAccountTokenNamesOutput {
1932      /**
1933       * A list of names of connections to GitHub accounts.
1934       */
1935      tokenNameList?: GitHubAccountTokenNameList;
1936      /**
1937       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent ListGitHubAccountTokenNames call to return the next set of names in the list. 
1938       */
1939      nextToken?: NextToken;
1940    }
1941    export interface ListOnPremisesInstancesInput {
1942      /**
1943       * The registration status of the on-premises instances:    Deregistered: Include deregistered on-premises instances in the resulting list.    Registered: Include registered on-premises instances in the resulting list.  
1944       */
1945      registrationStatus?: RegistrationStatus;
1946      /**
1947       * The on-premises instance tags that are used to restrict the on-premises instance names returned.
1948       */
1949      tagFilters?: TagFilterList;
1950      /**
1951       * An identifier returned from the previous list on-premises instances call. It can be used to return the next set of on-premises instances in the list.
1952       */
1953      nextToken?: NextToken;
1954    }
1955    export interface ListOnPremisesInstancesOutput {
1956      /**
1957       * The list of matching on-premises instance names.
1958       */
1959      instanceNames?: InstanceNameList;
1960      /**
1961       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list on-premises instances call to return the next set of on-premises instances in the list.
1962       */
1963      nextToken?: NextToken;
1964    }
1965    export type ListStateFilterAction = "include"|"exclude"|"ignore"|string;
1966    export interface ListTagsForResourceInput {
1967      /**
1968       *  The ARN of a CodeDeploy resource. ListTagsForResource returns all the tags associated with the resource that is identified by the ResourceArn. 
1969       */
1970      ResourceArn: Arn;
1971      /**
1972       * An identifier returned from the previous ListTagsForResource call. It can be used to return the next set of applications in the list.
1973       */
1974      NextToken?: NextToken;
1975    }
1976    export interface ListTagsForResourceOutput {
1977      /**
1978       *  A list of tags returned by ListTagsForResource. The tags are associated with the resource identified by the input ResourceArn parameter. 
1979       */
1980      Tags?: TagList;
1981      /**
1982       * If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.
1983       */
1984      NextToken?: NextToken;
1985    }
1986    export type ListenerArn = string;
1987    export type ListenerArnList = ListenerArn[];
1988    export interface LoadBalancerInfo {
1989      /**
1990       * An array that contains information about the load balancer to use for load balancing in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load Balancers.   Adding more than one load balancer to the array is not supported.  
1991       */
1992      elbInfoList?: ELBInfoList;
1993      /**
1994       * An array that contains information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.   Adding more than one target group to the array is not supported.  
1995       */
1996      targetGroupInfoList?: TargetGroupInfoList;
1997      /**
1998       *  The target group pair information. This is an array of TargeGroupPairInfo objects with a maximum size of one. 
1999       */
2000      targetGroupPairInfoList?: TargetGroupPairInfoList;
2001    }
2002    export type LogTail = string;
2003    export type Message = string;
2004    export interface MinimumHealthyHosts {
2005      /**
2006       * The minimum healthy instance type:    HOST_COUNT: The minimum number of healthy instances as an absolute value.    FLEET_PERCENT: The minimum number of healthy instances as a percentage of the total number of instances in the deployment.   In an example of nine instances, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instances at a time. The deployment is successful if four or more instances are deployed to successfully. Otherwise, the deployment fails.  In a call to the GetDeploymentConfig, CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful.  For more information, see AWS CodeDeploy Instance Health in the AWS CodeDeploy User Guide.
2007       */
2008      type?: MinimumHealthyHostsType;
2009      /**
2010       * The minimum healthy instance value.
2011       */
2012      value?: MinimumHealthyHostsValue;
2013    }
2014    export type MinimumHealthyHostsType = "HOST_COUNT"|"FLEET_PERCENT"|string;
2015    export type MinimumHealthyHostsValue = number;
2016    export type NextToken = string;
2017    export type NullableBoolean = boolean;
2018    export interface OnPremisesTagSet {
2019      /**
2020       * A list that contains other lists of on-premises instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.
2021       */
2022      onPremisesTagSetList?: OnPremisesTagSetList;
2023    }
2024    export type OnPremisesTagSetList = TagFilterList[];
2025    export type OutdatedInstancesStrategy = "UPDATE"|"IGNORE"|string;
2026    export type Percentage = number;
2027    export interface PutLifecycleEventHookExecutionStatusInput {
2028      /**
2029       *  The unique ID of a deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event. 
2030       */
2031      deploymentId?: DeploymentId;
2032      /**
2033       *  The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file. 
2034       */
2035      lifecycleEventHookExecutionId?: LifecycleEventHookExecutionId;
2036      /**
2037       * The result of a Lambda function that validates a deployment lifecycle event. Succeeded and Failed are the only valid values for status.
2038       */
2039      status?: LifecycleEventStatus;
2040    }
2041    export interface PutLifecycleEventHookExecutionStatusOutput {
2042      /**
2043       * The execution ID of the lifecycle event hook. A hook is specified in the hooks section of the deployment's AppSpec file.
2044       */
2045      lifecycleEventHookExecutionId?: LifecycleEventHookExecutionId;
2046    }
2047    export interface RawString {
2048      /**
2049       * The YAML-formatted or JSON-formatted revision string. It includes information about which Lambda function to update and optional Lambda functions that validate deployment lifecycle events.
2050       */
2051      content?: RawStringContent;
2052      /**
2053       * The SHA256 hash value of the revision content.
2054       */
2055      sha256?: RawStringSha256;
2056    }
2057    export type RawStringContent = string;
2058    export type RawStringSha256 = string;
2059    export interface RegisterApplicationRevisionInput {
2060      /**
2061       * The name of an AWS CodeDeploy application associated with the IAM user or AWS account.
2062       */
2063      applicationName: ApplicationName;
2064      /**
2065       * A comment about the revision.
2066       */
2067      description?: Description;
2068      /**
2069       * Information about the application revision to register, including type and location.
2070       */
2071      revision: RevisionLocation;
2072    }
2073    export interface RegisterOnPremisesInstanceInput {
2074      /**
2075       * The name of the on-premises instance to register.
2076       */
2077      instanceName: InstanceName;
2078      /**
2079       * The ARN of the IAM session to associate with the on-premises instance.
2080       */
2081      iamSessionArn?: IamSessionArn;
2082      /**
2083       * The ARN of the IAM user to associate with the on-premises instance.
2084       */
2085      iamUserArn?: IamUserArn;
2086    }
2087    export type RegistrationStatus = "Registered"|"Deregistered"|string;
2088    export interface RelatedDeployments {
2089      /**
2090       * The deployment ID of the root deployment that triggered this deployment.
2091       */
2092      autoUpdateOutdatedInstancesRootDeploymentId?: DeploymentId;
2093      /**
2094       * The deployment IDs of 'auto-update outdated instances' deployments triggered by this deployment.
2095       */
2096      autoUpdateOutdatedInstancesDeploymentIds?: DeploymentsList;
2097    }
2098    export interface RemoveTagsFromOnPremisesInstancesInput {
2099      /**
2100       * The tag key-value pairs to remove from the on-premises instances.
2101       */
2102      tags: TagList;
2103      /**
2104       * The names of the on-premises instances from which to remove tags.
2105       */
2106      instanceNames: InstanceNameList;
2107    }
2108    export type Repository = string;
2109    export interface RevisionInfo {
2110      /**
2111       * Information about the location and type of an application revision.
2112       */
2113      revisionLocation?: RevisionLocation;
2114      /**
2115       * Information about an application revision, including usage details and associated deployment groups.
2116       */
2117      genericRevisionInfo?: GenericRevisionInfo;
2118    }
2119    export type RevisionInfoList = RevisionInfo[];
2120    export interface RevisionLocation {
2121      /**
2122       * The type of application revision:   S3: An application revision stored in Amazon S3.   GitHub: An application revision stored in GitHub (EC2/On-premises deployments only).   String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments only).   AppSpecContent: An AppSpecContent object that contains the contents of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML stored as a RawString.  
2123       */
2124      revisionType?: RevisionLocationType;
2125      /**
2126       * Information about the location of a revision stored in Amazon S3. 
2127       */
2128      s3Location?: S3Location;
2129      /**
2130       * Information about the location of application artifacts stored in GitHub.
2131       */
2132      gitHubLocation?: GitHubLocation;
2133      /**
2134       * Information about the location of an AWS Lambda deployment revision stored as a RawString.
2135       */
2136      string?: RawString;
2137      /**
2138       *  The content of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML and stored as a RawString. 
2139       */
2140      appSpecContent?: AppSpecContent;
2141    }
2142    export type RevisionLocationList = RevisionLocation[];
2143    export type RevisionLocationType = "S3"|"GitHub"|"String"|"AppSpecContent"|string;
2144    export type Role = string;
2145    export interface RollbackInfo {
2146      /**
2147       * The ID of the deployment rollback.
2148       */
2149      rollbackDeploymentId?: DeploymentId;
2150      /**
2151       * The deployment ID of the deployment that was underway and triggered a rollback deployment because it failed or was stopped.
2152       */
2153      rollbackTriggeringDeploymentId?: DeploymentId;
2154      /**
2155       * Information that describes the status of a deployment rollback (for example, whether the deployment can't be rolled back, is in progress, failed, or succeeded). 
2156       */
2157      rollbackMessage?: Description;
2158    }
2159    export type S3Bucket = string;
2160    export type S3Key = string;
2161    export interface S3Location {
2162      /**
2163       * The name of the Amazon S3 bucket where the application revision is stored.
2164       */
2165      bucket?: S3Bucket;
2166      /**
2167       * The name of the Amazon S3 object that represents the bundled artifacts for the application revision.
2168       */
2169      key?: S3Key;
2170      /**
2171       * The file type of the application revision. Must be one of the following:    tar: A tar archive file.    tgz: A compressed tar archive file.    zip: A zip archive file.  
2172       */
2173      bundleType?: BundleType;
2174      /**
2175       * A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision. If the version is not specified, the system uses the most recent version by default.
2176       */
2177      version?: VersionId;
2178      /**
2179       * The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision. If the ETag is not specified as an input parameter, ETag validation of the object is skipped.
2180       */
2181      eTag?: ETag;
2182    }
2183    export type ScriptName = string;
2184    export interface SkipWaitTimeForInstanceTerminationInput {
2185      /**
2186       *  The unique ID of a blue/green deployment for which you want to skip the instance termination wait time. 
2187       */
2188      deploymentId?: DeploymentId;
2189    }
2190    export type SortOrder = "ascending"|"descending"|string;
2191    export interface StopDeploymentInput {
2192      /**
2193       *  The unique ID of a deployment. 
2194       */
2195      deploymentId: DeploymentId;
2196      /**
2197       *  Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision. 
2198       */
2199      autoRollbackEnabled?: NullableBoolean;
2200    }
2201    export interface StopDeploymentOutput {
2202      /**
2203       * The status of the stop deployment operation:   Pending: The stop operation is pending.   Succeeded: The stop operation was successful.  
2204       */
2205      status?: StopStatus;
2206      /**
2207       * An accompanying status message.
2208       */
2209      statusMessage?: Message;
2210    }
2211    export type StopStatus = "Pending"|"Succeeded"|string;
2212    export interface Tag {
2213      /**
2214       * The tag's key.
2215       */
2216      Key?: Key;
2217      /**
2218       * The tag's value.
2219       */
2220      Value?: Value;
2221    }
2222    export interface TagFilter {
2223      /**
2224       * The on-premises instance tag filter key.
2225       */
2226      Key?: Key;
2227      /**
2228       * The on-premises instance tag filter value.
2229       */
2230      Value?: Value;
2231      /**
2232       * The on-premises instance tag filter type:   KEY_ONLY: Key only.   VALUE_ONLY: Value only.   KEY_AND_VALUE: Key and value.  
2233       */
2234      Type?: TagFilterType;
2235    }
2236    export type TagFilterList = TagFilter[];
2237    export type TagFilterType = "KEY_ONLY"|"VALUE_ONLY"|"KEY_AND_VALUE"|string;
2238    export type TagKeyList = Key[];
2239    export type TagList = Tag[];
2240    export interface TagResourceInput {
2241      /**
2242       *  The ARN of a resource, such as a CodeDeploy application or deployment group. 
2243       */
2244      ResourceArn: Arn;
2245      /**
2246       *  A list of tags that TagResource associates with a resource. The resource is identified by the ResourceArn input parameter. 
2247       */
2248      Tags: TagList;
2249    }
2250    export interface TagResourceOutput {
2251    }
2252    export type TargetArn = string;
2253    export type TargetFilterName = "TargetStatus"|"ServerInstanceLabel"|string;
2254    export type TargetFilters = {[key: string]: FilterValueList};
2255    export interface TargetGroupInfo {
2256      /**
2257       * For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment are registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete. 
2258       */
2259      name?: TargetGroupName;
2260    }
2261    export type TargetGroupInfoList = TargetGroupInfo[];
2262    export type TargetGroupName = string;
2263    export interface TargetGroupPairInfo {
2264      /**
2265       *  One pair of target groups. One is associated with the original task set. The second is associated with the task set that serves traffic after the deployment is complete. 
2266       */
2267      targetGroups?: TargetGroupInfoList;
2268      /**
2269       *  The path used by a load balancer to route production traffic when an Amazon ECS deployment is complete. 
2270       */
2271      prodTrafficRoute?: TrafficRoute;
2272      /**
2273       *  An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can occur while test traffic is served during a deployment. 
2274       */
2275      testTrafficRoute?: TrafficRoute;
2276    }
2277    export type TargetGroupPairInfoList = TargetGroupPairInfo[];
2278    export type TargetId = string;
2279    export type TargetIdList = TargetId[];
2280    export interface TargetInstances {
2281      /**
2282       * The tag filter key, type, and value used to identify Amazon EC2 instances in a replacement environment for a blue/green deployment. Cannot be used in the same call as ec2TagSet.
2283       */
2284      tagFilters?: EC2TagFilterList;
2285      /**
2286       * The names of one or more Auto Scaling groups to identify a replacement environment for a blue/green deployment.
2287       */
2288      autoScalingGroups?: AutoScalingGroupNameList;
2289      /**
2290       * Information about the groups of EC2 instance tags that an instance must be identified by in order for it to be included in the replacement environment for a blue/green deployment. Cannot be used in the same call as tagFilters.
2291       */
2292      ec2TagSet?: EC2TagSet;
2293    }
2294    export type TargetLabel = "Blue"|"Green"|string;
2295    export type TargetStatus = "Pending"|"InProgress"|"Succeeded"|"Failed"|"Skipped"|"Unknown"|"Ready"|string;
2296    export type Time = Date;
2297    export interface TimeBasedCanary {
2298      /**
2299       * The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.
2300       */
2301      canaryPercentage?: Percentage;
2302      /**
2303       * The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.
2304       */
2305      canaryInterval?: WaitTimeInMins;
2306    }
2307    export interface TimeBasedLinear {
2308      /**
2309       * The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.
2310       */
2311      linearPercentage?: Percentage;
2312      /**
2313       * The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.
2314       */
2315      linearInterval?: WaitTimeInMins;
2316    }
2317    export interface TimeRange {
2318      /**
2319       * The start time of the time range.  Specify null to leave the start time open-ended. 
2320       */
2321      start?: Timestamp;
2322      /**
2323       * The end time of the time range.  Specify null to leave the end time open-ended. 
2324       */
2325      end?: Timestamp;
2326    }
2327    export type Timestamp = Date;
2328    export interface TrafficRoute {
2329      /**
2330       *  The Amazon Resource Name (ARN) of one listener. The listener identifies the route between a target group and a load balancer. This is an array of strings with a maximum size of one. 
2331       */
2332      listenerArns?: ListenerArnList;
2333    }
2334    export interface TrafficRoutingConfig {
2335      /**
2336       * The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by a deployment configuration.
2337       */
2338      type?: TrafficRoutingType;
2339      /**
2340       * A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.
2341       */
2342      timeBasedCanary?: TimeBasedCanary;
2343      /**
2344       * A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.
2345       */
2346      timeBasedLinear?: TimeBasedLinear;
2347    }
2348    export type TrafficRoutingType = "TimeBasedCanary"|"TimeBasedLinear"|"AllAtOnce"|string;
2349    export type TrafficWeight = number;
2350    export interface TriggerConfig {
2351      /**
2352       * The name of the notification trigger.
2353       */
2354      triggerName?: TriggerName;
2355      /**
2356       * The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.
2357       */
2358      triggerTargetArn?: TriggerTargetArn;
2359      /**
2360       * The event type or types for which notifications are triggered.
2361       */
2362      triggerEvents?: TriggerEventTypeList;
2363    }
2364    export type TriggerConfigList = TriggerConfig[];
2365    export type TriggerEventType = "DeploymentStart"|"DeploymentSuccess"|"DeploymentFailure"|"DeploymentStop"|"DeploymentRollback"|"DeploymentReady"|"InstanceStart"|"InstanceSuccess"|"InstanceFailure"|"InstanceReady"|string;
2366    export type TriggerEventTypeList = TriggerEventType[];
2367    export type TriggerName = string;
2368    export type TriggerTargetArn = string;
2369    export interface UntagResourceInput {
2370      /**
2371       *  The Amazon Resource Name (ARN) that specifies from which resource to disassociate the tags with the keys in the TagKeys input parameter. 
2372       */
2373      ResourceArn: Arn;
2374      /**
2375       *  A list of keys of Tag objects. The Tag objects identified by the keys are disassociated from the resource specified by the ResourceArn input parameter. 
2376       */
2377      TagKeys: TagKeyList;
2378    }
2379    export interface UntagResourceOutput {
2380    }
2381    export interface UpdateApplicationInput {
2382      /**
2383       * The current name of the application you want to change.
2384       */
2385      applicationName?: ApplicationName;
2386      /**
2387       * The new name to give the application.
2388       */
2389      newApplicationName?: ApplicationName;
2390    }
2391    export interface UpdateDeploymentGroupInput {
2392      /**
2393       * The application name that corresponds to the deployment group to update.
2394       */
2395      applicationName: ApplicationName;
2396      /**
2397       * The current name of the deployment group.
2398       */
2399      currentDeploymentGroupName: DeploymentGroupName;
2400      /**
2401       * The new name of the deployment group, if you want to change it.
2402       */
2403      newDeploymentGroupName?: DeploymentGroupName;
2404      /**
2405       * The replacement deployment configuration name to use, if you want to change it.
2406       */
2407      deploymentConfigName?: DeploymentConfigName;
2408      /**
2409       * 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.
2410       */
2411      ec2TagFilters?: EC2TagFilterList;
2412      /**
2413       * 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.
2414       */
2415      onPremisesInstanceTagFilters?: TagFilterList;
2416      /**
2417       * 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.
2418       */
2419      autoScalingGroups?: AutoScalingGroupNameList;
2420      /**
2421       * A replacement ARN for the service role, if you want to change it.
2422       */
2423      serviceRoleArn?: Role;
2424      /**
2425       * Information about triggers to change when the deployment group is updated. For examples, see Edit a Trigger in a CodeDeploy Deployment Group in the AWS CodeDeploy User Guide.
2426       */
2427      triggerConfigurations?: TriggerConfigList;
2428      /**
2429       * Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.
2430       */
2431      alarmConfiguration?: AlarmConfiguration;
2432      /**
2433       * Information for an automatic rollback configuration that is added or changed when a deployment group is updated.
2434       */
2435      autoRollbackConfiguration?: AutoRollbackConfiguration;
2436      /**
2437       * 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.
2438       */
2439      outdatedInstancesStrategy?: OutdatedInstancesStrategy;
2440      /**
2441       * 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.
2442       */
2443      deploymentStyle?: DeploymentStyle;
2444      /**
2445       * Information about blue/green deployment options for a deployment group.
2446       */
2447      blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration;
2448      /**
2449       * Information about the load balancer used in a deployment.
2450       */
2451      loadBalancerInfo?: LoadBalancerInfo;
2452      /**
2453       * Information about groups of tags applied to on-premises instances. The deployment group includes only EC2 instances identified by all the tag groups.
2454       */
2455      ec2TagSet?: EC2TagSet;
2456      /**
2457       *  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 &lt;clustername&gt;:&lt;servicename&gt;. 
2458       */
2459      ecsServices?: ECSServiceList;
2460      /**
2461       * Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.
2462       */
2463      onPremisesTagSet?: OnPremisesTagSet;
2464    }
2465    export interface UpdateDeploymentGroupOutput {
2466      /**
2467       * If the output contains no data, and the corresponding deployment group contained at least one Auto Scaling group, AWS CodeDeploy successfully removed all corresponding Auto Scaling lifecycle event hooks from the AWS account. If the output contains data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event hooks from the AWS account.
2468       */
2469      hooksNotCleanedUp?: AutoScalingGroupList;
2470    }
2471    export type Value = string;
2472    export type Version = string;
2473    export type VersionId = string;
2474    export type WaitTimeInMins = number;
2475    /**
2476     * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
2477     */
2478    export type apiVersion = "2014-10-06"|"latest"|string;
2479    export interface ClientApiVersions {
2480      /**
2481       * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
2482       */
2483      apiVersion?: apiVersion;
2484    }
2485    export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
2486    /**
2487     * Contains interfaces for use with the CodeDeploy client.
2488     */
2489    export import Types = CodeDeploy;
2490  }
2491  export = CodeDeploy;