/* * 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.docdb.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *

* Represents the input to CopyDBClusterSnapshot. *

* * @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 cluster snapshot to copy. This parameter is not case sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot1 *

*/ private String sourceDBClusterSnapshotIdentifier; /** *

* The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is not case * sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot2 *

*/ private String targetDBClusterSnapshotIdentifier; /** *

* The KMS key ID for an encrypted 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 cluster snapshot from your Amazon Web Services 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 cluster snapshot is encrypted with the same KMS key as the source * cluster snapshot. *

*

* If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services account, then you must * specify a value for KmsKeyId. *

*

* To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId to the KMS * key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. KMS encryption * keys are specific to the Amazon Web Services Region that they are created in, and you can't use encryption keys * from one Amazon Web Services Region in another Amazon Web Services Region. *

*

* If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, an error * is returned. *

*/ private String kmsKeyId; /** *

* The URL that contains a Signature Version 4 signed request for theCopyDBClusterSnapshot API action * in the Amazon Web Services Region that contains the source cluster snapshot to copy. You must use the * PreSignedUrl parameter when copying a cluster snapshot from another Amazon Web Services Region. *

*

* If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or * --source-region for the CLI) instead of specifying PreSignedUrl manually. Specifying * SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be * executed in the source Amazon Web Services Region. *

*

* The presigned URL must be a valid request for the CopyDBClusterSnapshot API action that can be * executed in the source Amazon Web Services Region that contains the cluster snapshot to be copied. The presigned * URL request must contain the following parameter values: *

* */ private String preSignedUrl; /** *

* Set to true to copy all tags from the source cluster snapshot to the target cluster snapshot, and * otherwise false. The default is false. *

*/ private Boolean copyTags; /** *

* The tags to be assigned to the cluster snapshot. *

*/ private java.util.List tags; /** The region where the source instance is located. */ private String sourceRegion; /** *

* The identifier of the cluster snapshot to copy. This parameter is not case sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot1 *

* * @param sourceDBClusterSnapshotIdentifier * The identifier of the cluster snapshot to copy. This parameter is not case sensitive.

*

* Constraints: *

* *

* Example: my-cluster-snapshot1 */ public void setSourceDBClusterSnapshotIdentifier(String sourceDBClusterSnapshotIdentifier) { this.sourceDBClusterSnapshotIdentifier = sourceDBClusterSnapshotIdentifier; } /** *

* The identifier of the cluster snapshot to copy. This parameter is not case sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot1 *

* * @return The identifier of the cluster snapshot to copy. This parameter is not case sensitive.

*

* Constraints: *

* *

* Example: my-cluster-snapshot1 */ public String getSourceDBClusterSnapshotIdentifier() { return this.sourceDBClusterSnapshotIdentifier; } /** *

* The identifier of the cluster snapshot to copy. This parameter is not case sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot1 *

* * @param sourceDBClusterSnapshotIdentifier * The identifier of the cluster snapshot to copy. This parameter is not case sensitive.

*

* Constraints: *

* *

* 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 cluster snapshot to create from the source cluster snapshot. This parameter is not case * sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot2 *

* * @param targetDBClusterSnapshotIdentifier * The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is * not case sensitive.

*

* Constraints: *

* *

* Example: my-cluster-snapshot2 */ public void setTargetDBClusterSnapshotIdentifier(String targetDBClusterSnapshotIdentifier) { this.targetDBClusterSnapshotIdentifier = targetDBClusterSnapshotIdentifier; } /** *

* The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is not case * sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot2 *

* * @return The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is * not case sensitive.

*

* Constraints: *

* *

* Example: my-cluster-snapshot2 */ public String getTargetDBClusterSnapshotIdentifier() { return this.targetDBClusterSnapshotIdentifier; } /** *

* The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is not case * sensitive. *

*

* Constraints: *

* *

* Example: my-cluster-snapshot2 *

* * @param targetDBClusterSnapshotIdentifier * The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is * not case sensitive.

*

* Constraints: *

* *

* 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 KMS key ID for an encrypted 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 cluster snapshot from your Amazon Web Services 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 cluster snapshot is encrypted with the same KMS key as the source * cluster snapshot. *

*

* If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services account, then you must * specify a value for KmsKeyId. *

*

* To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId to the KMS * key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. KMS encryption * keys are specific to the Amazon Web Services Region that they are created in, and you can't use encryption keys * from one Amazon Web Services Region in another Amazon Web Services Region. *

*

* If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, an error * is returned. *

* * @param kmsKeyId * The KMS key ID for an encrypted 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 cluster snapshot from your Amazon Web Services 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 cluster snapshot is encrypted with the same KMS key as the * source cluster snapshot. *

*

* If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services account, then * you must specify a value for KmsKeyId. *

*

* To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId to * the KMS key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. * KMS encryption keys are specific to the Amazon Web Services Region that they are created in, and you can't * use encryption keys from one Amazon Web Services Region in another Amazon Web Services Region. *

*

* If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, * an error is returned. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

* The KMS key ID for an encrypted 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 cluster snapshot from your Amazon Web Services 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 cluster snapshot is encrypted with the same KMS key as the source * cluster snapshot. *

*

* If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services account, then you must * specify a value for KmsKeyId. *

*

* To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId to the KMS * key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. KMS encryption * keys are specific to the Amazon Web Services Region that they are created in, and you can't use encryption keys * from one Amazon Web Services Region in another Amazon Web Services Region. *

*

* If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, an error * is returned. *

* * @return The KMS key ID for an encrypted 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 cluster snapshot from your Amazon Web Services 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 cluster snapshot is encrypted with the same KMS key as * the source cluster snapshot. *

*

* If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services account, then * you must specify a value for KmsKeyId. *

*

* To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId to * the KMS key ID that you want to use to encrypt the copy of the cluster snapshot in the destination * Region. KMS encryption keys are specific to the Amazon Web Services Region that they are created in, and * you can't use encryption keys from one Amazon Web Services Region in another Amazon Web Services Region. *

*

* If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, * an error is returned. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

* The KMS key ID for an encrypted 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 cluster snapshot from your Amazon Web Services 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 cluster snapshot is encrypted with the same KMS key as the source * cluster snapshot. *

*

* If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services account, then you must * specify a value for KmsKeyId. *

*

* To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId to the KMS * key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. KMS encryption * keys are specific to the Amazon Web Services Region that they are created in, and you can't use encryption keys * from one Amazon Web Services Region in another Amazon Web Services Region. *

*

* If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, an error * is returned. *

* * @param kmsKeyId * The KMS key ID for an encrypted 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 cluster snapshot from your Amazon Web Services 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 cluster snapshot is encrypted with the same KMS key as the * source cluster snapshot. *

*

* If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services account, then * you must specify a value for KmsKeyId. *

*

* To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId to * the KMS key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. * KMS encryption keys are specific to the Amazon Web Services Region that they are created in, and you can't * use encryption keys from one Amazon Web Services Region in another Amazon Web Services Region. *

*

* If you copy an unencrypted 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; } /** *

* The URL that contains a Signature Version 4 signed request for theCopyDBClusterSnapshot API action * in the Amazon Web Services Region that contains the source cluster snapshot to copy. You must use the * PreSignedUrl parameter when copying a cluster snapshot from another Amazon Web Services Region. *

*

* If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or * --source-region for the CLI) instead of specifying PreSignedUrl manually. Specifying * SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be * executed in the source Amazon Web Services Region. *

*

* The presigned URL must be a valid request for the CopyDBClusterSnapshot API action that can be * executed in the source Amazon Web Services Region that contains the cluster snapshot to be copied. The presigned * URL request must contain the following parameter values: *

* * * @param preSignedUrl * The URL that contains a Signature Version 4 signed request for theCopyDBClusterSnapshot API * action in the Amazon Web Services Region that contains the source cluster snapshot to copy. You must use * the PreSignedUrl parameter when copying a cluster snapshot from another Amazon Web Services * Region.

*

* If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or * --source-region for the CLI) instead of specifying PreSignedUrl manually. * Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the * operation that can be executed in the source Amazon Web Services Region. *

*

* The presigned URL must be a valid request for the CopyDBClusterSnapshot API action that can * be executed in the source Amazon Web Services Region that contains the cluster snapshot to be copied. The * presigned URL request must contain the following parameter values: *

*