defineAivenKafkaDefinition

defineAivenKafkaDefinition< Topics extends Readonly<Record<string, AivenKafkaTopicHandle<string>>>, Users extends Readonly<Record<string, AivenKafkaUserHandle<string>>>, Acls extends Record<string, AivenKafkaDefinitionAclArgs>, >( input: { acls: Acls; topics: Topics; users: Users }, ): AivenKafkaDefinition

Builds an immutable typed definition and translates handles into the component's existing key selectors.

Type Parameters

  • Topics extends Readonly<Record<string, AivenKafkaTopicHandle<string>>>
  • Users extends Readonly<Record<string, AivenKafkaUserHandle<string>>>
  • Acls extends Record<string, AivenKafkaDefinitionAclArgs>

Parameters

  • input ({ acls: Acls; topics: Topics; users: Users }) — Topic handles, user handles, and typed ACL declarations. All three maps are required.

Properties

  • acls (Acls)
  • topics (Topics)
  • users (Users)

Returns

  • AivenKafkaDefinition — A branded definition suitable for the definition constructor mode.

Throws

  • When handles are forged, malformed, used in the wrong field, or owned by another collection.