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

com.pulumi.azurenative.documentdb.inputs.RestoreParametersArgs Maven / Gradle / Ivy

The 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.azurenative.documentdb.inputs;

import com.pulumi.azurenative.documentdb.enums.RestoreMode;
import com.pulumi.azurenative.documentdb.inputs.DatabaseRestoreResourceArgs;
import com.pulumi.azurenative.documentdb.inputs.GremlinDatabaseRestoreResourceArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Parameters to indicate the information about the restore.
 * 
 */
public final class RestoreParametersArgs extends com.pulumi.resources.ResourceArgs {

    public static final RestoreParametersArgs Empty = new RestoreParametersArgs();

    /**
     * List of specific databases available for restore.
     * 
     */
    @Import(name="databasesToRestore")
    private @Nullable Output> databasesToRestore;

    /**
     * @return List of specific databases available for restore.
     * 
     */
    public Optional>> databasesToRestore() {
        return Optional.ofNullable(this.databasesToRestore);
    }

    /**
     * List of specific gremlin databases available for restore.
     * 
     */
    @Import(name="gremlinDatabasesToRestore")
    private @Nullable Output> gremlinDatabasesToRestore;

    /**
     * @return List of specific gremlin databases available for restore.
     * 
     */
    public Optional>> gremlinDatabasesToRestore() {
        return Optional.ofNullable(this.gremlinDatabasesToRestore);
    }

    /**
     * Describes the mode of the restore.
     * 
     */
    @Import(name="restoreMode")
    private @Nullable Output> restoreMode;

    /**
     * @return Describes the mode of the restore.
     * 
     */
    public Optional>> restoreMode() {
        return Optional.ofNullable(this.restoreMode);
    }

    /**
     * The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}
     * 
     */
    @Import(name="restoreSource")
    private @Nullable Output restoreSource;

    /**
     * @return The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}
     * 
     */
    public Optional> restoreSource() {
        return Optional.ofNullable(this.restoreSource);
    }

    /**
     * Time to which the account has to be restored (ISO-8601 format).
     * 
     */
    @Import(name="restoreTimestampInUtc")
    private @Nullable Output restoreTimestampInUtc;

    /**
     * @return Time to which the account has to be restored (ISO-8601 format).
     * 
     */
    public Optional> restoreTimestampInUtc() {
        return Optional.ofNullable(this.restoreTimestampInUtc);
    }

    /**
     * List of specific tables available for restore.
     * 
     */
    @Import(name="tablesToRestore")
    private @Nullable Output> tablesToRestore;

    /**
     * @return List of specific tables available for restore.
     * 
     */
    public Optional>> tablesToRestore() {
        return Optional.ofNullable(this.tablesToRestore);
    }

    private RestoreParametersArgs() {}

    private RestoreParametersArgs(RestoreParametersArgs $) {
        this.databasesToRestore = $.databasesToRestore;
        this.gremlinDatabasesToRestore = $.gremlinDatabasesToRestore;
        this.restoreMode = $.restoreMode;
        this.restoreSource = $.restoreSource;
        this.restoreTimestampInUtc = $.restoreTimestampInUtc;
        this.tablesToRestore = $.tablesToRestore;
    }

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

    public static final class Builder {
        private RestoreParametersArgs $;

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

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

        /**
         * @param databasesToRestore List of specific databases available for restore.
         * 
         * @return builder
         * 
         */
        public Builder databasesToRestore(@Nullable Output> databasesToRestore) {
            $.databasesToRestore = databasesToRestore;
            return this;
        }

        /**
         * @param databasesToRestore List of specific databases available for restore.
         * 
         * @return builder
         * 
         */
        public Builder databasesToRestore(List databasesToRestore) {
            return databasesToRestore(Output.of(databasesToRestore));
        }

        /**
         * @param databasesToRestore List of specific databases available for restore.
         * 
         * @return builder
         * 
         */
        public Builder databasesToRestore(DatabaseRestoreResourceArgs... databasesToRestore) {
            return databasesToRestore(List.of(databasesToRestore));
        }

