/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.codedeploy.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Information about a deployment. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DeploymentInfo implements Serializable, Cloneable, StructuredPojo { /** *

* The application name. *

*/ private String applicationName; /** *

* The deployment group name. *

*/ private String deploymentGroupName; /** *

* The deployment configuration name. *

*/ private String deploymentConfigName; /** *

* The unique ID of a deployment. *

*/ private String deploymentId; /** *

* Information about the application revision that was deployed to the deployment group before the most recent * successful deployment. *

*/ private RevisionLocation previousRevision; /** *

* Information about the location of stored application artifacts and the service from which to retrieve them. *

*/ private RevisionLocation revision; /** *

* The current state of the deployment as a whole. *

*/ private String status; /** *

* Information about any error associated with this deployment. *

*/ private ErrorInformation errorInformation; /** *

* A timestamp that indicates when the deployment was created. *

*/ private java.util.Date createTime; /** *

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

*/ private java.util.Date startTime; /** *

* A timestamp that indicates when the deployment was complete. *

*/ private java.util.Date completeTime; /** *

* A summary of the deployment status of the instances in the deployment. *

*/ private DeploymentOverview deploymentOverview; /** *

* A comment about the deployment. *

*/ private String description; /** *

* The means by which the deployment was created: *

* */ private String creator; /** *

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

*/ private Boolean ignoreApplicationStopFailures; /** *

* Information about the automatic rollback configuration associated with the deployment. *

*/ private AutoRollbackConfiguration autoRollbackConfiguration; /** *

* Indicates whether only instances that are not running the latest application revision are to be deployed to. *

*/ private Boolean updateOutdatedInstancesOnly; /** *

* Information about a deployment rollback. *

*/ private RollbackInfo rollbackInfo; /** *

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

*/ private DeploymentStyle deploymentStyle; /** *

* Information about the instances that belong to the replacement environment in a blue/green deployment. *

*/ private TargetInstances targetInstances; /** *

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

*/ private Boolean instanceTerminationWaitTimeStarted; /** *

* Information about blue/green deployment options for this deployment. *

*/ private BlueGreenDeploymentConfiguration blueGreenDeploymentConfiguration; /** *

* Information about the load balancer used in the deployment. *

*/ private LoadBalancerInfo loadBalancerInfo; /** *

* Provides information about the results of a deployment, such as whether instances in the original environment in * a blue/green deployment were not terminated. *

*/ private String additionalDeploymentStatusInfo; /** *

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

* */ private String fileExistsBehavior; /** *

* Messages that contain information about the status of a deployment. *

*/ private com.amazonaws.internal.SdkInternalList deploymentStatusMessages; /** *

* The destination platform type for the deployment (Lambda, Server, or ECS). *

*/ private String computePlatform; /** *

* The unique ID for an external resource (for example, a CloudFormation stack ID) that is linked to this * deployment. *

*/ private String externalId; private RelatedDeployments relatedDeployments; private AlarmConfiguration overrideAlarmConfiguration; /** *

* The application name. *

* * @param applicationName * The application name. */ public void setApplicationName(String applicationName) { this.applicationName = applicationName; } /** *

* The application name. *

* * @return The application name. */ public String getApplicationName() { return this.applicationName; } /** *

* The application name. *

* * @param applicationName * The application name. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withApplicationName(String applicationName) { setApplicationName(applicationName); return this; } /** *

* The deployment group name. *

* * @param deploymentGroupName * The deployment group name. */ public void setDeploymentGroupName(String deploymentGroupName) { this.deploymentGroupName = deploymentGroupName; } /** *

* The deployment group name. *

* * @return The deployment group name. */ public String getDeploymentGroupName() { return this.deploymentGroupName; } /** *

* The deployment group name. *

* * @param deploymentGroupName * The deployment group name. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withDeploymentGroupName(String deploymentGroupName) { setDeploymentGroupName(deploymentGroupName); return this; } /** *

* The deployment configuration name. *

* * @param deploymentConfigName * The deployment configuration name. */ public void setDeploymentConfigName(String deploymentConfigName) { this.deploymentConfigName = deploymentConfigName; } /** *

* The deployment configuration name. *

* * @return The deployment configuration name. */ public String getDeploymentConfigName() { return this.deploymentConfigName; } /** *

* The deployment configuration name. *

* * @param deploymentConfigName * The deployment configuration name. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withDeploymentConfigName(String deploymentConfigName) { setDeploymentConfigName(deploymentConfigName); return this; } /** *

* The unique ID of a deployment. *

* * @param deploymentId * The unique ID of a deployment. */ public void setDeploymentId(String deploymentId) { this.deploymentId = deploymentId; } /** *

* The unique ID of a deployment. *

* * @return The unique ID of a deployment. */ public String getDeploymentId() { return this.deploymentId; } /** *

* The unique ID of a deployment. *

* * @param deploymentId * The unique ID of a deployment. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withDeploymentId(String deploymentId) { setDeploymentId(deploymentId); return this; } /** *

* Information about the application revision that was deployed to the deployment group before the most recent * successful deployment. *

* * @param previousRevision * Information about the application revision that was deployed to the deployment group before the most * recent successful deployment. */ public void setPreviousRevision(RevisionLocation previousRevision) { this.previousRevision = previousRevision; } /** *

* Information about the application revision that was deployed to the deployment group before the most recent * successful deployment. *

* * @return Information about the application revision that was deployed to the deployment group before the most * recent successful deployment. */ public RevisionLocation getPreviousRevision() { return this.previousRevision; } /** *

* Information about the application revision that was deployed to the deployment group before the most recent * successful deployment. *

* * @param previousRevision * Information about the application revision that was deployed to the deployment group before the most * recent successful deployment. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withPreviousRevision(RevisionLocation previousRevision) { setPreviousRevision(previousRevision); return this; } /** *

* Information about the location of stored application artifacts and the service from which to retrieve them. *

* * @param revision * Information about the location of stored application artifacts and the service from which to retrieve * them. */ public void setRevision(RevisionLocation revision) { this.revision = revision; } /** *

* Information about the location of stored application artifacts and the service from which to retrieve them. *

* * @return Information about the location of stored application artifacts and the service from which to retrieve * them. */ public RevisionLocation getRevision() { return this.revision; } /** *

* Information about the location of stored application artifacts and the service from which to retrieve them. *

* * @param revision * Information about the location of stored application artifacts and the service from which to retrieve * them. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withRevision(RevisionLocation revision) { setRevision(revision); return this; } /** *

* The current state of the deployment as a whole. *

* * @param status * The current state of the deployment as a whole. * @see DeploymentStatus */ public void setStatus(String status) { this.status = status; } /** *

* The current state of the deployment as a whole. *

* * @return The current state of the deployment as a whole. * @see DeploymentStatus */ public String getStatus() { return this.status; } /** *

* The current state of the deployment as a whole. *

* * @param status * The current state of the deployment as a whole. * @return Returns a reference to this object so that method calls can be chained together. * @see DeploymentStatus */ public DeploymentInfo withStatus(String status) { setStatus(status); return this; } /** *

* The current state of the deployment as a whole. *

* * @param status * The current state of the deployment as a whole. * @see DeploymentStatus */ public void setStatus(DeploymentStatus status) { withStatus(status); } /** *

* The current state of the deployment as a whole. *

* * @param status * The current state of the deployment as a whole. * @return Returns a reference to this object so that method calls can be chained together. * @see DeploymentStatus */ public DeploymentInfo withStatus(DeploymentStatus status) { this.status = status.toString(); return this; } /** *

* Information about any error associated with this deployment. *

* * @param errorInformation * Information about any error associated with this deployment. */ public void setErrorInformation(ErrorInformation errorInformation) { this.errorInformation = errorInformation; } /** *

* Information about any error associated with this deployment. *

* * @return Information about any error associated with this deployment. */ public ErrorInformation getErrorInformation() { return this.errorInformation; } /** *

* Information about any error associated with this deployment. *

* * @param errorInformation * Information about any error associated with this deployment. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withErrorInformation(ErrorInformation errorInformation) { setErrorInformation(errorInformation); return this; } /** *

* A timestamp that indicates when the deployment was created. *

* * @param createTime * A timestamp that indicates when the deployment was created. */ public void setCreateTime(java.util.Date createTime) { this.createTime = createTime; } /** *

* A timestamp that indicates when the deployment was created. *

* * @return A timestamp that indicates when the deployment was created. */ public java.util.Date getCreateTime() { return this.createTime; } /** *

* A timestamp that indicates when the deployment was created. *

* * @param createTime * A timestamp that indicates when the deployment was created. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withCreateTime(java.util.Date createTime) { setCreateTime(createTime); return this; } /** *

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

* * @param startTime * 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. */ public void setStartTime(java.util.Date startTime) { this.startTime = startTime; } /** *

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

* * @return 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. */ public java.util.Date getStartTime() { return this.startTime; } /** *

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

* * @param startTime * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withStartTime(java.util.Date startTime) { setStartTime(startTime); return this; } /** *

* A timestamp that indicates when the deployment was complete. *

* * @param completeTime * A timestamp that indicates when the deployment was complete. */ public void setCompleteTime(java.util.Date completeTime) { this.completeTime = completeTime; } /** *

* A timestamp that indicates when the deployment was complete. *

* * @return A timestamp that indicates when the deployment was complete. */ public java.util.Date getCompleteTime() { return this.completeTime; } /** *

* A timestamp that indicates when the deployment was complete. *

* * @param completeTime * A timestamp that indicates when the deployment was complete. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withCompleteTime(java.util.Date completeTime) { setCompleteTime(completeTime); return this; } /** *

* A summary of the deployment status of the instances in the deployment. *

* * @param deploymentOverview * A summary of the deployment status of the instances in the deployment. */ public void setDeploymentOverview(DeploymentOverview deploymentOverview) { this.deploymentOverview = deploymentOverview; } /** *

* A summary of the deployment status of the instances in the deployment. *

* * @return A summary of the deployment status of the instances in the deployment. */ public DeploymentOverview getDeploymentOverview() { return this.deploymentOverview; } /** *

* A summary of the deployment status of the instances in the deployment. *

* * @param deploymentOverview * A summary of the deployment status of the instances in the deployment. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withDeploymentOverview(DeploymentOverview deploymentOverview) { setDeploymentOverview(deploymentOverview); return this; } /** *

* A comment about the deployment. *

* * @param description * A comment about the deployment. */ public void setDescription(String description) { this.description = description; } /** *

* A comment about the deployment. *

* * @return A comment about the deployment. */ public String getDescription() { return this.description; } /** *

* A comment about the deployment. *

* * @param description * A comment about the deployment. * @return Returns a reference to this object so that method calls can be chained together. */ public DeploymentInfo withDescription(String description) { setDescription(description); return this; } /** *

* The means by which the deployment was created: *

* * * @param creator * The means by which the deployment was created:

*