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

com.pulumi.digitalocean.inputs.DatabaseKafkaConfigState Maven / Gradle / Ivy

There is a newer version: 4.35.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.digitalocean.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DatabaseKafkaConfigState Empty = new DatabaseKafkaConfigState();

    /**
     * Enable auto creation of topics.
     * 
     */
    @Import(name="autoCreateTopicsEnable")
    private @Nullable Output autoCreateTopicsEnable;

    /**
     * @return Enable auto creation of topics.
     * 
     */
    public Optional> autoCreateTopicsEnable() {
        return Optional.ofNullable(this.autoCreateTopicsEnable);
    }

    /**
     * The ID of the target Kafka cluster.
     * 
     */
    @Import(name="clusterId")
    private @Nullable Output clusterId;

    /**
     * @return The ID of the target Kafka cluster.
     * 
     */
    public Optional> clusterId() {
        return Optional.ofNullable(this.clusterId);
    }

    /**
     * The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time.
     * 
     */
    @Import(name="groupInitialRebalanceDelayMs")
    private @Nullable Output groupInitialRebalanceDelayMs;

    /**
     * @return The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time.
     * 
     */
    public Optional> groupInitialRebalanceDelayMs() {
        return Optional.ofNullable(this.groupInitialRebalanceDelayMs);
    }

    /**
     * The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
     * 
     */
    @Import(name="groupMaxSessionTimeoutMs")
    private @Nullable Output groupMaxSessionTimeoutMs;

    /**
     * @return The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
     * 
     */
    public Optional> groupMaxSessionTimeoutMs() {
        return Optional.ofNullable(this.groupMaxSessionTimeoutMs);
    }

    /**
     * The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
     * 
     */
    @Import(name="groupMinSessionTimeoutMs")
    private @Nullable Output groupMinSessionTimeoutMs;

    /**
     * @return The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
     * 
     */
    public Optional> groupMinSessionTimeoutMs() {
        return Optional.ofNullable(this.groupMinSessionTimeoutMs);
    }

    /**
     * How long are delete records retained?
     * 
     */
    @Import(name="logCleanerDeleteRetentionMs")
    private @Nullable Output logCleanerDeleteRetentionMs;

    /**
     * @return How long are delete records retained?
     * 
     */
    public Optional> logCleanerDeleteRetentionMs() {
        return Optional.ofNullable(this.logCleanerDeleteRetentionMs);
    }

    /**
     * The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.
     * 
     */
    @Import(name="logCleanerMinCompactionLagMs")
    private @Nullable Output logCleanerMinCompactionLagMs;

    /**
     * @return The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.
     * 
     */
    public Optional> logCleanerMinCompactionLagMs() {
        return Optional.ofNullable(this.logCleanerMinCompactionLagMs);
    }

    /**
     * The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used.
     * 
     */
    @Import(name="logFlushIntervalMs")
    private @Nullable Output logFlushIntervalMs;

    /**
     * @return The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used.
     * 
     */
    public Optional> logFlushIntervalMs() {
        return Optional.ofNullable(this.logFlushIntervalMs);
    }

    /**
     * The interval with which Kafka adds an entry to the offset index.
     * 
     */
    @Import(name="logIndexIntervalBytes")
    private @Nullable Output logIndexIntervalBytes;

    /**
     * @return The interval with which Kafka adds an entry to the offset index.
     * 
     */
    public Optional> logIndexIntervalBytes() {
        return Optional.ofNullable(this.logIndexIntervalBytes);
    }

    /**
     * This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests.
     * 
     */
    @Import(name="logMessageDownconversionEnable")
    private @Nullable Output logMessageDownconversionEnable;

    /**
     * @return This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests.
     * 
     */
    public Optional> logMessageDownconversionEnable() {
        return Optional.ofNullable(this.logMessageDownconversionEnable);
    }

    /**
     * The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message.
     * 
     */
    @Import(name="logMessageTimestampDifferenceMaxMs")
    private @Nullable Output logMessageTimestampDifferenceMaxMs;

    /**
     * @return The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message.
     * 
     */
    public Optional> logMessageTimestampDifferenceMaxMs() {
        return Optional.ofNullable(this.logMessageTimestampDifferenceMaxMs);
    }

    /**
     * Controls whether to preallocate a file when creating a new segment.
     * 
     */
    @Import(name="logPreallocate")
    private @Nullable Output logPreallocate;

    /**
     * @return Controls whether to preallocate a file when creating a new segment.
     * 
     */
    public Optional> logPreallocate() {
        return Optional.ofNullable(this.logPreallocate);
    }

    /**
     * The maximum size of the log before deleting messages.
     * 
     */
    @Import(name="logRetentionBytes")
    private @Nullable Output logRetentionBytes;

    /**
     * @return The maximum size of the log before deleting messages.
     * 
     */
    public Optional> logRetentionBytes() {
        return Optional.ofNullable(this.logRetentionBytes);
    }

    /**
     * The number of hours to keep a log file before deleting it.
     * 
     */
    @Import(name="logRetentionHours")
    private @Nullable Output logRetentionHours;

    /**
     * @return The number of hours to keep a log file before deleting it.
     * 
     */
    public Optional> logRetentionHours() {
        return Optional.ofNullable(this.logRetentionHours);
    }

    /**
     * The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied.
     * 
     */
    @Import(name="logRetentionMs")
    private @Nullable Output logRetentionMs;

    /**
     * @return The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied.
     * 
     */
    public Optional> logRetentionMs() {
        return Optional.ofNullable(this.logRetentionMs);
    }

    /**
     * The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used.
     * 
     */
    @Import(name="logRollJitterMs")
    private @Nullable Output logRollJitterMs;

    /**
     * @return The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used.
     * 
     */
    public Optional> logRollJitterMs() {
        return Optional.ofNullable(this.logRollJitterMs);
    }

    /**
     * The amount of time to wait before deleting a file from the filesystem.
     * 
     */
    @Import(name="logSegmentDeleteDelayMs")
    private @Nullable Output logSegmentDeleteDelayMs;

    /**
     * @return The amount of time to wait before deleting a file from the filesystem.
     * 
     */
    public Optional> logSegmentDeleteDelayMs() {
        return Optional.ofNullable(this.logSegmentDeleteDelayMs);
    }

    /**
     * The maximum size of message that the server can receive.
     * 
     */
    @Import(name="messageMaxBytes")
    private @Nullable Output messageMaxBytes;

    /**
     * @return The maximum size of message that the server can receive.
     * 
     */
    public Optional> messageMaxBytes() {
        return Optional.ofNullable(this.messageMaxBytes);
    }

    private DatabaseKafkaConfigState() {}

    private DatabaseKafkaConfigState(DatabaseKafkaConfigState $) {
        this.autoCreateTopicsEnable = $.autoCreateTopicsEnable;
        this.clusterId = $.clusterId;
        this.groupInitialRebalanceDelayMs = $.groupInitialRebalanceDelayMs;
        this.groupMaxSessionTimeoutMs = $.groupMaxSessionTimeoutMs;
        this.groupMinSessionTimeoutMs = $.groupMinSessionTimeoutMs;
        this.logCleanerDeleteRetentionMs = $.logCleanerDeleteRetentionMs;
        this.logCleanerMinCompactionLagMs = $.logCleanerMinCompactionLagMs;
        this.logFlushIntervalMs = $.logFlushIntervalMs;
        this.logIndexIntervalBytes = $.logIndexIntervalBytes;
        this.logMessageDownconversionEnable = $.logMessageDownconversionEnable;
        this.logMessageTimestampDifferenceMaxMs = $.logMessageTimestampDifferenceMaxMs;
        this.logPreallocate = $.logPreallocate;
        this.logRetentionBytes = $.logRetentionBytes;
        this.logRetentionHours = $.logRetentionHours;
        this.logRetentionMs = $.logRetentionMs;
        this.logRollJitterMs = $.logRollJitterMs;
        this.logSegmentDeleteDelayMs = $.logSegmentDeleteDelayMs;
        this.messageMaxBytes = $.messageMaxBytes;
    }

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

    public static final class Builder {
        private DatabaseKafkaConfigState $;

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

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

        /**
         * @param autoCreateTopicsEnable Enable auto creation of topics.
         * 
         * @return builder
         * 
         */
        public Builder autoCreateTopicsEnable(@Nullable Output autoCreateTopicsEnable) {
            $.autoCreateTopicsEnable = autoCreateTopicsEnable;
            return this;
        }

        /**
         * @param autoCreateTopicsEnable Enable auto creation of topics.
         * 
         * @return builder
         * 
         */
        public Builder autoCreateTopicsEnable(Boolean autoCreateTopicsEnable) {
            return autoCreateTopicsEnable(Output.of(autoCreateTopicsEnable));
        }

        /**
         * @param clusterId The ID of the target Kafka cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterId(@Nullable Output clusterId) {
            $.clusterId = clusterId;
            return this;
        }

        /**
         * @param clusterId The ID of the target Kafka cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterId(String clusterId) {
            return clusterId(Output.of(clusterId));
        }

        /**
         * @param groupInitialRebalanceDelayMs The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time.
         * 
         * @return builder
         * 
         */
        public Builder groupInitialRebalanceDelayMs(@Nullable Output groupInitialRebalanceDelayMs) {
            $.groupInitialRebalanceDelayMs = groupInitialRebalanceDelayMs;
            return this;
        }

        /**
         * @param groupInitialRebalanceDelayMs The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time.
         * 
         * @return builder
         * 
         */
        public Builder groupInitialRebalanceDelayMs(Integer groupInitialRebalanceDelayMs) {
            return groupInitialRebalanceDelayMs(Output.of(groupInitialRebalanceDelayMs));
        }

        /**
         * @param groupMaxSessionTimeoutMs The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
         * 
         * @return builder
         * 
         */
        public Builder groupMaxSessionTimeoutMs(@Nullable Output groupMaxSessionTimeoutMs) {
            $.groupMaxSessionTimeoutMs = groupMaxSessionTimeoutMs;
            return this;
        }

        /**
         * @param groupMaxSessionTimeoutMs The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
         * 
         * @return builder
         * 
         */
        public Builder groupMaxSessionTimeoutMs(Integer groupMaxSessionTimeoutMs) {
            return groupMaxSessionTimeoutMs(Output.of(groupMaxSessionTimeoutMs));
        }

        /**
         * @param groupMinSessionTimeoutMs The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
         * 
         * @return builder
         * 
         */
        public Builder groupMinSessionTimeoutMs(@Nullable Output groupMinSessionTimeoutMs) {
            $.groupMinSessionTimeoutMs = groupMinSessionTimeoutMs;
            return this;
        }

        /**
         * @param groupMinSessionTimeoutMs The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
         * 
         * @return builder
         * 
         */
        public Builder groupMinSessionTimeoutMs(Integer groupMinSessionTimeoutMs) {
            return groupMinSessionTimeoutMs(Output.of(groupMinSessionTimeoutMs));
        }

        /**
         * @param logCleanerDeleteRetentionMs How long are delete records retained?
         * 
         * @return builder
         * 
         */
        public Builder logCleanerDeleteRetentionMs(@Nullable Output logCleanerDeleteRetentionMs) {
            $.logCleanerDeleteRetentionMs = logCleanerDeleteRetentionMs;
            return this;
        }

        /**
         * @param logCleanerDeleteRetentionMs How long are delete records retained?
         * 
         * @return builder
         * 
         */
        public Builder logCleanerDeleteRetentionMs(Integer logCleanerDeleteRetentionMs) {
            return logCleanerDeleteRetentionMs(Output.of(logCleanerDeleteRetentionMs));
        }

        /**
         * @param logCleanerMinCompactionLagMs The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.
         * 
         * @return builder
         * 
         */
        public Builder logCleanerMinCompactionLagMs(@Nullable Output logCleanerMinCompactionLagMs) {
            $.logCleanerMinCompactionLagMs = logCleanerMinCompactionLagMs;
            return this;
        }

        /**
         * @param logCleanerMinCompactionLagMs The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.
         * 
         * @return builder
         * 
         */
        public Builder logCleanerMinCompactionLagMs(String logCleanerMinCompactionLagMs) {
            return logCleanerMinCompactionLagMs(Output.of(logCleanerMinCompactionLagMs));
        }

        /**
         * @param logFlushIntervalMs The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used.
         * 
         * @return builder
         * 
         */
        public Builder logFlushIntervalMs(@Nullable Output logFlushIntervalMs) {
            $.logFlushIntervalMs = logFlushIntervalMs;
            return this;
        }

        /**
         * @param logFlushIntervalMs The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used.
         * 
         * @return builder
         * 
         */
        public Builder logFlushIntervalMs(String logFlushIntervalMs) {
            return logFlushIntervalMs(Output.of(logFlushIntervalMs));
        }

        /**
         * @param logIndexIntervalBytes The interval with which Kafka adds an entry to the offset index.
         * 
         * @return builder
         * 
         */
        public Builder logIndexIntervalBytes(@Nullable Output logIndexIntervalBytes) {
            $.logIndexIntervalBytes = logIndexIntervalBytes;
            return this;
        }

        /**
         * @param logIndexIntervalBytes The interval with which Kafka adds an entry to the offset index.
         * 
         * @return builder
         * 
         */
        public Builder logIndexIntervalBytes(Integer logIndexIntervalBytes) {
            return logIndexIntervalBytes(Output.of(logIndexIntervalBytes));
        }

        /**
         * @param logMessageDownconversionEnable This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests.
         * 
         * @return builder
         * 
         */
        public Builder logMessageDownconversionEnable(@Nullable Output logMessageDownconversionEnable) {
            $.logMessageDownconversionEnable = logMessageDownconversionEnable;
            return this;
        }

        /**
         * @param logMessageDownconversionEnable This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests.
         * 
         * @return builder
         * 
         */
        public Builder logMessageDownconversionEnable(Boolean logMessageDownconversionEnable) {
            return logMessageDownconversionEnable(Output.of(logMessageDownconversionEnable));
        }

        /**
         * @param logMessageTimestampDifferenceMaxMs The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message.
         * 
         * @return builder
         * 
         */
        public Builder logMessageTimestampDifferenceMaxMs(@Nullable Output logMessageTimestampDifferenceMaxMs) {
            $.logMessageTimestampDifferenceMaxMs = logMessageTimestampDifferenceMaxMs;
            return this;
        }

        /**
         * @param logMessageTimestampDifferenceMaxMs The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message.
         * 
         * @return builder
         * 
         */
        public Builder logMessageTimestampDifferenceMaxMs(String logMessageTimestampDifferenceMaxMs) {
            return logMessageTimestampDifferenceMaxMs(Output.of(logMessageTimestampDifferenceMaxMs));
        }

        /**
         * @param logPreallocate Controls whether to preallocate a file when creating a new segment.
         * 
         * @return builder
         * 
         */
        public Builder logPreallocate(@Nullable Output logPreallocate) {
            $.logPreallocate = logPreallocate;
            return this;
        }

        /**
         * @param logPreallocate Controls whether to preallocate a file when creating a new segment.
         * 
         * @return builder
         * 
         */
        public Builder logPreallocate(Boolean logPreallocate) {
            return logPreallocate(Output.of(logPreallocate));
        }

        /**
         * @param logRetentionBytes The maximum size of the log before deleting messages.
         * 
         * @return builder
         * 
         */
        public Builder logRetentionBytes(@Nullable Output logRetentionBytes) {
            $.logRetentionBytes = logRetentionBytes;
            return this;
        }

        /**
         * @param logRetentionBytes The maximum size of the log before deleting messages.
         * 
         * @return builder
         * 
         */
        public Builder logRetentionBytes(String logRetentionBytes) {
            return logRetentionBytes(Output.of(logRetentionBytes));
        }

        /**
         * @param logRetentionHours The number of hours to keep a log file before deleting it.
         * 
         * @return builder
         * 
         */
        public Builder logRetentionHours(@Nullable Output logRetentionHours) {
            $.logRetentionHours = logRetentionHours;
            return this;
        }

        /**
         * @param logRetentionHours The number of hours to keep a log file before deleting it.
         * 
         * @return builder
         * 
         */
        public Builder logRetentionHours(Integer logRetentionHours) {
            return logRetentionHours(Output.of(logRetentionHours));
        }

        /**
         * @param logRetentionMs The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied.
         * 
         * @return builder
         * 
         */
        public Builder logRetentionMs(@Nullable Output logRetentionMs) {
            $.logRetentionMs = logRetentionMs;
            return this;
        }

        /**
         * @param logRetentionMs The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied.
         * 
         * @return builder
         * 
         */
        public Builder logRetentionMs(String logRetentionMs) {
            return logRetentionMs(Output.of(logRetentionMs));
        }

        /**
         * @param logRollJitterMs The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used.
         * 
         * @return builder
         * 
         */
        public Builder logRollJitterMs(@Nullable Output logRollJitterMs) {
            $.logRollJitterMs = logRollJitterMs;
            return this;
        }

        /**
         * @param logRollJitterMs The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used.
         * 
         * @return builder
         * 
         */
        public Builder logRollJitterMs(String logRollJitterMs) {
            return logRollJitterMs(Output.of(logRollJitterMs));
        }

        /**
         * @param logSegmentDeleteDelayMs The amount of time to wait before deleting a file from the filesystem.
         * 
         * @return builder
         * 
         */
        public Builder logSegmentDeleteDelayMs(@Nullable Output logSegmentDeleteDelayMs) {
            $.logSegmentDeleteDelayMs = logSegmentDeleteDelayMs;
            return this;
        }

        /**
         * @param logSegmentDeleteDelayMs The amount of time to wait before deleting a file from the filesystem.
         * 
         * @return builder
         * 
         */
        public Builder logSegmentDeleteDelayMs(Integer logSegmentDeleteDelayMs) {
            return logSegmentDeleteDelayMs(Output.of(logSegmentDeleteDelayMs));
        }

        /**
         * @param messageMaxBytes The maximum size of message that the server can receive.
         * 
         * @return builder
         * 
         */
        public Builder messageMaxBytes(@Nullable Output messageMaxBytes) {
            $.messageMaxBytes = messageMaxBytes;
            return this;
        }

        /**
         * @param messageMaxBytes The maximum size of message that the server can receive.
         * 
         * @return builder
         * 
         */
        public Builder messageMaxBytes(Integer messageMaxBytes) {
            return messageMaxBytes(Output.of(messageMaxBytes));
        }

        public DatabaseKafkaConfigState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy