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

com.pulumi.azure.streamanalytics.OutputBlobArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.streamanalytics;

import com.pulumi.azure.streamanalytics.inputs.OutputBlobSerializationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final OutputBlobArgs Empty = new OutputBlobArgs();

    /**
     * The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.
     * 
     */
    @Import(name="authenticationMode")
    private @Nullable Output authenticationMode;

    /**
     * @return The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.
     * 
     */
    public Optional> authenticationMode() {
        return Optional.ofNullable(this.authenticationMode);
    }

    /**
     * The maximum wait time per batch in `hh:mm:ss` e.g. `00:02:00` for two minutes.
     * 
     */
    @Import(name="batchMaxWaitTime")
    private @Nullable Output batchMaxWaitTime;

    /**
     * @return The maximum wait time per batch in `hh:mm:ss` e.g. `00:02:00` for two minutes.
     * 
     */
    public Optional> batchMaxWaitTime() {
        return Optional.ofNullable(this.batchMaxWaitTime);
    }

    /**
     * The minimum number of rows per batch (must be between `0` and `1000000`).
     * 
     */
    @Import(name="batchMinRows")
    private @Nullable Output batchMinRows;

    /**
     * @return The minimum number of rows per batch (must be between `0` and `1000000`).
     * 
     */
    public Optional> batchMinRows() {
        return Optional.ofNullable(this.batchMinRows);
    }

    /**
     * Determines whether blob blocks are either committed automatically or appended. Possible values are `Append` and `Once`. Defaults to `Append`.
     * 
     */
    @Import(name="blobWriteMode")
    private @Nullable Output blobWriteMode;

    /**
     * @return Determines whether blob blocks are either committed automatically or appended. Possible values are `Append` and `Once`. Defaults to `Append`.
     * 
     */
    public Optional> blobWriteMode() {
        return Optional.ofNullable(this.blobWriteMode);
    }

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

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

    /**
     * The name of the Stream Output. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the Stream Output. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * 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.
     * 
     */
    @Import(name="pathPattern", required=true)
    private 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.
     * 
     */
    public Output pathPattern() {
        return this.pathPattern;
    }

    /**
     * The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * A `serialization` block as defined below.
     * 
     */
    @Import(name="serialization", required=true)
    private Output serialization;

    /**
     * @return A `serialization` block as defined below.
     * 
     */
    public Output serialization() {
        return this.serialization;
    }

    /**
     * The Access Key which should be used to connect to this Storage Account.
     * 
     */
    @Import(name="storageAccountKey")
    private @Nullable Output storageAccountKey;

    /**
     * @return The Access Key which should be used to connect to this Storage Account.
     * 
     */
    public Optional> storageAccountKey() {
        return Optional.ofNullable(this.storageAccountKey);
    }

    /**
     * The name of the Storage Account.
     * 
     */
    @Import(name="storageAccountName", required=true)
    private Output storageAccountName;

    /**
     * @return The name of the Storage Account.
     * 
     */
    public Output storageAccountName() {
        return this.storageAccountName;
    }

    /**
     * The name of the Container within the Storage Account.
     * 
     */
    @Import(name="storageContainerName", required=true)
    private Output storageContainerName;

    /**
     * @return The name of the Container within the Storage Account.
     * 
     */
    public Output storageContainerName() {
        return this.storageContainerName;
    }

    /**
     * The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="streamAnalyticsJobName", required=true)
    private Output streamAnalyticsJobName;

    /**
     * @return The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     * 
     */
    public Output streamAnalyticsJobName() {
        return this.streamAnalyticsJobName;
    }

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

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

    private OutputBlobArgs() {}

    private OutputBlobArgs(OutputBlobArgs $) {
        this.authenticationMode = $.authenticationMode;
        this.batchMaxWaitTime = $.batchMaxWaitTime;
        this.batchMinRows = $.batchMinRows;
        this.blobWriteMode = $.blobWriteMode;
        this.dateFormat = $.dateFormat;
        this.name = $.name;
        this.pathPattern = $.pathPattern;
        this.resourceGroupName = $.resourceGroupName;
        this.serialization = $.serialization;
        this.storageAccountKey = $.storageAccountKey;
        this.storageAccountName = $.storageAccountName;
        this.storageContainerName = $.storageContainerName;
        this.streamAnalyticsJobName = $.streamAnalyticsJobName;
        this.timeFormat = $.timeFormat;
    }

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

    public static final class Builder {
        private OutputBlobArgs $;

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

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

        /**
         * @param authenticationMode The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(@Nullable Output authenticationMode) {
            $.authenticationMode = authenticationMode;
            return this;
        }

        /**
         * @param authenticationMode The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(String authenticationMode) {
            return authenticationMode(Output.of(authenticationMode));
        }

        /**
         * @param batchMaxWaitTime The maximum wait time per batch in `hh:mm:ss` e.g. `00:02:00` for two minutes.
         * 
         * @return builder
         * 
         */
        public Builder batchMaxWaitTime(@Nullable Output batchMaxWaitTime) {
            $.batchMaxWaitTime = batchMaxWaitTime;
            return this;
        }

        /**
         * @param batchMaxWaitTime The maximum wait time per batch in `hh:mm:ss` e.g. `00:02:00` for two minutes.
         * 
         * @return builder
         * 
         */
        public Builder batchMaxWaitTime(String batchMaxWaitTime) {
            return batchMaxWaitTime(Output.of(batchMaxWaitTime));
        }

        /**
         * @param batchMinRows The minimum number of rows per batch (must be between `0` and `1000000`).
         * 
         * @return builder
         * 
         */
        public Builder batchMinRows(@Nullable Output batchMinRows) {
            $.batchMinRows = batchMinRows;
            return this;
        }

        /**
         * @param batchMinRows The minimum number of rows per batch (must be between `0` and `1000000`).
         * 
         * @return builder
         * 
         */
        public Builder batchMinRows(Integer batchMinRows) {
            return batchMinRows(Output.of(batchMinRows));
        }

        /**
         * @param blobWriteMode Determines whether blob blocks are either committed automatically or appended. Possible values are `Append` and `Once`. Defaults to `Append`.
         * 
         * @return builder
         * 
         */
        public Builder blobWriteMode(@Nullable Output blobWriteMode) {
            $.blobWriteMode = blobWriteMode;
            return this;
        }

        /**
         * @param blobWriteMode Determines whether blob blocks are either committed automatically or appended. Possible values are `Append` and `Once`. Defaults to `Append`.
         * 
         * @return builder
         * 
         */
        public Builder blobWriteMode(String blobWriteMode) {
            return blobWriteMode(Output.of(blobWriteMode));
        }

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

        /**
         * @param dateFormat The date format. Wherever `{date}` appears in `path_pattern`, 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 name The name of the Stream Output. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the Stream Output. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @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.
         * 
         * @return builder
         * 
         */
        public Builder pathPattern(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.
         * 
         * @return builder
         * 
         */
        public Builder pathPattern(String pathPattern) {
            return pathPattern(Output.of(pathPattern));
        }

        /**
         * @param resourceGroupName The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param serialization A `serialization` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder serialization(Output serialization) {
            $.serialization = serialization;
            return this;
        }

        /**
         * @param serialization A `serialization` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder serialization(OutputBlobSerializationArgs serialization) {
            return serialization(Output.of(serialization));
        }

        /**
         * @param storageAccountKey The Access Key which should be used to connect to this Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountKey(@Nullable Output storageAccountKey) {
            $.storageAccountKey = storageAccountKey;
            return this;
        }

        /**
         * @param storageAccountKey The Access Key which should be used to connect to this Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountKey(String storageAccountKey) {
            return storageAccountKey(Output.of(storageAccountKey));
        }

        /**
         * @param storageAccountName The name of the Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountName(Output storageAccountName) {
            $.storageAccountName = storageAccountName;
            return this;
        }

        /**
         * @param storageAccountName The name of the Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountName(String storageAccountName) {
            return storageAccountName(Output.of(storageAccountName));
        }

        /**
         * @param storageContainerName The name of the Container within the Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder storageContainerName(Output storageContainerName) {
            $.storageContainerName = storageContainerName;
            return this;
        }

        /**
         * @param storageContainerName The name of the Container within the Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder storageContainerName(String storageContainerName) {
            return storageContainerName(Output.of(storageContainerName));
        }

        /**
         * @param streamAnalyticsJobName The name of the Stream Analytics Job. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder streamAnalyticsJobName(Output streamAnalyticsJobName) {
            $.streamAnalyticsJobName = streamAnalyticsJobName;
            return this;
        }

        /**
         * @param streamAnalyticsJobName The name of the Stream Analytics Job. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder streamAnalyticsJobName(String streamAnalyticsJobName) {
            return streamAnalyticsJobName(Output.of(streamAnalyticsJobName));
        }

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

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

        public OutputBlobArgs build() {
            if ($.dateFormat == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "dateFormat");
            }
            if ($.pathPattern == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "pathPattern");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "resourceGroupName");
            }
            if ($.serialization == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "serialization");
            }
            if ($.storageAccountName == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "storageAccountName");
            }
            if ($.storageContainerName == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "storageContainerName");
            }
            if ($.streamAnalyticsJobName == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "streamAnalyticsJobName");
            }
            if ($.timeFormat == null) {
                throw new MissingRequiredPropertyException("OutputBlobArgs", "timeFormat");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy