Modified: nifi/site/trunk/minifi/system-admin-guide.html
URL: 
http://svn.apache.org/viewvc/nifi/site/trunk/minifi/system-admin-guide.html?rev=1828794&r1=1828793&r2=1828794&view=diff
==============================================================================
--- nifi/site/trunk/minifi/system-admin-guide.html (original)
+++ nifi/site/trunk/minifi/system-admin-guide.html Tue Apr 10 07:50:11 2018
@@ -20,95 +20,93 @@
     </head>
     <body>
         <div class="sticky contain-to-grid">
-    <nav class="top-bar" data-topbar role="navigation">
-        <ul class="title-area">
-            <li class="name">
-                <h1>
-                    <a href="index.html">
-                        <img id="logo-top-bar" 
src="../assets/images/minifi-drop-white.svg" alt="MiNiFi"/>
-                    </a>
-                </h1>
-            </li>
-            <!-- Remove the class "menu-icon" to get rid of menu icon. Take 
out "Menu" to just have icon alone -->
-            <li class="toggle-topbar menu-icon"><a 
href="#"><span></span></a></li>
-        </ul>
-
-        <section class="top-bar-section">
-            <!-- Right Nav Section -->
-            <ul class="right">
-                <li class="has-dropdown">
-                    <a href="#">Project</a>
-                    <ul class="dropdown">
-                        <li><a href="index.html">Home</a></li>
-                        <li><a href="https://blogs.apache.org/nifi/";><i 
class="fa fa-external-link external-link"></i>Apache NiFi Blog</a></li>
-                        <li><a 
href="https://www.apache.org/licenses/LICENSE-2.0";><i class="fa 
fa-external-link external-link"></i>License</a></li>
+            <nav class="top-bar" data-topbar role="navigation">
+                <ul class="title-area">
+                    <li class="name">
+                        <h1>
+                            <a href="index.html">
+                                <img id="logo-top-bar" 
src="../assets/images/minifi-drop-white.svg" alt="MiNiFi"/>
+                            </a>
+                        </h1>
+                    </li>
+                    <!-- Remove the class "menu-icon" to get rid of menu icon. 
Take out "Menu" to just have icon alone -->
+                    <li class="toggle-topbar menu-icon"><a 
href="#"><span></span></a></li>
+                </ul>
+        
+                <section class="top-bar-section">
+                    <!-- Right Nav Section -->
+                    <ul class="right">
+                        <li class="has-dropdown">
+                            <a href="#">Project</a>
+                            <ul class="dropdown">
+                                <li><a href="index.html">Home</a></li>
+                                <li><a 
href="https://blogs.apache.org/nifi/";><i class="fa fa-external-link 
external-link"></i>Apache NiFi Blog</a></li>
+                                <li><a 
href="https://www.apache.org/licenses/LICENSE-2.0";><i class="fa 
fa-external-link external-link"></i>License</a></li>
+                            </ul>
+                        </li>
+                        <li class="has-dropdown">
+                            <a href="#">Documentation</a>
+                            <ul class="dropdown">
+                                <li><a href="getting-started.html"><i 
class="fa"></i>Getting Started</a></li>
+                                <li><a 
href="minifi-java-agent-quick-start.html"><i class="fa"></i>MiNiFi Java Quick 
Start Guide</a></li>
+                                <li><a href="system-admin-guide.html"><i 
class="fa"></i>Administrator's Guide</a></li>
+                                <li><a href="minifi-toolkit.html"><i 
class="fa"></i>Converter Toolkit</a></li>
+                                <li><a href="faq.html"><i 
class="fa"></i>FAQ</a></li>
+                                <li><a 
href="https://cwiki.apache.org/confluence/display/MiNiFi";><i class="fa 
fa-external-link external-link"></i>Wiki</a></li>
+                            </ul>
+                        </li>
+                        <li class="has-dropdown">
+                            <a href="#">Downloads</a>
+                            <ul class="dropdown">
+                                <li><a href="download.html">Download MiNiFi 
Components</a></li>
+                                <li><a 
href="https://cwiki.apache.org/confluence/display/MINIFI/Release+Notes#ReleaseNotes-Version0.0.1";><i
 class="fa fa-external-link external-link"></i>Release Notes</a></li>
+                            </ul>
+                        </li>
+                        <li class="has-dropdown">
+                            <a href="#">Community</a>
+                            <ul class="dropdown">
+                                <li><a 
href="https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide";><i 
class="fa fa-external-link external-link"></i>Contributor Guide</a></li>
+                                <li><a href="../mailing_lists.html">Mailing 
Lists &amp; Chat</a></li>
+                                <li><a href="../people.html">People</a></li>
+                            </ul>
+                        </li>
+                        <li class="has-dropdown">
+                            <a href="#">Development</a>
+                            <ul class="dropdown">
+                                <li><a href="../release-guide.html">Release 
Guide</a></li>
+                                <li><a 
href="../licensing-guide.html">Licensing Guide</a></li>
+                                <li><a 
href="https://git-wip-us.apache.org/repos/asf/nifi-minifi.git";><i class="fa 
fa-external-link external-link"></i>Source - Java Agent</a></li>
+                                <li><a 
href="https://github.com/apache/nifi-minifi";><i class="fa fa-external-link 
external-link"></i>Source - GitHub - Java Agent</a></li>
+                                <li><a 
href="https://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp.git";><i class="fa 
fa-external-link external-link"></i>Source - C++ Agent</a></li>
+                                <li><a 
href="https://github.com/apache/nifi-minifi-cpp";><i class="fa fa-external-link 
external-link"></i>Source - GitHub - C++ Agent</a></li>
+                                <li><a 
href="https://issues.apache.org/jira/browse/MINIFI";><i class="fa 
fa-external-link external-link"></i>MiNiFi Java Issues</a></li>
+                                <li><a 
href="https://issues.apache.org/jira/browse/MINIFICPP";><i class="fa 
fa-external-link external-link"></i>MiNiFi C++ Issues</a></li>
+                            </ul>
+                        </li>
+                        <li class="has-dropdown">
+                            <a href="#">ASF Links</a>
+                            <ul class="dropdown">
+                                <li><a href="https://www.apache.org";><i 
class="fa fa-external-link external-link"></i>Apache Software 
Foundation</a></li>
+                                <li><a 
href="https://www.apache.org/foundation/sponsorship.html";><i class="fa 
fa-external-link external-link"></i>Sponsorship</a></li>
+                                <li><a 
href="https://www.apache.org/security/";><i class="fa fa-external-link 
external-link"></i>Security</a></li>
+                                <li><a 
href="https://www.apache.org/foundation/thanks.html";><i class="fa 
fa-external-link external-link"></i>Thanks</a></li>
+                            </ul>
+                        </li>
+                        <li>
+                            <a href="../index.html">Apache NiFi</a>
+                        </li>
                     </ul>
-                </li>
-                <li class="has-dropdown">
-                    <a href="#">Documentation</a>
-                    <ul class="dropdown">
-                        <li><a href="getting-started.html"><i 
class="fa"></i>Getting Started</a></li>
-                        <li><a href="minifi-java-agent-quick-start.html"><i 
class="fa"></i>MiNiFi Java Quick Start Guide</a></li>
-                        <li><a href="system-admin-guide.html"><i 
class="fa"></i>Administrator's Guide</a></li>
-                        <li><a href="minifi-toolkit.html"><i 
class="fa"></i>Converter Toolkit</a></li>
-                        <li><a href="faq.html"><i class="fa"></i>FAQ</a></li>
-                        <li><a 
href="https://cwiki.apache.org/confluence/display/MiNiFi";><i class="fa 
fa-external-link external-link"></i>Wiki</a></li>
-                    </ul>
-                </li>
-                <li class="has-dropdown">
-                    <a href="#">Downloads</a>
-                    <ul class="dropdown">
-                        <li><a href="download.html">Download MiNiFi 
Components</a></li>
-                        <li><a 
href="https://cwiki.apache.org/confluence/display/MINIFI/Release+Notes#ReleaseNotes-Version0.0.1";><i
 class="fa fa-external-link external-link"></i>Release Notes</a></li>
-                    </ul>
-                </li>
-                <li class="has-dropdown">
-                    <a href="#">Community</a>
-                    <ul class="dropdown">
-                        <li><a 
href="https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide";><i 
class="fa fa-external-link external-link"></i>Contributor Guide</a></li>
-                        <li><a href="../mailing_lists.html">Mailing Lists 
&amp; Chat</a></li>
-                        <li><a href="../people.html">People</a></li>
-                    </ul>
-                </li>
-                <li class="has-dropdown">
-                    <a href="#">Development</a>
-                    <ul class="dropdown">
-                        <li><a href="../release-guide.html">Release 
Guide</a></li>
-                        <li><a href="../licensing-guide.html">Licensing 
Guide</a></li>
-                        <li><a 
href="https://git-wip-us.apache.org/repos/asf/nifi-minifi.git";><i class="fa 
fa-external-link external-link"></i>Source - Java Agent</a></li>
-                        <li><a href="https://github.com/apache/nifi-minifi";><i 
class="fa fa-external-link external-link"></i>Source - GitHub - Java 
Agent</a></li>
-                        <li><a 
href="https://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp.git";><i class="fa 
fa-external-link external-link"></i>Source - C++ Agent</a></li>
-                        <li><a 
href="https://github.com/apache/nifi-minifi-cpp";><i class="fa fa-external-link 
external-link"></i>Source - GitHub - C++ Agent</a></li>
-                        <li><a 
href="https://issues.apache.org/jira/browse/MINIFI";><i class="fa 
fa-external-link external-link"></i>MiNiFi Java Issues</a></li>
-                        <li><a 
href="https://issues.apache.org/jira/browse/MINIFICPP";><i class="fa 
fa-external-link external-link"></i>MiNiFi C++ Issues</a></li>
-                    </ul>
-                </li>
-                <li class="has-dropdown">
-                    <a href="#">ASF Links</a>
-                    <ul class="dropdown">
-                        <li><a href="https://www.apache.org";><i class="fa 
fa-external-link external-link"></i>Apache Software Foundation</a></li>
-                        <li><a 
href="https://www.apache.org/foundation/sponsorship.html";><i class="fa 
fa-external-link external-link"></i>Sponsorship</a></li>
-                        <li><a href="https://www.apache.org/security/";><i 
class="fa fa-external-link external-link"></i>Security</a></li>
-                        <li><a 
href="https://www.apache.org/foundation/thanks.html";><i class="fa 
fa-external-link external-link"></i>Thanks</a></li>
-                    </ul>
-                </li>
-                <li>
-                    <a href="../index.html">Apache NiFi</a>
-                </li>
-            </ul>
-        </section>
-    </nav>
-</div>
-
-
+                </section>
+            </nav>
+        </div>
 
 <div class="row">
     <div class="large-12 columns">
         <div class="large-space"></div>
