Table of Contents

AWSCredentialsService

Description

Manages the Amazon Web Services (AWS) credentials for an AWS account. This allows for multiple AWS credential services to be defined. This also allows for multiple AWS related processors to reference this single controller service so that AWS credentials can be managed and controlled in a central location.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Use Default Credentialsfalsetrue
false
If true, uses the Default Credential chain, including EC2 instance profiles or roles, environment variables, default user credentials, etc.
Access KeySpecifies the AWS Access Key.
Secret KeySpecifies the AWS Secret Key.
Sensitive Property: true
Credentials FilePath to a file containing AWS access key and secret key in properties file format. Properties used: accessKey and secretKey

AzureStorageCredentialsService

Description

Manages the credentials for an Azure Storage account. This allows for multiple Azure Storage related processors to reference this single controller service so that Azure storage credentials can be managed and controlled in a central location.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Storage Account NameThe storage account name.
Storage Account KeyThe storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies if Credential Configuration Strategy is set to From Properties. If set, SAS Token must be empty.
Sensitive Property: true
SAS TokenShared Access Signature token. Specify either SAS Token (recommended) or Storage Account Key together with Storage Account Name if Credential Configuration Strategy is set to From Properties. If set, Storage Account Key must be empty.
Sensitive Property: true
Common Storage Account Endpoint SuffixStorage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).
Connection StringConnection string used to connect to Azure Storage service. This overrides all other set credential properties if Credential Configuration Strategy is set to From Properties.
Credential Configuration StrategyFrom PropertiesFrom Properties
Default Credential
Managed Identity
Workload Identity
The strategy to use for credential configuration. If set to From Properties, the credentials are parsed from the SAS Token, Storage Account Key, and Connection String properties. In other cases, the selected Azure identity source is used.
Managed Identity Client IDClient ID of the managed identity. The property is required when User Assigned Managed Identity is used for authentication and multiple user-assigned identities are added to the resource. It must be empty in case of System Assigned Managed Identity and can also be left empty if only one user-assigned identity is present.
Sensitive Property: true

CouchbaseClusterService

Description

Provides a centralized Couchbase connection and bucket passwords management. Bucket passwords can be specified via dynamic properties.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Connection StringThe hostnames or ip addresses of the bootstraping nodes and optional parameters. Syntax: couchbase://node1,node2,nodeN?param1=value1&param2=value2&paramN=valueN
User NameThe user name to authenticate MiNiFi as a Couchbase client.
User PasswordThe user password to authenticate MiNiFi as a Couchbase client.
Sensitive Property: true

ElasticsearchCredentialsControllerService

Description

Elasticsearch/Opensearch Credentials Controller Service

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
UsernameThe username for basic authentication
Supports Expression Language: true
PasswordThe password for basic authentication
Sensitive Property: true
Supports Expression Language: true
API KeyThe API Key to use
Sensitive Property: true

GCPCredentialsControllerService

Description

Manages the credentials for Google Cloud Platform. This allows for multiple Google Cloud Platform related processors to reference this single controller service so that Google Cloud Platform credentials can be managed and controlled in a central location.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Credentials LocationGoogle Application Default CredentialsGoogle Application Default Credentials
Use Compute Engine Credentials
Service Account JSON File
Service Account JSON
Use Anonymous credentials
The location of the credentials.
Service Account JSON FilePath to a file containing a Service Account key file in JSON format.
Service Account JSONThe raw JSON containing a Service Account keyfile.
Sensitive Property: true

KubernetesControllerService

Description

Controller service that provides access to the Kubernetes API

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Namespace FilterdefaultLimit the output to pods in namespaces which match this regular expression
Pod Name FilterIf present, limit the output to pods the name of which matches this regular expression
Container Name FilterIf present, limit the output to containers the name of which matches this regular expression

JsonTreeReader

Description

Parses JSON into individual Record objects. While the reader expects each record to be well-formed JSON, the content of a FlowFile may consist of many records, each as a well-formed JSON array or JSON object with optional whitespace between them, such as the common ‘JSON-per-line’ format. If an array is encountered, each element in that array will be treated as a separate record. If the schema that is configured contains a field that is not present in the JSON, a null value will be used. If the JSON contains a field that is not present in the schema, that field will be skipped.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription

JsonRecordSetWriter

Description

Writes the results of a RecordSet as either a JSON Array or one JSON object per line. If using Array output, then even if the RecordSet consists of a single row, it will be written as an array with a single element. If using One Line Per Object output, the JSON objects cannot be pretty-printed.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Output GroupingArrayArray
One Line Per Object
Specifies how the writer should output the JSON records. Note that if ‘One Line Per Object’ is selected, then Pretty Print JSON is ignored.
Pretty Print JSONfalsetrue
false
Specifies whether or not the JSON should be pretty printed (only used when Array output is selected)

LinuxPowerManagerService

Description

Linux power management service that enables control of power usage in the agent through Linux power management information. Use name “ThreadPoolManager” to throttle battery consumption

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Battery Capacity Path/sys/class/power_supply/BAT0/capacityPath to the battery level
Battery Status Path/sys/class/power_supply/BAT0/statusPath to the battery status ( Discharging/Battery )
Battery Status DischargeDischargingKeyword to identify if battery is discharging
Trigger Threshold75Battery threshold before which we consider a slow reduction. Should be a number from 1-100
Low Battery Threshold50Battery threshold before which we will aggressively reduce. Should be a number from 1-100
Wait Period100 msDecay between checking threshold and determining if a reduction is needed

NetworkPrioritizerService

Description

