# yaml-language-server: $schema=http://json-schema.org/draft-07/schema # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 --- allOf: - type: object required: - server - client_id properties: format: $ref: ../format_spec.yaml server: type: string description: | The bootstrap server `{ip}:{port}` of the Kafka message brokers cluster. protocol: type: string enum: - PLAINTEXT - SASL_PLAINTEXT - SASL_SSL - SSL description: | The [security protocol](https://kafka.apache.org/24/javadoc/org/apache/kafka/common/security/auth/SecurityProtocol.html) which is used for authentication with the Kafka cluster. client_id: type: string description: The Kafka client identifier. ssl: type: object properties: ca: type: string description: Path to a Certificate Authority (CA) bundle which is used to validate broker server certificate. sasl: type: object description: | An object for configuring the SASL authentication against the broker. This setting is used if the `protocol` setting is on of `SASL_PLAINTEXT` or `SASL_SSL`. properties: mechanisms: type: string username: type: string password: type: string in: type: object properties: consume: type: string description: The Kafka topic to which this node-type will subscribe for receiving messages. group_id: type: string description: The group id of the Kafka client used for receiving messages. out: type: object properties: produce: type: string description: The Kafka topic to which this node-type will publish messages. timeout: type: number description: A timeout in seconds for the broker connection. default: 1.0 - $ref: ../node_signals.yaml - $ref: ../node.yaml