        /**
         * @param gremlinDatabasesToRestore List of specific gremlin databases available for restore.
         * 
         * @return builder
         * 
         */
        public Builder gremlinDatabasesToRestore(@Nullable Output> gremlinDatabasesToRestore) {
            $.gremlinDatabasesToRestore = gremlinDatabasesToRestore;
            return this;
        }

        /**
         * @param gremlinDatabasesToRestore List of specific gremlin databases available for restore.
         * 
         * @return builder
         * 
         */
        public Builder gremlinDatabasesToRestore(List gremlinDatabasesToRestore) {
            return gremlinDatabasesToRestore(Output.of(gremlinDatabasesToRestore));
        }

        /**
         * @param gremlinDatabasesToRestore List of specific gremlin databases available for restore.
         * 
         * @return builder
         * 
         */
        public Builder gremlinDatabasesToRestore(GremlinDatabaseRestoreResourceArgs... gremlinDatabasesToRestore) {
            return gremlinDatabasesToRestore(List.of(gremlinDatabasesToRestore));
        }

        /**
         * @param restoreMode Describes the mode of the restore.
         * 
         * @return builder
         * 
         */
        public Builder restoreMode(@Nullable Output> restoreMode) {
            $.restoreMode = restoreMode;
            return this;
        }

        /**
         * @param restoreMode Describes the mode of the restore.
         * 
         * @return builder
         * 
         */
        public Builder restoreMode(Either restoreMode) {
            return restoreMode(Output.of(restoreMode));
        }

        /**
         * @param restoreMode Describes the mode of the restore.
         * 
         * @return builder
         * 
         */
        public Builder restoreMode(String restoreMode) {
            return restoreMode(Either.ofLeft(restoreMode));
        }

        /**
         * @param restoreMode Describes the mode of the restore.
         * 
         * @return builder
         * 
         */
        public Builder restoreMode(RestoreMode restoreMode) {
            return restoreMode(Either.ofRight(restoreMode));
        }

        /**
         * @param restoreSource The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}
         * 
         * @return builder
         * 
         */
        public Builder restoreSource(@Nullable Output restoreSource) {
            $.restoreSource = restoreSource;
            return this;
        }

        /**
         * @param restoreSource The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}
         * 
         * @return builder
         * 
         */
        public Builder restoreSource(String restoreSource) {
            return restoreSource(Output.of(restoreSource));
        }

        /**
         * @param restoreTimestampInUtc Time to which the account has to be restored (ISO-8601 format).
         * 
         * @return builder
         * 
         */
        public Builder restoreTimestampInUtc(@Nullable Output restoreTimestampInUtc) {
            $.restoreTimestampInUtc = restoreTimestampInUtc;
            return this;
        }

        /**
         * @param restoreTimestampInUtc Time to which the account has to be restored (ISO-8601 format).
         * 
         * @return builder
         * 
         */
        public Builder restoreTimestampInUtc(String restoreTimestampInUtc) {
            return restoreTimestampInUtc(Output.of(restoreTimestampInUtc));
        }

        /**
         * @param tablesToRestore List of specific tables available for restore.
         * 
         * @return builder
         * 
         */
        public Builder tablesToRestore(@Nullable Output> tablesToRestore) {
            $.tablesToRestore = tablesToRestore;
            return this;
        }

        /**
         * @param tablesToRestore List of specific tables available for restore.
         * 
         * @return builder
         * 
         */
        public Builder tablesToRestore(List tablesToRestore) {
            return tablesToRestore(Output.of(tablesToRestore));
        }

        /**
         * @param tablesToRestore List of specific tables available for restore.
         * 
         * @return builder
         * 
         */
        public Builder tablesToRestore(String... tablesToRestore) {
            return tablesToRestore(List.of(tablesToRestore));
        }

        public RestoreParametersArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy