Configuration file
The name of the configuration file that Data Flow service uses is called Dataflowsconfig.xml and is located in the default installation path. The file contains three sections: Data Sources, Data Flows, and Settings. All tags and attribute names in the file must be in lower case. There is also an XSD file that you can use to validate the configuration file on startup.
<DataSources>
The<DataSources>
tag of the Configuration File represents a
collection of the different data sources that the solution is configured to interact
with. For a configuration to be valid, two datasources are required at the minimum. The
<datasourcename>
attribute should be
unique.<datasource>
tag is a child node of the
<datasources>
tag in the configuration document and
represents the configuration information for a single datasource.Attribute name | Default value | Required | Description |
---|---|---|---|
datasourcename | Yes | This attribute is used to uniquely identify the datasource. With this attribute, datasources can be mapped to specific adapters within each data flow | |
connectionstring | Yes | This is the URL of the respective data sources. For example: https://<ipaddress/hostname>:{Port}/api (BigFix)https://<InstanceID>.Service-Now.com/api/now/table (ServiceNow) | |
username | System generated | This attribute is managed through the ProvideCredentials command. The data is encrypted prior to being persisted in the configuration file | |
password | System generated | This attribute is managed through the ProvideCredentials command. The data is encrypted prior to being persisted in the configuration file | |
verifycert | True | No | This attribute enables or disables SSL certificate validation with this data source |
proxy_host | N/A | Yes | This attribute provides the proxy server host along with a port number (format: HTTP:// or HTTPS://proxy_host:proxy_port). |
proxy_username | N/A | Optional | This attribute is managed through the configureproxy command. The data is encrypted prior to being persisted in the configuration file. |
proxy_password | N/A | Optional | This attribute is managed through the configureproxy command. The data is encrypted prior to being persisted in the configuration file. |
<DataFlows>
The
<DataFlows>
tag of the configuration file represents a
collection of the different data flows that the solution is configured to
execute.
<DataFlow>
tag represents an instance of the flow of
data from one system to another and consists of a Source Adapter tag and a
Target Adapter tag.Attribute name | Required | Description |
---|---|---|
displayname | Yes | This attribute is used to describe the individual data flow |
datatype | Yes | By default it is set to asset |
schedule* | Yes | Find more information about schedule here |
Schedule*
Cron Time String Format: The Cron time string format consists of five fields that Cron converts into a time interval. Cron then uses this interval to determine how often to schedule the DataFlow. 5 place values specifies Minute, Hour, Day of the Month, Month, Day of the week respectively.
Character | Descriptor | Acceptable values |
---|---|---|
1 | Minute | 0 to 59, or * (no specific value) |
2 | Hour | 0 to 23, or * for any value. All times UTC |
3 | Day of month | 1 to 31, or * (no specific value) |
4 | Month | 1 to 12, or * (no specific value) |
5 | Day of the week | 0 to 7 (0 and 7 both represent Sunday), or * (no specific value) |
- Execute data flow after specific minutes past the hour, every hour.
- Execute data flow at specific time of UTC every Monday.
- Execute data flow every five minutes.
- Execute data flow every second hour, on the hour.
Example1: Cron time string of 0 10 15 * *
executes a
command on the 15th of each month at 10:00 A.M. UTC.
Example2: Cron time
string of 10/30 10 * * *
executes a command on the 10th minute of
10th hour of each day and for every 30 minutes there after.
The
<FilterQuery>
tag is used to filter the records that are
monitored by a particular adapter tag. This tag consists of a native query for the
selected adapter type. For BigFixRest, this would be a session relevance, while in
ServiceNowRest it would be a SysParam_Query value.
<FilterQuery>
does not work when it is specified in
the following
format:<filterquery>
<![CDATA[*********]]>
</filterquery>
The
<FilterQuery>
should be specified in one line.
Ex:
<filterquery><![CDATA[*********]]></filterquery>
<SourceAdapter>
tag identifies the source system from
which the data is extracted. It must include a Properties collection, with a
minimum of two properties being valid. Optionally, it may also consist of a
<FilterQuery>
that leverages the native querying
syntax of the AdapterClass that is leveraged.Attribute name | Required | Description |
---|---|---|
displayname | Yes | This attribute is used to describe this adapter configuration |
adapterclass | Yes | Options: bigfix or
servicenow
This attribute determines which adapter is used to extract data from the source data source |
datasourcename | Yes | This attribute value must match the name of a data source defined in the data sources collection. It is used to provide connection information to the adapter |
The
<TargetAdapter>
tag identifies the target system in
to which the data is loaded. It must include a Properties collection, with a
minimum of two properties being valid. Optionally, it may also consist of a
<FilterQuery>
that leverages the native querying
syntax of the AdapterClass being leveraged.
Attribute name | Required | Description |
---|---|---|
displayname | Yes | This attribute is used to describe this adapter configuration |
adapterclass | Yes | Options: bigfix or
servicenow
This attribute determines which adapter is used to extract data from the source data source |
datasourcename | Yes | This attribute value must match the name of a data source defined in the data sources collection. It is used to provide connection information to the adapter |
<device_properties>
tag represents a collection of
properties in a specific adapter. Each property in this collection is mapped by
position to the collection in the corresponding target or source adapter.The
<sourcekey>
tag represents defines primary key of the
adapter. Only one property in each collection must be designated as a Primary
Key.
The <targetkey>
tag represents defines foreign
key of the adapter.
<Property>
tag represents a single column of data
that is either extracted from or loaded in to a system. It may include simple
transformation logic to facilitate the transformation of the data received.
Attribute name | Required | Description |
---|---|---|
displayname | Yes | This attribute is used to describe the property being configured |
propertyname | Yes | This attribute is used to identify the corresponding column using a notation specific to each adapter |
datatype | Yes | The datatype which could be STRING, DATETIME, DATE, INT, DECIMAL, or BOOLEAN |
<IdentityProperty>
tag represents a single column of data
that is either extracted from or loaded into a system. It may include simple
transformation logic to facilitate the transformation of the data received. Attribute name | Required | Description |
---|---|---|
displayname | Yes | This attribute is used to describe the property being configured |
propertyname | Yes | This attribute is used to identify the corresponding column using a notation specific to each adapter |
datatype | Yes | The datatype which could be STRING, DATETIME, DATE, INT, DECIMAL, or BOOLEAN |
weight | Yes | This attribute assigns a weight to the property, which is used for the weighted confidence matching of records. Type: Int. |
delimiter | No | This attribute transforms entry into multiple identity properties. To disable transformation, provide empty delimiter: "". |
The
<TransformationLogic>
tag can be used with a property
tag to manipulate the value returned from a system. These transformations are
simple python experiences, and typical use cases would be parsing maintenance
windows or classification based upon a certain value.
Syntax for
transformation logic:
<transformationlogic><![CDATA[str(this_value).lower()]]></transformationlogic></identityproperty>
<Settings>
<Settings>
tag represents a collection of settings for the
solution. For a detailed list of settings, see Configuration settings.Attribute name | Required | Description |
---|---|---|
key | Yes | This attribute is the name of the setting that is being configured |
value | This attribute is the value of the setting that is being configured |