/* * 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.docdbelastic.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 RestoreClusterFromSnapshotRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The name of the Elastic DocumentDB cluster. *
*/ private String clusterName; /** ** The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. *
** The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of * the ARN as the KMS encryption key. *
** If an encryption key is not specified here, Elastic DocumentDB uses the default encryption key that KMS creates * for your account. Your account has a different default encryption key for each Amazon Region. *
*/ private String kmsKeyId; /** ** The arn of the Elastic DocumentDB snapshot. *
*/ private String snapshotArn; /** ** The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. *
*/ private java.util.List* A list of the tag names to be assigned to the restored DB cluster, in the form of an array of key-value pairs in * which the key is the tag name and the value is the key value. *
*/ private java.util.Map* A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. *
*/ private java.util.List* The name of the Elastic DocumentDB cluster. *
* * @param clusterName * The name of the Elastic DocumentDB cluster. */ public void setClusterName(String clusterName) { this.clusterName = clusterName; } /** ** The name of the Elastic DocumentDB cluster. *
* * @return The name of the Elastic DocumentDB cluster. */ public String getClusterName() { return this.clusterName; } /** ** The name of the Elastic DocumentDB cluster. *
* * @param clusterName * The name of the Elastic DocumentDB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withClusterName(String clusterName) { setClusterName(clusterName); return this; } /** ** The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. *
** The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of * the ARN as the KMS encryption key. *
** If an encryption key is not specified here, Elastic DocumentDB uses the default encryption key that KMS creates * for your account. Your account has a different default encryption key for each Amazon Region. *
* * @param kmsKeyId * The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. ** The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias * instead of the ARN as the KMS encryption key. *
** If an encryption key is not specified here, Elastic DocumentDB uses the default encryption key that KMS * creates for your account. Your account has a different default encryption key for each Amazon Region. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *
* The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. *
** The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of * the ARN as the KMS encryption key. *
** If an encryption key is not specified here, Elastic DocumentDB uses the default encryption key that KMS creates * for your account. Your account has a different default encryption key for each Amazon Region. *
* * @return The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. ** The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating * a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias * instead of the ARN as the KMS encryption key. *
** If an encryption key is not specified here, Elastic DocumentDB uses the default encryption key that KMS * creates for your account. Your account has a different default encryption key for each Amazon Region. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *
* The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. *
** The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of * the ARN as the KMS encryption key. *
** If an encryption key is not specified here, Elastic DocumentDB uses the default encryption key that KMS creates * for your account. Your account has a different default encryption key for each Amazon Region. *
* * @param kmsKeyId * The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. ** The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a * cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias * instead of the ARN as the KMS encryption key. *
** If an encryption key is not specified here, Elastic DocumentDB uses the default encryption key that KMS * creates for your account. Your account has a different default encryption key for each Amazon Region. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *
* The arn of the Elastic DocumentDB snapshot. *
* * @param snapshotArn * The arn of the Elastic DocumentDB snapshot. */ public void setSnapshotArn(String snapshotArn) { this.snapshotArn = snapshotArn; } /** ** The arn of the Elastic DocumentDB snapshot. *
* * @return The arn of the Elastic DocumentDB snapshot. */ public String getSnapshotArn() { return this.snapshotArn; } /** ** The arn of the Elastic DocumentDB snapshot. *
* * @param snapshotArn * The arn of the Elastic DocumentDB snapshot. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withSnapshotArn(String snapshotArn) { setSnapshotArn(snapshotArn); return this; } /** ** The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. *
* * @return The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. */ public java.util.List* The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. *
* * @param subnetIds * The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. */ public void setSubnetIds(java.util.Collection* The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSubnetIds(java.util.Collection)} or {@link #withSubnetIds(java.util.Collection)} if you want to * override the existing values. *
* * @param subnetIds * The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withSubnetIds(String... subnetIds) { if (this.subnetIds == null) { setSubnetIds(new java.util.ArrayList* The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. *
* * @param subnetIds * The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withSubnetIds(java.util.Collection* A list of the tag names to be assigned to the restored DB cluster, in the form of an array of key-value pairs in * which the key is the tag name and the value is the key value. *
* * @return A list of the tag names to be assigned to the restored DB cluster, in the form of an array of key-value * pairs in which the key is the tag name and the value is the key value. */ public java.util.Map* A list of the tag names to be assigned to the restored DB cluster, in the form of an array of key-value pairs in * which the key is the tag name and the value is the key value. *
* * @param tags * A list of the tag names to be assigned to the restored DB cluster, in the form of an array of key-value * pairs in which the key is the tag name and the value is the key value. */ public void setTags(java.util.Map* A list of the tag names to be assigned to the restored DB cluster, in the form of an array of key-value pairs in * which the key is the tag name and the value is the key value. *
* * @param tags * A list of the tag names to be assigned to the restored DB cluster, in the form of an array of key-value * pairs in which the key is the tag name and the value is the key value. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withTags(java.util.Map* A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. *
* * @return A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. */ public java.util.List* A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. *
* * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. */ public void setVpcSecurityGroupIds(java.util.Collection* A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setVpcSecurityGroupIds(java.util.Collection)} or {@link #withVpcSecurityGroupIds(java.util.Collection)} * if you want to override the existing values. *
* * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withVpcSecurityGroupIds(String... vpcSecurityGroupIds) { if (this.vpcSecurityGroupIds == null) { setVpcSecurityGroupIds(new java.util.ArrayList* A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. *
* * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with the Elastic DocumentDB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreClusterFromSnapshotRequest withVpcSecurityGroupIds(java.util.Collection