bmc-ade-transformer plug-in


Use this plug-in to transform third-party data to the BMC Helix Platform compatible format. 

Plug-in parameters

The following table lists the parameters and their usage:

Parameter

Instructions

Mandatory

@type

Specify the type of plug-in. For this plug-in, the type is bmc_ade_transformer.

Type: String

Example
<filter tagname>
        @type bmc_ade_transformer
...
...
...
</filter>

Yes

mapping_file

Specify the complete path of the mapping file.

Type: String

Example

mapping_file /fluentd/etc/data/config/exampleMapping.json

Yes

mapping_json_key

Specify the name of the JSON key.

Type: String

Example
<filter tagname>
        @type bmc_ade_transformer
mapping_file /fluentd/etc/data/config/exampleMapping.json
        mapping_json_key MappingDetails
        ignore_blank_values true
result_in_array true
</filter>

exampleMapping.json
{ "MappingDetails" : [{"inputkey": "EventID","outputkey": "SourceEventID","type": "assignment"}]}

Yes

ignore_blank_values

Specify whether to skip mapping of input parameters. Set one of the following values:

  • True: Ignore an input parameter if it has a blank value.
  • False: Map an input parameter having a blank value to an output record.

Type: Boolean

Example
<filter tagname>
        @type bmc_ade_transformer
mapping_file mapping_file_path
        mapping_json_key MappingDetails
        ignore_blank_values true
result_in_array true
</filter>

Output

In the following example, the InstanceType has a blank value, the InstanceType parameter is skipped in the output record.
input_record = {'EventID'=>688,'InstanceType'=>'','Display Name'=>'Agent'}
output_record = [{'EventID'=>688,'Display Name'=>'Agent'}]

No

result_in_array

Specify whether to provide the results in an array format.

Type: Boolean

Set one of the following parameters:

  • true: Specify the output in an array format
  • false: Specify the output in a hash format
Example
<filter tagname>
        @type bmc_ade_transformer
mapping_file mapping_file_path
        mapping_json_key MappingDetails
        result_in_array false
</filter>

Output

input_record = {'EventID'=>688,'InstanceType'=>'','Display Name'=>'Agent'}
output_record = {'EventID'=>688,'InstanceType'=>'','Display Name'=>'Agent'}

No

transfer_unmapped_fields

Specify whether you want to send the unmapped data as is without any formatting.

Type: Boolean

Set one of the following parameters:

  • true: Send unmapped input data as is without any formatting
  • false: Skip the unmapped input data
Example
<filter SOLARWINDSCI>
        @type bmc_ade_transformer
        mapping_file mapping_file_path
        mapping_json_key MappingDetails
        transfer_unmapped_fields true
</filter>

Output

In the following example, only the EventID is mapped, therefore Display Name in the input record is displayed as is in the output record.

{ "MappingDetails" : [{"inputkey": "EventID","outputkey": "SourceEventID","type": "assignment"}]}
input_record = {'EventID'=>688,'Display Name'=>'Agent'}
output_record = [{'SourceEventID'=>688,'Display Name'=>'Agent'}]

No

config_file_path

Specify the complete directory path of the configuration file.

Type: String

This path is required to get check_context data, which will be used for updating workflows.

Example
<filter SOLARWINDSCI>
    @type bmc_ade_transformer
    mapping_file mapping_json_file_path
    mapping_json_key MappingDetails
    transfer_unmapped_fields true
    result_in_array true
ignore_blank_values true
        # Needed only in case of update events
         config_file_path /fluentd/etc/mgmt/{{PARAMETERS.integration_id}}/context/configuration_details.json
</filter>

No

Mapping file details

The bmc-ade-transformer plug-in requires a JSON mapping file if you want to convert input data to the desired output format. The following section explains the terms used in the JSON mapping file and their significance:

Parameter

Sub parameters (if applicable)

Instructions

Mandatory

inputkey
NA

Specify the name of the input record.

Example
mapping_file_path = { "MappingDetails" : [{"inputkey": "EventID","outputkey": "SourceEventID","type": "assignment"}]}
input_record =  {'EventID'=>688,'Display Name'=>'Agent'}
    output_record =  [{'SourceEventID'=>688,'Display Name'=>'Agent'}]

 

type
















 

add_key

Add key in hash or array of hash.

