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

com.pulumi.azurenative.streamanalytics.inputs.AzureSqlReferenceInputDataSourceArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.azurenative.streamanalytics.inputs;

import com.pulumi.azurenative.streamanalytics.enums.RefreshType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Describes an Azure SQL database reference input data source.
 * 
 */
public final class AzureSqlReferenceInputDataSourceArgs extends com.pulumi.resources.ResourceArgs {

    public static final AzureSqlReferenceInputDataSourceArgs Empty = new AzureSqlReferenceInputDataSourceArgs();

    /**
     * This element is associated with the datasource element. This is the name of the database that output will be written to.
     * 
     */
    @Import(name="database")
    private @Nullable Output database;

    /**
     * @return This element is associated with the datasource element. This is the name of the database that output will be written to.
     * 
     */
    public Optional> database() {
        return Optional.ofNullable(this.database);
    }

    /**
     * This element is associated with the datasource element. This query is used to fetch incremental changes from the SQL database. To use this option, we recommend using temporal tables in Azure SQL Database.
     * 
     */
    @Import(name="deltaSnapshotQuery")
    private @Nullable Output deltaSnapshotQuery;

    /**
     * @return This element is associated with the datasource element. This query is used to fetch incremental changes from the SQL database. To use this option, we recommend using temporal tables in Azure SQL Database.
     * 
     */
    public Optional> deltaSnapshotQuery() {
        return Optional.ofNullable(this.deltaSnapshotQuery);
    }

    /**
     * This element is associated with the datasource element. This query is used to fetch data from the sql database.
     * 
     */
    @Import(name="fullSnapshotQuery")
    private @Nullable Output fullSnapshotQuery;

    /**
     * @return This element is associated with the datasource element. This query is used to fetch data from the sql database.
     * 
     */
    public Optional> fullSnapshotQuery() {
        return Optional.ofNullable(this.fullSnapshotQuery);
    }

    /**
     * This element is associated with the datasource element. This is the password that will be used to connect to the SQL Database instance.
     * 
     */
    @Import(name="password")
    private @Nullable Output password;

    /**
     * @return This element is associated with the datasource element. This is the password that will be used to connect to the SQL Database instance.
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * This element is associated with the datasource element. This indicates how frequently the data will be fetched from the database. It is of DateTime format.
     * 
     */
    @Import(name="refreshRate")
    private @Nullable Output refreshRate;

    /**
     * @return This element is associated with the datasource element. This indicates how frequently the data will be fetched from the database. It is of DateTime format.
     * 
     */
    public Optional> refreshRate() {
        return Optional.ofNullable(this.refreshRate);
    }

    /**
     * Indicates the type of data refresh option.
     * 
     */
    @Import(name="refreshType")
    private @Nullable Output> refreshType;

    /**
     * @return Indicates the type of data refresh option.
     * 
     */
    public Optional>> refreshType() {
        return Optional.ofNullable(this.refreshType);
    }

    /**
     * This element is associated with the datasource element. This is the name of the server that contains the database that will be written to.
     * 
     */
    @Import(name="server")
    private @Nullable Output server;

    /**
     * @return This element is associated with the datasource element. This is the name of the server that contains the database that will be written to.
     * 
     */
    public Optional> server() {
        return Optional.ofNullable(this.server);
    }

    /**
     * This element is associated with the datasource element. The name of the table in the Azure SQL database..
     * 
     */
    @Import(name="table")
    private @Nullable Output table;

    /**
     * @return This element is associated with the datasource element. The name of the table in the Azure SQL database..
     * 
     */
    public Optional> table() {
        return Optional.ofNullable(this.table);
    }

    /**
     * Indicates the type of input data source containing reference data. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'Microsoft.Sql/Server/Database'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Indicates the type of input data source containing reference data. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'Microsoft.Sql/Server/Database'.
     * 
     */
    public Output type() {
        return this.type;
    }

    /**
     * This element is associated with the datasource element. This is the user name that will be used to connect to the SQL Database instance.
     * 
     */
    @Import(name="user")
    private @Nullable Output user;

    /**
     * @return This element is associated with the datasource element. This is the user name that will be used to connect to the SQL Database instance.
     * 
     */
    public Optional> user() {
        return Optional.ofNullable(this.user);
    }

    private AzureSqlReferenceInputDataSourceArgs() {}

    private AzureSqlReferenceInputDataSourceArgs(AzureSqlReferenceInputDataSourceArgs $) {
        this.database = $.database;
        this.deltaSnapshotQuery = $.deltaSnapshotQuery;
        this.fullSnapshotQuery = $.fullSnapshotQuery;
        this.password = $.password;
        this.refreshRate = $.refreshRate;
        this.refreshType = $.refreshType;
        this.server = $.server;
        this.table = $.table;
        this.type = $.type;
        this.user = $.user;
    }

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

    public static final class Builder {
        private AzureSqlReferenceInputDataSourceArgs $;

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

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

        /**
         * @param database This element is associated with the datasource element. This is the name of the database that output will be written to.
         * 
         * @return builder
         * 
         */
        public Builder database(@Nullable Output database) {
            $.database = database;
            return this;
        }

