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

com.pulumi.sumologic.HttpSourceArgs 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.sumologic;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.sumologic.inputs.HttpSourceDefaultDateFormatArgs;
import com.pulumi.sumologic.inputs.HttpSourceFilterArgs;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final HttpSourceArgs Empty = new HttpSourceArgs();

    @Import(name="automaticDateParsing")
    private @Nullable Output automaticDateParsing;

    public Optional> automaticDateParsing() {
        return Optional.ofNullable(this.automaticDateParsing);
    }

    @Import(name="category")
    private @Nullable Output category;

    public Optional> category() {
        return Optional.ofNullable(this.category);
    }

    @Import(name="collectorId", required=true)
    private Output collectorId;

    public Output collectorId() {
        return this.collectorId;
    }

    /**
     * This should only be used when creating a Traces, Kinesis Log, HTTP OTLP or a RUM source.
     * - When configuring a HTTP Traces Source, set this property to `Zipkin`.
     * - When configuring a Kinesis Logs Source, set this property to `KinesisLog`.
     * - When configuring a HTTP OTLP Source, set this property to `Otlp`.
     * - When configuring a RUM Source, set this property to `Rum`.
     * 
     */
    @Import(name="contentType")
    private @Nullable Output contentType;

    /**
     * @return This should only be used when creating a Traces, Kinesis Log, HTTP OTLP or a RUM source.
     * - When configuring a HTTP Traces Source, set this property to `Zipkin`.
     * - When configuring a Kinesis Logs Source, set this property to `KinesisLog`.
     * - When configuring a HTTP OTLP Source, set this property to `Otlp`.
     * - When configuring a RUM Source, set this property to `Rum`.
     * 
     */
    public Optional> contentType() {
        return Optional.ofNullable(this.contentType);
    }

    @Import(name="cutoffRelativeTime")
    private @Nullable Output cutoffRelativeTime;

    public Optional> cutoffRelativeTime() {
        return Optional.ofNullable(this.cutoffRelativeTime);
    }

    @Import(name="cutoffTimestamp")
    private @Nullable Output cutoffTimestamp;

    public Optional> cutoffTimestamp() {
        return Optional.ofNullable(this.cutoffTimestamp);
    }

    @Import(name="defaultDateFormats")
    private @Nullable Output> defaultDateFormats;

    public Optional>> defaultDateFormats() {
        return Optional.ofNullable(this.defaultDateFormats);
    }

    @Import(name="description")
    private @Nullable Output description;

    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    @Import(name="fields")
    private @Nullable Output> fields;

    public Optional>> fields() {
        return Optional.ofNullable(this.fields);
    }

    @Import(name="filters")
    private @Nullable Output> filters;

    public Optional>> filters() {
        return Optional.ofNullable(this.filters);
    }

    @Import(name="forceTimezone")
    private @Nullable Output forceTimezone;

    public Optional> forceTimezone() {
        return Optional.ofNullable(this.forceTimezone);
    }

    @Import(name="hashAlgorithm")
    private @Nullable Output hashAlgorithm;

    public Optional> hashAlgorithm() {
        return Optional.ofNullable(this.hashAlgorithm);
    }

    @Import(name="hostName")
    private @Nullable Output hostName;

    public Optional> hostName() {
        return Optional.ofNullable(this.hostName);
    }

    @Import(name="manualPrefixRegexp")
    private @Nullable Output manualPrefixRegexp;

    public Optional> manualPrefixRegexp() {
        return Optional.ofNullable(this.manualPrefixRegexp);
    }

    /**
     * When set to `true`, will create one log message per HTTP request.
     * 
     */
    @Import(name="messagePerRequest")
    private @Nullable Output messagePerRequest;

    /**
     * @return When set to `true`, will create one log message per HTTP request.
     * 
     */
    public Optional> messagePerRequest() {
        return Optional.ofNullable(this.messagePerRequest);
    }

    @Import(name="multilineProcessingEnabled")
    private @Nullable Output multilineProcessingEnabled;

    public Optional> multilineProcessingEnabled() {
        return Optional.ofNullable(this.multilineProcessingEnabled);
    }

    @Import(name="name")
    private @Nullable Output name;

    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    @Import(name="timezone")
    private @Nullable Output timezone;

    public Optional> timezone() {
        return Optional.ofNullable(this.timezone);
    }

    @Import(name="useAutolineMatching")
    private @Nullable Output useAutolineMatching;

    public Optional> useAutolineMatching() {
        return Optional.ofNullable(this.useAutolineMatching);
    }

    private HttpSourceArgs() {}

    private HttpSourceArgs(HttpSourceArgs $) {
        this.automaticDateParsing = $.automaticDateParsing;
        this.category = $.category;
        this.collectorId = $.collectorId;
        this.contentType = $.contentType;
        this.cutoffRelativeTime = $.cutoffRelativeTime;
        this.cutoffTimestamp = $.cutoffTimestamp;
        this.defaultDateFormats = $.defaultDateFormats;
        this.description = $.description;
        this.fields = $.fields;
        this.filters = $.filters;
        this.forceTimezone = $.forceTimezone;
        this.hashAlgorithm = $.hashAlgorithm;
        this.hostName = $.hostName;
        this.manualPrefixRegexp = $.manualPrefixRegexp;
        this.messagePerRequest = $.messagePerRequest;
        this.multilineProcessingEnabled = $.multilineProcessingEnabled;
        this.name = $.name;
        this.timezone = $.timezone;
        this.useAutolineMatching = $.useAutolineMatching;
    }

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

    public static final class Builder {
        private HttpSourceArgs $;

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

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

        public Builder automaticDateParsing(@Nullable Output automaticDateParsing) {
            $.automaticDateParsing = automaticDateParsing;
            return this;
        }

        public Builder automaticDateParsing(Boolean automaticDateParsing) {
            return automaticDateParsing(Output.of(automaticDateParsing));
        }

        public Builder category(@Nullable Output category) {
            $.category = category;
            return this;
        }

        public Builder category(String category) {
            return category(Output.of(category));
        }

        public Builder collectorId(Output collectorId) {
            $.collectorId = collectorId;
            return this;
        }

        public Builder collectorId(Integer collectorId) {
            return collectorId(Output.of(collectorId));
        }

        /**
         * @param contentType This should only be used when creating a Traces, Kinesis Log, HTTP OTLP or a RUM source.
         * - When configuring a HTTP Traces Source, set this property to `Zipkin`.
         * - When configuring a Kinesis Logs Source, set this property to `KinesisLog`.
         * - When configuring a HTTP OTLP Source, set this property to `Otlp`.
         * - When configuring a RUM Source, set this property to `Rum`.
         * 
         * @return builder
         * 
         */
        public Builder contentType(@Nullable Output contentType) {
            $.contentType = contentType;
            return this;
        }

        /**
         * @param contentType This should only be used when creating a Traces, Kinesis Log, HTTP OTLP or a RUM source.
         * - When configuring a HTTP Traces Source, set this property to `Zipkin`.
         * - When configuring a Kinesis Logs Source, set this property to `KinesisLog`.
         * - When configuring a HTTP OTLP Source, set this property to `Otlp`.
         * - When configuring a RUM Source, set this property to `Rum`.
         * 
         * @return builder
         * 
         */
        public Builder contentType(String contentType) {
            return contentType(Output.of(contentType));
        }

        public Builder cutoffRelativeTime(@Nullable Output cutoffRelativeTime) {
            $.cutoffRelativeTime = cutoffRelativeTime;
            return this;
        }

        public Builder cutoffRelativeTime(String cutoffRelativeTime) {
            return cutoffRelativeTime(Output.of(cutoffRelativeTime));
        }

        public Builder cutoffTimestamp(@Nullable Output cutoffTimestamp) {
            $.cutoffTimestamp = cutoffTimestamp;
            return this;
        }

        public Builder cutoffTimestamp(Integer cutoffTimestamp) {
            return cutoffTimestamp(Output.of(cutoffTimestamp));
        }

        public Builder defaultDateFormats(@Nullable Output> defaultDateFormats) {
            $.defaultDateFormats = defaultDateFormats;
            return this;
        }

        public Builder defaultDateFormats(List defaultDateFormats) {
            return defaultDateFormats(Output.of(defaultDateFormats));
        }

        public Builder defaultDateFormats(HttpSourceDefaultDateFormatArgs... defaultDateFormats) {
            return defaultDateFormats(List.of(defaultDateFormats));
        }

        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        public Builder description(String description) {
            return description(Output.of(description));
        }

        public Builder fields(@Nullable Output> fields) {
            $.fields = fields;
            return this;
        }

        public Builder fields(Map fields) {
            return fields(Output.of(fields));
        }

        public Builder filters(@Nullable Output> filters) {
            $.filters = filters;
            return this;
        }

        public Builder filters(List filters) {
            return filters(Output.of(filters));
        }

        public Builder filters(HttpSourceFilterArgs... filters) {
            return filters(List.of(filters));
        }

        public Builder forceTimezone(@Nullable Output forceTimezone) {
            $.forceTimezone = forceTimezone;
            return this;
        }

        public Builder forceTimezone(Boolean forceTimezone) {
            return forceTimezone(Output.of(forceTimezone));
        }

        public Builder hashAlgorithm(@Nullable Output hashAlgorithm) {
            $.hashAlgorithm = hashAlgorithm;
            return this;
        }

        public Builder hashAlgorithm(String hashAlgorithm) {
            return hashAlgorithm(Output.of(hashAlgorithm));
        }

        public Builder hostName(@Nullable Output hostName) {
            $.hostName = hostName;
            return this;
        }

        public Builder hostName(String hostName) {
            return hostName(Output.of(hostName));
        }

        public Builder manualPrefixRegexp(@Nullable Output manualPrefixRegexp) {
            $.manualPrefixRegexp = manualPrefixRegexp;
            return this;
        }

        public Builder manualPrefixRegexp(String manualPrefixRegexp) {
            return manualPrefixRegexp(Output.of(manualPrefixRegexp));
        }

        /**
         * @param messagePerRequest When set to `true`, will create one log message per HTTP request.
         * 
         * @return builder
         * 
         */
        public Builder messagePerRequest(@Nullable Output messagePerRequest) {
            $.messagePerRequest = messagePerRequest;
            return this;
        }

        /**
         * @param messagePerRequest When set to `true`, will create one log message per HTTP request.
         * 
         * @return builder
         * 
         */
        public Builder messagePerRequest(Boolean messagePerRequest) {
            return messagePerRequest(Output.of(messagePerRequest));
        }

        public Builder multilineProcessingEnabled(@Nullable Output multilineProcessingEnabled) {
            $.multilineProcessingEnabled = multilineProcessingEnabled;
            return this;
        }

        public Builder multilineProcessingEnabled(Boolean multilineProcessingEnabled) {
            return multilineProcessingEnabled(Output.of(multilineProcessingEnabled));
        }

        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        public Builder name(String name) {
            return name(Output.of(name));
        }

        public Builder timezone(@Nullable Output timezone) {
            $.timezone = timezone;
            return this;
        }

        public Builder timezone(String timezone) {
            return timezone(Output.of(timezone));
        }

        public Builder useAutolineMatching(@Nullable Output useAutolineMatching) {
            $.useAutolineMatching = useAutolineMatching;
            return this;
        }

        public Builder useAutolineMatching(Boolean useAutolineMatching) {
            return useAutolineMatching(Output.of(useAutolineMatching));
        }

        public HttpSourceArgs build() {
            if ($.collectorId == null) {
                throw new MissingRequiredPropertyException("HttpSourceArgs", "collectorId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy