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

com.pulumi.mongodbatlas.StreamProcessorArgs Maven / Gradle / Ivy

// *** 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.mongodbatlas;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.mongodbatlas.inputs.StreamProcessorOptionsArgs;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final StreamProcessorArgs Empty = new StreamProcessorArgs();

    /**
     * Human-readable label that identifies the stream instance.
     * 
     */
    @Import(name="instanceName", required=true)
    private Output instanceName;

    /**
     * @return Human-readable label that identifies the stream instance.
     * 
     */
    public Output instanceName() {
        return this.instanceName;
    }

    /**
     * Optional configuration for the stream processor.
     * 
     */
    @Import(name="options")
    private @Nullable Output options;

    /**
     * @return Optional configuration for the stream processor.
     * 
     */
    public Optional> options() {
        return Optional.ofNullable(this.options);
    }

    /**
     * Stream aggregation pipeline you want to apply to your streaming data. [MongoDB Atlas Docs](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/#std-label-stream-aggregation) contain more information. Using jsonencode is recommended when settig this attribute. For more details see [Aggregation Pipelines Documentation](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/)
     * 
     */
    @Import(name="pipeline", required=true)
    private Output pipeline;

    /**
     * @return Stream aggregation pipeline you want to apply to your streaming data. [MongoDB Atlas Docs](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/#std-label-stream-aggregation) contain more information. Using jsonencode is recommended when settig this attribute. For more details see [Aggregation Pipelines Documentation](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/)
     * 
     */
    public Output pipeline() {
        return this.pipeline;
    }

    /**
     * Human-readable label that identifies the stream processor.
     * 
     */
    @Import(name="processorName", required=true)
    private Output processorName;

    /**
     * @return Human-readable label that identifies the stream processor.
     * 
     */
    public Output processorName() {
        return this.processorName;
    }

    /**
     * Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
     * 
     */
    @Import(name="projectId", required=true)
    private Output projectId;

    /**
     * @return Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
     * 
     */
    public Output projectId() {
        return this.projectId;
    }

    /**
     * The state of the stream processor. Commonly occurring states are 'CREATED', 'STARTED', 'STOPPED' and 'FAILED'. Used to
     * start or stop the Stream Processor. Valid values are `CREATED`, `STARTED` or `STOPPED`. When a Stream Processor is
     * created without specifying the state, it will default to `CREATED` state. **NOTE** When a stream processor is created,
     * the only valid states are CREATED or STARTED. A stream processor can be automatically started when creating it if the
     * state is set to STARTED.
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return The state of the stream processor. Commonly occurring states are 'CREATED', 'STARTED', 'STOPPED' and 'FAILED'. Used to
     * start or stop the Stream Processor. Valid values are `CREATED`, `STARTED` or `STOPPED`. When a Stream Processor is
     * created without specifying the state, it will default to `CREATED` state. **NOTE** When a stream processor is created,
     * the only valid states are CREATED or STARTED. A stream processor can be automatically started when creating it if the
     * state is set to STARTED.
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    private StreamProcessorArgs() {}

    private StreamProcessorArgs(StreamProcessorArgs $) {
        this.instanceName = $.instanceName;
        this.options = $.options;
        this.pipeline = $.pipeline;
        this.processorName = $.processorName;
        this.projectId = $.projectId;
        this.state = $.state;
    }

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

    public static final class Builder {
        private StreamProcessorArgs $;

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

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

        /**
         * @param instanceName Human-readable label that identifies the stream instance.
         * 
         * @return builder
         * 
         */
        public Builder instanceName(Output instanceName) {
            $.instanceName = instanceName;
            return this;
        }

        /**
         * @param instanceName Human-readable label that identifies the stream instance.
         * 
         * @return builder
         * 
         */
        public Builder instanceName(String instanceName) {
            return instanceName(Output.of(instanceName));
        }

        /**
         * @param options Optional configuration for the stream processor.
         * 
         * @return builder
         * 
         */
        public Builder options(@Nullable Output options) {
            $.options = options;
            return this;
        }

        /**
         * @param options Optional configuration for the stream processor.
         * 
         * @return builder
         * 
         */
        public Builder options(StreamProcessorOptionsArgs options) {
            return options(Output.of(options));
        }

        /**
         * @param pipeline Stream aggregation pipeline you want to apply to your streaming data. [MongoDB Atlas Docs](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/#std-label-stream-aggregation) contain more information. Using jsonencode is recommended when settig this attribute. For more details see [Aggregation Pipelines Documentation](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/)
         * 
         * @return builder
         * 
         */
        public Builder pipeline(Output pipeline) {
            $.pipeline = pipeline;
            return this;
        }

        /**
         * @param pipeline Stream aggregation pipeline you want to apply to your streaming data. [MongoDB Atlas Docs](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/#std-label-stream-aggregation) contain more information. Using jsonencode is recommended when settig this attribute. For more details see [Aggregation Pipelines Documentation](https://www.mongodb.com/docs/atlas/atlas-stream-processing/stream-aggregation/)
         * 
         * @return builder
         * 
         */
        public Builder pipeline(String pipeline) {
            return pipeline(Output.of(pipeline));
        }

        /**
         * @param processorName Human-readable label that identifies the stream processor.
         * 
         * @return builder
         * 
         */
        public Builder processorName(Output processorName) {
            $.processorName = processorName;
            return this;
        }

        /**
         * @param processorName Human-readable label that identifies the stream processor.
         * 
         * @return builder
         * 
         */
        public Builder processorName(String processorName) {
            return processorName(Output.of(processorName));
        }

        /**
         * @param projectId Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
         * 
         * @return builder
         * 
         */
        public Builder projectId(Output projectId) {
            $.projectId = projectId;
            return this;
        }

        /**
         * @param projectId Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
         * 
         * @return builder
         * 
         */
        public Builder projectId(String projectId) {
            return projectId(Output.of(projectId));
        }

        /**
         * @param state The state of the stream processor. Commonly occurring states are 'CREATED', 'STARTED', 'STOPPED' and 'FAILED'. Used to
         * start or stop the Stream Processor. Valid values are `CREATED`, `STARTED` or `STOPPED`. When a Stream Processor is
         * created without specifying the state, it will default to `CREATED` state. **NOTE** When a stream processor is created,
         * the only valid states are CREATED or STARTED. A stream processor can be automatically started when creating it if the
         * state is set to STARTED.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The state of the stream processor. Commonly occurring states are 'CREATED', 'STARTED', 'STOPPED' and 'FAILED'. Used to
         * start or stop the Stream Processor. Valid values are `CREATED`, `STARTED` or `STOPPED`. When a Stream Processor is
         * created without specifying the state, it will default to `CREATED` state. **NOTE** When a stream processor is created,
         * the only valid states are CREATED or STARTED. A stream processor can be automatically started when creating it if the
         * state is set to STARTED.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        public StreamProcessorArgs build() {
            if ($.instanceName == null) {
                throw new MissingRequiredPropertyException("StreamProcessorArgs", "instanceName");
            }
            if ($.pipeline == null) {
                throw new MissingRequiredPropertyException("StreamProcessorArgs", "pipeline");
            }
            if ($.processorName == null) {
                throw new MissingRequiredPropertyException("StreamProcessorArgs", "processorName");
            }
            if ($.projectId == null) {
                throw new MissingRequiredPropertyException("StreamProcessorArgs", "projectId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy