@Tags({"logs", "windows", "event", "evtx", "message", "file"}) @CapabilityDescription("Parses the contents of a Windows Event Log file (evtx) and writes the resulting XML to the FlowFile") @ReadsAttributes({ @ReadsAttribute(attribute = "filename", description = "The filename of the evtx file") })
private List<ReadsAttribute> getReadsAttributes(final Processor processor) { final List<ReadsAttribute> attributes = new ArrayList<>(); final ReadsAttributes readsAttributes = processor.getClass().getAnnotation(ReadsAttributes.class); if (readsAttributes != null) { Collections.addAll(attributes, readsAttributes.value()); } final ReadsAttribute readsAttribute = processor.getClass().getAnnotation(ReadsAttribute.class); if (readsAttribute != null) { attributes.add(readsAttribute); } return attributes; }
+ "naming convention cql.args.N.type and cql.args.N.value, where N is a positive integer. The cql.args.N.type " + "is expected to be a lowercase string indicating the Cassandra type.") @ReadsAttributes({ @ReadsAttribute(attribute = "cql.args.N.type", description = "Incoming FlowFiles are expected to be parameterized CQL statements. The type of each "
/** * Collects the attributes that a processor is reading from. * * @param processor the processor to describe * @return the list of attributes that processor is reading */ private List<ReadsAttribute> getReadsAttributes(Processor processor) { List<ReadsAttribute> attributes = new ArrayList<>(); ReadsAttributes readsAttributes = processor.getClass().getAnnotation(ReadsAttributes.class); if (readsAttributes != null) { attributes.addAll(Arrays.asList(readsAttributes.value())); } ReadsAttribute readsAttribute = processor.getClass().getAnnotation(ReadsAttribute.class); if (readsAttribute != null) { attributes.add(readsAttribute); } return attributes; }
" The property can either be explicitly set to CSV, JSON, or \"use mime.type value\" which will examine the" + " value of the mime.type attribute on the incoming FlowFile to determine the type of content present.") @ReadsAttributes({ @ReadsAttribute(attribute = "mime.type", description = "If configured by property \"Input Content Type\" will" + " use this value to determine what sort of content should be inferred from the incoming FlowFile content."),
+ "with the naming convention hiveql.args.N.type and hiveql.args.N.value, where N is a positive integer. The hiveql.args.N.type is expected to be " + "a number indicating the JDBC Type. The content of the FlowFile is expected to be in UTF-8 format.") @ReadsAttributes({ @ReadsAttribute(attribute = "hiveql.args.N.type", description = "Incoming FlowFiles are expected to be parametrized HiveQL statements. The type of each Parameter is specified as an integer " + "that represents the JDBC Type of the parameter."),
+ "with the naming convention hiveql.args.N.type and hiveql.args.N.value, where N is a positive integer. The hiveql.args.N.type is expected to be " + "a number indicating the JDBC Type. The content of the FlowFile is expected to be in UTF-8 format.") @ReadsAttributes({ @ReadsAttribute(attribute = "hiveql.args.N.type", description = "Incoming FlowFiles are expected to be parametrized HiveQL statements. The type of each Parameter is specified as an integer " + "that represents the JDBC Type of the parameter."),
@Tags({ "network", "netflow", "attributes", "datagram", "v5", "packet", "byte" }) @CapabilityDescription("Parses netflowv5 byte ingest and add to NiFi flowfile as attributes or JSON content.") @ReadsAttributes({ @ReadsAttribute(attribute = "udp.port", description = "Optionally read if packets are received from UDP datagrams.") }) @WritesAttributes({ @WritesAttribute(attribute = "netflowv5.header.*", description = "The key and value generated by the parsing of the header fields."), @WritesAttribute(attribute = "netflowv5.record.*", description = "The key and value generated by the parsing of the record fields.") })
description = "These HTTPHeaders are set in the HTTP Response", expressionLanguageScope = ExpressionLanguageScope.FLOWFILE_ATTRIBUTES) @ReadsAttributes({ @ReadsAttribute(attribute = HTTPUtils.HTTP_CONTEXT_ID, description = "The value of this attribute is used to lookup the HTTP Response so that the " + "proper message can be sent back to the requestor. If this attribute is missing, the FlowFile will be routed to 'failure.'"),
@Tags({"nosql", "couchbase", "database", "put"}) @CapabilityDescription("Put a document to Couchbase Server via Key/Value access.") @InputRequirement(Requirement.INPUT_REQUIRED) @ReadsAttributes({ @ReadsAttribute(attribute = "uuid", description = "Used as a document id if 'Document Id' is not specified"), })
+ "JMS Destination (queue or topic) as JMS BytesMessage or TextMessage. " + "FlowFile attributes will be added as JMS headers and/or properties to the outgoing JMS message.") @ReadsAttributes({ @ReadsAttribute(attribute = JmsHeaders.DELIVERY_MODE, description = "This attribute becomes the JMSDeliveryMode message header. Must be an integer."), @ReadsAttribute(attribute = JmsHeaders.EXPIRATION, description = "This attribute becomes the JMSExpiration message header. Must be an integer."),
+ "a number indicating the JDBC Type. The content of the FlowFile is expected to be in UTF-8 format. " + "FlowFile attribute 'executesql.row.count' indicates how many rows were selected.") @ReadsAttributes({ @ReadsAttribute(attribute = "sql.args.N.type", description = "Incoming FlowFiles are expected to be parametrized SQL statements. The type of each Parameter is specified as an integer " + "that represents the JDBC Type of the parameter."),
+ "FlowFiles to be considered 'like FlowFiles', they must have the same Schema (as identified by the Record Reader) and, if the <Correlation Attribute Name> property " + "is set, the same value for the specified attribute. See Processor Usage and Additional Details for more information.") @ReadsAttributes({ @ReadsAttribute(attribute = "fragment.identifier", description = "Applicable only if the <Merge Strategy> property is set to Defragment. " + "All FlowFiles with the same value for this attribute will be bundled together."),
@WritesAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ERROR_STATUS_CODE, description = "Dynamo db status code") }) @ReadsAttributes({ @ReadsAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ITEM_HASH_KEY_VALUE, description = "Items hash key value" ), @ReadsAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ITEM_RANGE_KEY_VALUE, description = "Items range key value" ),
+ "with the naming convention sql.args.N.type and sql.args.N.value, where N is a positive integer. The sql.args.N.type is expected to be " + "a number indicating the JDBC Type. The content of the FlowFile is expected to be in UTF-8 format.") @ReadsAttributes({ @ReadsAttribute(attribute = "fragment.identifier", description = "If the <Support Fragment Transactions> property is true, this attribute is used to determine whether or " + "not two FlowFiles belong to the same transaction."),
+ "a number indicating the JDBC Type. The content of the FlowFile is expected to be in UTF-8 format. " + "FlowFile attribute 'executesql.row.count' indicates how many rows were selected.") @ReadsAttributes({ @ReadsAttribute(attribute = "sql.args.N.type", description = "Incoming FlowFiles are expected to be parametrized SQL statements. The type of each Parameter is specified as an integer " + "that represents the JDBC Type of the parameter."),
+ "that happens you will see a log in both app-log and bulletin stating to that effect, and the FlowFile will be routed to the 'failure' relationship.") @SystemResourceConsideration(resource = SystemResource.MEMORY) @ReadsAttributes({ @ReadsAttribute(attribute = "amqp$appId", description = "The App ID field to set on the AMQP Message"), @ReadsAttribute(attribute = "amqp$contentEncoding", description = "The Content Encoding to set on the AMQP Message"),
@WritesAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ERROR_STATUS_CODE, description = "Dynamo db status code") }) @ReadsAttributes({ @ReadsAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ITEM_HASH_KEY_VALUE, description = "Items hash key value" ), @ReadsAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ITEM_RANGE_KEY_VALUE, description = "Items range key value" ),
@WritesAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ITEM_IO_ERROR, description = "IO exception message on creating item") }) @ReadsAttributes({ @ReadsAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ITEM_HASH_KEY_VALUE, description = "Items hash key value"), @ReadsAttribute(attribute = AbstractDynamoDBProcessor.DYNAMODB_ITEM_RANGE_KEY_VALUE, description = "Items range key value")
+ "It is recommended that the Processor be configured with only a single incoming connection, as Group of FlowFiles will not be " + "created from FlowFiles in different connections. This processor updates the mime.type attribute as appropriate.") @ReadsAttributes({ @ReadsAttribute(attribute = "fragment.identifier", description = "Applicable only if the <Merge Strategy> property is set to Defragment. " + "All FlowFiles with the same value for this attribute will be bundled together."),