Example
mapping_json_file = { "MappingDetails" : [{"inputkey":"message.results","outputkey":"kind","type":"add_key","datatype":"array","childinputkey":"CI"}]}
input_record =  {"message.results" =>[{'EventID'=>688}]}
    output_record =  [{'EventID'=>688,'kind'=>'CI'}]

 

datatype

Add a key in the array of hash format.

 

childinputkey

Assign a value to the newly added key. If there is no value assigned, assign the key as is.

 

assignment

Replace the input key with the outputkey.

Example
mapping_file_path = { "MappingDetails" : [{"inputkey": "EventID","outputkey": "SourceEventID","type": "assignment"}]}
input_record =  {'EventID'=>688,'Display Name'=>'Agent'}
    output_record =  [{'SourceEventID'=>688,'Display Name'=>'Agent'}]

 

concat

Concatenate the input keys. Supported options:

    • Concatenate with a value from the input record
    • Concatenate with an environment variable
    • Concatenate with a constant value

delimiter: Define the delimiter by using which you want to concatenate the input keys. If you do not specify a delimiter, the input keys are concatenated without any delimiter.

Example
mapping_json_file = { "MappingDetails" : [{inputkey": "Test1,EventID,Test2","source_identifier": "class","type": "concat","delimiter":"-"}]}
input_record =  {'EventID'=>1014}
    output_record =  [{'EventID'=>1014,'source_identifier'=>'Test1-1014-Test2'}]

 

constant 

Assign the input key value as is to the output key.

Example
mapping_json_file = { "MappingDetails" : [{inputkey": "SolarWindsEvent","outputkey": "class","type": "constant"}]}
   input_record =  {'EventID'=>688}
   output_record =  [{'EventID'=>688,'class'=>'SolarWindsEvent'}]

 

convert_to_array

The output record is as an array of input key values.

Example
mapping_file_path = { "MappingDetails" : "ClosedAlertMappingDetails":[{"inputkey":"results","childinputkey":"AlertActiveID","outputkey":"eventIds","type": "convert_to_array"}]}
input_record = [{"AlertActiveID":"6185"}, {"AlertActiveID":"6200"}, {"AlertActiveID":"6201"}
    output_record = {"eventIds":["6185","6200","6201"]}

 

delete_data

Delete the specified key. Supported values:

  • Delete key: Delete the specified input key from a hash or array of hashes of input records
  • childinputkey: Specify the input key that needs to be deleted from an array of hashes of input records
Example
mapping_json_file = {"MappingDetails":[{"inputkey":"items","type":"delete_data","childinputkey":"ciName"}]}

input_record = {"items"[{"data":{"ciName":"basepriority_1","ciHomeCell":"test-host-setup"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}
    output_record = {"items":[{"data":{"ciHomeCell":"test-host-setup"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}

 

Delete the key based on specified value. Supported values:

    • checkvalue: Specify this value if the user wants to delete a key from a hash or an array of hash matching the checkvalue.
    • datatype: Need to give value as "array" if user wants to delete key from hash which in array of hash having matching checkvalue
Example
Delete a key based on a given value

mapping_json_file = {"MappingDetails":[{"inputkey":"attributes","type":"delete_data","datatype":"array","childinputkey":"name","checkvalue":"mc_smc_impact"}]}

input_record = {'attributes'=>[{'name'=>'mc_tool_time','dataType'=>'DATE','default'=>'0','enum'=>false,'enumElements'=>[],'allFacet'=>[{'name'=>'parse','value'=>'true'}]},{'name'=>'mc_smc_impact','dataType'=>'MC_SMC_IMPACT','default'=>'NOT_ELECTED','enum'=>true,'enumElements'=>[{'value'=>'NOT_ELECTED','index'=>0},{'value'=>'ELECTED','index'=>1}]},{'name'=>'mc_bad_slot_names','dataType'=>'STRING_LIST','default'=>'[]','enum'=>false,'enumElements'=>[],'allFacet'=>[{'name'=>'parse','value'=>'true'}]}]}

    output_record = {'attributes'=>[{'name'=>'mc_tool_time','dataType'=>'DATE','default'=>'0','enum'=>false,'enumElements'=>[],'allFacet'=>[{'name'=>'parse','value'=>'true'}]},{'name'=>'mc_bad_slot_names','dataType'=>'STRING_LIST','default'=>'[]','enum'=>false,'enumElements'=>[],'allFacet'=>[{'name'=>'parse','value'=>'true'}]}]}

 

delete_row : Delete rows based on the specified conditions

Required configurations:

    • Conditions: Specify the conditions based on which the rows will be deleted. Valid values:
      • condition_operator: Specify the conditional operators. Valid values: greater_than, greater_than_equal_to, less_than, less_than_equal_to, equals,
        not_equals, not_null, null, empty, not_empty, contains.
      • left_expression: Specify the value for the left-hand side expression. It might contain the Context value that needs to be fetched from 'config-file-path'.
      • right_expression: Specify the value for the right-hand side expression. It might contain the Context value that needs to be fetched from 'config-file-path'.
      • logical_operator: Use these operators if you want to specify more than one conditions. Valid values: and, or.
Example
mapping_json_file = {"MappingDetails":[{
"conditions": [{"condition_operator":"not_null","left_expression":"{{CONTEXT_PARAMETER.PREV_FETCH_TIME}}","right_expression":"","logical_operator":"AND"},{"condition_operator":"greater_than","left_expression":"mc_date_modification","right_expression":"date_reception","logical_operator":"AND"},{"condition_operator":"less_than","left_expression":"date_reception","right_expression":"{{CONTEXT_PARAMETER.PREV_FETCH_TIME}}","logical_operator":""}],
"type": "delete_row"
  }]}
input_record =
[{"_handle":"86019","_identifier":"TSOM_mc.pncell_test-host-setup1.20487282.0","source_address":"<IP Address>","source_hostname":"test-host-setup3","location":"Unknown","source_identifier":"TSOM-38882c31-2c96-4ef9-9877-ac5b38418ca8-test-host-setup3","sub_category":"OTHER","date_reception":"1615357516","priority":"PRIORITY_5","_repeat_count":"0","_cause":"0","_timeout":"0","mc_tool_address":"<IP Address>","mc_modhist":"['pncell_test-host-setup3']","mc_tool_time":"1615360642","mc_smc_impact":"NOT_ELECTED","mc_event_model_version":"1.1.00","status":"OPEN","mc_relationships":"0/0","mc_client_address":"<IP Address>","mc_collectors":"['1.1', '3.1.1', '4.1', '5.1']","mc_history":"['test-host:86019']","pn_detail_diag_count":"0","mc_date_modification":"1615360647","date":"20210309191722.000000-720","mc_original_priority":"PRIORITY_5","msg":"9th march test event 30","CLASS":"EVENT","mc_host_id":"0","mc_incident_report_time":"1615360642","mc_smc_priority":"0","mc_original_severity":"MAJOR","mc_local_reception_time":"1615360642","duration":"0","pn_detail_diag":"0","mc_arrival_time":"1615360642","severity":"MAJOR","mc_action_count":"0","mc_incident_time":"0"},{"_handle":"86027","_identifier":"TSOM_mc.pncell_test-host-setup1.20487282.0","source_address":"<IP Address>","source_hostname":"test-host","location":"Unknown","source_identifier":"TSOM-38882c31-2c96-4ef9-9877-ac5b38418ca8-test-host-setup3","sub_category":"OTHER","date_reception":"1615360642","priority":"PRIORITY_5","_repeat_count":"0","_cause":"0","_timeout":"0","mc_tool_address":"<IP Address>","mc_modhist":"['pncell_test-host-setup3']","mc_tool_time":"1615360642","mc_smc_impact":"NOT_ELECTED","mc_event_model_version":"1.1.00","status":"OPEN","mc_relationships":"0/0","mc_client_address":"<IP Address>","mc_collectors":"['1.1', '3.1.1', '4.1', '5.1']","mc_history":"['test-host:86027']","pn_detail_diag_count":"0","mc_date_modification":"1615360642","date":"20210309191722.000000-720","mc_original_priority":"PRIORITY_5","msg":"9th march test event 30","CLASS":"EVENT","mc_host_id":"0","mc_incident_report_time":"1615360642","mc_smc_priority":"0","mc_original_severity":"MAJOR","mc_local_reception_time":"1615360642","duration":"0","pn_detail_diag":"0","mc_arrival_time":"1615360642","severity":"MAJOR","mc_action_count":"0","mc_incident_time":"0"}]

output_record = [{"_handle":"86027","_identifier":"TSOM_mc.pncell_test-host-setup1.20487282.0","source_address":"<IP Address>","source_hostname":"test-host-setup3","location":"Unknown","source_identifier":"TSOM-38882c31-2c96-4ef9-9877-ac5b38418ca8-test-host-setup3","sub_category":"OTHER","creation_time":"1615360642","priority":"PRIORITY_5","_repeat_count":"0","_cause":"0","_timeout":"0","mc_tool_address":"<IP Address>","mc_modhist":"['pncell_test-jost-setup3']","mc_tool_time":"1615360642","mc_smc_impact":"NOT_ELECTED","mc_event_model_version":"1.1.00","status":"OPEN","mc_relationships":"0/0","mc_client_address":"10.133.187.35","mc_collectors":"['1.1', '3.1.1', '4.1', '5.1']","mc_history":"['pncell_test-host-setup3:86027']","pn_detail_diag_count":"0","mc_date_modification":"1615360642","date":"20210309191722.000000-720","mc_original_priority":"PRIORITY_5","msg":"9th march test event 30","CLASS":"EVENT","mc_host_id":"0","mc_incident_report_time":"1615360642","mc_smc_priority":"0","mc_original_severity":"MAJOR","mc_local_reception_time":"1615360642","duration":"0","pn_detail_diag":"0","mc_arrival_time":"1615360642","severity":"MAJOR","mc_action_count":"0","mc_incident_time":"0"}]

 

delete_and_move_row : Stores the data to be deleted in one file and then deletes the row matching the specified condition.

Configuration needed:

    • Conditions: Specify the conditions based on which the rows will be deleted. Valid values:
      • condition_operator: It will specify the conditional operators: greater_than, greater_than_equal_to, less_than, less_than_equal_to, equals, not_equals, not_null, null, empty, not_empty, contains. They are used for comparing left_expression and right_expression
      • left_expression: Record value to compare with right_expression.
      • right_expression: Record value to compare with left_expression.
      • logical_operator: It will be specified if there is more than one condition. Values are and, or.
Example
mapping_json_file = {"MappingDetails":[{
"conditions": [{"condition_operator":"not_null","left_expression":"{{CONTEXT_PARAMETER.PREV_FETCH_TIME}}","right_expression":"","logical_operator":"AND"},{"condition_operator":"greater_than","left_expression":"mc_date_modification","right_expression":"date_reception","logical_operator":"AND"},{"condition_operator":"less_than","left_expression":"date_reception","right_expression":"{{CONTEXT_PARAMETER.PREV_FETCH_TIME}}","logical_operator":""}],
"file_name_with_path":"/fluentd/etc/data/tsom_update_event_payload.json",
"type": "delete_and_move_row"
  }]}

input_record =
[{"_handle":"86019","_identifier":"TSOM_mc.pncell_test-host-setup1.20487282.0","source_address":"<IP Address>","source_hostname":"test-host-setup3","location":"Unknown","source_identifier":"TSOM-38882c31-2c96-4ef9-9877-ac5b38418ca8-test-host","sub_category":"OTHER","date_reception":"1615357516","priority":"PRIORITY_5","_repeat_count":"0","_cause":"0","_timeout":"0","mc_tool_address":"<IP Address>","mc_modhist":"['pncell_test-host']","mc_tool_time":"1615360642","mc_smc_impact":"NOT_ELECTED","mc_event_model_version":"1.1.00","status":"OPEN","mc_relationships":"0/0","mc_client_address":"10.133.187.35","mc_collectors":"['1.1', '3.1.1', '4.1', '5.1']","mc_history":"['test-host:86019']","pn_detail_diag_count":"0","mc_date_modification":"1615360647","date":"20210309191722.000000-720","mc_original_priority":"PRIORITY_5","msg":"9th march test event 30","CLASS":"EVENT","mc_host_id":"0","mc_incident_report_time":"1615360642","mc_smc_priority":"0","mc_original_severity":"MAJOR","mc_local_reception_time":"1615360642","duration":"0","pn_detail_diag":"0","mc_arrival_time":"1615360642","severity":"MAJOR","mc_action_count":"0","mc_incident_time":"0"},{"_handle":"86027","_identifier":"TSOM_mc.pncell_test-host-setup1.20487282.0","source_address":"<IP Address>","source_hostname":"test-host-setup3","location":"Unknown","source_identifier":"TSOM-38882c31-2c96-4ef9-9877-ac5b38418ca8-test-host-setup3","sub_category":"OTHER","date_reception":"1615360642","priority":"PRIORITY_5","_repeat_count":"0","_cause":"0","_timeout":"0","mc_tool_address":"<IP Address>","mc_modhist":"['pncell_test-host-setup3']","mc_tool_time":"1615360642","mc_smc_impact":"NOT_ELECTED","mc_event_model_version":"1.1.00","status":"OPEN","mc_relationships":"0/0","mc_client_address":"10.133.187.35","mc_collectors":"['1.1', '3.1.1', '4.1', '5.1']","mc_history":"['test-host:86027']","pn_detail_diag_count":"0","mc_date_modification":"1615360642","date":"20210309191722.000000-720","mc_original_priority":"PRIORITY_5","msg":"9th march test event 30","CLASS":"EVENT","mc_host_id":"0","mc_incident_report_time":"1615360642","mc_smc_priority":"0","mc_original_severity":"MAJOR","mc_local_reception_time":"1615360642","duration":"0","pn_detail_diag":"0","mc_arrival_time":"1615360642","severity":"MAJOR","mc_action_count":"0","mc_incident_time":"0"}]

output_record =
[{"_handle":"86027","_identifier":"TSOM_mc.pncell_test-host-setup1.20487282.0","source_address":"<IP Address>","source_hostname":"test-host-setup3","location":"Unknown","source_identifier":"TSOM-38882c31-2c96-4ef9-9877-ac5b38418ca8-test-host-setup3","sub_category":"OTHER","creation_time":"1615360642","priority":"PRIORITY_5","_repeat_count":"0","_cause":"0","_timeout":"0","mc_tool_address":"10.133.187.35","mc_modhist":"['pncell_test-host-setup3']","mc_tool_time":"1615360642","mc_smc_impact":"NOT_ELECTED","mc_event_model_version":"1.1.00","status":"OPEN","mc_relationships":"0/0","mc_client_address":"10.133.187.35","mc_collectors":"['1.1', '3.1.1', '4.1', '5.1']","mc_history":"['pncell_test-host-setup3:86027']","pn_detail_diag_count":"0","mc_date_modification":"1615360642","date":"20210309191722.000000-720","mc_original_priority":"PRIORITY_5","msg":"9th march test event 30","CLASS":"EVENT","mc_host_id":"0","mc_incident_report_time":"1615360642","mc_smc_priority":"0","mc_original_severity":"MAJOR","mc_local_reception_time":"1615360642","duration":"0","pn_detail_diag":"0","mc_arrival_time":"1615360642","severity":"MAJOR","mc_action_count":"0","mc_incident_time":"0"}]

 

encapsulate

Encapsulate the given input keys under the specified output key value.

childoutputkey : Specify the value so that input keys can be encapsulated under this field.

Example
mapping_json_file = {"MappingDetails":[{"inputkey":"message.results","outputkey":"items","childoutputkey":"data",type":"encapsulate"}]}
    input_record = {"
message.results":[{"data":{"ciName":"basepriority_1","ciHomeCell":"pncell_test-host-setup2"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}
    output_record = {"
items":[{"data":{"ciHomeCell":"pncell_test-host-setup2"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}

 

enviornment_variable

Replace the value specified in the environment_variable.

Example
mapping_json_file = { "MappingDetails" : [{inputkey": "source_identifier","outputkey": "source","type": "enviornment_variable"}]}
   if ENV["source_identifier"]="test123"
   input_record =  {'EventID'=>688}
   output_record =  [{'EventID'=>688,'source'=>'test123'}]

 

lookup 

Read the input key value assign the corresponding value from the lookup Map to the output key.

Example
mapping_json_file = {"MappingDetails":[{"inputkey": "Icon","outputkey": "severity","type": "lookup",
"lookupMap": [{"Add": "INFO","Critical": "CRITICAL","Disabled": "MAJOR","Error": "MAJOR"}]}]}
    input_record =  {'Icon'=>'Add','EventID'=>688}
    output_record =  [{'EventID'=>688,'severity'=>'INFO'}]

 

merge_record

Merge two input records that are either in the hash format or array format.

Example
mapping_json_file = {"MappingDetails":[{"inputkey":"data","outputkey":"samples","inpputkeytomerge":"values","inpputkeytomergewith":"timestamps","type":"merge_record"}]}
    input_record =  {"message.result"=>[{"metricId"=>"builtin:host.cpu.usage:names","data"=>[{"dimensions"=>["zwl-np-tspsl-1.onbmc.com","HOST-9785505BCFCF9B50"],"dimensionMap"=>{"dt.entity.host.name"=>"zwl-np-tspsl-1.onbmc.com","dt.entity.host"=>"HOST-9785505BCFCF9B50"},"timestamps"=>[nil,nil,1618557540000,1618557600000,1618557660000,1618557720000],"values"=>[1.9063517252604167,2.13470458984375,1.8023274739583333,1.94189453125,nil,nil]}]}]}
    output_record =  [{"samples"=>[{:values=>1.9063517252604167,:timestamp=>''},{:values=>2.13470458984375,:timestamp=>''},{:values=>1.8023274739583333,:timestamp=>1618557540000},{:values=>1.94189453125,:timestamp=>1618557600000},{:values=>'',:timestamp=>1618557660000},{:values=>'',:timestamp=>1618557720000}],"metricId"=>"builtin:host.cpu.usage:names"}]

 

prefix

Specify a value for the prefix expression. The prefix expression is inserted before the output key and displayed in the output record.

Example
mapping_json_file = {"MappingDetails":[{"inputkey": "ciName","outputkey": "ciName","type": "prefix","value": "TSOM_"}]}
input_record = {"message.results":{[{"data":{"ciName":"basepriority_1","ciHomeCell":"pncell_test-host-setup2"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}}
    output_record = {"items":[{"data":{"ciName":"TSOM_basepriority_1","ciHomeCell":"pncell_test-host-setup2"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}

 

postfix

Specify a value for the postfix expression. The output key is appended with the postfix expression and displayed in the output record.

Example
mapping_json_file = {"MappingDetails":[{"inputkey": "ciName","outputkey": "ciName","type": "postfix","value": "_TSOM"}]}
input_record = {"message.results":{[{"data":{"ciName":"basepriority_1","ciHomeCell":"pncell_test-host-setup2"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}}
    output_record = {"items":[{"data":{"ciName":"basepriority_1_TSOM","ciHomeCell":"pncell_test-host-setup2"},"kind":"BMC_BusinessService","id":"REGAA5V0FL9BIAQ3VCUFQ2WVT51BIM"}]}

 

Time

Convert the input time according to the output time format specified and display it in the output record.

Example
mapping_file_path = { "MappingDetails" : [{"inputkey": "LocalEventTime","outputkey": "creation_time","type": "time","inputformat": "%Y-%m-%dT%H:%M:%S","outputformat": "EPOCH"}]}
input_record =  {'EventID'=>688,'LocalEventTime'=>'2020-10-18T05:38:39.8200000'}
    output_record =  [{'EventID'=>688,'creation_time'=>1602979719}]

 

value_assignment

Change the value of the inputkey. You can replace a hash, array, or plain values.

    • childinputkey: Specify the key if you want to replace the value of the input key in an array or hash.
    • checkvalue: Specify the value to be replaced.
Example
mapping_file_path = { "MappingDetails" : [{"inputkey":"attributes","type":"value_assignment","childinputkey":"dataType","checkvalue":"MC_EVENT_CATEGORY","assignmentvalue":"CATEGORY"}]}
input_record = {"attributes": [{"name":"mc_event_category","dataType":"MC_EVENT_CATEGORY","default":"","enum":true,"enumElements":[{"value":"","index":0}],"allFacet":[{"name":"parse","value":"true"}]}]}
    output_record = {"attributes":[{"name":"mc_event_category","dataType":"CATEGORY","default":"","enum":true,"enumElements":[{"value":"","index":0}],"allFacet":[{"name":"parse","value":"true"}]}]}

 

outputkey 

 

Specify the output key. The input key is replaced with the output key in the output record.

Example
mapping_file_path = { "MappingDetails" : [{"inputkey": "EventID","outputkey": "SourceEventID","type": "assignment"}]}
input_record =  {'EventID'=>688,'Display Name'=>'Agent'}
    output_record =  [{'SourceEventID'=>688,'Display Name'=>'Agent'}]

 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*