Skip to content

Instantly share code, notes, and snippets.

@jvwing
Created February 15, 2017 03:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save jvwing/09a5d731b8f46982fbfb3f2be41512d9 to your computer and use it in GitHub Desktop.
Save jvwing/09a5d731b8f46982fbfb3f2be41512d9 to your computer and use it in GitHub Desktop.
Apache NiFi flow template for processing Amazon S3 event notifications. See https://www.batchiq.com/nifi-process-s3-event-notifications.html for details.
<?xml version="1.0" ?>
<template encoding-version="1.0">
<description>Apache NiFi flow template for processing Amazon S3 event notifications.
See https://www.batchiq.com/nifi-process-s3-event-notifications.html for details. </description>
<groupId>caf31a0c-be81-46a6-1672-8cfe77634cbe</groupId>
<name>S3_Event_Notifications_Template</name>
<snippet>
<processGroups>
<id>f8805001-d079-1b7a-0000-000000000000</id>
<parentGroupId>caf31a0c-be81-46a6-0000-000000000000</parentGroupId>
<position>
<x>0.0</x>
<y>0.0</y>
</position>
<comments></comments>
<contents>
<connections>
<id>f8805009-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805007-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>split</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805004-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f880500a-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1657.434011804962</x>
<y>1129.3648256506885</y>
</bends>
<bends>
<x>1692.38818359375</x>
<y>1184.9732666015625</y>
</bends>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805008-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805008-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f880500b-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805004-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805006-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f880500c-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1658.2861538161349</x>
<y>636.4423089871979</y>
</bends>
<bends>
<x>1689.38818359375</x>
<y>690.9732666015625</y>
</bends>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805004-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805004-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f880500d-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805006-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805005-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f880500e-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1680.0734753930083</x>
<y>876.1076422950231</y>
</bends>
<bends>
<x>1690.38818359375</x>
<y>836.9732666015625</y>
</bends>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805007-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805007-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f880500f-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805003-d079-1b7a-0000-000000000000</id>
<type>OUTPUT_PORT</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805008-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f8805010-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805008-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>matched</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805007-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f8805011-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1676.1149792992583</x>
<y>902.4978095313512</y>
</bends>
<bends>
<x>1692.38818359375</x>
<y>947.9732666015625</y>
</bends>
<destination>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805007-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>unmatched</selectedRelationships>
<source>
<groupId>f8805001-d079-1b7a-0000-000000000000</groupId>
<id>f8805007-d079-1b7a-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<outputPorts>
<id>f8805003-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<position>
<x>1259.1076190492445</x>
<y>1334.2968053777076</y>
</position>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<name>S3 Content</name>
<state>STOPPED</state>
<type>OUTPUT_PORT</type>
<validationErrors>'Port 'S3 Content'' is invalid because Output connection for port 'S3 Content' is not defined.</validationErrors>
</outputPorts>
<processors>
<id>f8805004-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<position>
<x>1203.2861538161349</x>
<y>596.4423089871979</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>JsonPath Expression</key>
<value>
<name>JsonPath Expression</name>
</value>
</entry>
<entry>
<key>Null Value Representation</key>
<value>
<name>Null Value Representation</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>JsonPath Expression</key>
<value>$.Records</value>
</entry>
<entry>
<key>Null Value Representation</key>
<value>empty string</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Split S3 Records</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>split</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.SplitJson</type>
</processors>
<processors>
<id>f8805005-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<position>
<x>632.3669761419073</x>
<y>598.9275119723106</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Queue URL</key>
<value>
<name>Queue URL</name>
</value>
</entry>
<entry>
<key>Auto Delete Messages</key>
<value>
<name>Auto Delete Messages</name>
</value>
</entry>
<entry>
<key>Access Key</key>
<value>
<name>Access Key</name>
</value>
</entry>
<entry>
<key>Secret Key</key>
<value>
<name>Secret Key</name>
</value>
</entry>
<entry>
<key>Credentials File</key>
<value>
<name>Credentials File</name>
</value>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>
<identifiesControllerService>org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderService</identifiesControllerService>
<name>AWS Credentials Provider service</name>
</value>
</entry>
<entry>
<key>Region</key>
<value>
<name>Region</name>
</value>
</entry>
<entry>
<key>Batch Size</key>
<value>
<name>Batch Size</name>
</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>
<name>Communications Timeout</name>
</value>
</entry>
<entry>
<key>Character Set</key>
<value>
<name>Character Set</name>
</value>
</entry>
<entry>
<key>Visibility Timeout</key>
<value>
<name>Visibility Timeout</name>
</value>
</entry>
<entry>
<key>Receive Message Wait Time</key>
<value>
<name>Receive Message Wait Time</name>
</value>
</entry>
<entry>
<key>Proxy Host</key>
<value>
<name>Proxy Host</name>
</value>
</entry>
<entry>
<key>Proxy Host Port</key>
<value>
<name>Proxy Host Port</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Queue URL</key>
<value>https://sqs.us-west-2.amazonaws.com/167566334345/s3-event-notifications-nifi-stats</value>
</entry>
<entry>
<key>Auto Delete Messages</key>
<value>true</value>
</entry>
<entry>
<key>Access Key</key>
</entry>
<entry>
<key>Secret Key</key>
</entry>
<entry>
<key>Credentials File</key>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
</entry>
<entry>
<key>Region</key>
<value>us-west-2</value>
</entry>
<entry>
<key>Batch Size</key>
<value>10</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>30 secs</value>
</entry>
<entry>
<key>Character Set</key>
<value>UTF-8</value>
</entry>
<entry>
<key>Visibility Timeout</key>
<value>15 mins</value>
</entry>
<entry>
<key>Receive Message Wait Time</key>
<value>0 sec</value>
</entry>
<entry>
<key>Proxy Host</key>
</entry>
<entry>
<key>Proxy Host Port</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>60 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Receive Notification from SQS</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.aws.sqs.GetSQS</type>
</processors>
<processors>
<id>f8805006-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<position>
<x>629.9225673903536</x>
<y>839.531908596573</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Delete Attributes Expression</key>
<value>
<name>Delete Attributes Expression</name>
</value>
</entry>
<entry>
<key>mime.type</key>
<value>
<name>mime.type</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Delete Attributes Expression</key>
</entry>
<entry>
<key>mime.type</key>
<value>application/json</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Set Content Type</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
</processors>
<processors>
<id>f8805007-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<position>
<x>1201.0920631458614</x>
<y>840.480941918411</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Destination</key>
<value>
<name>Destination</name>
</value>
</entry>
<entry>
<key>Return Type</key>
<value>
<name>Return Type</name>
</value>
</entry>
<entry>
<key>Path Not Found Behavior</key>
<value>
<name>Path Not Found Behavior</name>
</value>
</entry>
<entry>
<key>Null Value Representation</key>
<value>
<name>Null Value Representation</name>
</value>
</entry>
<entry>
<key>s3.bucket</key>
<value>
<name>s3.bucket</name>
</value>
</entry>
<entry>
<key>s3.etag</key>
<value>
<name>s3.etag</name>
</value>
</entry>
<entry>
<key>s3.eventtime</key>
<value>
<name>s3.eventtime</name>
</value>
</entry>
<entry>
<key>s3.key</key>
<value>
<name>s3.key</name>
</value>
</entry>
<entry>
<key>s3.size</key>
<value>
<name>s3.size</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Destination</key>
<value>flowfile-attribute</value>
</entry>
<entry>
<key>Return Type</key>
<value>auto-detect</value>
</entry>
<entry>
<key>Path Not Found Behavior</key>
<value>ignore</value>
</entry>
<entry>
<key>Null Value Representation</key>
<value>empty string</value>
</entry>
<entry>
<key>s3.bucket</key>
<value>$.s3.bucket.name</value>
</entry>
<entry>
<key>s3.etag</key>
<value>$.s3.object.eTag</value>
</entry>
<entry>
<key>s3.eventtime</key>
<value>$.eventTime</value>
</entry>
<entry>
<key>s3.key</key>
<value>$.s3.object.key</value>
</entry>
<entry>
<key>s3.size</key>
<value>$.s3.object.size</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Extract S3 Object Reference</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>matched</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>unmatched</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.EvaluateJsonPath</type>
</processors>
<processors>
<id>f8805008-d079-1b7a-0000-000000000000</id>
<parentGroupId>f8805001-d079-1b7a-0000-000000000000</parentGroupId>
<position>
<x>1202.434011804962</x>
<y>1089.3648256506885</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Bucket</key>
<value>
<name>Bucket</name>
</value>
</entry>
<entry>
<key>Object Key</key>
<value>
<name>Object Key</name>
</value>
</entry>
<entry>
<key>Region</key>
<value>
<name>Region</name>
</value>
</entry>
<entry>
<key>Access Key</key>
<value>
<name>Access Key</name>
</value>
</entry>
<entry>
<key>Secret Key</key>
<value>
<name>Secret Key</name>
</value>
</entry>
<entry>
<key>Credentials File</key>
<value>
<name>Credentials File</name>
</value>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
<value>
<identifiesControllerService>org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderService</identifiesControllerService>
<name>AWS Credentials Provider service</name>
</value>
</entry>
<entry>
<key>Communications Timeout</key>
<value>
<name>Communications Timeout</name>
</value>
</entry>
<entry>
<key>Version</key>
<value>
<name>Version</name>
</value>
</entry>
<entry>
<key>SSL Context Service</key>
<value>
<identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService>
<name>SSL Context Service</name>
</value>
</entry>
<entry>
<key>Endpoint Override URL</key>
<value>
<name>Endpoint Override URL</name>
</value>
</entry>
<entry>
<key>Signer Override</key>
<value>
<name>Signer Override</name>
</value>
</entry>
<entry>
<key>Proxy Host</key>
<value>
<name>Proxy Host</name>
</value>
</entry>
<entry>
<key>Proxy Host Port</key>
<value>
<name>Proxy Host Port</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Bucket</key>
<value>${s3.bucket}</value>
</entry>
<entry>
<key>Object Key</key>
<value>${s3.key}</value>
</entry>
<entry>
<key>Region</key>
<value>us-west-2</value>
</entry>
<entry>
<key>Access Key</key>
</entry>
<entry>
<key>Secret Key</key>
</entry>
<entry>
<key>Credentials File</key>
</entry>
<entry>
<key>AWS Credentials Provider service</key>
</entry>
<entry>
<key>Communications Timeout</key>
<value>30 secs</value>
</entry>
<entry>
<key>Version</key>
</entry>
<entry>
<key>SSL Context Service</key>
</entry>
<entry>
<key>Endpoint Override URL</key>
</entry>
<entry>
<key>Signer Override</key>
<value>Default Signature</value>
</entry>
<entry>
<key>Proxy Host</key>
</entry>
<entry>
<key>Proxy Host Port</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Read S3 Content</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.aws.s3.FetchS3Object</type>
</processors>
</contents>
<name>S3 Event Notifications Template</name>
</processGroups>
</snippet>
<timestamp>02/15/2017 03:33:35 UTC</timestamp>
</template>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment