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

io.kestra.plugin.pulsar.ReadInterface Maven / Gradle / Ivy

package io.kestra.plugin.pulsar;

import io.kestra.core.models.annotations.PluginProperty;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.Duration;
import javax.validation.constraints.NotNull;

public interface ReadInterface {
    @Schema(
        title = "Pulsar topic(s) where to consume message",
        description = "Can be a string or a List of string to consume from multiple topic"
    )
    @NotNull
    @PluginProperty(dynamic = true)
    Object getTopic();

    @Schema(
        title = "Deserializer used for the value"
    )
    @NotNull
    @PluginProperty(dynamic = true)
    SerdeType getDeserializer();

    @Schema(
        title = "Duration waiting for record to be polled",
        description = "If no records are available, the max wait to wait for a new records. "
    )
    @NotNull
    @PluginProperty(dynamic = true)
    Duration getPollDuration();

    @Schema(
        title = "The max number of rows to fetch before stopping",
        description = "It's not an hard limit and is evaluated every second"
    )
    @PluginProperty(dynamic = false)
    Integer getMaxRecords();

    @Schema(
        title = "The max duration waiting for new rows",
        description = "It's not an hard limit and is evaluated every second"
    )
    @PluginProperty(dynamic = false)
    Duration getMaxDuration();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy