All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.rds.model.CopyDBSnapshotRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon RDS module holds the client classes that are used for communicating with Amazon Relational Database Service

There is a newer version: 1.11.9
Show newest version
/*
 * 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.rds.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

*/ public class CopyDBSnapshotRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The identifier for the source DB snapshot. *

*

* If you are copying from a shared manual DB snapshot, this must be the ARN * of the shared DB snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must specify a valid system snapshot in the "available" state. *

    *
  • *
  • *

    * If the source snapshot is in the same region as the copy, specify a valid * DB snapshot identifier. *

    *
  • *
  • *

    * If the source snapshot is in a different region than the copy, specify a * valid DB snapshot ARN. For more information, go to Copying a DB Snapshot. *

    *
  • *
*

* Example: rds:mydb-2012-04-02-00-01 *

*

* Example: * arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 *

*/ private String sourceDBSnapshotIdentifier; /** *

* The identifier for the copied 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 *

    *
  • *
*

* Example: my-db-snapshot *

*/ private String targetDBSnapshotIdentifier; /** *

* The AWS Key Management Service (AWS KMS) key identifier for an encrypted * DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or * the KMS key alias for the KMS encryption key. *

*

* If you copy an unencrypted DB snapshot and specify a value for the * KmsKeyId parameter, Amazon RDS encrypts the target DB * snapshot using the specified KMS encryption key. *

*

* If you copy an encrypted DB snapshot from your AWS account, you can * specify a value for KmsKeyId to encrypt the copy with a new * KMS encryption key. If you don't specify a value for * KmsKeyId then the copy of the DB snapshot is encrypted with * the same KMS key as the source DB snapshot. *

*

* If you copy an encrypted DB snapshot that is shared from another AWS * account, then you must specify a value for KmsKeyId. *

*/ private String kmsKeyId; private com.amazonaws.internal.SdkInternalList tags; /** *

* True to copy all tags from the source DB snapshot to the target DB * snapshot; otherwise false. The default is false. *

*/ private Boolean copyTags; /** *

* The identifier for the source DB snapshot. *

*

* If you are copying from a shared manual DB snapshot, this must be the ARN * of the shared DB snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must specify a valid system snapshot in the "available" state. *

    *
  • *
  • *

    * If the source snapshot is in the same region as the copy, specify a valid * DB snapshot identifier. *

    *
  • *
  • *

    * If the source snapshot is in a different region than the copy, specify a * valid DB snapshot ARN. For more information, go to Copying a DB Snapshot. *

    *
  • *
*

* Example: rds:mydb-2012-04-02-00-01 *

*

* Example: * arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 *

* * @param sourceDBSnapshotIdentifier * The identifier for the source DB snapshot.

*

* If you are copying from a shared manual DB snapshot, this must be * the ARN of the shared DB snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must specify a valid system snapshot in the "available" state. *

    *
  • *
  • *

    * If the source snapshot is in the same region as the copy, specify * a valid DB snapshot identifier. *

    *
  • *
  • *

    * If the source snapshot is in a different region than the copy, * specify a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot. *

    *
  • *
*

* Example: rds:mydb-2012-04-02-00-01 *

*

* Example: * arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 */ public void setSourceDBSnapshotIdentifier(String sourceDBSnapshotIdentifier) { this.sourceDBSnapshotIdentifier = sourceDBSnapshotIdentifier; } /** *

* The identifier for the source DB snapshot. *

*

* If you are copying from a shared manual DB snapshot, this must be the ARN * of the shared DB snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must specify a valid system snapshot in the "available" state. *

    *
  • *
  • *

    * If the source snapshot is in the same region as the copy, specify a valid * DB snapshot identifier. *

    *
  • *
  • *

    * If the source snapshot is in a different region than the copy, specify a * valid DB snapshot ARN. For more information, go to Copying a DB Snapshot. *

    *
  • *
*

* Example: rds:mydb-2012-04-02-00-01 *

*

* Example: * arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 *

* * @return The identifier for the source DB snapshot.

*

* If you are copying from a shared manual DB snapshot, this must be * the ARN of the shared DB snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must specify a valid system snapshot in the "available" state. *

    *
  • *
  • *

    * If the source snapshot is in the same region as the copy, specify * a valid DB snapshot identifier. *

    *
  • *
  • *

    * If the source snapshot is in a different region than the copy, * specify a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot. *

    *
  • *
*

* Example: rds:mydb-2012-04-02-00-01 *

*

* Example: * arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 */ public String getSourceDBSnapshotIdentifier() { return this.sourceDBSnapshotIdentifier; } /** *

* The identifier for the source DB snapshot. *

*

* If you are copying from a shared manual DB snapshot, this must be the ARN * of the shared DB snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must specify a valid system snapshot in the "available" state. *

    *
  • *
  • *

    * If the source snapshot is in the same region as the copy, specify a valid * DB snapshot identifier. *

    *
  • *
  • *

    * If the source snapshot is in a different region than the copy, specify a * valid DB snapshot ARN. For more information, go to Copying a DB Snapshot. *

    *
  • *
*

* Example: rds:mydb-2012-04-02-00-01 *

*

* Example: * arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 *

* * @param sourceDBSnapshotIdentifier * The identifier for the source DB snapshot.

*

* If you are copying from a shared manual DB snapshot, this must be * the ARN of the shared DB snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must specify a valid system snapshot in the "available" state. *

    *
  • *
  • *

    * If the source snapshot is in the same region as the copy, specify * a valid DB snapshot identifier. *

    *
  • *
  • *

    * If the source snapshot is in a different region than the copy, * specify a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot. *

    *
  • *
*

* Example: rds:mydb-2012-04-02-00-01 *

*

* Example: * arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyDBSnapshotRequest withSourceDBSnapshotIdentifier( String sourceDBSnapshotIdentifier) { setSourceDBSnapshotIdentifier(sourceDBSnapshotIdentifier); return this; } /** *

* The identifier for the copied 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 *

    *
  • *
*

* Example: my-db-snapshot *

* * @param targetDBSnapshotIdentifier * The identifier for the copied 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 *

    *
  • *
*

* Example: my-db-snapshot */ public void setTargetDBSnapshotIdentifier(String targetDBSnapshotIdentifier) { this.targetDBSnapshotIdentifier = targetDBSnapshotIdentifier; } /** *

* The identifier for the copied 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 *

    *
  • *
*

* Example: my-db-snapshot *

* * @return The identifier for the copied 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 *

    *
  • *
*

* Example: my-db-snapshot */ public String getTargetDBSnapshotIdentifier() { return this.targetDBSnapshotIdentifier; } /** *

* The identifier for the copied 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 *

    *
  • *
*

* Example: my-db-snapshot *

* * @param targetDBSnapshotIdentifier * The identifier for the copied 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 *

    *
  • *
*

* Example: my-db-snapshot * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyDBSnapshotRequest withTargetDBSnapshotIdentifier( String targetDBSnapshotIdentifier) { setTargetDBSnapshotIdentifier(targetDBSnapshotIdentifier); return this; } /** *

* The AWS Key Management Service (AWS KMS) key identifier for an encrypted * DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or * the KMS key alias for the KMS encryption key. *

*

* If you copy an unencrypted DB snapshot and specify a value for the * KmsKeyId parameter, Amazon RDS encrypts the target DB * snapshot using the specified KMS encryption key. *

*

* If you copy an encrypted DB snapshot from your AWS account, you can * specify a value for KmsKeyId to encrypt the copy with a new * KMS encryption key. If you don't specify a value for * KmsKeyId then the copy of the DB snapshot is encrypted with * the same KMS key as the source DB snapshot. *

*

* If you copy an encrypted DB snapshot that is shared from another AWS * account, then you must specify a value for KmsKeyId. *

* * @param kmsKeyId * The AWS Key Management Service (AWS KMS) key identifier for an * encrypted DB snapshot. The KMS key identifier is the Amazon * Resource Name (ARN) or the KMS key alias for the KMS encryption * key.

*

* If you copy an unencrypted DB snapshot and specify a value for the * KmsKeyId parameter, Amazon RDS encrypts the target DB * snapshot using the specified KMS encryption key. *

*

* If you copy an encrypted DB snapshot from your AWS account, you * can specify a value for KmsKeyId to encrypt the copy * with a new KMS encryption key. If you don't specify a value for * KmsKeyId then the copy of the DB snapshot is * encrypted with the same KMS key as the source DB snapshot. *

*

* If you copy an encrypted DB snapshot that is shared from another * AWS account, then you must specify a value for * KmsKeyId. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

* The AWS Key Management Service (AWS KMS) key identifier for an encrypted * DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or * the KMS key alias for the KMS encryption key. *

*

* If you copy an unencrypted DB snapshot and specify a value for the * KmsKeyId parameter, Amazon RDS encrypts the target DB * snapshot using the specified KMS encryption key. *

*

* If you copy an encrypted DB snapshot from your AWS account, you can * specify a value for KmsKeyId to encrypt the copy with a new * KMS encryption key. If you don't specify a value for * KmsKeyId then the copy of the DB snapshot is encrypted with * the same KMS key as the source DB snapshot. *

*

* If you copy an encrypted DB snapshot that is shared from another AWS * account, then you must specify a value for KmsKeyId. *

* * @return The AWS Key Management Service (AWS KMS) key identifier for an * encrypted DB snapshot. The KMS key identifier is the Amazon * Resource Name (ARN) or the KMS key alias for the KMS encryption * key.

*

* If you copy an unencrypted DB snapshot and specify a value for * the KmsKeyId parameter, Amazon RDS encrypts the * target DB snapshot using the specified KMS encryption key. *

*

* If you copy an encrypted DB snapshot from your AWS account, you * can specify a value for KmsKeyId to encrypt the copy * with a new KMS encryption key. If you don't specify a value for * KmsKeyId then the copy of the DB snapshot is * encrypted with the same KMS key as the source DB snapshot. *

*

* If you copy an encrypted DB snapshot that is shared from another * AWS account, then you must specify a value for * KmsKeyId. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

* The AWS Key Management Service (AWS KMS) key identifier for an encrypted * DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or * the KMS key alias for the KMS encryption key. *

*

* If you copy an unencrypted DB snapshot and specify a value for the * KmsKeyId parameter, Amazon RDS encrypts the target DB * snapshot using the specified KMS encryption key. *

*

* If you copy an encrypted DB snapshot from your AWS account, you can * specify a value for KmsKeyId to encrypt the copy with a new * KMS encryption key. If you don't specify a value for * KmsKeyId then the copy of the DB snapshot is encrypted with * the same KMS key as the source DB snapshot. *

*

* If you copy an encrypted DB snapshot that is shared from another AWS * account, then you must specify a value for KmsKeyId. *

* * @param kmsKeyId * The AWS Key Management Service (AWS KMS) key identifier for an * encrypted DB snapshot. The KMS key identifier is the Amazon * Resource Name (ARN) or the KMS key alias for the KMS encryption * key.

*

* If you copy an unencrypted DB snapshot and specify a value for the * KmsKeyId parameter, Amazon RDS encrypts the target DB * snapshot using the specified KMS encryption key. *

*

* If you copy an encrypted DB snapshot from your AWS account, you * can specify a value for KmsKeyId to encrypt the copy * with a new KMS encryption key. If you don't specify a value for * KmsKeyId then the copy of the DB snapshot is * encrypted with the same KMS key as the source DB snapshot. *

*

* If you copy an encrypted DB snapshot that is shared from another * AWS account, then you must specify a value for * KmsKeyId. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyDBSnapshotRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** * @return */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** * @param tags */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

