/* * Copyright 2018-2023 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.neptune.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CopyDBClusterSnapshotRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive. *
** Constraints: *
** Must specify a valid system snapshot in the "available" state. *
** Specify a valid DB snapshot identifier. *
*
* Example: my-cluster-snapshot1
*
* The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is * not case-sensitive. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster-snapshot2
*
* The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name * (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. *
*
* If you copy an encrypted DB cluster snapshot from your Amazon 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 cluster snapshot is encrypted with the same KMS key as the source
* DB cluster snapshot.
*
* If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must specify a
* value for KmsKeyId
.
*
* KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use encryption keys * from one Amazon Region in another Amazon Region. *
** You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted DB * cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned. *
*/ private String kmsKeyId; /** ** Not currently supported. *
*/ private String preSignedUrl; /** ** True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. * The default is false. *
*/ private Boolean copyTags; /** ** The tags to assign to the new DB cluster snapshot copy. *
*/ private java.util.List* The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive. *
** Constraints: *
** Must specify a valid system snapshot in the "available" state. *
** Specify a valid DB snapshot identifier. *
*
* Example: my-cluster-snapshot1
*
* Constraints: *
** Must specify a valid system snapshot in the "available" state. *
** Specify a valid DB snapshot identifier. *
*
* Example: my-cluster-snapshot1
*/
public void setSourceDBClusterSnapshotIdentifier(String sourceDBClusterSnapshotIdentifier) {
this.sourceDBClusterSnapshotIdentifier = sourceDBClusterSnapshotIdentifier;
}
/**
*
* The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive. *
** Constraints: *
** Must specify a valid system snapshot in the "available" state. *
** Specify a valid DB snapshot identifier. *
*
* Example: my-cluster-snapshot1
*
* Constraints: *
** Must specify a valid system snapshot in the "available" state. *
** Specify a valid DB snapshot identifier. *
*
* Example: my-cluster-snapshot1
*/
public String getSourceDBClusterSnapshotIdentifier() {
return this.sourceDBClusterSnapshotIdentifier;
}
/**
*
* The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive. *
** Constraints: *
** Must specify a valid system snapshot in the "available" state. *
** Specify a valid DB snapshot identifier. *
*
* Example: my-cluster-snapshot1
*
* Constraints: *
** Must specify a valid system snapshot in the "available" state. *
** Specify a valid DB snapshot identifier. *
*
* Example: my-cluster-snapshot1
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CopyDBClusterSnapshotRequest withSourceDBClusterSnapshotIdentifier(String sourceDBClusterSnapshotIdentifier) {
setSourceDBClusterSnapshotIdentifier(sourceDBClusterSnapshotIdentifier);
return this;
}
/**
*
* The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is * not case-sensitive. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster-snapshot2
*
* Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster-snapshot2
*/
public void setTargetDBClusterSnapshotIdentifier(String targetDBClusterSnapshotIdentifier) {
this.targetDBClusterSnapshotIdentifier = targetDBClusterSnapshotIdentifier;
}
/**
*
* The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is * not case-sensitive. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster-snapshot2
*
* Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster-snapshot2
*/
public String getTargetDBClusterSnapshotIdentifier() {
return this.targetDBClusterSnapshotIdentifier;
}
/**
*
* The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is * not case-sensitive. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster-snapshot2
*
* Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster-snapshot2
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CopyDBClusterSnapshotRequest withTargetDBClusterSnapshotIdentifier(String targetDBClusterSnapshotIdentifier) {
setTargetDBClusterSnapshotIdentifier(targetDBClusterSnapshotIdentifier);
return this;
}
/**
*
* The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name * (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. *
*
* If you copy an encrypted DB cluster snapshot from your Amazon 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 cluster snapshot is encrypted with the same KMS key as the source
* DB cluster snapshot.
*
* If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must specify a
* value for KmsKeyId
.
*
* KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use encryption keys * from one Amazon Region in another Amazon Region. *
** You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted DB * cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned. *
* * @param kmsKeyId * The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource * Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. *
* If you copy an encrypted DB cluster snapshot from your Amazon 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 cluster snapshot is encrypted with the same KMS key as the
* source DB cluster snapshot.
*
* If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must
* specify a value for KmsKeyId
.
*
* KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use * encryption keys from one Amazon Region in another Amazon Region. *
** You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted * DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *
* The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name * (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. *
*
* If you copy an encrypted DB cluster snapshot from your Amazon 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 cluster snapshot is encrypted with the same KMS key as the source
* DB cluster snapshot.
*
* If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must specify a
* value for KmsKeyId
.
*
* KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use encryption keys * from one Amazon Region in another Amazon Region. *
** You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted DB * cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned. *
* * @return The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource * Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. *
* If you copy an encrypted DB cluster snapshot from your Amazon 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 cluster snapshot is encrypted with the same KMS key as the
* source DB cluster snapshot.
*
* If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must
* specify a value for KmsKeyId
.
*
* KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use * encryption keys from one Amazon Region in another Amazon Region. *
** You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted * DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *
* The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name * (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. *
*
* If you copy an encrypted DB cluster snapshot from your Amazon 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 cluster snapshot is encrypted with the same KMS key as the source
* DB cluster snapshot.
*
* If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must specify a
* value for KmsKeyId
.
*
* KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use encryption keys * from one Amazon Region in another Amazon Region. *
** You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted DB * cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned. *
* * @param kmsKeyId * The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource * Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. *
* If you copy an encrypted DB cluster snapshot from your Amazon 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 cluster snapshot is encrypted with the same KMS key as the
* source DB cluster snapshot.
*
* If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must
* specify a value for KmsKeyId
.
*
* KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use * encryption keys from one Amazon Region in another Amazon Region. *
** You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted * DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned. * @return Returns a reference to this object so that method calls can be chained together. */ public CopyDBClusterSnapshotRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *
* Not currently supported. *
* * @param preSignedUrl * Not currently supported. */ public void setPreSignedUrl(String preSignedUrl) { this.preSignedUrl = preSignedUrl; } /** ** Not currently supported. *
* * @return Not currently supported. */ public String getPreSignedUrl() { return this.preSignedUrl; } /** ** Not currently supported. *
* * @param preSignedUrl * Not currently supported. * @return Returns a reference to this object so that method calls can be chained together. */ public CopyDBClusterSnapshotRequest withPreSignedUrl(String preSignedUrl) { setPreSignedUrl(preSignedUrl); return this; } /** ** True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. * The default is false. *
* * @param copyTags * True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise * false. The default is false. */ public void setCopyTags(Boolean copyTags) { this.copyTags = copyTags; } /** ** True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. * The default is false. *
* * @return True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and * otherwise false. The default is false. */ public Boolean getCopyTags() { return this.copyTags; } /** ** True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. * The default is false. *
* * @param copyTags * True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise * false. The default is false. * @return Returns a reference to this object so that method calls can be chained together. */ public CopyDBClusterSnapshotRequest withCopyTags(Boolean copyTags) { setCopyTags(copyTags); return this; } /** ** True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. * The default is false. *
* * @return True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and * otherwise false. The default is false. */ public Boolean isCopyTags() { return this.copyTags; } /** ** The tags to assign to the new DB cluster snapshot copy. *
* * @return The tags to assign to the new DB cluster snapshot copy. */ public java.util.List* The tags to assign to the new DB cluster snapshot copy. *
* * @param tags * The tags to assign to the new DB cluster snapshot copy. */ public void setTags(java.util.Collection* The tags to assign to the new DB cluster snapshot copy. *
** 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 * The tags to assign to the new DB cluster snapshot copy. * @return Returns a reference to this object so that method calls can be chained together. */ public CopyDBClusterSnapshotRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList* The tags to assign to the new DB cluster snapshot copy. *
* * @param tags * The tags to assign to the new DB cluster snapshot copy. * @return Returns a reference to this object so that method calls can be chained together. */ public CopyDBClusterSnapshotRequest withTags(java.util.Collection