/*
* Copyright 2012-2017 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.redshift.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
* <p/>
*
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteCluster" target="_top">AWS API
* Documentation</a>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class DeleteClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
* <p>
* The identifier of the cluster to be deleted.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must contain lowercase characters.
* </p>
* </li>
* <li>
* <p>
* Must contain from 1 to 63 alphanumeric characters or hyphens.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*/
private String clusterIdentifier;
/**
* <p>
* Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If
* <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster snapshot is
* created before the cluster is deleted.
* </p>
* <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i> is
* <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
* </p>
*/
private Boolean skipFinalClusterSnapshot;
/**
* <p>
* The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this
* parameter is provided, <i>SkipFinalClusterSnapshot</i> must be <code>false</code>.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must be 1 to 255 alphanumeric characters.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*/
private String finalClusterSnapshotIdentifier;
/**
* <p>
* The identifier of the cluster to be deleted.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must contain lowercase characters.
* </p>
* </li>
* <li>
* <p>
* Must contain from 1 to 63 alphanumeric characters or hyphens.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*
* @param clusterIdentifier
* The identifier of the cluster to be deleted.</p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must contain lowercase characters.
* </p>
* </li>
* <li>
* <p>
* Must contain from 1 to 63 alphanumeric characters or hyphens.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
*/
public void setClusterIdentifier(String clusterIdentifier) {
this.clusterIdentifier = clusterIdentifier;
}
/**
* <p>
* The identifier of the cluster to be deleted.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must contain lowercase characters.
* </p>
* </li>
* <li>
* <p>
* Must contain from 1 to 63 alphanumeric characters or hyphens.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*
* @return The identifier of the cluster to be deleted.</p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must contain lowercase characters.
* </p>
* </li>
* <li>
* <p>
* Must contain from 1 to 63 alphanumeric characters or hyphens.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
*/
public String getClusterIdentifier() {
return this.clusterIdentifier;
}
/**
* <p>
* The identifier of the cluster to be deleted.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must contain lowercase characters.
* </p>
* </li>
* <li>
* <p>
* Must contain from 1 to 63 alphanumeric characters or hyphens.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*
* @param clusterIdentifier
* The identifier of the cluster to be deleted.</p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must contain lowercase characters.
* </p>
* </li>
* <li>
* <p>
* Must contain from 1 to 63 alphanumeric characters or hyphens.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DeleteClusterRequest withClusterIdentifier(String clusterIdentifier) {
setClusterIdentifier(clusterIdentifier);
return this;
}
/**
* <p>
* Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If
* <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster snapshot is
* created before the cluster is deleted.
* </p>
* <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i> is
* <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
* </p>
*
* @param skipFinalClusterSnapshot
* Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster.
* If <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster
* snapshot is created before the cluster is deleted. </p> <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i>
* is <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
*/
public void setSkipFinalClusterSnapshot(Boolean skipFinalClusterSnapshot) {
this.skipFinalClusterSnapshot = skipFinalClusterSnapshot;
}
/**
* <p>
* Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If
* <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster snapshot is
* created before the cluster is deleted.
* </p>
* <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i> is
* <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
* </p>
*
* @return Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster.
* If <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster
* snapshot is created before the cluster is deleted. </p> <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i>
* is <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
*/
public Boolean getSkipFinalClusterSnapshot() {
return this.skipFinalClusterSnapshot;
}
/**
* <p>
* Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If
* <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster snapshot is
* created before the cluster is deleted.
* </p>
* <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i> is
* <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
* </p>
*
* @param skipFinalClusterSnapshot
* Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster.
* If <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster
* snapshot is created before the cluster is deleted. </p> <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i>
* is <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DeleteClusterRequest withSkipFinalClusterSnapshot(Boolean skipFinalClusterSnapshot) {
setSkipFinalClusterSnapshot(skipFinalClusterSnapshot);
return this;
}
/**
* <p>
* Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If
* <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster snapshot is
* created before the cluster is deleted.
* </p>
* <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i> is
* <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
* </p>
*
* @return Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster.
* If <code>true</code>, a final cluster snapshot is not created. If <code>false</code>, a final cluster
* snapshot is created before the cluster is deleted. </p> <note>
* <p>
* The <i>FinalClusterSnapshotIdentifier</i> parameter must be specified if <i>SkipFinalClusterSnapshot</i>
* is <code>false</code>.
* </p>
* </note>
* <p>
* Default: <code>false</code>
*/
public Boolean isSkipFinalClusterSnapshot() {
return this.skipFinalClusterSnapshot;
}
/**
* <p>
* The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this
* parameter is provided, <i>SkipFinalClusterSnapshot</i> must be <code>false</code>.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must be 1 to 255 alphanumeric characters.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*
* @param finalClusterSnapshotIdentifier
* The identifier of the final snapshot that is to be created immediately before deleting the cluster. If
* this parameter is provided, <i>SkipFinalClusterSnapshot</i> must be <code>false</code>. </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must be 1 to 255 alphanumeric characters.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
*/
public void setFinalClusterSnapshotIdentifier(String finalClusterSnapshotIdentifier) {
this.finalClusterSnapshotIdentifier = finalClusterSnapshotIdentifier;
}
/**
* <p>
* The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this
* parameter is provided, <i>SkipFinalClusterSnapshot</i> must be <code>false</code>.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must be 1 to 255 alphanumeric characters.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*
* @return The identifier of the final snapshot that is to be created immediately before deleting the cluster. If
* this parameter is provided, <i>SkipFinalClusterSnapshot</i> must be <code>false</code>. </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must be 1 to 255 alphanumeric characters.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
*/
public String getFinalClusterSnapshotIdentifier() {
return this.finalClusterSnapshotIdentifier;
}
/**
* <p>
* The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this
* parameter is provided, <i>SkipFinalClusterSnapshot</i> must be <code>false</code>.
* </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must be 1 to 255 alphanumeric characters.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* </ul>
*
* @param finalClusterSnapshotIdentifier
* The identifier of the final snapshot that is to be created immediately before deleting the cluster. If
* this parameter is provided, <i>SkipFinalClusterSnapshot</i> must be <code>false</code>. </p>
* <p>
* Constraints:
* </p>
* <ul>
* <li>
* <p>
* Must be 1 to 255 alphanumeric characters.
* </p>
* </li>
* <li>
* <p>
* First character must be a letter.
* </p>
* </li>
* <li>
* <p>
* Cannot end with a hyphen or contain two consecutive hyphens.
* </p>
* </li>
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DeleteClusterRequest withFinalClusterSnapshotIdentifier(String finalClusterSnapshotIdentifier) {
setFinalClusterSnapshotIdentifier(finalClusterSnapshotIdentifier);
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 (getClusterIdentifier() != null)
sb.append("ClusterIdentifier: ").append(getClusterIdentifier()).append(",");
if (getSkipFinalClusterSnapshot() != null)
sb.append("SkipFinalClusterSnapshot: ").append(getSkipFinalClusterSnapshot()).append(",");
if (getFinalClusterSnapshotIdentifier() != null)
sb.append("FinalClusterSnapshotIdentifier: ").append(getFinalClusterSnapshotIdentifier());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof DeleteClusterRequest == false)
return false;
DeleteClusterRequest other = (DeleteClusterRequest) obj;
if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null)
return false;
if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals(this.getClusterIdentifier()) == false)
return false;
if (other.getSkipFinalClusterSnapshot() == null ^ this.getSkipFinalClusterSnapshot() == null)
return false;
if (other.getSkipFinalClusterSnapshot() != null && other.getSkipFinalClusterSnapshot().equals(this.getSkipFinalClusterSnapshot()) == false)
return false;
if (other.getFinalClusterSnapshotIdentifier() == null ^ this.getFinalClusterSnapshotIdentifier() == null)
return false;
if (other.getFinalClusterSnapshotIdentifier() != null
&& other.getFinalClusterSnapshotIdentifier().equals(this.getFinalClusterSnapshotIdentifier()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode());
hashCode = prime * hashCode + ((getSkipFinalClusterSnapshot() == null) ? 0 : getSkipFinalClusterSnapshot().hashCode());
hashCode = prime * hashCode + ((getFinalClusterSnapshotIdentifier() == null) ? 0 : getFinalClusterSnapshotIdentifier().hashCode());
return hashCode;
}
@Override
public DeleteClusterRequest clone() {
return (DeleteClusterRequest) super.clone();
}
}