com.amazonaws.services.cloudformation.model.DescribeChangeSetResult Maven / Gradle / Ivy
Show all versions of aws-java-sdk-cloudformation Show documentation
/*
 * Copyright 2011-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.cloudformation.model;
import java.io.Serializable;
/**
 * 
 * The output for the DescribeChangeSet action.
 * 
 */
public class DescribeChangeSetResult extends com.amazonaws.AmazonWebServiceResult implements Serializable, Cloneable {
    /**
     * 
     * The name of the change set.
     * 
     */
    private String changeSetName;
    /**
     * 
     * The ARN of the change set.
     * 
     */
    private String changeSetId;
    /**
     * 
     * The ARN of the stack that is associated with the change set.
     * 
     */
    private String stackId;
    /**
     * 
     * The name of the stack that is associated with the change set.
     * 
     */
    private String stackName;
    /**
     * 
     * Information about the change set.
     * 
     */
    private String description;
    /**
     * 
     * A list of Parameter structures that describes the input parameters and their values used to create
     * the change set. For more information, see the Parameter data
     * type.
     * 
     */
    private com.amazonaws.internal.SdkInternalList parameters;
    /**
     * 
     * The start time when the change set was created, in UTC.
     * 
     */
    private java.util.Date creationTime;
    /**
     * 
     * If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     * execute the change set, the status indicates why. For example, a change set might be in an
     * UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE
     * state because the stack was already updated.
     * 
     */
    private String executionStatus;
    /**
     * 
     * The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or
     * FAILED.
     * 
     */
    private String status;
    /**
     * 
     * A description of the change set's status. For example, if your attempt to create a change set failed, AWS
     * CloudFormation shows the error message.
     * 
     */
    private String statusReason;
    /**
     * 
     * The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if
     * you execute the change set.
     * 
     */
    private com.amazonaws.internal.SdkInternalList notificationARNs;
    /**
     * 
     * If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was
     * created.
     * 
     */
    private com.amazonaws.internal.SdkInternalList capabilities;
    /**
     * 
     * If you execute the change set, the tags that will be associated with the stack.
     * 
     */
    private com.amazonaws.internal.SdkInternalList tags;
    /**
     * 
     * A list of Change structures that describes the resources AWS CloudFormation changes if you execute
     * the change set.
     * 
     */
    private com.amazonaws.internal.SdkInternalList changes;
    /**
     * 
     * If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page,
     * this value is null.
     * 
     */
    private String nextToken;
    /**
     * 
     * The name of the change set.
     * 
     * 
     * @param changeSetName
     *        The name of the change set.
     */
    public void setChangeSetName(String changeSetName) {
        this.changeSetName = changeSetName;
    }
    /**
     * 
     * The name of the change set.
     * 
     * 
     * @return The name of the change set.
     */
    public String getChangeSetName() {
        return this.changeSetName;
    }
    /**
     * 
     * The name of the change set.
     * 
     * 
     * @param changeSetName
     *        The name of the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withChangeSetName(String changeSetName) {
        setChangeSetName(changeSetName);
        return this;
    }
    /**
     * 
     * The ARN of the change set.
     * 
     * 
     * @param changeSetId
     *        The ARN of the change set.
     */
    public void setChangeSetId(String changeSetId) {
        this.changeSetId = changeSetId;
    }
    /**
     * 
     * The ARN of the change set.
     * 
     * 
     * @return The ARN of the change set.
     */
    public String getChangeSetId() {
        return this.changeSetId;
    }
    /**
     * 
     * The ARN of the change set.
     * 
     * 
     * @param changeSetId
     *        The ARN of the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withChangeSetId(String changeSetId) {
        setChangeSetId(changeSetId);
        return this;
    }
    /**
     * 
     * The ARN of the stack that is associated with the change set.
     * 
     * 
     * @param stackId
     *        The ARN of the stack that is associated with the change set.
     */
    public void setStackId(String stackId) {
        this.stackId = stackId;
    }
    /**
     * 
     * The ARN of the stack that is associated with the change set.
     * 
     * 
     * @return The ARN of the stack that is associated with the change set.
     */
    public String getStackId() {
        return this.stackId;
    }
    /**
     * 
     * The ARN of the stack that is associated with the change set.
     * 
     * 
     * @param stackId
     *        The ARN of the stack that is associated with the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withStackId(String stackId) {
        setStackId(stackId);
        return this;
    }
    /**
     * 
     * The name of the stack that is associated with the change set.
     * 
     * 
     * @param stackName
     *        The name of the stack that is associated with the change set.
     */
    public void setStackName(String stackName) {
        this.stackName = stackName;
    }
    /**
     * 
     * The name of the stack that is associated with the change set.
     * 
     * 
     * @return The name of the stack that is associated with the change set.
     */
    public String getStackName() {
        return this.stackName;
    }
    /**
     * 
     * The name of the stack that is associated with the change set.
     * 
     * 
     * @param stackName
     *        The name of the stack that is associated with the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withStackName(String stackName) {
        setStackName(stackName);
        return this;
    }
    /**
     * 
     * Information about the change set.
     * 
     * 
     * @param description
     *        Information about the change set.
     */
    public void setDescription(String description) {
        this.description = description;
    }
    /**
     * 
     * Information about the change set.
     * 
     * 
     * @return Information about the change set.
     */
    public String getDescription() {
        return this.description;
    }
    /**
     * 
     * Information about the change set.
     * 
     * 
     * @param description
     *        Information about the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withDescription(String description) {
        setDescription(description);
        return this;
    }
    /**
     * 
     * A list of Parameter structures that describes the input parameters and their values used to create
     * the change set. For more information, see the Parameter data
     * type.
     * 
     * 
     * @return A list of Parameter structures that describes the input parameters and their values used to
     *         create the change set. For more information, see the Parameter
     *         data type.
     */
    public java.util.List getParameters() {
        if (parameters == null) {
            parameters = new com.amazonaws.internal.SdkInternalList();
        }
        return parameters;
    }
    /**
     * 
     * A list of Parameter structures that describes the input parameters and their values used to create
     * the change set. For more information, see the Parameter data
     * type.
     * 
     * 
     * @param parameters
     *        A list of Parameter structures that describes the input parameters and their values used to
     *        create the change set. For more information, see the Parameter
     *        data type.
     */
    public void setParameters(java.util.Collection parameters) {
        if (parameters == null) {
            this.parameters = null;
            return;
        }
        this.parameters = new com.amazonaws.internal.SdkInternalList(parameters);
    }
    /**
     * 
     * A list of Parameter structures that describes the input parameters and their values used to create
     * the change set. For more information, see the Parameter data
     * type.
     * 
     * 
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setParameters(java.util.Collection)} or {@link #withParameters(java.util.Collection)} if you want to
     * override the existing values.
     * 
     * 
     * @param parameters
     *        A list of Parameter structures that describes the input parameters and their values used to
     *        create the change set. For more information, see the Parameter
     *        data type.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withParameters(Parameter... parameters) {
        if (this.parameters == null) {
            setParameters(new com.amazonaws.internal.SdkInternalList(parameters.length));
        }
        for (Parameter ele : parameters) {
            this.parameters.add(ele);
        }
        return this;
    }
    /**
     * 
     * A list of Parameter structures that describes the input parameters and their values used to create
     * the change set. For more information, see the Parameter data
     * type.
     * 
     * 
     * @param parameters
     *        A list of Parameter structures that describes the input parameters and their values used to
     *        create the change set. For more information, see the Parameter
     *        data type.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withParameters(java.util.Collection parameters) {
        setParameters(parameters);
        return this;
    }
    /**
     * 
     * The start time when the change set was created, in UTC.
     * 
     * 
     * @param creationTime
     *        The start time when the change set was created, in UTC.
     */
    public void setCreationTime(java.util.Date creationTime) {
        this.creationTime = creationTime;
    }
    /**
     * 
     * The start time when the change set was created, in UTC.
     * 
     * 
     * @return The start time when the change set was created, in UTC.
     */
    public java.util.Date getCreationTime() {
        return this.creationTime;
    }
    /**
     * 
     * The start time when the change set was created, in UTC.
     * 
     * 
     * @param creationTime
     *        The start time when the change set was created, in UTC.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withCreationTime(java.util.Date creationTime) {
        setCreationTime(creationTime);
        return this;
    }
    /**
     * 
     * If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     * execute the change set, the status indicates why. For example, a change set might be in an
     * UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE
     * state because the stack was already updated.
     * 
     * 
     * @param executionStatus
     *        If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     *        execute the change set, the status indicates why. For example, a change set might be in an
     *        UNAVAILABLE state because AWS CloudFormation is still creating it or in an
     *        OBSOLETE state because the stack was already updated.
     * @see ExecutionStatus
     */
    public void setExecutionStatus(String executionStatus) {
        this.executionStatus = executionStatus;
    }
    /**
     * 
     * If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     * execute the change set, the status indicates why. For example, a change set might be in an
     * UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE
     * state because the stack was already updated.
     * 
     * 
     * @return If the change set execution status is AVAILABLE, you can execute the change set. If you
     *         can’t execute the change set, the status indicates why. For example, a change set might be in an
     *         UNAVAILABLE state because AWS CloudFormation is still creating it or in an
     *         OBSOLETE state because the stack was already updated.
     * @see ExecutionStatus
     */
    public String getExecutionStatus() {
        return this.executionStatus;
    }
    /**
     * 
     * If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     * execute the change set, the status indicates why. For example, a change set might be in an
     * UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE
     * state because the stack was already updated.
     * 
     * 
     * @param executionStatus
     *        If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     *        execute the change set, the status indicates why. For example, a change set might be in an
     *        UNAVAILABLE state because AWS CloudFormation is still creating it or in an
     *        OBSOLETE state because the stack was already updated.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see ExecutionStatus
     */
    public DescribeChangeSetResult withExecutionStatus(String executionStatus) {
        setExecutionStatus(executionStatus);
        return this;
    }
    /**
     * 
     * If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     * execute the change set, the status indicates why. For example, a change set might be in an
     * UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE
     * state because the stack was already updated.
     * 
     * 
     * @param executionStatus
     *        If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     *        execute the change set, the status indicates why. For example, a change set might be in an
     *        UNAVAILABLE state because AWS CloudFormation is still creating it or in an
     *        OBSOLETE state because the stack was already updated.
     * @see ExecutionStatus
     */
    public void setExecutionStatus(ExecutionStatus executionStatus) {
        this.executionStatus = executionStatus.toString();
    }
    /**
     * 
     * If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     * execute the change set, the status indicates why. For example, a change set might be in an
     * UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE
     * state because the stack was already updated.
     * 
     * 
     * @param executionStatus
     *        If the change set execution status is AVAILABLE, you can execute the change set. If you can’t
     *        execute the change set, the status indicates why. For example, a change set might be in an
     *        UNAVAILABLE state because AWS CloudFormation is still creating it or in an
     *        OBSOLETE state because the stack was already updated.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see ExecutionStatus
     */
    public DescribeChangeSetResult withExecutionStatus(ExecutionStatus executionStatus) {
        setExecutionStatus(executionStatus);
        return this;
    }
    /**
     * 
     * The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or
     * FAILED.
     * 
     * 
     * @param status
     *        The current status of the change set, such as CREATE_IN_PROGRESS,
     *        CREATE_COMPLETE, or FAILED.
     * @see ChangeSetStatus
     */
    public void setStatus(String status) {
        this.status = status;
    }
    /**
     * 
     * The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or
     * FAILED.
     * 
     * 
     * @return The current status of the change set, such as CREATE_IN_PROGRESS,
     *         CREATE_COMPLETE, or FAILED.
     * @see ChangeSetStatus
     */
    public String getStatus() {
        return this.status;
    }
    /**
     * 
     * The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or
     * FAILED.
     * 
     * 
     * @param status
     *        The current status of the change set, such as CREATE_IN_PROGRESS,
     *        CREATE_COMPLETE, or FAILED.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see ChangeSetStatus
     */
    public DescribeChangeSetResult withStatus(String status) {
        setStatus(status);
        return this;
    }
    /**
     * 
     * The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or
     * FAILED.
     * 
     * 
     * @param status
     *        The current status of the change set, such as CREATE_IN_PROGRESS,
     *        CREATE_COMPLETE, or FAILED.
     * @see ChangeSetStatus
     */
    public void setStatus(ChangeSetStatus status) {
        this.status = status.toString();
    }
    /**
     * 
     * The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or
     * FAILED.
     * 
     * 
     * @param status
     *        The current status of the change set, such as CREATE_IN_PROGRESS,
     *        CREATE_COMPLETE, or FAILED.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see ChangeSetStatus
     */
    public DescribeChangeSetResult withStatus(ChangeSetStatus status) {
        setStatus(status);
        return this;
    }
    /**
     * 
     * A description of the change set's status. For example, if your attempt to create a change set failed, AWS
     * CloudFormation shows the error message.
     * 
     * 
     * @param statusReason
     *        A description of the change set's status. For example, if your attempt to create a change set failed, AWS
     *        CloudFormation shows the error message.
     */
    public void setStatusReason(String statusReason) {
        this.statusReason = statusReason;
    }
    /**
     * 
     * A description of the change set's status. For example, if your attempt to create a change set failed, AWS
     * CloudFormation shows the error message.
     * 
     * 
     * @return A description of the change set's status. For example, if your attempt to create a change set failed, AWS
     *         CloudFormation shows the error message.
     */
    public String getStatusReason() {
        return this.statusReason;
    }
    /**
     * 
     * A description of the change set's status. For example, if your attempt to create a change set failed, AWS
     * CloudFormation shows the error message.
     * 
     * 
     * @param statusReason
     *        A description of the change set's status. For example, if your attempt to create a change set failed, AWS
     *        CloudFormation shows the error message.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withStatusReason(String statusReason) {
        setStatusReason(statusReason);
        return this;
    }
    /**
     * 
     * The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if
     * you execute the change set.
     * 
     * 
     * @return The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the
     *         stack if you execute the change set.
     */
    public java.util.List getNotificationARNs() {
        if (notificationARNs == null) {
            notificationARNs = new com.amazonaws.internal.SdkInternalList();
        }
        return notificationARNs;
    }
    /**
     * 
     * The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if
     * you execute the change set.
     * 
     * 
     * @param notificationARNs
     *        The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the
     *        stack if you execute the change set.
     */
    public void setNotificationARNs(java.util.Collection notificationARNs) {
        if (notificationARNs == null) {
            this.notificationARNs = null;
            return;
        }
        this.notificationARNs = new com.amazonaws.internal.SdkInternalList(notificationARNs);
    }
    /**
     * 
     * The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if
     * you execute the change set.
     * 
     * 
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setNotificationARNs(java.util.Collection)} or {@link #withNotificationARNs(java.util.Collection)} if you
     * want to override the existing values.
     * 
     * 
     * @param notificationARNs
     *        The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the
     *        stack if you execute the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withNotificationARNs(String... notificationARNs) {
        if (this.notificationARNs == null) {
            setNotificationARNs(new com.amazonaws.internal.SdkInternalList(notificationARNs.length));
        }
        for (String ele : notificationARNs) {
            this.notificationARNs.add(ele);
        }
        return this;
    }
    /**
     * 
     * The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if
     * you execute the change set.
     * 
     * 
     * @param notificationARNs
     *        The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the
     *        stack if you execute the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withNotificationARNs(java.util.Collection notificationARNs) {
        setNotificationARNs(notificationARNs);
        return this;
    }
    /**
     * 
     * If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was
     * created.
     * 
     * 
     * @return If you execute the change set, the list of capabilities that were explicitly acknowledged when the change
     *         set was created.
     * @see Capability
     */
    public java.util.List getCapabilities() {
        if (capabilities == null) {
            capabilities = new com.amazonaws.internal.SdkInternalList();
        }
        return capabilities;
    }
    /**
     * 
     * If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was
     * created.
     * 
     * 
     * @param capabilities
     *        If you execute the change set, the list of capabilities that were explicitly acknowledged when the change
     *        set was created.
     * @see Capability
     */
    public void setCapabilities(java.util.Collection capabilities) {
        if (capabilities == null) {
            this.capabilities = null;
            return;
        }
        this.capabilities = new com.amazonaws.internal.SdkInternalList(capabilities);
    }
    /**
     * 
     * If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was
     * created.
     * 
     * 
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setCapabilities(java.util.Collection)} or {@link #withCapabilities(java.util.Collection)} if you want to
     * override the existing values.
     * 
     * 
     * @param capabilities
     *        If you execute the change set, the list of capabilities that were explicitly acknowledged when the change
     *        set was created.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see Capability
     */
    public DescribeChangeSetResult withCapabilities(String... capabilities) {
        if (this.capabilities == null) {
            setCapabilities(new com.amazonaws.internal.SdkInternalList(capabilities.length));
        }
        for (String ele : capabilities) {
            this.capabilities.add(ele);
        }
        return this;
    }
    /**
     * 
     * If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was
     * created.
     * 
     * 
     * @param capabilities
     *        If you execute the change set, the list of capabilities that were explicitly acknowledged when the change
     *        set was created.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see Capability
     */
    public DescribeChangeSetResult withCapabilities(java.util.Collection capabilities) {
        setCapabilities(capabilities);
        return this;
    }
    /**
     * 
     * If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was
     * created.
     * 
     * 
     * @param capabilities
     *        If you execute the change set, the list of capabilities that were explicitly acknowledged when the change
     *        set was created.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see Capability
     */
    public DescribeChangeSetResult withCapabilities(Capability... capabilities) {
        com.amazonaws.internal.SdkInternalList capabilitiesCopy = new com.amazonaws.internal.SdkInternalList(capabilities.length);
        for (Capability value : capabilities) {
            capabilitiesCopy.add(value.toString());
        }
        if (getCapabilities() == null) {
            setCapabilities(capabilitiesCopy);
        } else {
            getCapabilities().addAll(capabilitiesCopy);
        }
        return this;
    }
    /**
     * 
     * If you execute the change set, the tags that will be associated with the stack.
     * 
     * 
     * @return If you execute the change set, the tags that will be associated with the stack.
     */
    public java.util.List getTags() {
        if (tags == null) {
            tags = new com.amazonaws.internal.SdkInternalList();
        }
        return tags;
    }
    /**
     * 
     * If you execute the change set, the tags that will be associated with the stack.
     * 
     * 
     * @param tags
     *        If you execute the change set, the tags that will be associated with the stack.
     */
    public void setTags(java.util.Collection tags) {
        if (tags == null) {
            this.tags = null;
            return;
        }
        this.tags = new com.amazonaws.internal.SdkInternalList(tags);
    }
    /**
     * 
     * If you execute the change set, the tags that will be associated with the stack.
     * 
     * 
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
     * existing values.
     * 
     * 
     * @param tags
     *        If you execute the change set, the tags that will be associated with the stack.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withTags(Tag... tags) {
        if (this.tags == null) {
            setTags(new com.amazonaws.internal.SdkInternalList(tags.length));
        }
        for (Tag ele : tags) {
            this.tags.add(ele);
        }
        return this;
    }
    /**
     * 
     * If you execute the change set, the tags that will be associated with the stack.
     * 
     * 
     * @param tags
     *        If you execute the change set, the tags that will be associated with the stack.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withTags(java.util.Collection tags) {
        setTags(tags);
        return this;
    }
    /**
     * 
     * A list of Change structures that describes the resources AWS CloudFormation changes if you execute
     * the change set.
     * 
     * 
     * @return A list of Change structures that describes the resources AWS CloudFormation changes if you
     *         execute the change set.
     */
    public java.util.List getChanges() {
        if (changes == null) {
            changes = new com.amazonaws.internal.SdkInternalList();
        }
        return changes;
    }
    /**
     * 
     * A list of Change structures that describes the resources AWS CloudFormation changes if you execute
     * the change set.
     * 
     * 
     * @param changes
     *        A list of Change structures that describes the resources AWS CloudFormation changes if you
     *        execute the change set.
     */
    public void setChanges(java.util.Collection changes) {
        if (changes == null) {
            this.changes = null;
            return;
        }
        this.changes = new com.amazonaws.internal.SdkInternalList(changes);
    }
    /**
     * 
     * A list of Change structures that describes the resources AWS CloudFormation changes if you execute
     * the change set.
     * 
     * 
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setChanges(java.util.Collection)} or {@link #withChanges(java.util.Collection)} if you want to override
     * the existing values.
     * 
     * 
     * @param changes
     *        A list of Change structures that describes the resources AWS CloudFormation changes if you
     *        execute the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withChanges(Change... changes) {
        if (this.changes == null) {
            setChanges(new com.amazonaws.internal.SdkInternalList(changes.length));
        }
        for (Change ele : changes) {
            this.changes.add(ele);
        }
        return this;
    }
    /**
     * 
     * A list of Change structures that describes the resources AWS CloudFormation changes if you execute
     * the change set.
     * 
     * 
     * @param changes
     *        A list of Change structures that describes the resources AWS CloudFormation changes if you
     *        execute the change set.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withChanges(java.util.Collection changes) {
        setChanges(changes);
        return this;
    }
    /**
     * 
     * If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page,
     * this value is null.
     * 
     * 
     * @param nextToken
     *        If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional
     *        page, this value is null.
     */
    public void setNextToken(String nextToken) {
        this.nextToken = nextToken;
    }
    /**
     * 
     * If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page,
     * this value is null.
     * 
     * 
     * @return If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional
     *         page, this value is null.
     */
    public String getNextToken() {
        return this.nextToken;
    }
    /**
     * 
     * If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page,
     * this value is null.
     * 
     * 
     * @param nextToken
     *        If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional
     *        page, this value is null.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeChangeSetResult withNextToken(String nextToken) {
        setNextToken(nextToken);
        return this;
    }
    /**
     * 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 (getChangeSetName() != null)
            sb.append("ChangeSetName: " + getChangeSetName() + ",");
        if (getChangeSetId() != null)
            sb.append("ChangeSetId: " + getChangeSetId() + ",");
        if (getStackId() != null)
            sb.append("StackId: " + getStackId() + ",");
        if (getStackName() != null)
            sb.append("StackName: " + getStackName() + ",");
        if (getDescription() != null)
            sb.append("Description: " + getDescription() + ",");
        if (getParameters() != null)
            sb.append("Parameters: " + getParameters() + ",");
        if (getCreationTime() != null)
            sb.append("CreationTime: " + getCreationTime() + ",");
        if (getExecutionStatus() != null)
            sb.append("ExecutionStatus: " + getExecutionStatus() + ",");
        if (getStatus() != null)
            sb.append("Status: " + getStatus() + ",");
        if (getStatusReason() != null)
            sb.append("StatusReason: " + getStatusReason() + ",");
        if (getNotificationARNs() != null)
            sb.append("NotificationARNs: " + getNotificationARNs() + ",");
        if (getCapabilities() != null)
            sb.append("Capabilities: " + getCapabilities() + ",");
        if (getTags() != null)
            sb.append("Tags: " + getTags() + ",");
        if (getChanges() != null)
            sb.append("Changes: " + getChanges() + ",");
        if (getNextToken() != null)
            sb.append("NextToken: " + getNextToken());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof DescribeChangeSetResult == false)
            return false;
        DescribeChangeSetResult other = (DescribeChangeSetResult) obj;
        if (other.getChangeSetName() == null ^ this.getChangeSetName() == null)
            return false;
        if (other.getChangeSetName() != null && other.getChangeSetName().equals(this.getChangeSetName()) == false)
            return false;
        if (other.getChangeSetId() == null ^ this.getChangeSetId() == null)
            return false;
        if (other.getChangeSetId() != null && other.getChangeSetId().equals(this.getChangeSetId()) == false)
            return false;
        if (other.getStackId() == null ^ this.getStackId() == null)
            return false;
        if (other.getStackId() != null && other.getStackId().equals(this.getStackId()) == false)
            return false;
        if (other.getStackName() == null ^ this.getStackName() == null)
            return false;
        if (other.getStackName() != null && other.getStackName().equals(this.getStackName()) == 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.getParameters() == null ^ this.getParameters() == null)
            return false;
        if (other.getParameters() != null && other.getParameters().equals(this.getParameters()) == false)
            return false;
        if (other.getCreationTime() == null ^ this.getCreationTime() == null)
            return false;
        if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false)
            return false;
        if (other.getExecutionStatus() == null ^ this.getExecutionStatus() == null)
            return false;
        if (other.getExecutionStatus() != null && other.getExecutionStatus().equals(this.getExecutionStatus()) == false)
            return false;
        if (other.getStatus() == null ^ this.getStatus() == null)
            return false;
        if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
            return false;
        if (other.getStatusReason() == null ^ this.getStatusReason() == null)
            return false;
        if (other.getStatusReason() != null && other.getStatusReason().equals(this.getStatusReason()) == false)
            return false;
        if (other.getNotificationARNs() == null ^ this.getNotificationARNs() == null)
            return false;
        if (other.getNotificationARNs() != null && other.getNotificationARNs().equals(this.getNotificationARNs()) == false)
            return false;
        if (other.getCapabilities() == null ^ this.getCapabilities() == null)
            return false;
        if (other.getCapabilities() != null && other.getCapabilities().equals(this.getCapabilities()) == false)
            return false;
        if (other.getTags() == null ^ this.getTags() == null)
            return false;
        if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
            return false;
        if (other.getChanges() == null ^ this.getChanges() == null)
            return false;
        if (other.getChanges() != null && other.getChanges().equals(this.getChanges()) == false)
            return false;
        if (other.getNextToken() == null ^ this.getNextToken() == null)
            return false;
        if (other.getNextToken() != null && other.getNextToken().equals(this.getNextToken()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime * hashCode + ((getChangeSetName() == null) ? 0 : getChangeSetName().hashCode());
        hashCode = prime * hashCode + ((getChangeSetId() == null) ? 0 : getChangeSetId().hashCode());
        hashCode = prime * hashCode + ((getStackId() == null) ? 0 : getStackId().hashCode());
        hashCode = prime * hashCode + ((getStackName() == null) ? 0 : getStackName().hashCode());
        hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
        hashCode = prime * hashCode + ((getParameters() == null) ? 0 : getParameters().hashCode());
        hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode());
        hashCode = prime * hashCode + ((getExecutionStatus() == null) ? 0 : getExecutionStatus().hashCode());
        hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
        hashCode = prime * hashCode + ((getStatusReason() == null) ? 0 : getStatusReason().hashCode());
        hashCode = prime * hashCode + ((getNotificationARNs() == null) ? 0 : getNotificationARNs().hashCode());
        hashCode = prime * hashCode + ((getCapabilities() == null) ? 0 : getCapabilities().hashCode());
        hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
        hashCode = prime * hashCode + ((getChanges() == null) ? 0 : getChanges().hashCode());
        hashCode = prime * hashCode + ((getNextToken() == null) ? 0 : getNextToken().hashCode());
        return hashCode;
    }
    @Override
    public DescribeChangeSetResult clone() {
        try {
            return (DescribeChangeSetResult) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
        }
    }
}