-        <h1 id="minifi-system-administrator-s-guide">MiNiFi System 
Administrator&#39;s Guide</h1>
+<h1>MiNiFi System Administrator's Guide</h1>
 <p><a href="mailto:[email protected]";>Apache NiFi Team</a></p>
 <p><a href="https://nifi.apache.org/minifi/index.html";>MiNiFi Homepage</a></p>
-<h1 id="automatic-warm-redeploy">Automatic Warm-Redeploy</h1>
+<h1>Automatic Warm-Redeploy</h1>
 <p>When many MiNiFi agents running on the edge, it may not be possible to 
manually stop, edit the config.yml and then restart every one every time their 
configuration needs to change. The Config Change Coordinator and its Ingestors 
were designed to automatically redeploy in response to a configuration 
update.</p>
 <p>The Config Change Ingestors are the means by which the agent is notified of 
a potential new configuration. Currently there are three:</p>
 <ul>
@@ -123,194 +121,96 @@
 <p>After a new config is determined to be new, the MiNiFi agent will attempt 
to restart. The bootstrap first saves the old config into a swap file. The 
bootstrap monitors the agent as it restarts and if it fails it will roll back 
to the old config. If it succeeds then the swap file will be deleted and the 
agent will start processing using the new config.</p>
 <p><strong>Note:</strong> Data left in connections when the agent attempts to 
restart will either be mapped to a connection with the same ID in the new 
config, or orphaned and deleted.</p>
 <p>The configuration for Warm-Redeploy is done in the bootstrap.conf and 
primarily revolve around the Config Change Ingestors. The configuration in the 
bootstrap.conf is done using the &quot;nifi.minifi.notifier.ingestors&quot; key 
followed by the full path name of the desired Ingestor implementation to run. 
Use a comma separated list  to define more than one Ingestor implementation. 
For example:</p>
-<pre><code>nifi.minifi.notifier.ingestors=org.apache.nifi.minifi.bootstrap.configuration.ingestors.PullHttpChangeIngestor</code></pre>
+<pre><code>nifi.minifi.notifier.ingestors=org.apache.nifi.minifi.bootstrap.configuration.ingestors.PullHttpChangeIngestor
+</code></pre>
 <p>Ingestor specific configuration is also necessary and done in the 
bootstrap.conf as well. Specifics for each are detailed below.</p>
-<h2 id="filechangeingestor">FileChangeIngestor</h2>
+<h2>FileChangeIngestor</h2>
 <p>class name: 
org.apache.nifi.minifi.bootstrap.configuration.ingestors.FileChangeIngestor</p>
 <p>This Config Change Ingestor watches a file and when the file is updated, 
the file is ingested as a new config.</p>
 <p>Note: The config file path configured here and in 
&quot;nifi.minifi.config&quot; cannot be the same. This is due to the swapping 
mechanism and other implementation limitations.</p>
 <p>Below are the configuration options. The file config path is the only 
required property.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>nifi.minifi.notifier.ingestors.file.config.path</td>
-<td>Path of the file to monitor for changes.  When these occur, the 
FileChangeNotifier, if configured, will begin the configuration reloading 
process</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.file.polling.period.seconds</td>
-<td>How frequently the file specified by 
&#39;nifi.minifi.notifier.file.config.path&#39; should be evaluated for 
changes. If not set then a default polling period of 15 seconds will be 
used.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.file.differentiator</td>
-<td>Which differentiator to use. If not set then it uses the 
WholeConfigDifferentiator as a default.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>nifi.minifi.notifier.ingestors.file.config.path</td><td>Path of the 
file to monitor for changes.  When these occur, the FileChangeNotifier, if 
configured, will begin the configuration reloading process</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.file.polling.period.seconds</td><td>How 
frequently the file specified by 'nifi.minifi.notifier.file.config.path' should 
be evaluated for changes. If not set then a default polling period of 15 
seconds will be used.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.file.differentiator</td><td>Which 
differentiator to use. If not set then it uses the WholeConfigDifferentiator as 
a default.</td></tr>
 </tbody>
 </table>
-<h2 id="restchangeingestor">RestChangeIngestor</h2>
+<h2>RestChangeIngestor</h2>
 <p>class name: 
org.apache.nifi.minifi.bootstrap.configuration.ingestors.RestChangeIngestor</p>
 <p>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.</p>
