<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-asana-processors-nar</artifactId><version>2.0.0-M4</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-asana-services-api-nar</artifactId><version>2.0.0-M4</version></parentNar><systemApiVersion>2.0.0-M4</systemApiVersion><buildInfo><tag>nifi-2.0.0-M4-RC1</tag><branch>UNKNOWN</branch><revision>19c5be0</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.asana.GetAsanaObject</name><type>PROCESSOR</type><description>This processor collects data from Asana</description><tags><tag>asana</tag><tag>source</tag><tag>ingest</tag></tags><properties><property><name>asana-controller-service</name><displayName>Asana Client Service</displayName><description>Specify which controller service to use for accessing Asana.</description><controllerServiceDefinition><className>org.apache.nifi.controller.asana.AsanaClientProviderService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-asana-services-api-nar</artifactId><version>2.0.0-M4</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>distributed-cache-service</name><displayName>Distributed Cache Service</displayName><description>Cache service to store fetched item fingerprints. These, from the last successful query are stored, in order to enable incremental loading and change detection.</description><controllerServiceDefinition><className>org.apache.nifi.distributed.cache.client.DistributedMapCacheClient</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>asana-object-type</name><displayName>Object Type</displayName><description>Specify what kind of objects to be collected from Asana</description><defaultValue>asana-collect-tasks</defaultValue><allowableValues><allowableValue><displayName>Tasks</displayName><value>asana-collect-tasks</value><description>Collect tasks matching to the specified conditions.</description></allowableValue><allowableValue><displayName>Task Attachments</displayName><value>asana-collect-task-attachments</value><description>Collect attached files of tasks matching to the specified conditions.</description></allowableValue><allowableValue><displayName>Projects</displayName><value>asana-collect-projects</value><description>Collect projects of the workspace.</description></allowableValue><allowableValue><displayName>Tags</displayName><value>asana-collect-tags</value><description>Collect tags of the workspace.</description></allowableValue><allowableValue><displayName>Users</displayName><value>asana-collect-users</value><description>Collect users assigned to the workspace.</description></allowableValue><allowableValue><displayName>Members of a Project</displayName><value>asana-collect-project-members</value><description>Collect users assigned to the specified project.</description></allowableValue><allowableValue><displayName>Teams</displayName><value>asana-collect-teams</value><description>Collect teams of the workspace.</description></allowableValue><allowableValue><displayName>Team Members</displayName><value>asana-collect-team-members</value><description>Collect users assigned to the specified team.</description></allowableValue><allowableValue><displayName>Stories of Tasks</displayName><value>asana-collect-stories</value><description>Collect stories (comments) of of tasks matching to the specified conditions.</description></allowableValue><allowableValue><displayName>Status Updates of a Project</displayName><value>asana-collect-project-status-updates</value><description>Collect status updates of the specified project.</description></allowableValue><allowableValue><displayName>Attachments of Status Updates</displayName><value>asana-collect-project-status-attachments</value><description>Collect attached files of project status updates.</description></allowableValue><allowableValue><displayName>Events of a Project</displayName><value>asana-collect-project-events</value><description>Collect various events happening on the specified project and on its' tasks.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>asana-project-name</name><displayName>Project Name</displayName><description>Fetch only objects in this project. Case sensitive.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>asana-object-type</propertyName><propertyDisplayName>Object Type</propertyDisplayName><dependentValues><dependentValue>asana-collect-project-members</dependentValue><dependentValue>asana-collect-project-status-attachments</dependentValue><dependentValue>asana-collect-project-status-updates</dependentValue><dependentValue>asana-collect-task-attachments</dependentValue><dependentValue>asana-collect-stories</dependentValue><dependentValue>asana-collect-tasks</dependentValue><dependentValue>asana-collect-project-events</dependentValue></dependentValues></dependency></dependencies></property><property><name>asana-section-name</name><displayName>Section Name</displayName><description>Fetch only objects in this section. Case sensitive.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>asana-object-type</propertyName><propertyDisplayName>Object Type</propertyDisplayName><dependentValues><dependentValue>asana-collect-task-attachments</dependentValue><dependentValue>asana-collect-stories</dependentValue><dependentValue>asana-collect-tasks</dependentValue></dependentValues></dependency></dependencies></property><property><name>asana-team-name</name><displayName>Team</displayName><description>Team name. Case sensitive.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>asana-object-type</propertyName><propertyDisplayName>Object Type</propertyDisplayName><dependentValues><dependentValue>asana-collect-team-members</dependentValue></dependentValues></dependency></dependencies></property><property><name>asana-tag-name</name><displayName>Tag</displayName><description>Fetch only objects having this tag. Case sensitive.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>asana-object-type</propertyName><propertyDisplayName>Object Type</propertyDisplayName><dependentValues><dependentValue>asana-collect-task-attachments</dependentValue><dependentValue>asana-collect-stories</dependentValue><dependentValue>asana-collect-tasks</dependentValue></dependentValues></dependency></dependencies></property><property><name>asana-output-batch-size</name><displayName>Output Batch Size</displayName><description>The number of items batched together in a single Flow File. If set to 1 (default), then each item is transferred in a separate Flow File and each will have an asana.gid attribute, to help identifying the fetched item on the server side, if needed. If the batch size is greater than 1, then the specified amount of items are batched together in a single Flow File as a Json array, and the Flow Files won't have the asana.gid attribute.</description><defaultValue>1</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>new</name><description>Newly collected objects are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>updated</name><description>Objects that have already been collected earlier, but were updated since, are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>removed</name><description>Notification about deleted objects are routed to this relationship. Flow files will not have any payload. IDs of the resources no longer exist are carried by the asana.gid attribute of the generated FlowFiles.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>asana.gid</name><description>Global ID of the object in Asana.</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><primaryNodeOnly>true</primaryNodeOnly><inputRequirement>INPUT_FORBIDDEN</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</description></systemResourceConsideration></systemResourceConsiderations></extension></extensions></extensionManifest>