aws-sdk-docdb 1.106.0

AWS SDK for Amazon DocumentDB with MongoDB compatibility
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`RestoreDBClusterToPointInTime`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`db_cluster_identifier(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::db_cluster_identifier) / [`set_db_cluster_identifier(Option<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_db_cluster_identifier):<br>required: **true**<br><p>The name of the new cluster to be created.</p> <p>Constraints:</p> <ul>  <li>   <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>  <li>   <p>The first character must be a letter.</p></li>  <li>   <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li> </ul><br>
    ///   - [`restore_type(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::restore_type) / [`set_restore_type(Option<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_restore_type):<br>required: **false**<br><p>The type of restore to be performed. You can specify one of the following values:</p> <ul>  <li>   <p><code>full-copy</code> - The new DB cluster is restored as a full copy of the source DB cluster.</p></li>  <li>   <p><code>copy-on-write</code> - The new DB cluster is restored as a clone of the source DB cluster.</p></li> </ul> <p>Constraints: You can't specify <code>copy-on-write</code> if the engine version of the source DB cluster is earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value, then the new DB cluster is restored as a full copy of the source DB cluster.</p><br>
    ///   - [`source_db_cluster_identifier(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::source_db_cluster_identifier) / [`set_source_db_cluster_identifier(Option<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_source_db_cluster_identifier):<br>required: **true**<br><p>The identifier of the source cluster from which to restore.</p> <p>Constraints:</p> <ul>  <li>   <p>Must match the identifier of an existing <code>DBCluster</code>.</p></li> </ul><br>
    ///   - [`restore_to_time(DateTime)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::restore_to_time) / [`set_restore_to_time(Option<DateTime>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_restore_to_time):<br>required: **false**<br><p>The date and time to restore the cluster to.</p> <p>Valid values: A time in Universal Coordinated Time (UTC) format.</p> <p>Constraints:</p> <ul>  <li>   <p>Must be before the latest restorable time for the instance.</p></li>  <li>   <p>Must be specified if the <code>UseLatestRestorableTime</code> parameter is not provided.</p></li>  <li>   <p>Cannot be specified if the <code>UseLatestRestorableTime</code> parameter is <code>true</code>.</p></li>  <li>   <p>Cannot be specified if the <code>RestoreType</code> parameter is <code>copy-on-write</code>.</p></li> </ul> <p>Example: <code>2015-03-07T23:45:00Z</code></p><br>
    ///   - [`use_latest_restorable_time(bool)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::use_latest_restorable_time) / [`set_use_latest_restorable_time(Option<bool>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_use_latest_restorable_time):<br>required: **false**<br><p>A value that is set to <code>true</code> to restore the cluster to the latest restorable backup time, and <code>false</code> otherwise.</p> <p>Default: <code>false</code></p> <p>Constraints: Cannot be specified if the <code>RestoreToTime</code> parameter is provided.</p><br>
    ///   - [`port(i32)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::port) / [`set_port(Option<i32>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_port):<br>required: **false**<br><p>The port number on which the new cluster accepts connections.</p> <p>Constraints: Must be a value from <code>1150</code> to <code>65535</code>.</p> <p>Default: The default port for the engine.</p><br>
    ///   - [`db_subnet_group_name(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::db_subnet_group_name) / [`set_db_subnet_group_name(Option<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_db_subnet_group_name):<br>required: **false**<br><p>The subnet group name to use for the new cluster.</p> <p>Constraints: If provided, must match the name of an existing <code>DBSubnetGroup</code>.</p> <p>Example: <code>mySubnetgroup</code></p><br>
    ///   - [`vpc_security_group_ids(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::vpc_security_group_ids) / [`set_vpc_security_group_ids(Option<Vec::<String>>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_vpc_security_group_ids):<br>required: **false**<br><p>A list of VPC security groups that the new cluster belongs to.</p><br>
    ///   - [`tags(Tag)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to be assigned to the restored cluster.</p><br>
    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The KMS key identifier to use when restoring an encrypted cluster from an encrypted cluster.</p> <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a cluster with the same Amazon Web Services account that owns the KMS encryption key used to encrypt the new cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.</p> <p>You can restore to a new cluster and encrypt the new cluster with an KMS key that is different from the KMS key used to encrypt the source cluster. The new DB cluster is encrypted with the KMS key identified by the <code>KmsKeyId</code> parameter.</p> <p>If you do not specify a value for the <code>KmsKeyId</code> parameter, then the following occurs:</p> <ul>  <li>   <p>If the cluster is encrypted, then the restored cluster is encrypted using the KMS key that was used to encrypt the source cluster.</p></li>  <li>   <p>If the cluster is not encrypted, then the restored cluster is not encrypted.</p></li> </ul> <p>If <code>DBClusterIdentifier</code> refers to a cluster that is not encrypted, then the restore request is rejected.</p><br>
    ///   - [`enable_cloudwatch_logs_exports(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::enable_cloudwatch_logs_exports) / [`set_enable_cloudwatch_logs_exports(Option<Vec::<String>>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_enable_cloudwatch_logs_exports):<br>required: **false**<br><p>A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.</p><br>
    ///   - [`deletion_protection(bool)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::deletion_protection) / [`set_deletion_protection(Option<bool>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_deletion_protection):<br>required: **false**<br><p>Specifies whether this cluster can be deleted. If <code>DeletionProtection</code> is enabled, the cluster cannot be deleted unless it is modified and <code>DeletionProtection</code> is disabled. <code>DeletionProtection</code> protects clusters from being accidentally deleted.</p><br>
    ///   - [`serverless_v2_scaling_configuration(ServerlessV2ScalingConfiguration)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::serverless_v2_scaling_configuration) / [`set_serverless_v2_scaling_configuration(Option<ServerlessV2ScalingConfiguration>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_serverless_v2_scaling_configuration):<br>required: **false**<br><p>Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.</p><br>
    ///   - [`storage_type(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::storage_type) / [`set_storage_type(Option<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_storage_type):<br>required: **false**<br><p>The storage type to associate with the DB cluster.</p> <p>For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the <i>Amazon DocumentDB Developer Guide</i>.</p> <p>Valid values for storage type - <code>standard | iopt1</code></p> <p>Default value is <code>standard </code></p><br>
    ///   - [`network_type(impl Into<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::network_type) / [`set_network_type(Option<String>)`](crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::set_network_type):<br>required: **false**<br><p>The network type of the cluster.</p> <p>The network type is determined by the <code>DBSubnetGroup</code> specified for the cluster. A <code>DBSubnetGroup</code> can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (<code>DUAL</code>).</p> <p>For more information, see <a href="https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html">DocumentDB clusters in a VPC</a> in the Amazon DocumentDB Developer Guide.</p> <p>Valid Values: <code>IPV4</code> | <code>DUAL</code></p><br>
    /// - On success, responds with [`RestoreDbClusterToPointInTimeOutput`](crate::operation::restore_db_cluster_to_point_in_time::RestoreDbClusterToPointInTimeOutput) with field(s):
    ///   - [`db_cluster(Option<DbCluster>)`](crate::operation::restore_db_cluster_to_point_in_time::RestoreDbClusterToPointInTimeOutput::db_cluster): <p>Detailed information about a cluster.</p>
    /// - On failure, responds with [`SdkError<RestoreDBClusterToPointInTimeError>`](crate::operation::restore_db_cluster_to_point_in_time::RestoreDBClusterToPointInTimeError)
    pub fn restore_db_cluster_to_point_in_time(
        &self,
    ) -> crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder {
        crate::operation::restore_db_cluster_to_point_in_time::builders::RestoreDBClusterToPointInTimeFluentBuilder::new(self.handle.clone())
    }
}