Enables selection of networking interfaces on defined parameters to include output and payload size

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Network ControllersComma separated list of network controllers in order of priority for this prioritizer
Max Throughput1 MBMax throughput ( per second ) for these network controllers
Max Payload1 GBMaximum payload for these network controllers
Verify Interfacestruetrue
false
Verify that interfaces are operational
Default Prioritizerfalsetrue
false
DEPRECATED, does not do anything

ODBCService

Description

Controller service that provides ODBC database connection

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Connection StringDatabase Connection String
Sensitive Property: true

PersistentMapStateStorage

Description

A persistable state storage service implemented by a locked std::unordered_map<std::string, std::string> and persisted into a file

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Always Persistfalsetrue
false
Persist every change instead of persisting it periodically.
Auto Persistence Interval1 minThe interval of the periodic task persisting all values. Only used if Always Persist is false. If set to 0 seconds, auto persistence will be disabled.
FilePath to a file to store state

RocksDbStateStorage

Description

A state storage service implemented by RocksDB

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Always Persistfalsetrue
false
Persist every change instead of persisting it periodically.
Auto Persistence Interval1 minThe interval of the periodic task persisting all values. Only used if Always Persist is false. If set to 0 seconds, auto persistence will be disabled.
DirectoryPath to a directory for the database

SmbConnectionControllerService

Description

SMB Connection Controller Service

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
HostnameThe network host to which files should be written.
ShareThe network share to which files should be written. This is the “first folder” after the hostname: \hostname[share]\dir1\dir2
DomainThe domain used for authentication. Optional, in most cases username and password is sufficient.
UsernameThe username used for authentication. If no username is set then anonymous authentication is attempted.
PasswordThe password used for authentication. Required if Username is set.
Sensitive Property: true

SSLContextService

Description

Controller service that provides SSL/TLS capabilities to consuming interfaces

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Certificate Store LocationLocalMachineCurrentUser
LocalMachine
CurrentService
Services
Users
CurrentUserGroupPolicy
LocalMachineGroupPolicy
LocalMachineEnterprise
One of the Windows certificate store locations, eg. LocalMachine or CurrentUser (Windows only)
Server Cert StoreROOTThe name of the certificate store which contains the server certificate (Windows only)
Client Cert StoreMYThe name of the certificate store which contains the client certificate (Windows only)
Client Cert CNThe CN that the client certificate is required to match; default: use the first available client certificate in the store (Windows only)
Client Cert Key UsageClient AuthenticationComma-separated list of enhanced key usage values that the client certificate is required to have (Windows only)
Client CertificateClient Certificate
Private KeyPrivate Key file
PassphraseClient passphrase. Either a file or unencrypted text
Sensitive Property: true
CA CertificateCA certificate file
Use System Cert Storefalsetrue
false
Whether to use the certificates in the OS's certificate store

UpdatePolicyControllerService

Description

UpdatePolicyControllerService allows a flow specific policy on allowing or disallowing updates. Since the flow dictates the purpose of a device it will also be used to dictate updates to specific components.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Allow All Propertiesfalsetrue
false
Allows all properties, which are also not disallowed, to be updated
Persist Updatesfalsetrue
false
Property that dictates whether updates should persist after a restart
Allowed PropertiesProperties for which we will allow updates
Disallowed PropertiesProperties for which we will not allow updates

VolatileMapStateStorage

Description

A key-value service implemented by a locked std::unordered_map<std::string, std::string>

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Linked ServicesReferenced Controller Services

XMLReader

Description

Reads XML content and creates Record objects. Records are expected in the second level of XML data, embedded in an enclosing root tag. Types for records are inferred automatically based on the content of the XML tags. For timestamps, the format is expected to be ISO 8601 compliant.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Field Name for ContentIf tags with content (e. g. content) are defined as nested records in the schema, the name of the tag will be used as name for the record and the value of this property will be used as name for the field. If the tag contains subnodes besides the content (e.g. contentsubcontent), or a node attribute is present, we need to define a name for the text content, so that it can be distinguished from the subnodes. If this property is not set, the default name ‘value’ will be used for the text content of the tag in this case.
Parse XML Attributesfalsetrue
false
When this property is ‘true’ then XML attributes are parsed and added to the record as new fields, otherwise XML attributes and their values are ignored.
Attribute PrefixIf this property is set, the name of attributes will be prepended with a prefix when they are added to a record.
Expect Records as Arrayfalsetrue
false
This property defines whether the reader expects a FlowFile to consist of a single Record or a series of Records with a “wrapper element”. Because XML does not provide for a way to read a series of XML documents from a stream directly, it is common to combine many XML documents by concatenating them and then wrapping the entire XML blob with a “wrapper element”. This property dictates whether the reader expects a FlowFile to consist of a single Record or a series of Records with a “wrapper element” that will be ignored.

XMLRecordSetWriter

Description

Writes a RecordSet to XML. The records are wrapped by a root tag.

Properties

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Array Tag NameName of the tag used by property “Wrap Elements of Arrays” to write arrays
Wrap Elements of ArraysNo WrappingUse Property as Wrapper
Use Property for Elements
No Wrapping
Specifies how the writer wraps elements of fields of type array. If ‘Use Property as Wrapper’ is set, the property “Array Tag Name” will be used as the tag name to wrap elements of an array. The field name of the array field will be used for the tag name of the elements. If ‘Use Property for Elements’ is set, the property “Array Tag Name” will be used for the tag name of the elements of an array. The field name of the array field will be used as the tag name to wrap elements. If ‘No Wrapping’ is set, the elements of an array will not be wrapped.
Omit XML Declarationfalsetrue
false
Specifies whether or not to include XML declaration
Pretty Print XMLfalsetrue
false
Specifies whether or not the XML should be pretty printed
Name of Record TagSpecifies the name of the XML record tag wrapping the record fields.
Name of Root TagSpecifies the name of the XML root tag wrapping the record set.