        /**
         * @param database This element is associated with the datasource element. This is the name of the database that output will be written to.
         * 
         * @return builder
         * 
         */
        public Builder database(String database) {
            return database(Output.of(database));
        }

        /**
         * @param deltaSnapshotQuery This element is associated with the datasource element. This query is used to fetch incremental changes from the SQL database. To use this option, we recommend using temporal tables in Azure SQL Database.
         * 
         * @return builder
         * 
         */
        public Builder deltaSnapshotQuery(@Nullable Output deltaSnapshotQuery) {
            $.deltaSnapshotQuery = deltaSnapshotQuery;
            return this;
        }

        /**
         * @param deltaSnapshotQuery This element is associated with the datasource element. This query is used to fetch incremental changes from the SQL database. To use this option, we recommend using temporal tables in Azure SQL Database.
         * 
         * @return builder
         * 
         */
        public Builder deltaSnapshotQuery(String deltaSnapshotQuery) {
            return deltaSnapshotQuery(Output.of(deltaSnapshotQuery));
        }

        /**
         * @param fullSnapshotQuery This element is associated with the datasource element. This query is used to fetch data from the sql database.
         * 
         * @return builder
         * 
         */
        public Builder fullSnapshotQuery(@Nullable Output fullSnapshotQuery) {
            $.fullSnapshotQuery = fullSnapshotQuery;
            return this;
        }

        /**
         * @param fullSnapshotQuery This element is associated with the datasource element. This query is used to fetch data from the sql database.
         * 
         * @return builder
         * 
         */
        public Builder fullSnapshotQuery(String fullSnapshotQuery) {
            return fullSnapshotQuery(Output.of(fullSnapshotQuery));
        }

        /**
         * @param password This element is associated with the datasource element. This is the password that will be used to connect to the SQL Database instance.
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output password) {
            $.password = password;
            return this;
        }

        /**
         * @param password This element is associated with the datasource element. This is the password that will be used to connect to the SQL Database instance.
         * 
         * @return builder
         * 
         */
        public Builder password(String password) {
            return password(Output.of(password));
        }

        /**
         * @param refreshRate This element is associated with the datasource element. This indicates how frequently the data will be fetched from the database. It is of DateTime format.
         * 
         * @return builder
         * 
         */
        public Builder refreshRate(@Nullable Output refreshRate) {
            $.refreshRate = refreshRate;
            return this;
        }

        /**
         * @param refreshRate This element is associated with the datasource element. This indicates how frequently the data will be fetched from the database. It is of DateTime format.
         * 
         * @return builder
         * 
         */
        public Builder refreshRate(String refreshRate) {
            return refreshRate(Output.of(refreshRate));
        }

        /**
         * @param refreshType Indicates the type of data refresh option.
         * 
         * @return builder
         * 
         */
        public Builder refreshType(@Nullable Output> refreshType) {
            $.refreshType = refreshType;
            return this;
        }

        /**
         * @param refreshType Indicates the type of data refresh option.
         * 
         * @return builder
         * 
         */
        public Builder refreshType(Either refreshType) {
            return refreshType(Output.of(refreshType));
        }

        /**
         * @param refreshType Indicates the type of data refresh option.
         * 
         * @return builder
         * 
         */
        public Builder refreshType(String refreshType) {
            return refreshType(Either.ofLeft(refreshType));
        }

        /**
         * @param refreshType Indicates the type of data refresh option.
         * 
         * @return builder
         * 
         */
        public Builder refreshType(RefreshType refreshType) {
            return refreshType(Either.ofRight(refreshType));
        }

        /**
         * @param server This element is associated with the datasource element. This is the name of the server that contains the database that will be written to.
         * 
         * @return builder
         * 
         */
        public Builder server(@Nullable Output server) {
            $.server = server;
            return this;
        }

        /**
         * @param server This element is associated with the datasource element. This is the name of the server that contains the database that will be written to.
         * 
         * @return builder
         * 
         */
        public Builder server(String server) {
            return server(Output.of(server));
        }

        /**
         * @param table This element is associated with the datasource element. The name of the table in the Azure SQL database..
         * 
         * @return builder
         * 
         */
        public Builder table(@Nullable Output table) {
            $.table = table;
            return this;
        }

        /**
         * @param table This element is associated with the datasource element. The name of the table in the Azure SQL database..
         * 
         * @return builder
         * 
         */
        public Builder table(String table) {
            return table(Output.of(table));
        }

        /**
         * @param type Indicates the type of input data source containing reference data. Required on PUT (CreateOrReplace) requests.
         * Expected value is 'Microsoft.Sql/Server/Database'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Indicates the type of input data source containing reference data. Required on PUT (CreateOrReplace) requests.
         * Expected value is 'Microsoft.Sql/Server/Database'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param user This element is associated with the datasource element. This is the user name that will be used to connect to the SQL Database instance.
         * 
         * @return builder
         * 
         */
        public Builder user(@Nullable Output user) {
            $.user = user;
            return this;
        }

        /**
         * @param user This element is associated with the datasource element. This is the user name that will be used to connect to the SQL Database instance.
         * 
         * @return builder
         * 
         */
        public Builder user(String user) {
            return user(Output.of(user));
        }

        public AzureSqlReferenceInputDataSourceArgs build() {
            $.type = Codegen.stringProp("type").output().arg($.type).require();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy