MiNiFi Java Agent Administration
Also available as:
PDF

RestChangeIngestor

class name: org.apache.nifi.minifi.bootstrap.configuration.ingestors.RestChangeIngestor

This Config Change Ingestor sets up a light-weight Jetty HTTP(S) REST service in order to listen to HTTP(S) requests. A potential new configuration is sent via a POST request with the BODY being the potential new config.

Note: The encoding is expected to be Unicode and the exact version specified by the BOM mark ('UTF-8','UTF-16BE' or 'UTF-16LE'). If there is no BOM mark, then UTF-8 is used.

Here is an example post request using 'curl' hitting the local machine on pot 8338 and it is executed with the config file "config.yml" in the directory the command is run from:

curl --request POST --data-binary "@config.yml" http://localhost:8338/

Below are the configuration options. There are no required options. If no properties are set then the server will bind to hostname "localhost" on a random open port, will only connect via HTTP and will use the WholeConfigDifferentiator.

Option

Description

nifi.minifi.notifier.ingestors.receive.http.host

Hostname on which the Jetty server will bind to. If not specified then it will bind to localhost.

nifi.minifi.notifier.ingestors.receive.http.port

Port on which the Jetty server will bind to. If not specified then it will bind to a random open port.

nifi.minifi.notifier.ingestors.receive.http.truststore.location

If using HTTPS, this specifies the location of the truststore.

nifi.minifi.notifier.ingestors.receive.http.truststore.password

If using HTTPS, this specifies the password of the truststore.

nifi.minifi.notifier.ingestors.receive.http.truststore.type

If using HTTPS, this specifies the type of the truststore.

nifi.minifi.notifier.ingestors.receive.http.keystore.location

If using HTTPS, this specifies the location of the keystore.

nifi.minifi.notifier.ingestors.receive.http.keystore.password

If using HTTPS, this specifies the password of the keystore.

nifi.minifi.notifier.ingestors.receive.http.keystore.type

If using HTTPS, this specifies the type of the keystore.

nifi.minifi.notifier.ingestors.receive.http.need.client.auth

If using HTTPS, this specifies whether or not to require client authentication.

nifi.minifi.notifier.ingestors.receive.http.differentiator

Which differentiator to use. If not set then it uses the WholeConfigDifferentiator as a default.