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

com.pulumi.azurenative.streamanalytics.inputs.BlobOutputDataSourceArgs 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.streamanalytics.inputs;

import com.pulumi.azurenative.streamanalytics.enums.AuthenticationMode;
import com.pulumi.azurenative.streamanalytics.inputs.StorageAccountArgs;
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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Describes a blob output data source.
 * 
 */
public final class BlobOutputDataSourceArgs extends com.pulumi.resources.ResourceArgs {

    public static final BlobOutputDataSourceArgs Empty = new BlobOutputDataSourceArgs();

    /**
     * Authentication Mode.
     * 
     */
    @Import(name="authenticationMode")
    private @Nullable Output> authenticationMode;

    /**
     * @return Authentication Mode.
     * 
     */
    public Optional>> authenticationMode() {
        return Optional.ofNullable(this.authenticationMode);
    }

    /**
     * Blob path prefix.
     * 
     */
    @Import(name="blobPathPrefix")
    private @Nullable Output blobPathPrefix;

    /**
     * @return Blob path prefix.
     * 
     */
    public Optional> blobPathPrefix() {
        return Optional.ofNullable(this.blobPathPrefix);
    }

    /**
     * The name of a container within the associated Storage account. This container contains either the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests.
     * 
     */
    @Import(name="container")
    private @Nullable Output container;

    /**
     * @return The name of a container within the associated Storage account. This container contains either the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional> container() {
        return Optional.ofNullable(this.container);
    }

    /**
     * The date format. Wherever {date} appears in pathPattern, the value of this property is used as the date format instead.
     * 
     */
    @Import(name="dateFormat")
    private @Nullable Output dateFormat;

    /**
     * @return The date format. Wherever {date} appears in pathPattern, the value of this property is used as the date format instead.
     * 
     */
    public Optional> dateFormat() {
        return Optional.ofNullable(this.dateFormat);
    }

    /**
     * The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more detailed explanation and example.
     * 
     */
    @Import(name="pathPattern")
    private @Nullable Output pathPattern;

    /**
     * @return The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more detailed explanation and example.
     * 
     */
    public Optional> pathPattern() {
        return Optional.ofNullable(this.pathPattern);
    }

    /**
     * A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests.
     * 
     */
    @Import(name="storageAccounts")
    private @Nullable Output> storageAccounts;

    /**
     * @return A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional>> storageAccounts() {
        return Optional.ofNullable(this.storageAccounts);
    }

    /**
     * The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead.
     * 
     */
    @Import(name="timeFormat")
    private @Nullable Output timeFormat;

    /**
     * @return The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead.
     * 
     */
    public Optional> timeFormat() {
        return Optional.ofNullable(this.timeFormat);
    }

    /**
     * Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'Microsoft.Storage/Blob'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'Microsoft.Storage/Blob'.
     * 
     */
    public Output type() {
        return this.type;
    }

    private BlobOutputDataSourceArgs() {}

    private BlobOutputDataSourceArgs(BlobOutputDataSourceArgs $) {
        this.authenticationMode = $.authenticationMode;
        this.blobPathPrefix = $.blobPathPrefix;
        this.container = $.container;
        this.dateFormat = $.dateFormat;
        this.pathPattern = $.pathPattern;
        this.storageAccounts = $.storageAccounts;
        this.timeFormat = $.timeFormat;
        this.type = $.type;
    }

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

    public static final class Builder {
        private BlobOutputDataSourceArgs $;

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

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

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(@Nullable Output> authenticationMode) {
            $.authenticationMode = authenticationMode;
            return this;
        }

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(Either authenticationMode) {
            return authenticationMode(Output.of(authenticationMode));
        }

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(String authenticationMode) {
            return authenticationMode(Either.ofLeft(authenticationMode));
        }

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(AuthenticationMode authenticationMode) {
            return authenticationMode(Either.ofRight(authenticationMode));
        }

        /**
         * @param blobPathPrefix Blob path prefix.
         * 
         * @return builder
         * 
         */
        public Builder blobPathPrefix(@Nullable Output blobPathPrefix) {
            $.blobPathPrefix = blobPathPrefix;
            return this;
        }

        /**
         * @param blobPathPrefix Blob path prefix.
         * 
         * @return builder
         * 
         */
        public Builder blobPathPrefix(String blobPathPrefix) {
            return blobPathPrefix(Output.of(blobPathPrefix));
        }

        /**
         * @param container The name of a container within the associated Storage account. This container contains either the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder container(@Nullable Output container) {
            $.container = container;
            return this;
        }

        /**
         * @param container The name of a container within the associated Storage account. This container contains either the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder container(String container) {
            return container(Output.of(container));
        }

        /**
         * @param dateFormat The date format. Wherever {date} appears in pathPattern, the value of this property is used as the date format instead.
         * 
         * @return builder
         * 
         */
        public Builder dateFormat(@Nullable Output dateFormat) {
            $.dateFormat = dateFormat;
            return this;
        }

        /**
         * @param dateFormat The date format. Wherever {date} appears in pathPattern, the value of this property is used as the date format instead.
         * 
         * @return builder
         * 
         */
        public Builder dateFormat(String dateFormat) {
            return dateFormat(Output.of(dateFormat));
        }

        /**
         * @param pathPattern The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more detailed explanation and example.
         * 
         * @return builder
         * 
         */
        public Builder pathPattern(@Nullable Output pathPattern) {
            $.pathPattern = pathPattern;
            return this;
        }

        /**
         * @param pathPattern The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more detailed explanation and example.
         * 
         * @return builder
         * 
         */
        public Builder pathPattern(String pathPattern) {
            return pathPattern(Output.of(pathPattern));
        }

        /**
         * @param storageAccounts A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(@Nullable Output> storageAccounts) {
            $.storageAccounts = storageAccounts;
            return this;
        }

        /**
         * @param storageAccounts A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(List storageAccounts) {
            return storageAccounts(Output.of(storageAccounts));
        }

        /**
         * @param storageAccounts A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(StorageAccountArgs... storageAccounts) {
            return storageAccounts(List.of(storageAccounts));
        }

        /**
         * @param timeFormat The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead.
         * 
         * @return builder
         * 
         */
        public Builder timeFormat(@Nullable Output timeFormat) {
            $.timeFormat = timeFormat;
            return this;
        }

        /**
         * @param timeFormat The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead.
         * 
         * @return builder
         * 
         */
        public Builder timeFormat(String timeFormat) {
            return timeFormat(Output.of(timeFormat));
        }

        /**
         * @param type Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
         * Expected value is 'Microsoft.Storage/Blob'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
         * Expected value is 'Microsoft.Storage/Blob'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy