com.amazonaws.services.redshift.model.CopyClusterSnapshotRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk Show documentation
/*
* Copyright 2010-2014 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 com.amazonaws.AmazonWebServiceRequest;
/**
* Container for the parameters to the {@link com.amazonaws.services.redshift.AmazonRedshift#copyClusterSnapshot(CopyClusterSnapshotRequest) CopyClusterSnapshot operation}.
*
* Copies the specified automated cluster snapshot to a new manual
* cluster snapshot. The source must be an automated snapshot and it must
* be in the available state.
*
*
* When you delete a cluster, Amazon Redshift deletes any automated
* snapshots of the cluster. Also, when the retention period of the
* snapshot expires, Amazon Redshift automatically deletes it. If you
* want to keep an automated snapshot for a longer period, you can make a
* manual copy of the snapshot. Manual snapshots are retained until you
* delete them.
*
*
* For more information about working with snapshots, go to
* Amazon Redshift Snapshots
* in the Amazon Redshift Management Guide .
*
*
* @see com.amazonaws.services.redshift.AmazonRedshift#copyClusterSnapshot(CopyClusterSnapshotRequest)
*/
public class CopyClusterSnapshotRequest extends AmazonWebServiceRequest implements Serializable {
/**
* The identifier for the source snapshot. Constraints:
- Must
* be the identifier for a valid automated snapshot whose state is
* "available".
*/
private String sourceSnapshotIdentifier;
/**
* The identifier of the cluster the source snapshot was created from.
* This parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name. Constraints:
- Must be the identifier for a
* valid cluster.
*/
private String sourceSnapshotClusterIdentifier;
/**
* The identifier given to the new manual snapshot. Constraints:
* - Cannot be null, empty, or blank.
- Must contain from 1 to
* 255 alphanumeric characters or hyphens.
- First character must
* be a letter.
- Cannot end with a hyphen or contain two
* consecutive hyphens.
- Must be unique for the AWS account that
* is making the request.
*/
private String targetSnapshotIdentifier;
/**
* The identifier for the source snapshot. Constraints:
- Must
* be the identifier for a valid automated snapshot whose state is
* "available".
*
* @return The identifier for the source snapshot. Constraints:
- Must
* be the identifier for a valid automated snapshot whose state is
* "available".
*/
public String getSourceSnapshotIdentifier() {
return sourceSnapshotIdentifier;
}
/**
* The identifier for the source snapshot. Constraints:
- Must
* be the identifier for a valid automated snapshot whose state is
* "available".
*
* @param sourceSnapshotIdentifier The identifier for the source snapshot. Constraints:
- Must
* be the identifier for a valid automated snapshot whose state is
* "available".
*/
public void setSourceSnapshotIdentifier(String sourceSnapshotIdentifier) {
this.sourceSnapshotIdentifier = sourceSnapshotIdentifier;
}
/**
* The identifier for the source snapshot. Constraints:
- Must
* be the identifier for a valid automated snapshot whose state is
* "available".
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param sourceSnapshotIdentifier The identifier for the source snapshot.
Constraints:
- Must
* be the identifier for a valid automated snapshot whose state is
* "available".
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CopyClusterSnapshotRequest withSourceSnapshotIdentifier(String sourceSnapshotIdentifier) {
this.sourceSnapshotIdentifier = sourceSnapshotIdentifier;
return this;
}
/**
* The identifier of the cluster the source snapshot was created from.
* This parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name. Constraints:
- Must be the identifier for a
* valid cluster.
*
* @return The identifier of the cluster the source snapshot was created from.
* This parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name. Constraints:
- Must be the identifier for a
* valid cluster.
*/
public String getSourceSnapshotClusterIdentifier() {
return sourceSnapshotClusterIdentifier;
}
/**
* The identifier of the cluster the source snapshot was created from.
* This parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name. Constraints:
- Must be the identifier for a
* valid cluster.
*
* @param sourceSnapshotClusterIdentifier The identifier of the cluster the source snapshot was created from.
* This parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name. Constraints:
- Must be the identifier for a
* valid cluster.
*/
public void setSourceSnapshotClusterIdentifier(String sourceSnapshotClusterIdentifier) {
this.sourceSnapshotClusterIdentifier = sourceSnapshotClusterIdentifier;
}
/**
* The identifier of the cluster the source snapshot was created from.
* This parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name. Constraints:
- Must be the identifier for a
* valid cluster.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param sourceSnapshotClusterIdentifier The identifier of the cluster the source snapshot was created from.
* This parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
Constraints:
- Must be the identifier for a
* valid cluster.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CopyClusterSnapshotRequest withSourceSnapshotClusterIdentifier(String sourceSnapshotClusterIdentifier) {
this.sourceSnapshotClusterIdentifier = sourceSnapshotClusterIdentifier;
return this;
}
/**
* The identifier given to the new manual snapshot. Constraints:
* - Cannot be null, empty, or blank.
- Must contain from 1 to
* 255 alphanumeric characters or hyphens.
- First character must
* be a letter.
- Cannot end with a hyphen or contain two
* consecutive hyphens.
- Must be unique for the AWS account that
* is making the request.
*
* @return The identifier given to the new manual snapshot. Constraints:
* - Cannot be null, empty, or blank.
- Must contain from 1 to
* 255 alphanumeric characters or hyphens.
- First character must
* be a letter.
- Cannot end with a hyphen or contain two
* consecutive hyphens.
- Must be unique for the AWS account that
* is making the request.
*/
public String getTargetSnapshotIdentifier() {
return targetSnapshotIdentifier;
}
/**
* The identifier given to the new manual snapshot. Constraints:
* - Cannot be null, empty, or blank.
- Must contain from 1 to
* 255 alphanumeric characters or hyphens.
- First character must
* be a letter.
- Cannot end with a hyphen or contain two
* consecutive hyphens.
- Must be unique for the AWS account that
* is making the request.
*
* @param targetSnapshotIdentifier The identifier given to the new manual snapshot. Constraints:
* - Cannot be null, empty, or blank.
- Must contain from 1 to
* 255 alphanumeric characters or hyphens.
- First character must
* be a letter.
- Cannot end with a hyphen or contain two
* consecutive hyphens.
- Must be unique for the AWS account that
* is making the request.
*/
public void setTargetSnapshotIdentifier(String targetSnapshotIdentifier) {
this.targetSnapshotIdentifier = targetSnapshotIdentifier;
}
/**
* The identifier given to the new manual snapshot. Constraints:
* - Cannot be null, empty, or blank.
- Must contain from 1 to
* 255 alphanumeric characters or hyphens.
- First character must
* be a letter.
- Cannot end with a hyphen or contain two
* consecutive hyphens.
- Must be unique for the AWS account that
* is making the request.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param targetSnapshotIdentifier The identifier given to the new manual snapshot.
Constraints:
* - Cannot be null, empty, or blank.
- Must contain from 1 to
* 255 alphanumeric characters or hyphens.
- First character must
* be a letter.
- Cannot end with a hyphen or contain two
* consecutive hyphens.
- Must be unique for the AWS account that
* is making the request.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CopyClusterSnapshotRequest withTargetSnapshotIdentifier(String targetSnapshotIdentifier) {
this.targetSnapshotIdentifier = targetSnapshotIdentifier;
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 (getSourceSnapshotIdentifier() != null) sb.append("SourceSnapshotIdentifier: " + getSourceSnapshotIdentifier() + ",");
if (getSourceSnapshotClusterIdentifier() != null) sb.append("SourceSnapshotClusterIdentifier: " + getSourceSnapshotClusterIdentifier() + ",");
if (getTargetSnapshotIdentifier() != null) sb.append("TargetSnapshotIdentifier: " + getTargetSnapshotIdentifier() );
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getSourceSnapshotIdentifier() == null) ? 0 : getSourceSnapshotIdentifier().hashCode());
hashCode = prime * hashCode + ((getSourceSnapshotClusterIdentifier() == null) ? 0 : getSourceSnapshotClusterIdentifier().hashCode());
hashCode = prime * hashCode + ((getTargetSnapshotIdentifier() == null) ? 0 : getTargetSnapshotIdentifier().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (obj instanceof CopyClusterSnapshotRequest == false) return false;
CopyClusterSnapshotRequest other = (CopyClusterSnapshotRequest)obj;
if (other.getSourceSnapshotIdentifier() == null ^ this.getSourceSnapshotIdentifier() == null) return false;
if (other.getSourceSnapshotIdentifier() != null && other.getSourceSnapshotIdentifier().equals(this.getSourceSnapshotIdentifier()) == false) return false;
if (other.getSourceSnapshotClusterIdentifier() == null ^ this.getSourceSnapshotClusterIdentifier() == null) return false;
if (other.getSourceSnapshotClusterIdentifier() != null && other.getSourceSnapshotClusterIdentifier().equals(this.getSourceSnapshotClusterIdentifier()) == false) return false;
if (other.getTargetSnapshotIdentifier() == null ^ this.getTargetSnapshotIdentifier() == null) return false;
if (other.getTargetSnapshotIdentifier() != null && other.getTargetSnapshotIdentifier().equals(this.getTargetSnapshotIdentifier()) == false) return false;
return true;
}
}