-<p><strong>Note:</strong> The encoding is expected to be Unicode and the exact 
version specified by the BOM mark (&#39;UTF-8&#39;,&#39;UTF-16BE&#39; or 
&#39;UTF-16LE&#39;). If there is no BOM mark, then UTF-8 is used.</p>
-<p>Here is an example post request using &#39;curl&#39; hitting the local 
machine on pot 8338 and it is executed with the config file 
&quot;config.yml&quot; in the directory the command is run from:</p>
-<pre><code>curl --request POST --data-binary &quot;@config.yml&quot; 
http://localhost:8338/</code></pre>
+<p><strong>Note:</strong> 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.</p>
+<p>Here is an example post request using 'curl' hitting the local machine on 
pot 8338 and it is executed with the config file &quot;config.yml&quot; in the 
directory the command is run from:</p>
+<pre><code>curl --request POST --data-binary &quot;@config.yml&quot; 
http://localhost:8338/
+</code></pre>
 <p>Below are the configuration options. There are no required options. If no 
properties are set then the server will bind to hostname &quot;localhost&quot; 
on a random open port, will only connect via HTTP and will use the 
WholeConfigDifferentiator.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.host</td>
-<td>Hostname on which the Jetty server will bind to. If not specified then it 
will bind to localhost.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.port</td>
-<td>Port on which the Jetty server will bind to. If not specified then it will 
bind to a random open port.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.truststore.location</td>
-<td>If using HTTPS, this specifies the location of the truststore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.truststore.password</td>
-<td>If using HTTPS, this specifies the password of the truststore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.truststore.type</td>
-<td>If using HTTPS, this specifies the type of the truststore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.keystore.location</td>
-<td>If using HTTPS, this specifies the location of the keystore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.keystore.password</td>
-<td>If using HTTPS, this specifies the password of the keystore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.keystore.type</td>
-<td>If using HTTPS, this specifies the type of the keystore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.need.client.auth</td>
-<td>If using HTTPS, this specifies whether or not to require client 
authentication.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.receive.http.differentiator</td>
-<td>Which differentiator to use. If not set then it uses the 
WholeConfigDifferentiator as a default.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.host</td><td>Hostname on 
which the Jetty server will bind to. If not specified then it will bind to 
localhost.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.port</td><td>Port on which 
the Jetty server will bind to. If not specified then it will bind to a random 
open port.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.truststore.location</td><td>If
 using HTTPS, this specifies the location of the truststore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.truststore.password</td><td>If
 using HTTPS, this specifies the password of the truststore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.truststore.type</td><td>If 
using HTTPS, this specifies the type of the truststore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.keystore.location</td><td>If
 using HTTPS, this specifies the location of the keystore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.keystore.password</td><td>If
 using HTTPS, this specifies the password of the keystore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.keystore.type</td><td>If 
using HTTPS, this specifies the type of the keystore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.need.client.auth</td><td>If
 using HTTPS, this specifies whether or not to require client 
authentication.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.receive.http.differentiator</td><td>Which
 differentiator to use. If not set then it uses the WholeConfigDifferentiator 
as a default.</td></tr>
 </tbody>
 </table>
-<h2 id="pullhttpchangeingestor">PullHttpChangeIngestor</h2>
+<h2>PullHttpChangeIngestor</h2>
 <p>class name: 
org.apache.nifi.minifi.bootstrap.configuration.ingestors.PullHttpChangeIngestor</p>
 <p>This Config Change Ingestor periodically sends a GET request to a REST 
endpoint using HTTP(S) to order to pull the potential new config.</p>
 <p>Below are the configuration options. The hostname and port are the only 
required properties.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.hostname</td>
-<td>Hostname on which to pull configurations from</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.port</td>
-<td>Port on which to pull configurations from</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.path</td>
-<td>Path on which to pull configurations from</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.period.ms</td>
-<td>Period on which to pull configurations from, defaults to 5 minutes if not 
set.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.use.etag</td>
-<td>If the destination server is set up with cache control ability and 
utilizes an &quot;ETag&quot; header, then this should be set to true to utilize 
it. Very simply, the Ingestor remembers the &quot;ETag&quot; of the last 
successful pull (returned 200) then uses that &quot;ETag&quot; in a 
&quot;If-None-Match&quot; header on the next request.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.connect.timeout.ms</td>
-<td>Sets the connect timeout for new connections. A value of 0 means no 
timeout, otherwise values must be a positive whole number in milliseconds.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.read.timeout.ms</td>
-<td>Sets the read timeout for new connections. A value of 0 means no timeout, 
otherwise values must be a positive whole number in milliseconds.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.truststore.location</td>
-<td>If using HTTPS, this specifies the location of the truststore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.truststore.password</td>
-<td>If using HTTPS, this specifies the password of the truststore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.truststore.type</td>
-<td>If using HTTPS, this specifies the type of the truststore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.keystore.location</td>
-<td>If using HTTPS, this specifies the location of the keystore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.keystore.password</td>
-<td>If using HTTPS, this specifies the password of the keystore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.keystore.type</td>
-<td>If using HTTPS, this specifies the type of the keystore.</td>
-</tr>
-<tr>
-<td>nifi.minifi.notifier.ingestors.pull.http.differentiator</td>
-<td>Which differentiator to use. If not set then it uses the 
WholeConfigDifferentiator as a default.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.hostname</td><td>Hostname on 
which to pull configurations from</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.port</td><td>Port on which to 
pull configurations from</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.path</td><td>Path on which to 
pull configurations from</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.period.ms</td><td>Period on 
which to pull configurations from, defaults to 5 minutes if not set.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.use.etag</td><td>If the 
destination server is set up with cache control ability and utilizes an 
&quot;ETag&quot; header, then this should be set to true to utilize it. Very 
simply, the Ingestor remembers the &quot;ETag&quot; of the last successful pull 
(returned 200) then uses that &quot;ETag&quot; in a &quot;If-None-Match&quot; 
header on the next request.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.connect.timeout.ms</td><td>Sets
 the connect timeout for new connections. A value of 0 means no timeout, 
otherwise values must be a positive whole number in milliseconds.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.read.timeout.ms</td><td>Sets 
the read timeout for new connections. A value of 0 means no timeout, otherwise 
values must be a positive whole number in milliseconds.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.truststore.location</td><td>If
 using HTTPS, this specifies the location of the truststore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.truststore.password</td><td>If
 using HTTPS, this specifies the password of the truststore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.truststore.type</td><td>If 
using HTTPS, this specifies the type of the truststore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.keystore.location</td><td>If 
using HTTPS, this specifies the location of the keystore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.keystore.password</td><td>If 
using HTTPS, this specifies the password of the keystore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.keystore.type</td><td>If 
using HTTPS, this specifies the type of the keystore.</td></tr>
+<tr><td>nifi.minifi.notifier.ingestors.pull.http.differentiator</td><td>Which 
differentiator to use. If not set then it uses the WholeConfigDifferentiator as 
a default.</td></tr>
 </tbody>
 </table>
-<h1 id="status-reporting-and-querying">Status Reporting and Querying</h1>
+<h1>Status Reporting and Querying</h1>
 <p>In NiFi there is a lot of information, such as stats and bulletins, that is 
only available to view through the UI. MiNiFi provides access to this 
information through a query mechanism. You can query FlowStatus either using 
the MiNiFi.sh script or by configuring one of the Periodic Status Reporters. 
The API for the query is the same for the reporters and the 
&quot;flowStatus&quot; script option. The API is outlined in the 
&quot;FlowStatus Query Options&quot; section below.</p>
-<h2 id="flowstatus-script-query">FlowStatus Script Query</h2>
+<h2>FlowStatus Script Query</h2>
 <p>From the minifi.sh script, you can manually query to get the current status 
of your  dataflow. The following is an example of a minifi.sh query you might 
run to view health, stats, and bulletins for the TailFile processor. This query 
returns information to your command-line.</p>
-<pre><code>minifi.sh flowStatus 
processor:TailFile:health,stats,bulletins</code></pre>
+<pre><code>minifi.sh flowStatus processor:TailFile:health,stats,bulletins
+</code></pre>
 <p>Currently the script only accepts one high level option at a time. Also any 
names of connections, remote process groups, or processors that contain &quot; 
&quot; (a space), &quot;:&quot;, &quot;;&quot; or &quot;,&quot; cause parsing 
errors when querying.</p>
-<h2 id="periodic-status-reporters">Periodic Status Reporters</h2>
+<h2>Periodic Status Reporters</h2>
 <p>You can set up Periodic Status Reporters to periodically report the status 
of your dataflow. The query executes at configurable intervals and the results 
are reported using the configured implementation. Configure the Reporters in 
the bootstrap.conf file, using the 
&quot;nifi.minifi.status.reporter.components&quot; key followed by the full 
path name of the desired Reporter implementation to run. Use a comma separated 
list  to define more than one Reporter implementation. For example:</p>
-<pre><code>nifi.minifi.status.reporter.components=org.apache.nifi.minifi.bootstrap.status.reporters.StatusLogger</code></pre>
-<h3 id="statuslogger">StatusLogger</h3>
+<pre><code>nifi.minifi.status.reporter.components=org.apache.nifi.minifi.bootstrap.status.reporters.StatusLogger
+</code></pre>
+<h3>StatusLogger</h3>
 <p>class name: 
org.apache.nifi.minifi.bootstrap.status.reporters.StatusLogger</p>
 <p>The Periodic Status Reporter logs the results of the query to the logs. By 
default it is logged to the minifi-bootstrap.log but you can modify logback.xml 
to log to an alternate file and location.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>nifi.minifi.status.reporter.log.query</td>
-<td>The FlowStatus query to run.</td>
-</tr>
-<tr>
-<td>nifi.minifi.status.reporter.log.level</td>
-<td>The log level at which to log the status. Available options are 
&quot;TRACE&quot;, &quot;DEBUG&quot;, &quot;INFO&quot;, &quot;WARN&quot; and 
&quot;ERROR&quot;.</td>
-</tr>
-<tr>
-<td>nifi.minifi.status.reporter.log.period</td>
-<td>The delay (in milliseconds) between each query.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>nifi.minifi.status.reporter.log.query</td><td>The FlowStatus query to 
run.</td></tr>
+<tr><td>nifi.minifi.status.reporter.log.level</td><td>The log level at which 
to log the status. Available options are &quot;TRACE&quot;, &quot;DEBUG&quot;, 
&quot;INFO&quot;, &quot;WARN&quot; and &quot;ERROR&quot;.</td></tr>
+<tr><td>nifi.minifi.status.reporter.log.period</td><td>The delay (in 
milliseconds) between each query.</td></tr>
 </tbody>
 </table>
 <p>Example bootstrap.conf configuration:</p>
@@ -319,16 +219,17 @@ nifi.minifi.status.reporter.log.query=in
 # The log level at which the status will be logged
 nifi.minifi.status.reporter.log.level=INFO
 # The period (in milliseconds) at which to log the status
-nifi.minifi.status.reporter.log.period=60000</code></pre>
+nifi.minifi.status.reporter.log.period=60000
+</code></pre>
 <p>Example logback.xml configuration to output the status to its own rolling 
log file:</p>
 <pre><code>&lt;appender name=&quot;STATUS_LOG_FILE&quot; 
class=&quot;ch.qos.logback.core.rolling.RollingFileAppender&quot;&gt;
     &lt;file&gt;logs/minifi-status.log&lt;/file&gt;
     &lt;rollingPolicy 
class=&quot;ch.qos.logback.core.rolling.TimeBasedRollingPolicy&quot;&gt;
         &lt;!--
-          For daily rollover, use &#39;user_%d.log&#39;.
-          For hourly rollover, use &#39;user_%d{yyyy-MM-dd_HH}.log&#39;.
-          To GZIP rolled files, replace &#39;.log&#39; with &#39;.log.gz&#39;.
-          To ZIP rolled files, replace &#39;.log&#39; with &#39;.log.zip&#39;.
+          For daily rollover, use 'user_%d.log'.
+          For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
+          To GZIP rolled files, replace '.log' with '.log.gz'.
+          To ZIP rolled files, replace '.log' with '.log.zip'.
         --&gt;
         
&lt;fileNamePattern&gt;./logs/minifi-status_%d.log&lt;/fileNamePattern&gt;
         &lt;!-- keep 5 log files worth of history --&gt;
@@ -341,192 +242,116 @@ nifi.minifi.status.reporter.log.period=6
 
 &lt;logger 
name=&quot;org.apache.nifi.minifi.bootstrap.status.reporters.StatusLogger&quot; 
level=&quot;INFO&quot; additivity=&quot;false&quot;&gt;
     &lt;appender-ref ref=&quot;STATUS_LOG_FILE&quot; /&gt;
-&lt;/logger&gt;</code></pre>
-<h2 id="flowstatus-query-options">FlowStatus Query Options</h2>
+&lt;/logger&gt;
+</code></pre>
+<h2>FlowStatus Query Options</h2>
 <p>This section outlines each option to query the MiNiFi instance for the 
FlowStatus.</p>
-<h3 id="processors">Processors</h3>
+<h3>Processors</h3>
 <p>To query the processors use the &quot;processor&quot; flag followed by the 
processor ID to get (or &quot;all&quot;) followed by one of the processor 
options. The processor options are below.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>health</td>
-<td>The processor&#39;s run status, whether or not it has bulletins and the 
validation errors (if there are any).</td>
-</tr>
-<tr>
-<td>bulletins</td>
-<td>A list of all the current bulletins (if there are any).</td>
-</tr>
-<tr>
-<td>stats</td>
-<td>The current stats of the processor. This includes but is not limited to 
active threads and FlowFiles sent/received.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>health</td><td>The processor's run status, whether or not it has 
bulletins and the validation errors (if there are any).</td></tr>
+<tr><td>bulletins</td><td>A list of all the current bulletins (if there are 
any).</td></tr>
+<tr><td>stats</td><td>The current stats of the processor. This includes but is 
not limited to active threads and FlowFiles sent/received.</td></tr>
 </tbody>
 </table>
 <p>An example query to get the health, bulletins and stats of the 
&quot;TailFile&quot; processor is below.</p>
-<pre><code>minifi.sh flowStatus 
processor:TailFile:health,stats,bulletins</code></pre>
-<h3 id="connections">Connections</h3>
+<pre><code>minifi.sh flowStatus processor:TailFile:health,stats,bulletins
+</code></pre>
+<h3>Connections</h3>
 <p>To query the connections use the &quot;connection&quot; flag followed by 
the connection ID to get (or &quot;all&quot;) followed by one of the connection 
options. The connection options are below.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr>
-<td>health</td>
-<td>The connections&#39;s queued bytes and queued FlowFile count.</td>
-</tr>
-<tr>
-<td>stats</td>
-<td>The current stats of the connection. This includes input/output count and 
input/output bytes.</td>
-</tr>
+<tr><td>health</td><td>The connections's queued bytes and queued FlowFile 
count.</td></tr>
+<tr><td>stats</td><td>The current stats of the connection. This includes 
input/output count and input/output bytes.</td></tr>
 </tbody>
 </table>
 <p>An example query to get the health and stats of the &quot;TailToS2S&quot; 
connection is below.</p>
-<pre><code>minifi.sh flowStatus connection:TailToS2S:health,stats</code></pre>
-<h3 id="remote-process-groups">Remote Process Groups</h3>
+<pre><code>minifi.sh flowStatus connection:TailToS2S:health,stats
+</code></pre>
+<h3>Remote Process Groups</h3>
 <p>To query the remote process groups (RPG) use the 
&quot;remoteProcessGroup&quot; flag followed by the RPG ID to get (or 
&quot;all&quot;) followed by one of the remote process group options. The 
remote process group options are below.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>health</td>
-<td>The connections&#39;s queued bytes and queued FlowFile count.</td>
-</tr>
-<tr>
-<td>bulletins</td>
-<td>A list of all the current bulletins (if there are any).</td>
-</tr>
-<tr>
-<td>inputPorts</td>
-<td>A list of every input port for this RPG and their status. Their status 
includes it&#39;s name, whether the target exit and whether it&#39;s currently 
running.</td>
-</tr>
-<tr>
-<td>stats</td>
-<td>The current stats of the RPG. This includes the active threads, sent 
content size and count.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>health</td><td>The connections's queued bytes and queued FlowFile 
count.</td></tr>
+<tr><td>bulletins</td><td>A list of all the current bulletins (if there are 
any).</td></tr>
+<tr><td>inputPorts</td><td>A list of every input port for this RPG and their 
status. Their status includes it's name, whether the target exit and whether 
it's currently running.</td></tr>
+<tr><td>stats</td><td>The current stats of the RPG. This includes the active 
threads, sent content size and count.</td></tr>
 </tbody>
 </table>
 <p>An example query to get the health, bulletins, input ports and stats of all 
the RPGs is below.</p>
-<pre><code>minifi.sh flowStatus 
remoteprocessgroup:all:health,bulletins,inputports,stats</code></pre>
-<h3 id="controller-services">Controller Services</h3>
+<pre><code>minifi.sh flowStatus 
remoteprocessgroup:all:health,bulletins,inputports,stats
+</code></pre>
+<h3>Controller Services</h3>
 <p>To query the controller services use the &quot;controllerServices&quot; 
flag followed by one of the controller service options. The controller service 
options are below.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr>
-<td>health</td>
-<td>The controller service&#39;s state, whether or not it has bulletins and 
any validation errors.</td>
-</tr>
-<tr>
-<td>bulletins</td>
-<td>A list of all the current bulletins (if there are any).</td>
-</tr>
+<tr><td>health</td><td>The controller service's state, whether or not it has 
bulletins and any validation errors.</td></tr>
+<tr><td>bulletins</td><td>A list of all the current bulletins (if there are 
any).</td></tr>
 </tbody>
 </table>
 <p>An example query to get the health and bulletins of all the controller 
services is below.</p>
-<pre><code>minifi.sh flowStatus 
controllerservices:health,bulletins</code></pre>
-<h3 id="provenance-reporting">Provenance Reporting</h3>
+<pre><code>minifi.sh flowStatus controllerservices:health,bulletins
+</code></pre>
+<h3>Provenance Reporting</h3>
 <p>To query the status of the provenance reporting use the 
&quot;provenancereporting&quot; flag followed by one of the provenance 
reporting  options. The provenance reporting options are below.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr>
-<td>health</td>
-<td>The provenance reporting state, active threads, whether or not it has 
bulletins and any validation errors.</td>
-</tr>
-<tr>
-<td>bulletins</td>
-<td>A list of all the current bulletins (if there are any).</td>
-</tr>
+<tr><td>health</td><td>The provenance reporting state, active threads, whether 
or not it has bulletins and any validation errors.</td></tr>
+<tr><td>bulletins</td><td>A list of all the current bulletins (if there are 
any).</td></tr>
 </tbody>
 </table>
 <p>An example query to get the health and bulletins of the provenance 
reporting is below.</p>
-<pre><code>minifi.sh flowStatus 
provenancereporting:health,bulletins</code></pre>
-<h3 id="instance">Instance</h3>
+<pre><code>minifi.sh flowStatus provenancereporting:health,bulletins
+</code></pre>
+<h3>Instance</h3>
 <p>To query the status of the MiNiFi instance use the &quot;instance&quot; 
flag followed by one of the instance options. The instance options are 
below.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>health</td>
-<td>The provenance reporting state, active threads, whether or not it has 
bulletins and any validation errors.</td>
-</tr>
-<tr>
-<td>bulletins</td>
-<td>A list of all the current bulletins (if there are any).</td>
-</tr>
-<tr>
-<td>stats</td>
-<td>The current stats of the instance. This including but not limited to bytes 
read/written and FlowFiles sent/transferred.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>health</td><td>The provenance reporting state, active threads, whether 
or not it has bulletins and any validation errors.</td></tr>
+<tr><td>bulletins</td><td>A list of all the current bulletins (if there are 
any).</td></tr>
+<tr><td>stats</td><td>The current stats of the instance. This including but 
not limited to bytes read/written and FlowFiles sent/transferred.</td></tr>
 </tbody>
 </table>
 <p>An example query to get the health, stats and bulletins of the instance is 
below.</p>
-<pre><code>minifi.sh flowStatus instance:health,stats,bulletins</code></pre>
-<h3 id="system-diagnostics">System Diagnostics</h3>
+<pre><code>minifi.sh flowStatus instance:health,stats,bulletins
+</code></pre>
+<h3>System Diagnostics</h3>
 <p>To query the system diagnostics use the &quot;systemdiagnostics&quot; flag 
followed by one of the system diagnostics options. The system diagnostics 
options are below.</p>
 <table>
 <thead>
-<tr>
-<th>Option</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>heap</td>
-<td>Information detailing the state of the JVM heap.</td>
-</tr>
-<tr>
-<td>processorstats</td>
-<td>The system processor stats. This includes the available processors and 
load average.</td>
-</tr>
-<tr>
-<td>contentrepositoryusage</td>
-<td>A list of each content repository and stats detailing its usage.</td>
-</tr>
-<tr>
-<td>flowfilerepositoryusage</td>
-<td>Stats about the current usage of the FlowFile repository.</td>
-</tr>
-<tr>
-<td>garbagecollection</td>
-<td>A list of the garbage collection events, detailing their name, collection 
count and time.</td>
-</tr>
+<tr><th>Option</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>heap</td><td>Information detailing the state of the JVM heap.</td></tr>
+<tr><td>processorstats</td><td>The system processor stats. This includes the 
available processors and load average.</td></tr>
+<tr><td>contentrepositoryusage</td><td>A list of each content repository and 
stats detailing its usage.</td></tr>
+<tr><td>flowfilerepositoryusage</td><td>Stats about the current usage of the 
FlowFile repository.</td></tr>
+<tr><td>garbagecollection</td><td>A list of the garbage collection events, 
detailing their name, collection count and time.</td></tr>
 </tbody>
 </table>
 <p>An example query to get the heap, processor stats, content repository 
usage, FlowFile repository usage and garbage collection from the system 
diagnostics is below.</p>
-<pre><code>minifi.sh flowStatus 
systemdiagnostics:heap,processorstats,contentrepositoryusage,flowfilerepositoryusage,garbagecollection</code></pre>
-<h3 id="example">Example</h3>
+<pre><code>minifi.sh flowStatus 
systemdiagnostics:heap,processorstats,contentrepositoryusage,flowfilerepositoryusage,garbagecollection
+</code></pre>
+<h3>Example</h3>
 <p>This is an example of a simple query to get the health of all the 
processors and its results from a simple flow:</p>
 <pre><code>User:minifi-0.0.1-SNAPSHOT user ./bin/minifi.sh flowStatus 
processor:all:health
 
@@ -535,378 +360,206 @@ MiNiFi home: /Users/user/projects/nifi-m
 
 Bootstrap Config File: 
/Users/user/projects/nifi-minifi/minifi-assembly/target/minifi-0.0.1-SNAPSHOT-bin/minifi-0.0.1-SNAPSHOT/conf/bootstrap.conf
 
-{&quot;controllerServiceStatusList&quot;:null,&quot;processorStatusList&quot;:[{&quot;name&quot;:&quot;Connection
 
Diagnostics&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;UpdateAttribute&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;Processor
 
Diagnostics&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;System
 
Diagnostics&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validat
 
ionErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;GenerateFlowFile&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null}],&quot;connectionStatusList&quot;:null,&quot;remoteProcessGroupStatusList&quot;:null,&quot;instanceStatus&quot;:null,&quot;systemDiagnosticsStatus&quot;:null,&quot;reportingTaskStatusList&quot;:null,&quot;errorsGeneratingReport&quot;:[]}</code></pre>
-<h1 id="periodic-status-reporters">Periodic Status Reporters</h1>
-<h1 id="config-file">Config File</h1>
-<p>The config.yml in the <em>conf</em> directory is the main configuration 
file for controlling how MiNiFi runs. This section provides an overview of the 
properties in this file. The file is a YAML
+{&quot;controllerServiceStatusList&quot;:null,&quot;processorStatusList&quot;:[{&quot;name&quot;:&quot;Connection
 
Diagnostics&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;UpdateAttribute&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;Processor
 
Diagnostics&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;System
 
Diagnostics&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validat
 
ionErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null},{&quot;name&quot;:&quot;GenerateFlowFile&quot;,&quot;processorHealth&quot;:{&quot;runStatus&quot;:&quot;Running&quot;,&quot;hasBulletins&quot;:false,&quot;validationErrorList&quot;:[]},&quot;processorStats&quot;:null,&quot;bulletinList&quot;:null}],&quot;connectionStatusList&quot;:null,&quot;remoteProcessGroupStatusList&quot;:null,&quot;instanceStatus&quot;:null,&quot;systemDiagnosticsStatus&quot;:null,&quot;reportingTaskStatusList&quot;:null,&quot;errorsGeneratingReport&quot;:[]}
+</code></pre>
+<h1>Periodic Status Reporters</h1>
+<h1>Config File</h1>
+<p>The config.yml in the <em>conf</em> directory is the main configuration 
file for controlling how MiNiFi runs. This section provides an overview of the 
properties in this file. The file is a YAML<br>
 and follows the YAML format laid out <a 
href="http://www.yaml.org/";>here</a>.</p>
-<p>Alternatively, the MiNiFi Toolkit Converter can aid in creating a 
config.yml from a generated template exported from a NiFi instance.  This
-tool can be downloaded from <a 
href="http://nifi.apache.org/minifi/download.html";>http://nifi.apache.org/minifi/download.html</a>
 under the <code>MiNiFi Toolkit Binaries</code> section.  Information on the 
toolkit&#39;s usage is
-available at <a 
href="https://nifi.apache.org/minifi/minifi-toolkit.html";>https://nifi.apache.org/minifi/minifi-toolkit.html</a>.</p>
-<p><strong>Note:</strong> Values for periods of time and data sizes must 
include the unit of measure,
+<p>Alternatively, the MiNiFi Toolkit Converter can aid in creating a 
config.yml from a generated template exported from a NiFi instance.  This<br>
+tool can be downloaded from http://nifi.apache.org/minifi/download.html under 
the <code>MiNiFi Toolkit Binaries</code> section.  Information on the toolkit's 
usage is<br>
+available at https://nifi.apache.org/minifi/minifi-toolkit.html.</p>
+<p><strong>Note:</strong> Values for periods of time and data sizes must 
include the unit of measure,<br>
 for example &quot;10 sec&quot; or &quot;10 MB&quot;, not simply 
&quot;10&quot;.</p>
-<h2 id="versioning">Versioning</h2>
+<h2>Versioning</h2>
 <p>The &quot;MiNiFi Config Version&quot; property is used to indicate to the 
configuration parser which version of the config file it is looking at.  If the 
property is empty or missing, version 1 is assumed.</p>
-<p>The MiNiFi Toolkit Converter is capable of parsing previous versions 
(possibly subject to a future deprecation policy) and writing out the current 
version.  It can also validate that a given config file
+<p>The MiNiFi Toolkit Converter is capable of parsing previous versions 
(possibly subject to a future deprecation policy) and writing out the current 
version.  It can also validate that a given config file<br>
 parses and upconverts to the current version without issue.</p>
-<h3 id="version-1-version-2-changes">Version 1 -&gt; Version 2 changes</h3>
+<h3>Version 1 -&gt; Version 2 changes</h3>
 <ol>
 <li>Use ids instead of names for processors, connections.</li>
 <li>Allow multiple source relationships for connections.</li>
 <li>Added support for process groups, and internal input ports an output 
ports.</li>
 <li>Change Id Key for RPGs from &quot;Remote Processing Groups&quot; to the 
proper &quot;Remote Process Groups&quot; (not &quot;ing&quot;).</li>
 </ol>
-<h3 id="version-2-version-3-changes">Version 2 -&gt; Version 3 changes</h3>
+<h3>Version 2 -&gt; Version 3 changes</h3>
 <ol>
 <li>Added support for Controller Services.</li>
 <li>Added support for Site-To-Site over proxy.</li>
 </ol>
-<h2 id="flow-controller">Flow Controller</h2>
+<h2>Flow Controller</h2>
 <p>The first section of config.yml is for naming and commenting on the 
file.</p>
 <table>
 <thead>
-<tr>
-<th>Property</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>MiNiFi Config Version</td>
-<td>The version of the configuration file.  The default value if this property 
is missing or empty is 1, the current value is 2.</td>
-</tr>
-<tr>
-<td>name</td>
-<td>The name of the file.</td>
-</tr>
-<tr>
-<td>comment</td>
-<td>A comment describing the usage of this config file.</td>
-</tr>
+<tr><th>Property</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>MiNiFi Config Version</td><td>The version of the configuration file.  
The default value if this property is missing or empty is 1, the current value 
is 2.</td></tr>
+<tr><td>name</td><td>The name of the file.</td></tr>
+<tr><td>comment</td><td>A comment describing the usage of this config 
file.</td></tr>
 </tbody>
 </table>
-<h2 id="core-properties">Core Properties</h2>
+<h2>Core Properties</h2>
 <p>The Core Properties section applies to the core framework as a whole.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>flow controller graceful shutdown period</td>
-<td>Indicates the shutdown period. The default value is 10 sec.</td>
-</tr>
-<tr>
-<td>flow service write delay interval</td>
-<td>When many changes are made to the flow.xml, this property specifies how 
long to wait before writing out the changes, so as to batch the changes into a 
single write. The default value is 500 ms.</td>
-</tr>
-<tr>
-<td>administrative yield duration</td>
-<td>If a component allows an unexpected exception to escape, it is considered 
a bug. As a result, the framework will pause (or administratively yield) the 
component for this amount of time. This is done so that the component does not 
use up massive amounts of system resources, since it is known to have problems 
in the existing state. The default value is 30 sec.</td>
-</tr>
-<tr>
-<td>bored yield duration</td>
-<td>When a component has no work to do (i.e., is &quot;bored&quot;), this is 
the amount of time it will wait before checking to see if it has new data to 
work on. This way, it does not use up CPU resources by checking for new work 
too often. When setting this property, be aware that it could add extra latency 
for components that do not constantly have work to do, as once they go into 
this &quot;bored&quot; state, they will wait this amount of time before 
checking for more work. The default value is 10 millis.</td>
-</tr>
-<tr>
-<td>max concurrent threads</td>
-<td>The maximum number of threads any processor can have running at one 
time.</td>
-</tr>
-</tbody>
-</table>
-<h2 id="flowfile-repository">FlowFile Repository</h2>
-<p>The FlowFile repository keeps track of the attributes and current state of 
each FlowFile in the system. By default,
-this repository is installed in the same root installation directory as all 
the other repositories; however, it is advisable
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>flow controller graceful shutdown period</td><td>Indicates the 
shutdown period. The default value is 10 sec.</td></tr>
+<tr><td>flow service write delay interval</td><td>When many changes are made 
to the flow.xml, this property specifies how long to wait before writing out 
the changes, so as to batch the changes into a single write. The default value 
is 500 ms.</td></tr>
+<tr><td>administrative yield duration</td><td>If a component allows an 
unexpected exception to escape, it is considered a bug. As a result, the 
framework will pause (or administratively yield) the component for this amount 
of time. This is done so that the component does not use up massive amounts of 
system resources, since it is known to have problems in the existing state. The 
default value is 30 sec.</td></tr>
+<tr><td>bored yield duration</td><td>When a component has no work to do (i.e., 
is &quot;bored&quot;), this is the amount of time it will wait before checking 
to see if it has new data to work on. This way, it does not use up CPU 
resources by checking for new work too often. When setting this property, be 
aware that it could add extra latency for components that do not constantly 
have work to do, as once they go into this &quot;bored&quot; state, they will 
wait this amount of time before checking for more work. The default value is 10 
millis.</td></tr>
+<tr><td>max concurrent threads</td><td>The maximum number of threads any 
processor can have running at one time.</td></tr>
+</tbody>
+</table>
+<h2>FlowFile Repository</h2>
+<p>The FlowFile repository keeps track of the attributes and current state of 
each FlowFile in the system. By default,<br>
+this repository is installed in the same root installation directory as all 
the other repositories; however, it is advisable<br>
 to configure it on a separate drive if available.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>partitions</td>
-<td>The number of partitions. The default value is 256.</td>
-</tr>
-<tr>
-<td>checkpoint interval</td>
-<td>The FlowFile Repository checkpoint interval. The default value is 2 
mins.</td>
-</tr>
-<tr>
-<td>always sync</td>
-<td>If set to <em>true</em>, any change to the repository will be synchronized 
to the disk, meaning that NiFi will ask the operating system not to cache the 
information. This is very expensive and can significantly reduce NiFi 
performance. However, if it is <em>false</em>, there could be the potential for 
data loss if either there is a sudden power loss or the operating system 
crashes. The default value is <em>false</em>.</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>partitions</td><td>The number of partitions. The default value is 
256.</td></tr>
+<tr><td>checkpoint interval</td><td>The FlowFile Repository checkpoint 
interval. The default value is 2 mins.</td></tr>
+<tr><td>always sync</td><td>If set to <em>true</em>, any change to the 
repository will be synchronized to the disk, meaning that NiFi will ask the 
operating system not to cache the information. This is very expensive and can 
significantly reduce NiFi performance. However, if it is <em>false</em>, there 
could be the potential for data loss if either there is a sudden power loss or 
the operating system crashes. The default value is <em>false</em>.</td></tr>
 </tbody>
 </table>
-<h4 id="swap-subsection">Swap Subsection</h4>
+<h4>Swap Subsection</h4>
 <p>A part of the FlowFile Repository section there is a Swap subsection.</p>
-<p>NiFi keeps FlowFile information in memory (the JVM)
-but during surges of incoming data, the FlowFile information can start to take 
up so much of the JVM that system performance
-suffers. To counteract this effect, NiFi &quot;swaps&quot; the FlowFile 
information to disk temporarily until more JVM space becomes
+<p>NiFi keeps FlowFile information in memory (the JVM)<br>
+but during surges of incoming data, the FlowFile information can start to take 
up so much of the JVM that system performance<br>
+suffers. To counteract this effect, NiFi &quot;swaps&quot; the FlowFile 
information to disk temporarily until more JVM space becomes<br>
 available again. The &quot;Swap&quot; subsection of properties govern how that 
process occurs.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>threshold</td>
-<td>The queue threshold at which NiFi starts to swap FlowFile information to 
disk. The default value is 20000.</td>
-</tr>
-<tr>
-<td>in period</td>
-<td>The swap in period. The default value is 5 sec.</td>
-</tr>
-<tr>
-<td>in threads</td>
-<td>The number of threads to use for swapping in. The default value is 1.</td>
-</tr>
-<tr>
-<td>out period</td>
-<td>The swap out period. The default value is 5 sec.</td>
-</tr>
-<tr>
-<td>out threads</td>
-<td>The number of threads to use for swapping out. The default value is 4.</td>
-</tr>
-</tbody>
-</table>
-<h2 id="content-repository">Content Repository</h2>
-<p>The Content Repository holds the content for all the FlowFiles in the 
system. By default, it is installed in the same root
-installation directory as all the other repositories; however, administrators 
will likely want to configure it on a separate
-drive if available. If nothing else, it is best if the Content Repository is 
not on the same drive as the FlowFile Repository.
-In dataflows that handle a large amount of data, the Content Repository could 
fill up a disk and the
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>threshold</td><td>The queue threshold at which NiFi starts to swap 
FlowFile information to disk. The default value is 20000.</td></tr>
+<tr><td>in period</td><td>The swap in period. The default value is 5 
sec.</td></tr>
+<tr><td>in threads</td><td>The number of threads to use for swapping in. The 
default value is 1.</td></tr>
+<tr><td>out period</td><td>The swap out period. The default value is 5 
sec.</td></tr>
+<tr><td>out threads</td><td>The number of threads to use for swapping out. The 
default value is 4.</td></tr>
+</tbody>
+</table>
+<h2>Content Repository</h2>
+<p>The Content Repository holds the content for all the FlowFiles in the 
system. By default, it is installed in the same root<br>
+installation directory as all the other repositories; however, administrators 
will likely want to configure it on a separate<br>
+drive if available. If nothing else, it is best if the Content Repository is 
not on the same drive as the FlowFile Repository.<br>
+In dataflows that handle a large amount of data, the Content Repository could 
fill up a disk and the<br>
 FlowFile Repository, if also on that disk, could become corrupt. To avoid this 
situation, configure these repositories on different drives.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
 </thead>
 <tbody>
-<tr>
-<td>content claim max appendable size</td>
-<td>The maximum size for a content claim. The default value is 10 MB.</td>
-</tr>
-<tr>
-<td>content claim max flow files</td>
-<td>The maximum number of FlowFiles to assign to one content claim. The 
default value is 100.</td>
-</tr>
-<tr>
-<td>always sync</td>
-<td>If set to <em>true</em>, any change to the repository will be synchronized 
to the disk, meaning that NiFi will ask the operating system not to cache the 
information. This is very expensive and can significantly reduce NiFi 
performance. However, if it is <em>false</em>, there could be the potential for 
data loss if either there is a sudden power loss or the operating system 
crashes. The default value is <em>false</em>.</td>
-</tr>
+<tr><td>content claim max appendable size</td><td>The maximum size for a 
content claim. The default value is 10 MB.</td></tr>
+<tr><td>content claim max flow files</td><td>The maximum number of FlowFiles 
to assign to one content claim. The default value is 100.</td></tr>
+<tr><td>always sync</td><td>If set to <em>true</em>, any change to the 
repository will be synchronized to the disk, meaning that NiFi will ask the 
operating system not to cache the information. This is very expensive and can 
significantly reduce NiFi performance. However, if it is <em>false</em>, there 
could be the potential for data loss if either there is a sudden power loss or 
the operating system crashes. The default value is <em>false</em>.</td></tr>
 </tbody>
 </table>
-<h2 id="provenance-repository">Provenance Repository</h2>
+<h2>Provenance Repository</h2>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
 </thead>
 <tbody>
-<tr>
-<td>provenance rollover time</td>
-<td>The amount of time to wait before rolling over the latest data provenance 
information so that it is available to be accessed by components. The default 
value is 1 min.</td>
-</tr>
+<tr><td>provenance rollover time</td><td>The amount of time to wait before 
rolling over the latest data provenance information so that it is available to 
be accessed by components. The default value is 1 min.</td></tr>
 </tbody>
 </table>
-<h2 id="component-status-repository">Component Status Repository</h2>
-<p>The Component Status Repository contains the information for the Component 
Status History tool in the User Interface. These
+<h2>Component Status Repository</h2>
+<p>The Component Status Repository contains the information for the Component 
Status History tool in the User Interface. These<br>
 properties govern how that tool works.</p>
-<p>The buffer.size and snapshot.frequency work together to determine the 
amount of historical data to retain. As an example to
-configure two days worth of historical data with a data point snapshot 
occurring every 5 minutes you would configure
-snapshot.frequency to be &quot;5 mins&quot; and the buffer.size to be 
&quot;576&quot;. To further explain this example for every 60 minutes there
-are 12 (60 / 5) snapshot windows for that time period. To keep that data for 
48 hours (12 * 48) you end up with a buffer size
+<p>The buffer.size and snapshot.frequency work together to determine the 
amount of historical data to retain. As an example to<br>
+configure two days worth of historical data with a data point snapshot 
occurring every 5 minutes you would configure<br>
+snapshot.frequency to be &quot;5 mins&quot; and the buffer.size to be 
&quot;576&quot;. To further explain this example for every 60 minutes there<br>
+are 12 (60 / 5) snapshot windows for that time period. To keep that data for 
48 hours (12 * 48) you end up with a buffer size<br>
 of 576.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>buffer size</td>
-<td>Specifies the buffer size for the Component Status Repository. The default 
value is 1440.</td>
-</tr>
-<tr>
-<td>snapshot frequency</td>
-<td>This value indicates how often to present a snapshot of the 
components&#39; status history. The default value is 1 min.</td>
-</tr>
-</tbody>
-</table>
-<h2 id="security-properties">Security Properties</h2>
-<p>These properties pertain to various security features in NiFi. Many of 
these properties are covered in more detail in the
-Security Configuration section of this Administrator&#39;s Guide.</p>
-<table>
-<thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>keystore</td>
-<td>The full path and name of the keystore. It is blank by default.</td>
-</tr>
-<tr>
-<td>keystore type</td>
-<td>The keystore type. It is blank by default.</td>
-</tr>
-<tr>
-<td>keystore password</td>
-<td>The keystore password. It is blank by default.</td>
-</tr>
-<tr>
-<td>key password</td>
-<td>The key password. It is blank by default.</td>
-</tr>
-<tr>
-<td>truststore</td>
-<td>The full path and name of the truststore. It is blank by default.</td>
-</tr>
-<tr>
-<td>truststore type</td>
-<td>The truststore type. It is blank by default.</td>
-</tr>
-<tr>
-<td>truststore password</td>
-<td>The truststore password. It is blank by default.</td>
-</tr>
-<tr>
-<td>ssl protocol</td>
-<td>The protocol to use when communicating via https. Necessary to transfer 
provenance securely.</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>buffer size</td><td>Specifies the buffer size for the Component Status 
Repository. The default value is 1440.</td></tr>
+<tr><td>snapshot frequency</td><td>This value indicates how often to present a 
snapshot of the components' status history. The default value is 1 
min.</td></tr>
+</tbody>
+</table>
+<h2>Security Properties</h2>
+<p>These properties pertain to various security features in NiFi. Many of 
these properties are covered in more detail in the<br>
+Security Configuration section of this Administrator's Guide.</p>
+<table>
+<thead>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>keystore</td><td>The full path and name of the keystore. It is blank 
by default.</td></tr>
+<tr><td>keystore type</td><td>The keystore type. It is blank by 
default.</td></tr>
+<tr><td>keystore password</td><td>The keystore password. It is blank by 
default.</td></tr>
+<tr><td>key password</td><td>The key password. It is blank by 
default.</td></tr>
+<tr><td>truststore</td><td>The full path and name of the truststore. It is 
blank by default.</td></tr>
+<tr><td>truststore type</td><td>The truststore type. It is blank by 
default.</td></tr>
+<tr><td>truststore password</td><td>The truststore password. It is blank by 
default.</td></tr>
+<tr><td>ssl protocol</td><td>The protocol to use when communicating via https. 
Necessary to transfer provenance securely.</td></tr>
 </tbody>
 </table>
 <p><strong>Note:</strong> A StandardSSLContextService will be made 
automatically with the ID &quot;SSL-Context-Service&quot; if &quot;ssl 
protocol&quot; is configured.</p>
-<h4 id="sensitive-properties-subsection">Sensitive Properties Subsection</h4>
+<h4>Sensitive Properties Subsection</h4>
 <p>Some properties for processors are marked as <em>sensitive</em> and should 
be encrypted. These following properties will be used to encrypt the properties 
while in use by MiNiFi. This will currently <em>not</em> be used to encrypt 
properties in the config file.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>key</td>
-<td>This is the password used to encrypt any sensitive property values that 
are configured in processors. By default, it is blank, but the system 
administrator should provide a value for it. It can be a string of any length, 
although the recommended minimum length is 10 characters. Be aware that once 
this password is set and one or more sensitive processor properties have been 
configured, this password should not be changed.</td>
-</tr>
-<tr>
-<td>algorithm</td>
-<td>The algorithm used to encrypt sensitive properties. The default value is 
<code>PBEWITHMD5AND256BITAES-CBC-OPENSSL</code>.</td>
-</tr>
-<tr>
-<td>provider</td>
-<td>The sensitive property provider. The default value is BC.</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>key</td><td>This is the password used to encrypt any sensitive 
property values that are configured in processors. By default, it is blank, but 
the system administrator should provide a value for it. It can be a string of 
any length, although the recommended minimum length is 10 characters. Be aware 
that once this password is set and one or more sensitive processor properties 
have been configured, this password should not be changed.</td></tr>
+<tr><td>algorithm</td><td>The algorithm used to encrypt sensitive properties. 
The default value is <code>PBEWITHMD5AND256BITAES-CBC-OPENSSL</code>.</td></tr>
+<tr><td>provider</td><td>The sensitive property provider. The default value is 
BC.</td></tr>
 </tbody>
 </table>
-<h2 id="processors">Processors</h2>
+<h2>Processors</h2>
 <p>The current implementation of MiNiFi supports multiple processors. The 
&quot;Processors&quot; subsection is a list of these processors. Each processor 
must specify these properties. They are the basic configuration general to all 
processor implementations. Make sure that all relationships for a processor are 
accounted for in the auto-terminated relationship list or are used in a 
connection.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>name</td>
-<td>The name of what this processor will do. This is not used for any 
underlying implementation but solely for the users of this configuration and 
MiNiFi agent.</td>
-</tr>
-<tr>
-<td>id</td>
-<td>The id of this processor.  This can be omitted but in processors without 
this field, there should not be any duplicate names and connections will need 
to specify source and destination name instead of id.  If set it should be a 
filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td>
-</tr>
-<tr>
-<td>class</td>
-<td>The fully qualified java class name of the processor to run. For example 
for the standard TailFile processor it would be: 
org.apache.nifi.processors.standard.TailFile</td>
-</tr>
-<tr>
-<td>max concurrent tasks</td>
-<td>The maximum number of tasks that the processor will use.</td>
-</tr>
-<tr>
-<td>scheduling strategy</td>
-<td>The strategy for executing the processor. Valid options are 
<code>CRON_DRIVEN</code> or <code>TIMER_DRIVEN</code></td>
-</tr>
-<tr>
-<td>scheduling period</td>
-<td>This property expects different input depending on the scheduling strategy 
selected. For the <code>TIMER_DRIVEN</code> scheduling strategy, this value is 
a time duration specified by a number followed by a time unit. For example, 1 
second or 5 mins. The default value of 0 sec means that the Processor should 
run as often as possible as long as it has data to process. This is true for 
any time duration of 0, regardless of the time unit (i.e., 0 sec, 0 mins, 0 
days). For an explanation of values that are applicable for the CRON driven 
scheduling strategy, see the description of the CRON driven scheduling strategy 
in the scheduling tab section of the <a 
href="https://nifi.apache.org/docs/nifi-docs/html/user-guide.html#scheduling-tab";>NiFi
 User documentation</a>.</td>
-</tr>
-<tr>
-<td>penalization period</td>
-<td>Specifies how long FlowFiles will be penalized.</td>
-</tr>
-<tr>
-<td>yield period</td>
-<td>In the event the processor cannot make progress it should 
<code>yield</code> which will prevent the processor from being scheduled to run 
for some period of time. That period of time is specific using this 
property.</td>
-</tr>
-<tr>
-<td>run duration nanos</td>
-<td>If the processor supports batching this property can be used to control 
how long the Processor should be scheduled to run each time that it is 
triggered. Smaller values will have lower latency but larger values will have 
higher throughput. This period should typically only be set between 0 and 
2000000000 (2 seconds).</td>
-</tr>
-<tr>
-<td>auto-terminated relationships list</td>
-<td>A YAML list of the relationships to auto-terminate for the processor.</td>
-</tr>
-<tr>
-<td>annotation data</td>
-<td>Some processors make use of &quot;Annotation Data&quot; in order to do 
more complex configuration, such as the Advanced portion of UpdateAttribute. 
This data will be unique to each implementing processor and more than likely 
will not be written out manually.</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>name</td><td>The name of what this processor will do. This is not used 
for any underlying implementation but solely for the users of this 
configuration and MiNiFi agent.</td></tr>
+<tr><td>id</td><td>The id of this processor.  This can be omitted but in 
processors without this field, there should not be any duplicate names and 
connections will need to specify source and destination name instead of id.  If 
set it should be a filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td></tr>
+<tr><td>class</td><td>The fully qualified java class name of the processor to 
run. For example for the standard TailFile processor it would be: 
org.apache.nifi.processors.standard.TailFile</td></tr>
+<tr><td>max concurrent tasks</td><td>The maximum number of tasks that the 
processor will use.</td></tr>
+<tr><td>scheduling strategy</td><td>The strategy for executing the processor. 
Valid options are <code>CRON_DRIVEN</code> or 
<code>TIMER_DRIVEN</code></td></tr>
+<tr><td>scheduling period</td><td>This property expects different input 
depending on the scheduling strategy selected. For the 
<code>TIMER_DRIVEN</code> scheduling strategy, this value is a time duration 
specified by a number followed by a time unit. For example, 1 second or 5 mins. 
The default value of 0 sec means that the Processor should run as often as 
possible as long as it has data to process. This is true for any time duration 
of 0, regardless of the time unit (i.e., 0 sec, 0 mins, 0 days). For an 
explanation of values that are applicable for the CRON driven scheduling 
strategy, see the description of the CRON driven scheduling strategy in the 
scheduling tab section of the <a 
href="https://nifi.apache.org/docs/nifi-docs/html/user-guide.html#scheduling-tab";>NiFi
 User documentation</a>.</td></tr>
+<tr><td>penalization period</td><td>Specifies how long FlowFiles will be 
penalized.</td></tr>
+<tr><td>yield period</td><td>In the event the processor cannot make progress 
it should <code>yield</code> which will prevent the processor from being 
scheduled to run for some period of time. That period of time is specific using 
this property.</td></tr>
+<tr><td>run duration nanos</td><td>If the processor supports batching this 
property can be used to control how long the Processor should be scheduled to 
run each time that it is triggered. Smaller values will have lower latency but 
larger values will have higher throughput. This period should typically only be 
set between 0 and 2000000000 (2 seconds).</td></tr>
+<tr><td>auto-terminated relationships list</td><td>A YAML list of the 
relationships to auto-terminate for the processor.</td></tr>
+<tr><td>annotation data</td><td>Some processors make use of &quot;Annotation 
Data&quot; in order to do more complex configuration, such as the Advanced 
portion of UpdateAttribute. This data will be unique to each implementing 
processor and more than likely will not be written out manually.</td></tr>
 </tbody>
 </table>
-<h4 id="processor-properties">Processor Properties</h4>
+<h4>Processor Properties</h4>
 <p>Within the Processor Configuration section, there is the 
<code>Properties</code> subsection. The keys and values in this section are the 
property names and values for the processor. For example the TailFile processor 
would have a section like this:</p>
 <pre><code>Properties:
     File to Tail: logs/nifi-app.log
     Rolling Filename Pattern: nifi-app*
     State File: ./conf/state/tail-file
-    Initial Start Position: Beginning of File</code></pre>
-<h3 id="controller-services">Controller Services</h3>
+    Initial Start Position: Beginning of File
+</code></pre>
+<h3>Controller Services</h3>
 <p>The current implementation of MiNiFi supports Controller Services. The 
&quot;Controller Services&quot; subsection is a list of these services. Each 
Controller Service must specify the following properties. They are the basic 
configuration general to all Controller Service implementations.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>name</td>
-<td>The name of what this Controller Service will do. This is not used for any 
underlying implementation but solely for the users of this configuration and 
MiNiFi agent.</td>
-</tr>
-<tr>
-<td>id</td>
-<td>The id of this Controller Service. This must be a valid UUID. To reference 
this Controller Service in the properties of another component, this ID is 
used.</td>
-</tr>
-<tr>
-<td>type</td>
-<td>The fully qualified java class name of the processor to run. For example 
for the standard StandardSSLContextService processor would be: 
org.apache.nifi.ssl.StandardSSLContextService</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>name</td><td>The name of what this Controller Service will do. This is 
not used for any underlying implementation but solely for the users of this 
configuration and MiNiFi agent.</td></tr>
+<tr><td>id</td><td>The id of this Controller Service. This must be a valid 
UUID. To reference this Controller Service in the properties of another 
component, this ID is used.</td></tr>
+<tr><td>type</td><td>The fully qualified java class name of the processor to 
run. For example for the standard StandardSSLContextService processor would be: 
org.apache.nifi.ssl.StandardSSLContextService</td></tr>
 </tbody>
 </table>
 <p><strong>Note:</strong> If the &quot;Security Properties&quot; is configured 
with an &quot;ssl protocol&quot; then a StandardSSLContextService will be made 
automatically with the ID &quot;SSL-Context-Service&quot;.</p>
-<h4 id="controller-service-properties">Controller Service Properties</h4>
+<h4>Controller Service Properties</h4>
 <p>Within the Controller Service Configuration section, there is the 
<code>Properties</code> subsection. The keys and values in this section are the 
property names and values for the service. For example the 
StandardSSLContextService would have a section like this:</p>
 <pre><code>Properties:
   Keystore Filename: /tmp/localhost/keystore.jks
@@ -916,293 +569,129 @@ Security Configuration section of this A
   Truststore Filename: /tmp/truststore.jks
   Truststore Password: truststorePassword
   Truststore Type: JKS
-  key-password: keyPassword</code></pre>
-<h2 id="process-groups">Process Groups</h2>
+  key-password: keyPassword
+</code></pre>
+<h2>Process Groups</h2>
 <p>Process groups can be nested from the top level.  They can contain other 
process groups as well and can be used to logically group related 
operations.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>name</td>
-<td>The name of what this process group will do.</td>
-</tr>
-<tr>
-<td>id</td>
-<td>The id of this process group.  This needs to be set to a unique 
filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td>
-</tr>
-<tr>
-<td>Processors</td>
-<td>The processors contained in this Process Group. (Defined above)</td>
-</tr>
-<tr>
-<td>Remote Process Groups</td>
-<td>The remote process groups contained in this Process Group. (Defined 
below)</td>
-</tr>
-<tr>
-<td>Connections</td>
-<td>The connections contained in this Process Group. (Defined below)</td>
-</tr>
-<tr>
-<td>Input Ports</td>
-<td>The input ports contained in this Process Group. (Defined below)</td>
-</tr>
-<tr>
-<td>Output Ports</td>
-<td>The output ports contained in this Process Group. (Defined below)</td>
-</tr>
-<tr>
-<td>Funnels</td>
-<td>The funnels contained in this Process Group. (Defined below)</td>
-</tr>
-<tr>
-<td>Process Groups</td>
-<td>The child Process Groups contained in this Process Group.</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>name</td><td>The name of what this process group will do.</td></tr>
+<tr><td>id</td><td>The id of this process group.  This needs to be set to a 
unique filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td></tr>
+<tr><td>Processors</td><td>The processors contained in this Process Group. 
(Defined above)</td></tr>
+<tr><td>Remote Process Groups</td><td>The remote process groups contained in 
this Process Group. (Defined below)</td></tr>
+<tr><td>Connections</td><td>The connections contained in this Process Group. 
(Defined below)</td></tr>
+<tr><td>Input Ports</td><td>The input ports contained in this Process Group. 
(Defined below)</td></tr>
+<tr><td>Output Ports</td><td>The output ports contained in this Process Group. 
(Defined below)</td></tr>
+<tr><td>Funnels</td><td>The funnels contained in this Process Group. (Defined 
below)</td></tr>
+<tr><td>Process Groups</td><td>The child Process Groups contained in this 
Process Group.</td></tr>
 </tbody>
 </table>
-<h2 id="input-ports">Input Ports</h2>
+<h2>Input Ports</h2>
 <p>These ports provide input to the Process Group they reside on. (Currently 
only for internal Input ports.)</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>name</td>
-<td>The name of what this input port will do.</td>
-</tr>
-<tr>
-<td>id</td>
-<td>The id of this input port.  This needs to be set to a unique 
filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>name</td><td>The name of what this input port will do.</td></tr>
+<tr><td>id</td><td>The id of this input port.  This needs to be set to a 
unique filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td></tr>
 </tbody>
 </table>
-<h2 id="output-ports">Output Ports</h2>
+<h2>Output Ports</h2>
 <p>These ports provide output from the Process Group they reside on. 
(Currently only for internal Output ports.)</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>name</td>
-<td>The name of what this output port will do.</td>
-</tr>
-<tr>
-<td>id</td>
-<td>The id of this output port.  This needs to be set to a unique 
filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>name</td><td>The name of what this output port will do.</td></tr>
+<tr><td>id</td><td>The id of this output port.  This needs to be set to a 
unique filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td></tr>
 </tbody>
 </table>
-<h2 id="funnels">Funnels</h2>
+<h2>Funnels</h2>
 <p>Funnels can be used to combine outputs from multiple processors into a 
single connection for ease of design.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
 </thead>
 <tbody>
-<tr>
-<td>id</td>
-<td>The id of this funnel.  This needs to be set to a unique 
filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td>
-</tr>
+<tr><td>id</td><td>The id of this funnel.  This needs to be set to a unique 
filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td></tr>
 </tbody>
 </table>
-<h2 id="connections">Connections</h2>
+<h2>Connections</h2>
 <p>There can be multiple connections in this version of MiNiFi. The 
&quot;Connections&quot; subsection is a list of connections. Each connection 
must specify these properties.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>name</td>
-<td>The name of what this connection will do. This is used for the id of the 
connection so it must be unique.</td>
-</tr>
-<tr>
-<td>id</td>
-<td>The id of this connection.  This needs to be left empty or set to a 
filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td>
-</tr>
-<tr>
-<td>source name</td>
-<td>The name of what of the processor that is the source for this 
connection.</td>
-</tr>
-<tr>
-<td>source relationship name</td>
-<td>The name of the processors relationship to route to this connection</td>
-</tr>
-<tr>
-<td>destination name</td>
-<td>The name of the component to receive this connection.</td>
-</tr>
-<tr>
-<td>max work queue size</td>
-<td>This property is the max number of FlowFiles that can be in the queue 
before back pressure is applied. When back pressure is applied the source 
processor will no longer be scheduled to run.</td>
-</tr>
-<tr>
-<td>max work queue data size</td>
-<td>This property specifies the maximum amount of data (in size) that should 
be queued up before applying back pressure.  When back pressure is applied the 
source processor will no longer be scheduled to run.</td>
-</tr>
-<tr>
-<td>flowfile expiration</td>
-<td>Indicates how long FlowFiles are allowed to exist in the connection before 
be expired (automatically removed from the flow).</td>
-</tr>
-<tr>
-<td>queue prioritizer class</td>
-<td>This configuration option specifies the fully qualified java class path of 
a queue prioritizer to use. If no special prioritizer is desired then it should 
be left blank. An example value of this property is: 
org.apache.nifi.prioritizer.NewestFlowFileFirstPrioritizer</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>name</td><td>The name of what this connection will do. This is used 
for the id of the connection so it must be unique.</td></tr>
+<tr><td>id</td><td>The id of this connection.  This needs to be left empty or 
set to a filesystem-friendly value (regex: [A-Za-z0-9_-]+)</td></tr>
+<tr><td>source name</td><td>The name of what of the processor that is the 
source for this connection.</td></tr>
+<tr><td>source relationship name</td><td>The name of the processors 
relationship to route to this connection</td></tr>
+<tr><td>destination name</td><td>The name of the component to receive this 
connection.</td></tr>
+<tr><td>max work queue size</td><td>This property is the max number of 
FlowFiles that can be in the queue before back pressure is applied. When back 
pressure is applied the source processor will no longer be scheduled to 
run.</td></tr>
+<tr><td>max work queue data size</td><td>This property specifies the maximum 
amount of data (in size) that should be queued up before applying back 
pressure.  When back pressure is applied the source processor will no longer be 
scheduled to run.</td></tr>
+<tr><td>flowfile expiration</td><td>Indicates how long FlowFiles are allowed 
to exist in the connection before be expired (automatically removed from the 
flow).</td></tr>
+<tr><td>queue prioritizer class</td><td>This configuration option specifies 
the fully qualified java class path of a queue prioritizer to use. If no 
special prioritizer is desired then it should be left blank. An example value 
of this property is: 
org.apache.nifi.prioritizer.NewestFlowFileFirstPrioritizer</td></tr>
 </tbody>
 </table>
-<h2 id="remote-process-groups">Remote Process Groups</h2>
+<h2>Remote Process Groups</h2>
 <p>MiNiFi can be used to send data using the Site to Site protocol (via a 
Remote Process Group) or a Processor. These properties configure the Remote 
Process Groups that use Site-To-Site to send data to a core instance.  The 
proxy settings are for HTTP Site-To-Site.</p>
 <table>
 <thead>
-<tr>
-<th><em>Property</em></th>
-<th><em>Description</em></th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>name</td>
-<td>The name of what this Remote Process Group points to. This is not used for 
any underlying implementation but solely for the users of this configuration 
and MiNiFi agent.</td>
-</tr>
-<tr>
-<td>comment</td>
-<td>A comment about the Remote Process Group. This is not used for any 
underlying implementation but solely for the users of this configuration and 
MiNiFi agent.</td>
-</tr>
-<tr>
-<td>url</td>
-<td>The URL of the core NiFi instance.</td>
-</tr>
-<tr>
-<td>timeout</td>
-<td>How long MiNiFi should wait before timing out the connection.</td>
-</tr>
-<tr>
-<td>yield period</td>
-<td>When communication with this Remote Process Group fails, it will not be 
scheduled again for this amount of time.</td>
-</tr>
-<tr>
-<td>transport protocol</td>
-<td>The transport protocol to use for this Remote Process Group. Can be either 
&quot;RAW&quot; or &quot;HTTP&quot;</td>
-</tr>
-<tr>
-<td>proxy host</td>
-<td>The hostname of the proxy server</td>
-</tr>
-<tr>
-<td>proxy port</td>
-<td>The port to connect to on the proxy server</td>
-</tr>
-<tr>
-<td>proxy user</td>
-<td>The user name on the proxy server</td>
-</tr>
-<tr>
-<td>proxy password</td>
-<td>The password for the proxy server</td>
-</tr>
+<tr><th><em>Property</em></th><th><em>Description</em></th></tr>
+</thead>
+<tbody>
+<tr><td>name</td><td>The name of what this Remote Process Group points to. 
This is not used for any underlying implementation but solely for the users of 
this configuration and MiNiFi agent.</td></tr>
+<tr><td>comment</td><td>A comment about the Remote Process Group. This is not 
used for any underlying implementation but solely for the users of this 
configuration and MiNiFi agent.</td></tr>
+<tr><td>url</td><td>The URL of the core NiFi instance.</td></tr>

[... 182 lines stripped ...]

Reply via email to