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

com.pulumi.aws.docdb.inputs.ClusterRestoreToPointInTimeArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.docdb.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ClusterRestoreToPointInTimeArgs extends com.pulumi.resources.ResourceArgs {

    public static final ClusterRestoreToPointInTimeArgs Empty = new ClusterRestoreToPointInTimeArgs();

    /**
     * The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `use_latest_restorable_time`.
     * 
     */
    @Import(name="restoreToTime")
    private @Nullable Output restoreToTime;

    /**
     * @return The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `use_latest_restorable_time`.
     * 
     */
    public Optional> restoreToTime() {
        return Optional.ofNullable(this.restoreToTime);
    }

    /**
     * The type of restore to be performed. Valid values are `full-copy`, `copy-on-write`.
     * 
     */
    @Import(name="restoreType")
    private @Nullable Output restoreType;

    /**
     * @return The type of restore to be performed. Valid values are `full-copy`, `copy-on-write`.
     * 
     */
    public Optional> restoreType() {
        return Optional.ofNullable(this.restoreType);
    }

    /**
     * The identifier of the source DB cluster from which to restore. Must match the identifier of an existing DB cluster.
     * 
     */
    @Import(name="sourceClusterIdentifier", required=true)
    private Output sourceClusterIdentifier;

    /**
     * @return The identifier of the source DB cluster from which to restore. Must match the identifier of an existing DB cluster.
     * 
     */
    public Output sourceClusterIdentifier() {
        return this.sourceClusterIdentifier;
    }

    /**
     * A boolean value that indicates whether the DB cluster is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restore_to_time`.
     * 
     */
    @Import(name="useLatestRestorableTime")
    private @Nullable Output useLatestRestorableTime;

    /**
     * @return A boolean value that indicates whether the DB cluster is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restore_to_time`.
     * 
     */
    public Optional> useLatestRestorableTime() {
        return Optional.ofNullable(this.useLatestRestorableTime);
    }

    private ClusterRestoreToPointInTimeArgs() {}

    private ClusterRestoreToPointInTimeArgs(ClusterRestoreToPointInTimeArgs $) {
        this.restoreToTime = $.restoreToTime;
        this.restoreType = $.restoreType;
        this.sourceClusterIdentifier = $.sourceClusterIdentifier;
        this.useLatestRestorableTime = $.useLatestRestorableTime;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ClusterRestoreToPointInTimeArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ClusterRestoreToPointInTimeArgs $;

        public Builder() {
            $ = new ClusterRestoreToPointInTimeArgs();
        }

        public Builder(ClusterRestoreToPointInTimeArgs defaults) {
            $ = new ClusterRestoreToPointInTimeArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param restoreToTime The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `use_latest_restorable_time`.
         * 
         * @return builder
         * 
         */
        public Builder restoreToTime(@Nullable Output restoreToTime) {
            $.restoreToTime = restoreToTime;
            return this;
        }

        /**
         * @param restoreToTime The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `use_latest_restorable_time`.
         * 
         * @return builder
         * 
         */
        public Builder restoreToTime(String restoreToTime) {
            return restoreToTime(Output.of(restoreToTime));
        }

        /**
         * @param restoreType The type of restore to be performed. Valid values are `full-copy`, `copy-on-write`.
         * 
         * @return builder
         * 
         */
        public Builder restoreType(@Nullable Output restoreType) {
            $.restoreType = restoreType;
            return this;
        }

        /**
         * @param restoreType The type of restore to be performed. Valid values are `full-copy`, `copy-on-write`.
         * 
         * @return builder
         * 
         */
        public Builder restoreType(String restoreType) {
            return restoreType(Output.of(restoreType));
        }

        /**
         * @param sourceClusterIdentifier The identifier of the source DB cluster from which to restore. Must match the identifier of an existing DB cluster.
         * 
         * @return builder
         * 
         */
        public Builder sourceClusterIdentifier(Output sourceClusterIdentifier) {
            $.sourceClusterIdentifier = sourceClusterIdentifier;
            return this;
        }

        /**
         * @param sourceClusterIdentifier The identifier of the source DB cluster from which to restore. Must match the identifier of an existing DB cluster.
         * 
         * @return builder
         * 
         */
        public Builder sourceClusterIdentifier(String sourceClusterIdentifier) {
            return sourceClusterIdentifier(Output.of(sourceClusterIdentifier));
        }

        /**
         * @param useLatestRestorableTime A boolean value that indicates whether the DB cluster is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restore_to_time`.
         * 
         * @return builder
         * 
         */
        public Builder useLatestRestorableTime(@Nullable Output useLatestRestorableTime) {
            $.useLatestRestorableTime = useLatestRestorableTime;
            return this;
        }

        /**
         * @param useLatestRestorableTime A boolean value that indicates whether the DB cluster is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restore_to_time`.
         * 
         * @return builder
         * 
         */
        public Builder useLatestRestorableTime(Boolean useLatestRestorableTime) {
            return useLatestRestorableTime(Output.of(useLatestRestorableTime));
        }

        public ClusterRestoreToPointInTimeArgs build() {
            if ($.sourceClusterIdentifier == null) {
                throw new MissingRequiredPropertyException("ClusterRestoreToPointInTimeArgs", "sourceClusterIdentifier");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy