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

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

There is a newer version: 2.78.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.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * A transformation object, containing all information associated with the named transformation. All transformations are contained under a streaming job.
 * 
 */
public final class TransformationArgs extends com.pulumi.resources.ResourceArgs {

    public static final TransformationArgs Empty = new TransformationArgs();

    /**
     * Resource name
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Resource name
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests.
     * 
     */
    @Import(name="query")
    private @Nullable Output query;

    /**
     * @return Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional> query() {
        return Optional.ofNullable(this.query);
    }

    /**
     * Specifies the number of streaming units that the streaming job uses.
     * 
     */
    @Import(name="streamingUnits")
    private @Nullable Output streamingUnits;

    /**
     * @return Specifies the number of streaming units that the streaming job uses.
     * 
     */
    public Optional> streamingUnits() {
        return Optional.ofNullable(this.streamingUnits);
    }

    /**
     * Specifies the valid streaming units a streaming job can scale to.
     * 
     */
    @Import(name="validStreamingUnits")
    private @Nullable Output> validStreamingUnits;

    /**
     * @return Specifies the valid streaming units a streaming job can scale to.
     * 
     */
    public Optional>> validStreamingUnits() {
        return Optional.ofNullable(this.validStreamingUnits);
    }

    private TransformationArgs() {}

    private TransformationArgs(TransformationArgs $) {
        this.name = $.name;
        this.query = $.query;
        this.streamingUnits = $.streamingUnits;
        this.validStreamingUnits = $.validStreamingUnits;
    }

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

    public static final class Builder {
        private TransformationArgs $;

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

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

        /**
         * @param name Resource name
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Resource name
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param query Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder query(@Nullable Output query) {
            $.query = query;
            return this;
        }

        /**
         * @param query Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder query(String query) {
            return query(Output.of(query));
        }

        /**
         * @param streamingUnits Specifies the number of streaming units that the streaming job uses.
         * 
         * @return builder
         * 
         */
        public Builder streamingUnits(@Nullable Output streamingUnits) {
            $.streamingUnits = streamingUnits;
            return this;
        }

        /**
         * @param streamingUnits Specifies the number of streaming units that the streaming job uses.
         * 
         * @return builder
         * 
         */
        public Builder streamingUnits(Integer streamingUnits) {
            return streamingUnits(Output.of(streamingUnits));
        }

        /**
         * @param validStreamingUnits Specifies the valid streaming units a streaming job can scale to.
         * 
         * @return builder
         * 
         */
        public Builder validStreamingUnits(@Nullable Output> validStreamingUnits) {
            $.validStreamingUnits = validStreamingUnits;
            return this;
        }

        /**
         * @param validStreamingUnits Specifies the valid streaming units a streaming job can scale to.
         * 
         * @return builder
         * 
         */
        public Builder validStreamingUnits(List validStreamingUnits) {
            return validStreamingUnits(Output.of(validStreamingUnits));
        }

        /**
         * @param validStreamingUnits Specifies the valid streaming units a streaming job can scale to.
         * 
         * @return builder
         * 
         */
        public Builder validStreamingUnits(Integer... validStreamingUnits) {
            return validStreamingUnits(List.of(validStreamingUnits));
        }

        public TransformationArgs build() {
            $.streamingUnits = Codegen.integerProp("streamingUnits").output().arg($.streamingUnits).def(3).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy