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

com.pulumi.azurenative.streamanalytics.outputs.StreamInputPropertiesResponse Maven / Gradle / Ivy

There is a newer version: 2.82.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.outputs;

import com.pulumi.azurenative.streamanalytics.outputs.AvroSerializationResponse;
import com.pulumi.azurenative.streamanalytics.outputs.BlobStreamInputDataSourceResponse;
import com.pulumi.azurenative.streamanalytics.outputs.CompressionResponse;
import com.pulumi.azurenative.streamanalytics.outputs.CsvSerializationResponse;
import com.pulumi.azurenative.streamanalytics.outputs.DiagnosticsResponse;
import com.pulumi.azurenative.streamanalytics.outputs.EventHubStreamInputDataSourceResponse;
import com.pulumi.azurenative.streamanalytics.outputs.EventHubV2StreamInputDataSourceResponse;
import com.pulumi.azurenative.streamanalytics.outputs.GatewayMessageBusStreamInputDataSourceResponse;
import com.pulumi.azurenative.streamanalytics.outputs.IoTHubStreamInputDataSourceResponse;
import com.pulumi.azurenative.streamanalytics.outputs.JsonSerializationResponse;
import com.pulumi.azurenative.streamanalytics.outputs.ParquetSerializationResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Object;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class StreamInputPropertiesResponse {
    /**
     * @return Describes how input data is compressed
     * 
     */
    private @Nullable CompressionResponse compression;
    /**
     * @return Describes an input data source that contains stream data. Required on PUT (CreateOrReplace) requests.
     * 
     */
    private @Nullable Object datasource;
    /**
     * @return Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention.
     * 
     */
    private DiagnosticsResponse diagnostics;
    /**
     * @return The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.
     * 
     */
    private String etag;
    /**
     * @return partitionKey Describes a key in the input data which is used for partitioning the input data
     * 
     */
    private @Nullable String partitionKey;
    /**
     * @return Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests.
     * 
     */
    private @Nullable Object serialization;
    /**
     * @return Indicates whether the input is a source of reference data or stream data. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'Stream'.
     * 
     */
    private String type;

    private StreamInputPropertiesResponse() {}
    /**
     * @return Describes how input data is compressed
     * 
     */
    public Optional compression() {
        return Optional.ofNullable(this.compression);
    }
    /**
     * @return Describes an input data source that contains stream data. Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional datasource() {
        return Optional.ofNullable(this.datasource);
    }
    /**
     * @return Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention.
     * 
     */
    public DiagnosticsResponse diagnostics() {
        return this.diagnostics;
    }
    /**
     * @return The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return partitionKey Describes a key in the input data which is used for partitioning the input data
     * 
     */
    public Optional partitionKey() {
        return Optional.ofNullable(this.partitionKey);
    }
    /**
     * @return Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional serialization() {
        return Optional.ofNullable(this.serialization);
    }
    /**
     * @return Indicates whether the input is a source of reference data or stream data. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'Stream'.
     * 
     */
    public String type() {
        return this.type;
    }

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

    public static Builder builder(StreamInputPropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable CompressionResponse compression;
        private @Nullable Object datasource;
        private DiagnosticsResponse diagnostics;
        private String etag;
        private @Nullable String partitionKey;
        private @Nullable Object serialization;
        private String type;
        public Builder() {}
        public Builder(StreamInputPropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.compression = defaults.compression;
    	      this.datasource = defaults.datasource;
    	      this.diagnostics = defaults.diagnostics;
    	      this.etag = defaults.etag;
    	      this.partitionKey = defaults.partitionKey;
    	      this.serialization = defaults.serialization;
    	      this.type = defaults.type;
        }

        @CustomType.Setter
        public Builder compression(@Nullable CompressionResponse compression) {

            this.compression = compression;
            return this;
        }
        @CustomType.Setter
        public Builder datasource(@Nullable Object datasource) {

            this.datasource = datasource;
            return this;
        }
        @CustomType.Setter
        public Builder diagnostics(DiagnosticsResponse diagnostics) {
            if (diagnostics == null) {
              throw new MissingRequiredPropertyException("StreamInputPropertiesResponse", "diagnostics");
            }
            this.diagnostics = diagnostics;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("StreamInputPropertiesResponse", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder partitionKey(@Nullable String partitionKey) {

            this.partitionKey = partitionKey;
            return this;
        }
        @CustomType.Setter
        public Builder serialization(@Nullable Object serialization) {

            this.serialization = serialization;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("StreamInputPropertiesResponse", "type");
            }
            this.type = type;
            return this;
        }
        public StreamInputPropertiesResponse build() {
            final var _resultValue = new StreamInputPropertiesResponse();
            _resultValue.compression = compression;
            _resultValue.datasource = datasource;
            _resultValue.diagnostics = diagnostics;
            _resultValue.etag = etag;
            _resultValue.partitionKey = partitionKey;
            _resultValue.serialization = serialization;
            _resultValue.type = type;
            return _resultValue;
        }
    }
}