io.github.springwolf.asyncapi.v3.bindings.kafka.KafkaChannelTopicConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of springwolf-asyncapi Show documentation
Show all versions of springwolf-asyncapi Show documentation
Springwolf implementation of the AsyncApi specification
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.asyncapi.v3.bindings.kafka;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.PositiveOrZero;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* This objects contains information about the API relevant topic configuration in Kafka.
*
* @see Kafka Topic Configuration
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class KafkaChannelTopicConfiguration {
/**
* The cleanup.policy
* configuration option.
*/
@JsonProperty("cleanup.policy")
private List cleanupPolicy;
/**
* The retention.ms
* configuration option.
*/
@Min(value = -1, message = "retention.ms must be greater or equals to -1")
@JsonProperty("retention.ms")
private Integer retentionMs;
/**
* The retention.bytes
* configuration option.
*/
@Min(value = -1, message = "retention.bytes must be greater or equals to -1")
@JsonProperty("retention.bytes")
private Integer retentionBytes;
/**
* The delete.retention.ms
* configuration option.
*/
@PositiveOrZero
@JsonProperty("delete.retention.ms")
private Integer deleteRetentionMs;
/**
* The max.message.bytes
* configuration option.
*/
@PositiveOrZero
@JsonProperty("max.message.bytes")
private Integer maxMessageBytes;
/**
* It shows whether the schema validation for the message key is enabled. Vendor specific config.
*/
@JsonProperty("confluent.key.schema.validation")
private Boolean confluentKeySchemaValidation;
/**
* The name of the schema lookup strategy for the message key. Vendor specific config.
*/
@JsonProperty("confluent.key.subject.name.strategy")
private String confluentKeySubjectNameStrategy;
/**
* It shows whether the schema validation for the message value is enabled. Vendor specific config.
*/
@JsonProperty("confluent.value.schema.validation")
private Boolean confluentValueSchemaValidation;
/**
* The name of the schema lookup strategy for the message value. Vendor specific config.
*/
@JsonProperty("confluent.value.subject.name.strategy")
private String confluentValueSubjectNameStrategy;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy