<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-nar</artifactId><version>2.3.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>2.3.0</version></parentNar><systemApiVersion>2.0.0</systemApiVersion><buildInfo><tag>rel/nifi-2.3.0</tag><branch>main</branch><revision>1</revision></buildInfo><extensions><extension><name>org.apache.nifi.elasticsearch.ElasticSearchClientServiceImpl</name><type>CONTROLLER_SERVICE</type><description>A controller service for accessing an Elasticsearch client, using the Elasticsearch (low-level) REST Client.</description><tags><tag>elasticsearch</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>client</tag></tags><properties><property><name>el-cs-http-hosts</name><displayName>HTTP Hosts</displayName><description>A comma-separated list of HTTP hosts that host Elasticsearch query nodes.
The HTTP Hosts should be valid URIs including protocol, domain and port for each entry.
For example "https://elasticsearch1:9200, https://elasticsearch2:9200".
Note that the Host is included in requests as a header (typically including domain and port, e.g. elasticsearch:9200).
</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-path-prefix</name><displayName>Path Prefix</displayName><description>Sets the path's prefix for every request used by the http client. For example, if this is set to "/my/path", then any client request will become "/my/path/" + endpoint. In essence, every request's endpoint is prefixed by this pathPrefix. The path prefix is useful for when Elasticsearch is behind a proxy that provides a base path or a proxy that requires all paths to start with '/'; it is not intended for other purposes and it should not be supplied in other scenarios</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>authorization-scheme</name><displayName>Authorization Scheme</displayName><description>Authorization Scheme used for optional authentication to Elasticsearch.</description><defaultValue>BASIC</defaultValue><allowableValues><allowableValue><displayName>None</displayName><value>NONE</value><description>No authorization scheme.</description></allowableValue><allowableValue><displayName>PKI</displayName><value>PKI</value><description>Mutual TLS with PKI certificate authorization scheme.</description></allowableValue><allowableValue><displayName>Basic</displayName><value>BASIC</value><description>Basic authorization scheme.</description></allowableValue><allowableValue><displayName>API Key</displayName><value>API_KEY</value><description>API key authorization scheme.</description></allowableValue><allowableValue><displayName>JWT</displayName><value>JWT</value><description>JWT realm scheme.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-username</name><displayName>Username</displayName><description>The username to use with XPack security.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>authorization-scheme</propertyName><propertyDisplayName>Authorization Scheme</propertyDisplayName><dependentValues><dependentValue>BASIC</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-cs-password</name><displayName>Password</displayName><description>The password to use with XPack security.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>authorization-scheme</propertyName><propertyDisplayName>Authorization Scheme</propertyDisplayName><dependentValues><dependentValue>BASIC</dependentValue></dependentValues></dependency></dependencies></property><property><name>api-key-id</name><displayName>API Key ID</displayName><description>Unique identifier of the API key.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>authorization-scheme</propertyName><propertyDisplayName>Authorization Scheme</propertyDisplayName><dependentValues><dependentValue>API_KEY</dependentValue></dependentValues></dependency></dependencies></property><property><name>api-key</name><displayName>API Key</displayName><description>Encoded API key.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>authorization-scheme</propertyName><propertyDisplayName>Authorization Scheme</propertyDisplayName><dependentValues><dependentValue>API_KEY</dependentValue></dependentValues></dependency></dependencies></property><property><name>jwt-shared-secret</name><displayName>JWT Shared Secret</displayName><description>JWT realm Shared Secret.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>authorization-scheme</propertyName><propertyDisplayName>Authorization Scheme</propertyDisplayName><dependentValues><dependentValue>JWT</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-cs-oauth2-token-provider</name><displayName>OAuth2 Access Token Provider</displayName><description>The OAuth2 Access Token Provider used to provide JWTs for Bearer Token Authorization with Elasticsearch.</description><controllerServiceDefinition><className>org.apache.nifi.oauth2.OAuth2AccessTokenProvider</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>authorization-scheme</propertyName><propertyDisplayName>Authorization Scheme</propertyDisplayName><dependentValues><dependentValue>JWT</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-cs-run-as-user</name><displayName>Run As User</displayName><description>The username to impersonate within Elasticsearch.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-ssl-context-service</name><displayName>SSL Context Service</displayName><description>The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Elasticsearch endpoint(s) have been secured with TLS/SSL.</description><controllerServiceDefinition><className>org.apache.nifi.ssl.SSLContextProvider</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>proxy-configuration-service</name><displayName>Proxy Configuration Service</displayName><description>Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP</description><controllerServiceDefinition><className>org.apache.nifi.proxy.ProxyConfigurationService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-connect-timeout</name><displayName>Connect timeout</displayName><description>Controls the amount of time, in milliseconds, before a timeout occurs when trying to connect.</description><defaultValue>5000</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-socket-timeout</name><displayName>Read timeout</displayName><description>Controls the amount of time, in milliseconds, before a timeout occurs when waiting for a response.</description><defaultValue>60000</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-charset</name><displayName>Charset</displayName><description>The charset to use for interpreting the response from Elasticsearch.</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-suppress-nulls</name><displayName>Suppress Null/Empty Values</displayName><description>Specifies how the writer should handle null and empty fields (including objects and arrays)</description><defaultValue>always-suppress</defaultValue><allowableValues><allowableValue><displayName>Never Suppress</displayName><value>never-suppress</value><description>Fields that are missing (present in the schema but not in the record), or that have a value of null/empty, will be written out as a null/empty value</description></allowableValue><allowableValue><displayName>Always Suppress</displayName><value>always-suppress</value><description>Fields that are missing (present in the schema but not in the record), or that have a value of null/empty, will not be written out</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-enable-compression</name><displayName>Enable Compression</displayName><description>Whether the REST client should compress requests using gzip content encoding and add the "Accept-Encoding: gzip" header to receive compressed responses</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</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>el-cs-send-meta-header</name><displayName>Send Meta Header</displayName><description>Whether to send a "X-Elastic-Client-Meta" header that describes the runtime environment. It contains information that is similar to what could be found in User-Agent. Using a separate header allows applications to use User-Agent for their own needs, e.g. to identify application version or other environment information</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</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>el-cs-strict-deprecation</name><displayName>Strict Deprecation</displayName><description>Whether the REST client should return any response containing at least one warning header as a failure</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</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>el-cs-node-selector</name><displayName>Node Selector</displayName><description>Selects Elasticsearch nodes that can receive requests. Used to keep requests away from dedicated Elasticsearch master nodes</description><defaultValue>ANY</defaultValue><allowableValues><allowableValue><displayName>Any</displayName><value>ANY</value><description>Select any Elasticsearch node to handle requests</description></allowableValue><allowableValue><displayName>Skip Dedicated Masters</displayName><value>SKIP_DEDICATED_MASTERS</value><description>Skip dedicated Elasticsearch master nodes for handling request</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-cs-sniff-cluster-nodes</name><displayName>Sniff Cluster Nodes</displayName><description>Periodically sniff for nodes within the Elasticsearch cluster via the Elasticsearch Node Info API. If Elasticsearch security features are enabled (default to "true" for 8.x+), the Elasticsearch user must have the "monitor" or "manage" cluster privilege to use this API.Note that all HTTP Hosts (and those that may be discovered within the cluster using the Sniffer) must use the same protocol, e.g. http or https, and be contactable using the same client settings. Finally the Elasticsearch "network.publish_host" must match one of the "network.bind_host" list entries see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html for more information</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</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>el-cs-sniffer-interval</name><displayName>Sniffer Interval</displayName><description>Interval between Cluster sniffer operations</description><defaultValue>5 mins</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>el-cs-sniff-cluster-nodes</propertyName><propertyDisplayName>Sniff Cluster Nodes</propertyDisplayName><dependentValues><dependentValue>true</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-cs-sniffer-request-timeout</name><displayName>Sniffer Request Timeout</displayName><description>Cluster sniffer timeout for node info requests</description><defaultValue>1 sec</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>el-cs-sniff-cluster-nodes</propertyName><propertyDisplayName>Sniff Cluster Nodes</propertyDisplayName><dependentValues><dependentValue>true</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-cs-sniff-failure</name><displayName>Sniff on Failure</displayName><description>Enable sniffing on failure, meaning that after each failure the Elasticsearch nodes list gets updated straight away rather than at the following ordinary sniffing round</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>el-cs-sniff-cluster-nodes</propertyName><propertyDisplayName>Sniff Cluster Nodes</propertyDisplayName><dependentValues><dependentValue>true</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-cs-sniffer-failure-delay</name><displayName>Sniffer Failure Delay</displayName><description>Delay between an Elasticsearch request failure and updating available Cluster nodes using the Sniffer</description><defaultValue>1 min</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>el-cs-sniff-failure</propertyName><propertyDisplayName>Sniff on Failure</propertyDisplayName><dependentValues><dependentValue>true</dependentValue></dependentValues></dependency></dependencies></property></properties><dynamicProperties><dynamicProperty><name>The name of a Request Header to add</name><value>The value of the Header</value><description>Adds the specified property name/value as a Request Header in the Elasticsearch requests.</description><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope></dynamicProperty></dynamicProperties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>2.3.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.elasticsearch.ElasticSearchLookupService</name><type>CONTROLLER_SERVICE</type><description>Lookup a record from Elasticsearch Server associated with the specified document ID. The coordinates that are passed to the lookup must contain the key 'id'.</description><tags><tag>lookup</tag><tag>enrich</tag><tag>record</tag><tag>elasticsearch</tag></tags><properties><property><name>schema-access-strategy</name><displayName>Schema Access Strategy</displayName><description>Specifies how to obtain the schema that is to be used for interpreting the data.</description><defaultValue>infer</defaultValue><allowableValues><allowableValue><displayName>Use 'Schema Name' Property</displayName><value>schema-name</value><description>The name of the Schema to use is specified by the 'Schema Name' Property. The value of this property is used to lookup the Schema in the configured Schema Registry service.</description></allowableValue><allowableValue><displayName>Use 'Schema Text' Property</displayName><value>schema-text-property</value><description>The text of the Schema itself is specified by the 'Schema Text' Property. The value of this property must be a valid Avro Schema. If Expression Language is used, the value of the 'Schema Text' property must be valid after substituting the expressions.</description></allowableValue><allowableValue><displayName>Infer from Result</displayName><value>infer</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>schema-registry</name><displayName>Schema Registry</displayName><description>Specifies the Controller Service to use for the Schema Registry</description><controllerServiceDefinition><className>org.apache.nifi.schemaregistry.services.SchemaRegistry</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>schema-access-strategy</propertyName><propertyDisplayName>Schema Access Strategy</propertyDisplayName><dependentValues><dependentValue>schema-reference-reader</dependentValue><dependentValue>schema-name</dependentValue></dependentValues></dependency></dependencies></property><property><name>schema-name</name><displayName>Schema Name</displayName><description>Specifies the name of the schema to lookup in the Schema Registry property</description><defaultValue>${schema.name}</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>schema-access-strategy</propertyName><propertyDisplayName>Schema Access Strategy</propertyDisplayName><dependentValues><dependentValue>schema-name</dependentValue></dependentValues></dependency></dependencies></property><property><name>schema-version</name><displayName>Schema Version</displayName><description>Specifies the version of the schema to lookup in the Schema Registry. If not specified then the latest version of the schema will be retrieved.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>schema-access-strategy</propertyName><propertyDisplayName>Schema Access Strategy</propertyDisplayName><dependentValues><dependentValue>schema-name</dependentValue></dependentValues></dependency></dependencies></property><property><name>schema-branch</name><displayName>Schema Branch</displayName><description>Specifies the name of the branch to use when looking up the schema in the Schema Registry property. If the chosen Schema Registry does not support branching, this value will be ignored.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>schema-access-strategy</propertyName><propertyDisplayName>Schema Access Strategy</propertyDisplayName><dependentValues><dependentValue>schema-name</dependentValue></dependentValues></dependency></dependencies></property><property><name>schema-text</name><displayName>Schema Text</displayName><description>The text of an Avro-formatted Schema</description><defaultValue>${avro.schema}</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>schema-access-strategy</propertyName><propertyDisplayName>Schema Access Strategy</propertyDisplayName><dependentValues><dependentValue>schema-text-property</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An ElasticSearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>2.3.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-lookup-index</name><displayName>Index</displayName><description>The name of the index to read from</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-lookup-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching)</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>A JSONPath expression</name><value>A Record Path expression</value><description>Retrieves an object using JSONPath from the result document and places it in the return Record at the specified Record Path.</description><expressionLanguageScope>NONE</expressionLanguageScope></dynamicProperty></dynamicProperties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.lookup.LookupService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.elasticsearch.ElasticSearchStringLookupService</name><type>CONTROLLER_SERVICE</type><description>Lookup a string value from Elasticsearch Server associated with the specified document ID. The coordinates that are passed to the lookup must contain the key 'id'.</description><tags><tag>lookup</tag><tag>enrich</tag><tag>value</tag><tag>key</tag><tag>elasticsearch</tag></tags><properties><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An ElasticSearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>2.3.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-lookup-index</name><displayName>Index</displayName><description>The name of the index to read from</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-lookup-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching)</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.lookup.StringLookupService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI><providedServiceAPI><className>org.apache.nifi.lookup.LookupService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI></providedServiceAPIs></extension></extensions></extensionManifest>