Class CreateClusterLinkPolicy
java.lang.Object
io.confluent.kafka.server.plugins.policy.CreateClusterLinkPolicy
- All Implemented Interfaces:
org.apache.kafka.common.Configurable,org.apache.kafka.common.Reconfigurable,org.apache.kafka.server.interceptor.ClusterLinkInterceptor,org.apache.kafka.server.policy.CreateClusterLinkPolicy
public class CreateClusterLinkPolicy
extends Object
implements org.apache.kafka.server.policy.CreateClusterLinkPolicy, org.apache.kafka.server.interceptor.ClusterLinkInterceptor, org.apache.kafka.common.Reconfigurable
Enforce the policy when creating the cluster links, for example enforcing maximum number of cluster links per tenant.
Even though validate(), linkAdded() and linkDeleted() are thread-safe, clients should execute validate() and
linkAdded() atomically so that the number of links won't exceed the limit.
-
Field Summary
Fields inherited from interface org.apache.kafka.server.policy.CreateClusterLinkPolicy
DESTINATION, SOURCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidlinkDeleted(org.apache.kafka.common.Uuid linkId) Set<org.apache.kafka.common.Uuid> links()voidreconfigure(Map<String, ?> configs) voidsetTenantMaxDestLinks(Optional<String> tenantId, Optional<Integer> maxDestinationLinks) voidsetTenantMaxSourceLinks(Optional<String> tenantId, Optional<Integer> maxSourceLinks) voidvoidvalidateReconfiguration(Map<String, ?> configs)
-
Constructor Details
-
CreateClusterLinkPolicy
public CreateClusterLinkPolicy()
-
-
Method Details
-
configure
-
reconfigure
-
reconfigurableConfigs
-
validateReconfiguration
-
validate
public void validate(Optional<String> tenantPrefix, String linkModeStr, Map<String, String> configs) throws org.apache.kafka.common.errors.PolicyViolationException- Specified by:
validatein interfaceorg.apache.kafka.server.policy.CreateClusterLinkPolicy- Throws:
org.apache.kafka.common.errors.PolicyViolationException
-
setTenantMaxDestLinks
-
setTenantMaxSourceLinks
-
linkAdded
-
linkDeleted
public void linkDeleted(org.apache.kafka.common.Uuid linkId) - Specified by:
linkDeletedin interfaceorg.apache.kafka.server.interceptor.ClusterLinkInterceptor
-
links
- Specified by:
linksin interfaceorg.apache.kafka.server.interceptor.ClusterLinkInterceptor
-