<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-kafka-3-service-nar</artifactId><version>2.0.0-M4</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-kafka-service-api-nar</artifactId><version>2.0.0-M4</version></parentNar><systemApiVersion>2.0.0-M4</systemApiVersion><buildInfo><tag>nifi-2.0.0-M4-RC1</tag><branch>UNKNOWN</branch><revision>19c5be0</revision></buildInfo><extensions><extension><name>org.apache.nifi.kafka.service.Kafka3ConnectionService</name><type>CONTROLLER_SERVICE</type><description>Provides and manages connections to Kafka Brokers for producer or consumer operations.</description><tags></tags><properties><property><name>bootstrap.servers</name><displayName>Bootstrap Servers</displayName><description>Comma-separated list of Kafka Bootstrap Servers in the format host:port. Corresponds to Kafka bootstrap.servers property</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>security.protocol</name><displayName>Security Protocol</displayName><description>Security protocol used to communicate with brokers. Corresponds to Kafka Client security.protocol property</description><defaultValue>PLAINTEXT</defaultValue><allowableValues><allowableValue><displayName>PLAINTEXT</displayName><value>PLAINTEXT</value><description></description></allowableValue><allowableValue><displayName>SSL</displayName><value>SSL</value><description></description></allowableValue><allowableValue><displayName>SASL_PLAINTEXT</displayName><value>SASL_PLAINTEXT</value><description></description></allowableValue><allowableValue><displayName>SASL_SSL</displayName><value>SASL_SSL</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>sasl.mechanism</name><displayName>SASL Mechanism</displayName><description>SASL mechanism used for authentication. Corresponds to Kafka Client sasl.mechanism property</description><defaultValue>GSSAPI</defaultValue><allowableValues><allowableValue><displayName>GSSAPI</displayName><value>GSSAPI</value><description>General Security Services API for Kerberos authentication</description></allowableValue><allowableValue><displayName>PLAIN</displayName><value>PLAIN</value><description>Plain username and password authentication</description></allowableValue><allowableValue><displayName>SCRAM-SHA-256</displayName><value>SCRAM-SHA-256</value><description>Salted Challenge Response Authentication Mechanism using SHA-512 with username and password</description></allowableValue><allowableValue><displayName>SCRAM-SHA-512</displayName><value>SCRAM-SHA-512</value><description>Salted Challenge Response Authentication Mechanism using SHA-256 with username and password</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>sasl.username</name><displayName>SASL Username</displayName><description>Username provided with configured password when using PLAIN or SCRAM SASL Mechanisms</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>sasl.mechanism</propertyName><propertyDisplayName>SASL Mechanism</propertyDisplayName><dependentValues><dependentValue>PLAIN</dependentValue><dependentValue>SCRAM-SHA-512</dependentValue><dependentValue>SCRAM-SHA-256</dependentValue></dependentValues></dependency></dependencies></property><property><name>sasl.password</name><displayName>SASL Password</displayName><description>Password provided with configured username when using PLAIN or SCRAM SASL Mechanisms</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>sasl.mechanism</propertyName><propertyDisplayName>SASL Mechanism</propertyDisplayName><dependentValues><dependentValue>PLAIN</dependentValue><dependentValue>SCRAM-SHA-512</dependentValue><dependentValue>SCRAM-SHA-256</dependentValue></dependentValues></dependency></dependencies></property><property><name>SSL Context Service</name><displayName>SSL Context Service</displayName><description>Service supporting SSL communication with Kafka brokers</description><controllerServiceDefinition><className>org.apache.nifi.ssl.SSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>isolation.level</name><displayName>Transaction Isolation Level</displayName><description>Specifies how the service should handle transaction isolation levels when communicating with Kafka.
The uncommited option means that messages will be received as soon as they are written to Kafka but will be pulled, even if the producer cancels the transactions.
The committed option configures the service to not receive any messages for which the producer's transaction was canceled, but this can result in some latency since the
consumer must wait for the producer to finish its entire transaction instead of pulling as the messages become available.
Corresponds to Kafka isolation.level property.
</description><defaultValue>read_committed</defaultValue><allowableValues><allowableValue><displayName>Read Committed</displayName><value>read_committed</value><description>Read records from Kafka only after the producer has committed a transaction.</description></allowableValue><allowableValue><displayName>Read Uncommitted</displayName><value>read_uncommitted</value><description>Read records from Kafka as soon as the produced has sent the record, regardless of transaction status.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>max.poll.records</name><displayName>Max Poll Records</displayName><description>Maximum number of records Kafka should return in a single poll.</description><defaultValue>10000</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>default.api.timeout.ms</name><displayName>Client Timeout</displayName><description>Default timeout for Kafka client operations. Mapped to Kafka default.api.timeout.ms. The Kafka request.timeout.ms property is derived from half of the configured timeout</description><defaultValue>60 s</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>max.block.ms</name><displayName>Max Metadata Wait Time</displayName><description>The amount of time publisher will wait to obtain metadata or wait for the buffer to flush during the 'send' call before failing the
entire 'send' call. Corresponds to Kafka max.block.ms property
</description><defaultValue>5 s</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>ack.wait.time</name><displayName>Acknowledgment Wait Time</displayName><description>After sending a message to Kafka, this indicates the amount of time that the service will wait for a response from Kafka.
If Kafka does not acknowledge the message within this time period, the service will throw an exception.
</description><defaultValue>5 s</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>The name of a Kafka configuration property.</name><value>The value of a given Kafka configuration property.</value><description>These properties will be added on the Kafka configuration after loading any provided configuration properties. In the event a dynamic property represents a property that was already set, its value will be ignored and WARN message logged. For the list of available Kafka properties please refer to: http://kafka.apache.org/documentation.html#configuration.</description><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope></dynamicProperty></dynamicProperties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.kafka.service.api.KafkaConnectionService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-kafka-service-api-nar</artifactId><version>2.0.0-M4</version></providedServiceAPI></providedServiceAPIs></extension></extensions></extensionManifest>