<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-stateless-processor-nar</artifactId><version>1.22.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></parentNar><systemApiVersion>1.22.0</systemApiVersion><buildInfo><tag>nifi-1.22.0-RC1</tag><branch>UNKNOWN</branch><revision>71e3ea9</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.stateless.ExecuteStateless</name><type>PROCESSOR</type><description>Runs the configured dataflow using the Stateless NiFi engine. Please see documentation in order to understand the differences between the traditional NiFi runtime engine and the Stateless NiFi engine. If the Processor is configured with an incoming connection, the incoming FlowFiles will be queued up into the specified Input Port in the dataflow. Data that is transferred out of the flow via an Output Port will be sent to the 'output' relationship, and an attribute will be added to indicate which Port that FlowFile was transferred to. See Additional Details for more information.</description><tags></tags><properties><property><name>Dataflow Specification Strategy</name><displayName>Dataflow Specification Strategy</displayName><description>Specifies how the Processor should obtain a copy of the dataflow that it is to run</description><defaultValue>Use Local File</defaultValue><allowableValues><allowableValue><displayName>Use Local File or URL</displayName><value>Use Local File</value><description>Dataflow to run is stored as a file on the NiFi server or at a URL that is accessible to the NiFi server</description></allowableValue><allowableValue><displayName>Use NiFi Registry</displayName><value>Use NiFi Registry</value><description>Dataflow to run is stored in NiFi Registry</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Dataflow File</name><displayName>Dataflow File/URL</displayName><description>The filename or URL that specifies the dataflow that is to be run</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType><resourceType>URL</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Dataflow Specification Strategy</propertyName><propertyDisplayName>Dataflow Specification Strategy</propertyDisplayName><dependentValues><dependentValue>Use Local File</dependentValue></dependentValues></dependency></dependencies></property><property><name>Registry URL</name><displayName>Registry URL</displayName><description>The URL of the NiFi Registry to retrieve the flow from</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Dataflow Specification Strategy</propertyName><propertyDisplayName>Dataflow Specification Strategy</propertyDisplayName><dependentValues><dependentValue>Use NiFi Registry</dependentValue></dependentValues></dependency></dependencies></property><property><name>Registry SSL Context Service</name><displayName>Registry SSL Context Service</displayName><description>The SSL Context Service to use for interacting with the NiFi Registry</description><controllerServiceDefinition><className>org.apache.nifi.ssl.SSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Dataflow Specification Strategy</propertyName><propertyDisplayName>Dataflow Specification Strategy</propertyDisplayName><dependentValues><dependentValue>Use NiFi Registry</dependentValue></dependentValues></dependency></dependencies></property><property><name>Communications Timeout</name><displayName>Communications Timeout</displayName><description>Specifies how long to wait before timing out when attempting to communicate with NiFi Registry</description><defaultValue>15 secs</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Dataflow Specification Strategy</propertyName><propertyDisplayName>Dataflow Specification Strategy</propertyDisplayName><dependentValues><dependentValue>Use NiFi Registry</dependentValue></dependentValues></dependency></dependencies></property><property><name>Registry Bucket</name><displayName>Registry Bucket</displayName><description>The name of the Bucket in the NiFi Registry that the flow should retrieved from</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Dataflow Specification Strategy</propertyName><propertyDisplayName>Dataflow Specification Strategy</propertyDisplayName><dependentValues><dependentValue>Use NiFi Registry</dependentValue></dependentValues></dependency></dependencies></property><property><name>Flow Name</name><displayName>Flow Name</displayName><description>The name of the flow in the NiFi Registry</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Dataflow Specification Strategy</propertyName><propertyDisplayName>Dataflow Specification Strategy</propertyDisplayName><dependentValues><dependentValue>Use NiFi Registry</dependentValue></dependentValues></dependency></dependencies></property><property><name>Flow Version</name><displayName>Flow Version</displayName><description>The version of the flow in the NiFi Registry that should be retrieved. If not specified, the latest version will always be used.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Dataflow Specification Strategy</propertyName><propertyDisplayName>Dataflow Specification Strategy</propertyDisplayName><dependentValues><dependentValue>Use NiFi Registry</dependentValue></dependentValues></dependency></dependencies></property><property><name>Input Port</name><displayName>Input Port</displayName><description>Specifies the name of the Input Port to send incoming FlowFiles to. This property is required if this processor has any incoming connections.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Failure Ports</name><displayName>Failure Ports</displayName><description>A comma-separated list of the names of Output Ports that exist at the root level of the dataflow. If any FlowFile is routed to one of the Ports whose name is listed here, the dataflow will be considered a failure, and the incoming FlowFile (if any) will be routed to 'failure'. If not specified, all Output Ports will be considered successful.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Content Storage Strategy</name><displayName>Content Storage Strategy</displayName><description>Specifies where the content of FlowFiles that the Stateless dataflow is operating on should be stored. Note that the data is always considered temporary and may be deleted at any time. It is not intended to be persisted across restarted.</description><defaultValue>Store Content on Disk</defaultValue><allowableValues><allowableValue><displayName>Store Content on Heap</displayName><value>Store Content on Heap</value><description>The FlowFile content will be stored on the NiFi JVM's heap. This is the most efficient option for small FlowFiles but can quickly exhaust the heap with larger FlowFiles, resulting in Out Of Memory Errors and node instability.</description></allowableValue><allowableValue><displayName>Store Content on Disk</displayName><value>Store Content on Disk</value><description>The FlowFile content will be stored on disk, within the configured Work Directory. The content will still be cleared between invocations and will not be persisted across restarts.</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 Input FlowFile Size</name><displayName>Max Input FlowFile Size</displayName><description>This Processor is configured to load all incoming FlowFiles into memory. Because of that, it is important to limit the maximum size of any incoming FlowFile that would get loaded into memory, in order to prevent Out Of Memory Errors and excessive Garbage Collection. Any FlowFile whose content size is greater than the configured size will be routed to failure and not sent to the Stateless Engine.</description><defaultValue>1 MB</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>Content Storage Strategy</propertyName><propertyDisplayName>Content Storage Strategy</propertyDisplayName><dependentValues><dependentValue>Store Content on Heap</dependentValue></dependentValues></dependency></dependencies></property><property><name>Dataflow Timeout</name><displayName>Dataflow Timeout</displayName><description>If the flow does not complete within this amount of time, the incoming FlowFile, if any, will be routed to the timeout relationship,the dataflow will be cancelled, and the invocation will end.</description><defaultValue>60 sec</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>NAR Directory</name><displayName>NAR Directory</displayName><description>The directory to retrieve NAR's from</description><defaultValue>./lib</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Work Directory</name><displayName>Work Directory</displayName><description>A directory that can be used to create temporary files, such as expanding NAR files, temporary FlowFile content, caching the dataflow, etc.</description><defaultValue>./work</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Max Ingest FlowFiles</name><displayName>Max Ingest FlowFiles</displayName><description>During the course of a stateless dataflow, some processors may require more data than they have available in order to proceed. For example, MergeContent may require a minimum number of FlowFiles before it can proceed. In this case, the dataflow may bring in additional data from its source Processor. However, this data may all be held in memory, so this property provides a mechanism for limiting the maximum number of FlowFiles that the source Processor can ingest before it will no longer be triggered to ingest additional data.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Max Ingest Data Size</name><displayName>Max Ingest Data Size</displayName><description>During the course of a stateless dataflow, some processors may require more data than they have available in order to proceed. For example, MergeContent may require a minimum number of FlowFiles before it can proceed. In this case, the dataflow may bring in additional data from its source Processor. However, this data may all be held in memory, so this property provides a mechanism for limiting the maximum amount of data that the source Processor can ingest before it will no longer be triggered to ingest additional data.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Stateless SSL Context Service</name><displayName>Stateless SSL Context Service</displayName><description>The SSL Context to use as the Stateless System SSL Context</description><controllerServiceDefinition><className>org.apache.nifi.ssl.SSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Krb5 Conf File</name><displayName>Krb5 Conf File</displayName><description>The KRB5 Conf file to use for configuring components that rely on Kerberos</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType></resourceTypes></resourceDefinition></property><property><name>Status Task Interval</name><displayName>Status Task Interval</displayName><description>The Stateless engine periodically logs the status of the dataflow's processors.  This property allows the interval to be changed, or the status logging to be skipped altogether if the property is not set.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>Any Parameter name</name><value>Any value</value><description>Any dynamic property that is added will be provided to the stateless flow as a Parameter. The name of the property will be the name of the Parameter, and the value of the property will be the value of the Parameter. Because Parameter values may or may not be sensitive, all dynamic properties will be considered sensitive in order to protect their integrity.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope></dynamicProperty></dynamicProperties><supportsSensitiveDynamicProperties>true</supportsSensitiveDynamicProperties><relationships><relationship><name>timeout</name><description>If the dataflow fails to complete in the configured amount of time, any incoming FlowFile will be routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>If the dataflow fails to process an incoming FlowFile, that FlowFile will be routed to this relationship</description><autoTerminated>false</autoTerminated></relationship><relationship><name>original</name><description>For any incoming FlowFile that is successfully processed, the original incoming FlowFile will be transferred to this Relationship</description><autoTerminated>true</autoTerminated></relationship><relationship><name>output</name><description>Any FlowFiles that are transferred to an Output Port in the configured dataflow will be routed to this Relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>output.port.name</name><description>The name of the Output Port that the FlowFile was transferred to</description></writesAttribute><writesAttribute><name>failure.port.name</name><description>If one or more FlowFiles is routed to one of the Output Ports that is configured as a Failure Port, the input FlowFile (if any) will have this attribute added to it, indicating the name of the Port that caused the dataflow to be considered a failure.</description></writesAttribute></writesAttributes><supportsBatching>true</supportsBatching><restricted><restrictions></restrictions></restricted><inputRequirement>INPUT_ALLOWED</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>CPU</resource><description>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</description></systemResourceConsideration><systemResourceConsideration><resource>DISK</resource><description>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</description></systemResourceConsideration><systemResourceConsideration><resource>MEMORY</resource><description>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</description></systemResourceConsideration><systemResourceConsideration><resource>NETWORK</resource><description>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</description></systemResourceConsideration></systemResourceConsiderations></extension></extensions></extensionManifest>