* 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 * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyDBSnapshotRequest 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; } /** * @param tags * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyDBSnapshotRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

* True to copy all tags from the source DB snapshot to the target DB * snapshot; otherwise false. The default is false. *

* * @param copyTags * True to copy all tags from the source DB snapshot to the target DB * snapshot; otherwise false. The default is false. */ public void setCopyTags(Boolean copyTags) { this.copyTags = copyTags; } /** *

* True to copy all tags from the source DB snapshot to the target DB * snapshot; otherwise false. The default is false. *

* * @return True to copy all tags from the source DB snapshot to the target * DB snapshot; otherwise false. The default is false. */ public Boolean getCopyTags() { return this.copyTags; } /** *

* True to copy all tags from the source DB snapshot to the target DB * snapshot; otherwise false. The default is false. *

* * @param copyTags * True to copy all tags from the source DB snapshot to the target DB * snapshot; otherwise false. The default is false. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyDBSnapshotRequest withCopyTags(Boolean copyTags) { setCopyTags(copyTags); return this; } /** *

* True to copy all tags from the source DB snapshot to the target DB * snapshot; otherwise false. The default is false. *

* * @return True to copy all tags from the source DB snapshot to the target * DB snapshot; otherwise false. The default is false. */ public Boolean isCopyTags() { return this.copyTags; } /** * 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 (getSourceDBSnapshotIdentifier() != null) sb.append("SourceDBSnapshotIdentifier: " + getSourceDBSnapshotIdentifier() + ","); if (getTargetDBSnapshotIdentifier() != null) sb.append("TargetDBSnapshotIdentifier: " + getTargetDBSnapshotIdentifier() + ","); if (getKmsKeyId() != null) sb.append("KmsKeyId: " + getKmsKeyId() + ","); if (getTags() != null) sb.append("Tags: " + getTags() + ","); if (getCopyTags() != null) sb.append("CopyTags: " + getCopyTags()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CopyDBSnapshotRequest == false) return false; CopyDBSnapshotRequest other = (CopyDBSnapshotRequest) obj; if (other.getSourceDBSnapshotIdentifier() == null ^ this.getSourceDBSnapshotIdentifier() == null) return false; if (other.getSourceDBSnapshotIdentifier() != null && other.getSourceDBSnapshotIdentifier().equals( this.getSourceDBSnapshotIdentifier()) == false) return false; if (other.getTargetDBSnapshotIdentifier() == null ^ this.getTargetDBSnapshotIdentifier() == null) return false; if (other.getTargetDBSnapshotIdentifier() != null && other.getTargetDBSnapshotIdentifier().equals( this.getTargetDBSnapshotIdentifier()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == 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.getCopyTags() == null ^ this.getCopyTags() == null) return false; if (other.getCopyTags() != null && other.getCopyTags().equals(this.getCopyTags()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSourceDBSnapshotIdentifier() == null) ? 0 : getSourceDBSnapshotIdentifier().hashCode()); hashCode = prime * hashCode + ((getTargetDBSnapshotIdentifier() == null) ? 0 : getTargetDBSnapshotIdentifier().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getCopyTags() == null) ? 0 : getCopyTags().hashCode()); return hashCode; } @Override public CopyDBSnapshotRequest clone() { return (CopyDBSnapshotRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy