com.amazonaws.services.codedeploy.model.CreateDeploymentRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
 * Copyright 2010-2016 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 com.amazonaws.AmazonWebServiceRequest;
/**
 * 
 * Represents the input of a create deployment operation.
 * 
 */
public class CreateDeploymentRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {
    /**
     * 
     * The name of an AWS CodeDeploy application associated with the applicable
     * IAM user or AWS account.
     * 
     */
    private String applicationName;
    /**
     * 
     * The name of the deployment group.
     * 
     */
    private String deploymentGroupName;
    /**
     * 
     * The type and location of the revision to deploy.
     * 
     */
    private RevisionLocation revision;
    /**
     * 
     * The name of a deployment configuration associated with the applicable IAM
     * user or AWS account.
     * 
     * 
     * If not specified, the value configured in the deployment group will be
     * used as the default. If the deployment group does not have a deployment
     * configuration associated with it, then CodeDeployDefault.OneAtATime will
     * be used by default.
     * 
     */
    private String deploymentConfigName;
    /**
     * 
     * A comment about the deployment.
     * 
     */
    private String description;
    /**
     * 
     * If set to true, then if the deployment causes the ApplicationStop
     * deployment lifecycle event to an instance to fail, the deployment to that
     * instance will not be considered to have failed at that point and will
     * continue on to the BeforeInstall deployment lifecycle event.
     * 
     * 
     * If set to false or not specified, then if the deployment causes the
     * ApplicationStop deployment lifecycle event to fail to an instance, the
     * deployment to that instance will stop, and the deployment to that
     * instance will be considered to have failed.
     * 
     */
    private Boolean ignoreApplicationStopFailures;
    /**
     * 
     * The name of an AWS CodeDeploy application associated with the applicable
     * IAM user or AWS account.
     * 
     * 
     * @param applicationName
     *        The name of an AWS CodeDeploy application associated with the
     *        applicable IAM user or AWS account.
     */
    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }
    /**
     * 
     * The name of an AWS CodeDeploy application associated with the applicable
     * IAM user or AWS account.
     * 
     * 
     * @return The name of an AWS CodeDeploy application associated with the
     *         applicable IAM user or AWS account.
     */
    public String getApplicationName() {
        return this.applicationName;
    }
    /**
     * 
     * The name of an AWS CodeDeploy application associated with the applicable
     * IAM user or AWS account.
     * 
     * 
     * @param applicationName
     *        The name of an AWS CodeDeploy application associated with the
     *        applicable IAM user or AWS account.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDeploymentRequest withApplicationName(String applicationName) {
        setApplicationName(applicationName);
        return this;
    }
    /**
     * 
     * The name of the deployment group.
     * 
     * 
     * @param deploymentGroupName
     *        The name of the deployment group.
     */
    public void setDeploymentGroupName(String deploymentGroupName) {
        this.deploymentGroupName = deploymentGroupName;
    }
    /**
     * 
     * The name of the deployment group.
     * 
     * 
     * @return The name of the deployment group.
     */
    public String getDeploymentGroupName() {
        return this.deploymentGroupName;
    }
    /**
     * 
     * The name of the deployment group.
     * 
     * 
     * @param deploymentGroupName
     *        The name of the deployment group.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDeploymentRequest withDeploymentGroupName(
            String deploymentGroupName) {
        setDeploymentGroupName(deploymentGroupName);
        return this;
    }
    /**
     * 
     * The type and location of the revision to deploy.
     * 
     * 
     * @param revision
     *        The type and location of the revision to deploy.
     */
    public void setRevision(RevisionLocation revision) {
        this.revision = revision;
    }
    /**
     * 
     * The type and location of the revision to deploy.
     * 
     * 
     * @return The type and location of the revision to deploy.
     */
    public RevisionLocation getRevision() {
        return this.revision;
    }
    /**
     * 
     * The type and location of the revision to deploy.
     * 
     * 
     * @param revision
     *        The type and location of the revision to deploy.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDeploymentRequest withRevision(RevisionLocation revision) {
        setRevision(revision);
        return this;
    }
    /**
     * 
     * The name of a deployment configuration associated with the applicable IAM
     * user or AWS account.
     * 
     * 
     * If not specified, the value configured in the deployment group will be
     * used as the default. If the deployment group does not have a deployment
     * configuration associated with it, then CodeDeployDefault.OneAtATime will
     * be used by default.
     * 
     * 
     * @param deploymentConfigName
     *        The name of a deployment configuration associated with the
     *        applicable IAM user or AWS account.
     *        
     *        If not specified, the value configured in the deployment group
     *        will be used as the default. If the deployment group does not have
     *        a deployment configuration associated with it, then
     *        CodeDeployDefault.OneAtATime will be used by default.
     */
    public void setDeploymentConfigName(String deploymentConfigName) {
        this.deploymentConfigName = deploymentConfigName;
    }
    /**
     * 
     * The name of a deployment configuration associated with the applicable IAM
     * user or AWS account.
     * 
     * 
     * If not specified, the value configured in the deployment group will be
     * used as the default. If the deployment group does not have a deployment
     * configuration associated with it, then CodeDeployDefault.OneAtATime will
     * be used by default.
     * 
     * 
     * @return The name of a deployment configuration associated with the
     *         applicable IAM user or AWS account.
     *         
     *         If not specified, the value configured in the deployment group
     *         will be used as the default. If the deployment group does not
     *         have a deployment configuration associated with it, then
     *         CodeDeployDefault.OneAtATime will be used by default.
     */
    public String getDeploymentConfigName() {
        return this.deploymentConfigName;
    }
    /**
     * 
     * The name of a deployment configuration associated with the applicable IAM
     * user or AWS account.
     * 
     * 
     * If not specified, the value configured in the deployment group will be
     * used as the default. If the deployment group does not have a deployment
     * configuration associated with it, then CodeDeployDefault.OneAtATime will
     * be used by default.
     * 
     * 
     * @param deploymentConfigName
     *        The name of a deployment configuration associated with the
     *        applicable IAM user or AWS account.
     *        
     *        If not specified, the value configured in the deployment group
     *        will be used as the default. If the deployment group does not have
     *        a deployment configuration associated with it, then
     *        CodeDeployDefault.OneAtATime will be used by default.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDeploymentRequest withDeploymentConfigName(
            String deploymentConfigName) {
        setDeploymentConfigName(deploymentConfigName);
        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 CreateDeploymentRequest withDescription(String description) {
        setDescription(description);
        return this;
    }
    /**
     * 
     * If set to true, then if the deployment causes the ApplicationStop
     * deployment lifecycle event to an instance to fail, the deployment to that
     * instance will not be considered to have failed at that point and will
     * continue on to the BeforeInstall deployment lifecycle event.
     * 
     * 
     * If set to false or not specified, then if the deployment causes the
     * ApplicationStop deployment lifecycle event to fail to an instance, the
     * deployment to that instance will stop, and the deployment to that
     * instance will be considered to have failed.
     * 
     * 
     * @param ignoreApplicationStopFailures
     *        If set to true, then if the deployment causes the ApplicationStop
     *        deployment lifecycle event to an instance to fail, the deployment
     *        to that instance will not be considered to have failed at that
     *        point and will continue on to the BeforeInstall deployment
     *        lifecycle event.
     *        
     *        If set to false or not specified, then if the deployment causes
     *        the ApplicationStop deployment lifecycle event to fail to an
     *        instance, the deployment to that instance will stop, and the
     *        deployment to that instance will be considered to have failed.
     */
    public void setIgnoreApplicationStopFailures(
            Boolean ignoreApplicationStopFailures) {
        this.ignoreApplicationStopFailures = ignoreApplicationStopFailures;
    }
    /**
     * 
     * If set to true, then if the deployment causes the ApplicationStop
     * deployment lifecycle event to an instance to fail, the deployment to that
     * instance will not be considered to have failed at that point and will
     * continue on to the BeforeInstall deployment lifecycle event.
     * 
     * 
     * If set to false or not specified, then if the deployment causes the
     * ApplicationStop deployment lifecycle event to fail to an instance, the
     * deployment to that instance will stop, and the deployment to that
     * instance will be considered to have failed.
     * 
     * 
     * @return If set to true, then if the deployment causes the ApplicationStop
     *         deployment lifecycle event to an instance to fail, the deployment
     *         to that instance will not be considered to have failed at that
     *         point and will continue on to the BeforeInstall deployment
     *         lifecycle event.
     *         
     *         If set to false or not specified, then if the deployment causes
     *         the ApplicationStop deployment lifecycle event to fail to an
     *         instance, the deployment to that instance will stop, and the
     *         deployment to that instance will be considered to have failed.
     */
    public Boolean getIgnoreApplicationStopFailures() {
        return this.ignoreApplicationStopFailures;
    }
    /**
     * 
     * If set to true, then if the deployment causes the ApplicationStop
     * deployment lifecycle event to an instance to fail, the deployment to that
     * instance will not be considered to have failed at that point and will
     * continue on to the BeforeInstall deployment lifecycle event.
     * 
     * 
     * If set to false or not specified, then if the deployment causes the
     * ApplicationStop deployment lifecycle event to fail to an instance, the
     * deployment to that instance will stop, and the deployment to that
     * instance will be considered to have failed.
     * 
     * 
     * @param ignoreApplicationStopFailures
     *        If set to true, then if the deployment causes the ApplicationStop
     *        deployment lifecycle event to an instance to fail, the deployment
     *        to that instance will not be considered to have failed at that
     *        point and will continue on to the BeforeInstall deployment
     *        lifecycle event.
     *        
     *        If set to false or not specified, then if the deployment causes
     *        the ApplicationStop deployment lifecycle event to fail to an
     *        instance, the deployment to that instance will stop, and the
     *        deployment to that instance will be considered to have failed.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public CreateDeploymentRequest withIgnoreApplicationStopFailures(
            Boolean ignoreApplicationStopFailures) {
        setIgnoreApplicationStopFailures(ignoreApplicationStopFailures);
        return this;
    }
    /**
     * 
     * If set to true, then if the deployment causes the ApplicationStop
     * deployment lifecycle event to an instance to fail, the deployment to that
     * instance will not be considered to have failed at that point and will
     * continue on to the BeforeInstall deployment lifecycle event.
     * 
     * 
     * If set to false or not specified, then if the deployment causes the
     * ApplicationStop deployment lifecycle event to fail to an instance, the
     * deployment to that instance will stop, and the deployment to that
     * instance will be considered to have failed.
     * 
     * 
     * @return If set to true, then if the deployment causes the ApplicationStop
     *         deployment lifecycle event to an instance to fail, the deployment
     *         to that instance will not be considered to have failed at that
     *         point and will continue on to the BeforeInstall deployment
     *         lifecycle event.
     *         
     *         If set to false or not specified, then if the deployment causes
     *         the ApplicationStop deployment lifecycle event to fail to an
     *         instance, the deployment to that instance will stop, and the
     *         deployment to that instance will be considered to have failed.
     */
    public Boolean isIgnoreApplicationStopFailures() {
        return this.ignoreApplicationStopFailures;
    }
    /**
     * Returns a string representation of this object; useful for testing and
     * debugging.
     *
     * @return A string representation of this object.
     *
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getApplicationName() != null)
            sb.append("ApplicationName: " + getApplicationName() + ",");
        if (getDeploymentGroupName() != null)
            sb.append("DeploymentGroupName: " + getDeploymentGroupName() + ",");
        if (getRevision() != null)
            sb.append("Revision: " + getRevision() + ",");
        if (getDeploymentConfigName() != null)
            sb.append("DeploymentConfigName: " + getDeploymentConfigName()
                    + ",");
        if (getDescription() != null)
            sb.append("Description: " + getDescription() + ",");
        if (getIgnoreApplicationStopFailures() != null)
            sb.append("IgnoreApplicationStopFailures: "
                    + getIgnoreApplicationStopFailures());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof CreateDeploymentRequest == false)
            return false;
        CreateDeploymentRequest other = (CreateDeploymentRequest) obj;
        if (other.getApplicationName() == null
                ^ this.getApplicationName() == null)
            return false;
        if (other.getApplicationName() != null
                && other.getApplicationName().equals(this.getApplicationName()) == false)
            return false;
        if (other.getDeploymentGroupName() == null
                ^ this.getDeploymentGroupName() == null)
            return false;
        if (other.getDeploymentGroupName() != null
                && other.getDeploymentGroupName().equals(
                        this.getDeploymentGroupName()) == false)
            return false;
        if (other.getRevision() == null ^ this.getRevision() == null)
            return false;
        if (other.getRevision() != null
                && other.getRevision().equals(this.getRevision()) == false)
            return false;
        if (other.getDeploymentConfigName() == null
                ^ this.getDeploymentConfigName() == null)
            return false;
        if (other.getDeploymentConfigName() != null
                && other.getDeploymentConfigName().equals(
                        this.getDeploymentConfigName()) == false)
            return false;
        if (other.getDescription() == null ^ this.getDescription() == null)
            return false;
        if (other.getDescription() != null
                && other.getDescription().equals(this.getDescription()) == false)
            return false;
        if (other.getIgnoreApplicationStopFailures() == null
                ^ this.getIgnoreApplicationStopFailures() == null)
            return false;
        if (other.getIgnoreApplicationStopFailures() != null
                && other.getIgnoreApplicationStopFailures().equals(
                        this.getIgnoreApplicationStopFailures()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime
                * hashCode
                + ((getApplicationName() == null) ? 0 : getApplicationName()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getDeploymentGroupName() == null) ? 0
                        : getDeploymentGroupName().hashCode());
        hashCode = prime * hashCode
                + ((getRevision() == null) ? 0 : getRevision().hashCode());
        hashCode = prime
                * hashCode
                + ((getDeploymentConfigName() == null) ? 0
                        : getDeploymentConfigName().hashCode());
        hashCode = prime
                * hashCode
                + ((getDescription() == null) ? 0 : getDescription().hashCode());
        hashCode = prime
                * hashCode
                + ((getIgnoreApplicationStopFailures() == null) ? 0
                        : getIgnoreApplicationStopFailures().hashCode());
        return hashCode;
    }
    @Override
    public CreateDeploymentRequest clone() {
        return (CreateDeploymentRequest) super.clone();
    }
}