Interface CreateTopicPolicy

All Superinterfaces:
AutoCloseable, Configurable

public interface CreateTopicPolicy
extends Configurable, AutoCloseable

An interface for enforcing a policy on create topics requests.

Common use cases are requiring that the replication factor, min.insync.replicas and/or retention settings for a topic are within an allowable range.

If create.topic.policy.class.name is defined, Kafka will create an instance of the specified class using the default constructor and will then pass the broker configs to its configure() method. During broker shutdown, the close() method will be invoked so that resources can be released (if necessary).

  • Nested Class Summary

    Nested Classes
    Modifier and Type Interface Description
    static class  CreateTopicPolicy.RequestMetadata
    Class containing the create request parameters.
  • Method Summary

    Modifier and Type Method Description
    void validate​(CreateTopicPolicy.RequestMetadata requestMetadata)
    Validate the request parameters and throw a PolicyViolationException with a suitable error message if the create topics request parameters for the provided topic do not satisfy this policy.

    Methods inherited from interface java.lang.AutoCloseable

    close

    Methods inherited from interface org.apache.kafka.common.Configurable

    configure
  • Method Details

    • validate

      void validate​(CreateTopicPolicy.RequestMetadata requestMetadata) throws PolicyViolationException
      Validate the request parameters and throw a PolicyViolationException with a suitable error message if the create topics request parameters for the provided topic do not satisfy this policy. Clients will receive the POLICY_VIOLATION error code along with the exception's message. Note that validation failure only affects the relevant topic, other topics in the request will still be processed.
      Parameters:
      requestMetadata - the create topics request parameters for the provided topic.
      Throws:
      PolicyViolationException - if the request parameters do not satisfy this policy.