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

com.pulumi.snowflake.DatabaseOldArgs Maven / Gradle / Ivy

There is a newer version: 1.1.0
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.snowflake;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.snowflake.inputs.DatabaseOldReplicationConfigurationArgs;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DatabaseOldArgs Empty = new DatabaseOldArgs();

    /**
     * Specifies a comment for the database.
     * 
     */
    @Import(name="comment")
    private @Nullable Output comment;

    /**
     * @return Specifies a comment for the database.
     * 
     */
    public Optional> comment() {
        return Optional.ofNullable(this.comment);
    }

    /**
     * Number of days for which Snowflake retains historical data for performing Time Travel actions (SELECT, CLONE, UNDROP) on the object. A value of 0 effectively disables Time Travel for the specified database. Default value for this field is set to -1, which is a fallback to use Snowflake default. For more information, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
     * 
     */
    @Import(name="dataRetentionTimeInDays")
    private @Nullable Output dataRetentionTimeInDays;

    /**
     * @return Number of days for which Snowflake retains historical data for performing Time Travel actions (SELECT, CLONE, UNDROP) on the object. A value of 0 effectively disables Time Travel for the specified database. Default value for this field is set to -1, which is a fallback to use Snowflake default. For more information, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
     * 
     */
    public Optional> dataRetentionTimeInDays() {
        return Optional.ofNullable(this.dataRetentionTimeInDays);
    }

    /**
     * Specify a database to create a clone from.
     * 
     */
    @Import(name="fromDatabase")
    private @Nullable Output fromDatabase;

    /**
     * @return Specify a database to create a clone from.
     * 
     */
    public Optional> fromDatabase() {
        return Optional.ofNullable(this.fromDatabase);
    }

    /**
     * Specify a fully-qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<db_name>"`. An example would be: `"myorg1"."account1"."db1"`
     * 
     */
    @Import(name="fromReplica")
    private @Nullable Output fromReplica;

    /**
     * @return Specify a fully-qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<db_name>"`. An example would be: `"myorg1"."account1"."db1"`
     * 
     */
    public Optional> fromReplica() {
        return Optional.ofNullable(this.fromReplica);
    }

    /**
     * Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
     * 
     */
    @Import(name="fromShare")
    private @Nullable Output> fromShare;

    /**
     * @return Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
     * 
     */
    public Optional>> fromShare() {
        return Optional.ofNullable(this.fromShare);
    }

    /**
     * Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
     * 
     */
    @Import(name="isTransient")
    private @Nullable Output isTransient;

    /**
     * @return Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
     * 
     */
    public Optional> isTransient() {
        return Optional.ofNullable(this.isTransient);
    }

    /**
     * Specifies the identifier for the database; must be unique for your account.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the identifier for the database; must be unique for your account.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * When set, specifies the configurations for database replication.
     * 
     */
    @Import(name="replicationConfiguration")
    private @Nullable Output replicationConfiguration;

    /**
     * @return When set, specifies the configurations for database replication.
     * 
     */
    public Optional> replicationConfiguration() {
        return Optional.ofNullable(this.replicationConfiguration);
    }

    private DatabaseOldArgs() {}

    private DatabaseOldArgs(DatabaseOldArgs $) {
        this.comment = $.comment;
        this.dataRetentionTimeInDays = $.dataRetentionTimeInDays;
        this.fromDatabase = $.fromDatabase;
        this.fromReplica = $.fromReplica;
        this.fromShare = $.fromShare;
        this.isTransient = $.isTransient;
        this.name = $.name;
        this.replicationConfiguration = $.replicationConfiguration;
    }

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

    public static final class Builder {
        private DatabaseOldArgs $;

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

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

        /**
         * @param comment Specifies a comment for the database.
         * 
         * @return builder
         * 
         */
        public Builder comment(@Nullable Output comment) {
            $.comment = comment;
            return this;
        }

        /**
         * @param comment Specifies a comment for the database.
         * 
         * @return builder
         * 
         */
        public Builder comment(String comment) {
            return comment(Output.of(comment));
        }

        /**
         * @param dataRetentionTimeInDays Number of days for which Snowflake retains historical data for performing Time Travel actions (SELECT, CLONE, UNDROP) on the object. A value of 0 effectively disables Time Travel for the specified database. Default value for this field is set to -1, which is a fallback to use Snowflake default. For more information, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
         * 
         * @return builder
         * 
         */
        public Builder dataRetentionTimeInDays(@Nullable Output dataRetentionTimeInDays) {
            $.dataRetentionTimeInDays = dataRetentionTimeInDays;
            return this;
        }

        /**
         * @param dataRetentionTimeInDays Number of days for which Snowflake retains historical data for performing Time Travel actions (SELECT, CLONE, UNDROP) on the object. A value of 0 effectively disables Time Travel for the specified database. Default value for this field is set to -1, which is a fallback to use Snowflake default. For more information, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
         * 
         * @return builder
         * 
         */
        public Builder dataRetentionTimeInDays(Integer dataRetentionTimeInDays) {
            return dataRetentionTimeInDays(Output.of(dataRetentionTimeInDays));
        }

        /**
         * @param fromDatabase Specify a database to create a clone from.
         * 
         * @return builder
         * 
         */
        public Builder fromDatabase(@Nullable Output fromDatabase) {
            $.fromDatabase = fromDatabase;
            return this;
        }

        /**
         * @param fromDatabase Specify a database to create a clone from.
         * 
         * @return builder
         * 
         */
        public Builder fromDatabase(String fromDatabase) {
            return fromDatabase(Output.of(fromDatabase));
        }

        /**
         * @param fromReplica Specify a fully-qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<db_name>"`. An example would be: `"myorg1"."account1"."db1"`
         * 
         * @return builder
         * 
         */
        public Builder fromReplica(@Nullable Output fromReplica) {
            $.fromReplica = fromReplica;
            return this;
        }

        /**
         * @param fromReplica Specify a fully-qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<db_name>"`. An example would be: `"myorg1"."account1"."db1"`
         * 
         * @return builder
         * 
         */
        public Builder fromReplica(String fromReplica) {
            return fromReplica(Output.of(fromReplica));
        }

        /**
         * @param fromShare Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
         * 
         * @return builder
         * 
         */
        public Builder fromShare(@Nullable Output> fromShare) {
            $.fromShare = fromShare;
            return this;
        }

        /**
         * @param fromShare Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
         * 
         * @return builder
         * 
         */
        public Builder fromShare(Map fromShare) {
            return fromShare(Output.of(fromShare));
        }

        /**
         * @param isTransient Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
         * 
         * @return builder
         * 
         */
        public Builder isTransient(@Nullable Output isTransient) {
            $.isTransient = isTransient;
            return this;
        }

        /**
         * @param isTransient Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
         * 
         * @return builder
         * 
         */
        public Builder isTransient(Boolean isTransient) {
            return isTransient(Output.of(isTransient));
        }

        /**
         * @param name Specifies the identifier for the database; must be unique for your account.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the identifier for the database; must be unique for your account.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param replicationConfiguration When set, specifies the configurations for database replication.
         * 
         * @return builder
         * 
         */
        public Builder replicationConfiguration(@Nullable Output replicationConfiguration) {
            $.replicationConfiguration = replicationConfiguration;
            return this;
        }

        /**
         * @param replicationConfiguration When set, specifies the configurations for database replication.
         * 
         * @return builder
         * 
         */
        public Builder replicationConfiguration(DatabaseOldReplicationConfigurationArgs replicationConfiguration) {
            return replicationConfiguration(Output.of(replicationConfiguration));
        }

        public DatabaseOldArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy