import _ from 'lodash'; export const extract = [ { nameOfComponent: 'inputParquet', displayName: 'Parquet', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', displayName: 'Path', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'columnsToDecrypt', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Decrypt', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, advanceOptions: { displayName: 'Advance Options', isOptional: true, fields: [ { typeOfComponent: 'Extract', removed: true, nameOfComponent: 'inputParquet', inputFieldName: 'endPoint', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'endpoint, accesskey and secretkey should become compulsory as advance option is enabled', displayName: 'End Point', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'accessKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'secretKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'mergeSchema', visualType: 'checkbox', defaultValue: true, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Merge Schema', value: true, rowSpace: 0.5, }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true }, stepName: { type: 'string', required: true }, path: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, columnsToDecrypt: { type: 'array', required: false, items: { type: 'string' } }, advanceOptions: { type: 'object', required: false, properties: { mergeSchema: { type: 'boolean', required: false }, }, }, jsonSchema: { type: 'string', required: false, }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['s3-parquet', 'parquet'], }, }, { nameOfComponent: 'inputDelimited', displayName: 'Delimited', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', displayName: 'Step Name', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'path', displayName: 'Path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'columnsToDecrypt', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Decrypt', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', displayName: 'Persist Data Frame', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, advanceOptions: { displayName: 'Advanced Options', isOptional: true, fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'header', visualType: 'checkbox', displayName: 'Header', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'delimiter', displayName: 'Delimiter', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'charset', displayName: 'Charset', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'multiline', defaultValue: false, visualType: 'checkbox', displayName: 'Multiline', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'inferSchema', visualType: 'checkbox', displayName: 'Infer Schema', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'quote', displayName: 'Quote', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'escape', displayName: 'Escape', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'nullValue', displayName: 'Null Value', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'mode', displayName: 'Mode', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'charToEscapeQuoteEscaping', displayName: 'Char to Escape Quote Escaping', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'comment', displayName: 'Comment', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', displayName: 'Enforce Schema', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'samplingRatio', displayName: 'Sampling Ratio', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'ignoreLeadingWhiteSpace', defaultValue: false, visualType: 'checkbox', displayName: 'Ignore leading white space', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'ignoreTrailingWhiteSpace', displayName: 'Ignore trailing white space', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'emptyValue', defaultValue: false, visualType: 'checkbox', displayName: 'Empty Value', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'nanValue', displayName: 'NAN Value', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'positiveInf', displayName: 'Positive Infinity', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'negativeInf', displayName: 'Negative Infinity', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'dateFormat', displayName: 'Date Format', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'timestampFormat', displayName: 'Time stamp format', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'maxColumns', displayName: 'Max Columns', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'maxCharsPerColumn', displayName: 'Max chars per column', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'columnNameOfCorruptRecord', displayName: 'Column name of corrupt record', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'accessKey', removed: true, displayName: 'Access Key', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'endPoint', removed: true, displayName: 'End Point', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'secretKey', removed: true, displayName: 'Secret Key', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, schema: { displayName: 'Schema', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'name', displayName: 'Name', isOptional: false, isOptionalInSchema: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'dataType', displayName: 'Data Type', isOptional: false, isOptionalInSchema: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputDelimited', inputFieldName: 'nullable', defaultValue: false, visualType: 'checkbox', displayName: 'Nullable', isOptional: false, isOptionalInSchema: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, ], ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, path: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, columnsToDecrypt: { type: 'array', required: false, items: { type: 'string' } }, advanceOptions: { type: 'object', required: false, properties: { header: { type: 'boolean', required: false }, delimiter: { type: 'string', required: false }, charset: { type: 'string', required: false }, multiline: { type: 'boolean', required: false }, inferSchema: { type: 'boolean', required: false }, mode: { type: 'string', required: false }, nullValue: { type: 'string', required: false }, escape: { type: 'string', required: false }, quote: { type: 'string', required: false }, ignoreLeadingWhiteSpace: { type: 'boolean', required: false }, ignoreTrailingWhiteSpace: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, timestampFormat: { type: 'string', required: false }, emptyValue: { type: 'string', required: false }, nanValue: { type: 'string', required: false }, columnNameOfCorruptRecord: { type: 'string', required: false }, dateFormat: { type: 'string', required: false }, maxColumns: { type: 'string', required: false }, maxCharsPerColumn: { type: 'string', required: false }, samplingRatio: { type: 'string', required: false }, comment: { type: 'string', required: false }, charToEscapeQuoteEscaping: { type: 'string', required: false }, positiveInf: { type: 'string', required: false }, negativeInf: { type: 'string', required: false }, }, }, schema: { type: 'array', required: false, items: { type: 'object', properties: { name: { type: 'string', required: true }, dataType: { type: 'string', required: true }, nullable: { type: 'boolean', required: true }, }, }, }, jsonSchema: { type: 'string', required: false, }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['s3-csv', 'csv'], }, }, { nameOfComponent: 'readMySqlDbUsingJdbc', displayName: 'Mysql', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: true, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'primaryKey', isOptional: true, directInput: true, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'numRepartitions', isOptional: true, directInput: true, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Num Repartitions', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readMySqlDbUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, primaryKey: { type: 'string', required: false }, numRepartitions: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['mysql'], }, }, { nameOfComponent: 'inputXLS', displayName: 'Excel', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Path', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'sheetNames', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Sheet Names', rowSpace: 0.25, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'cellAddress', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Cell Address', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'persistDataFrame', isOptionalInSchema: false, defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, schema: { displayName: 'Schema', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'columnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'dataType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Data Type', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'nullable', defaultValue: false, visualType: 'checkbox', isOptional: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Nullable', rowSpace: 0.5, }, ], ], }, advanceOptions: { displayName: 'Advance Options', isOptional: true, fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'treatEmptyValuesAsNulls', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Treat Empty Values As Nulls', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXLS', inputFieldName: 'addColorColumns', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Add Color Columns', rowSpace: 0.5, }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, path: { type: 'string', required: true }, sheetNames: { type: 'array', required: true, items: { type: 'string' } }, cellAddress: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, advanceOptions: { type: 'object', required: false, properties: { treatEmptyValuesAsNulls: { type: 'string', required: true }, addColorColumns: { type: 'string', required: true }, }, }, jsonSchema: { type: 'string', required: false, }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, }, }, schema: { type: 'array', required: false, items: { type: 'object', properties: { columnName: { type: 'string', required: true }, dataType: { type: 'string', required: true }, nullable: { type: 'boolean', required: true }, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'inputXML', displayName: 'XML', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Path', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'rowTag', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Row Tag', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'rootTag', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Root Tag', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, advanceOptions: { displayName: 'Advance Options', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'ignoreSurroundingSpaces', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Ignore Surrounding Spaces', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'treatEmptyValuesAsNulls', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Treat Empty Values As Nulls', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'excludeAttribute', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Exclude Attribute', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'charset', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Charset', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'columnNameOfCorruptRecord', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name Of Corrupt Record', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'multiline', visualType: 'checkbox', defaultValue: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Multiline', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'attributePrefix', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Attribute Prefix', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputXML', inputFieldName: 'valueTag', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value Tag', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, path: { type: 'string', required: true }, rowTag: { type: 'string', required: true }, rootTag: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, advanceOptions: { type: 'object', required: false, properties: { treatEmptyValuesAsNulls: { type: 'boolean', required: false }, ignoreSurroundingSpaces: { type: 'boolean', required: false }, excludeAttribute: { type: 'boolean', required: false }, charset: { type: 'string', required: false }, attributePrefix: { type: 'string', required: false }, valueTag: { type: 'string', required: false }, columnNameOfCorruptRecord: { type: 'string', required: false }, multiline: { type: 'boolean', required: false }, }, }, jsonSchema: { type: 'string', required: false, }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'inputJson', displayName: 'JSON', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputJson', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputJson', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Path', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputJson', inputFieldName: 'mode', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['PERMISSIVE', 'DROPMALFORMED', 'FAILFAST'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Mode', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputJson', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputJson', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputJson', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputJson', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, path: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, mode: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'inputHive', displayName: 'Hive', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'inputHive', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputHive', inputFieldName: 'dataQuery', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Data Query', }, { typeOfComponent: 'Extract', nameOfComponent: 'inputHive', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputHive', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputHive', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputHive', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, dataQuery: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'readDB2DbUsingJdbc', displayName: 'DB2', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'numRepartitions', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Num Repartitions', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDB2DbUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, primaryKey: { type: 'string', required: false }, numRepartitions: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['db2'], }, }, { nameOfComponent: 'readPostGreSqlDbUsingJdbc', displayName: 'Postgres', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'numRepartitions', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Num Repartitions', }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readPostGreSqlDbUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, primaryKey: { type: 'string', required: false }, numRepartitions: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['postgres'], }, }, { nameOfComponent: 'readOracleDbUsingJdbc', displayName: 'Oracle', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'numRepartitions', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Num Repartitions', }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readOracleDbUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, primaryKey: { type: 'string', required: false }, numRepartitions: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['oracle'], }, }, { nameOfComponent: 'readSybaseDbUsingJdbc', displayName: 'Sybase', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'numRepartitions', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Num Repartitions', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSybaseDbUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, primaryKey: { type: 'string', required: false }, numRepartitions: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['sybase'], }, }, { nameOfComponent: 'readMsSqlServerDbUsingJdbc', displayName: 'MS SQL', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database (msSQL) connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'numRepartitions', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Num Repartitions', }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readMsSqlServerDbUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, primaryKey: { type: 'string', required: false }, numRepartitions: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['azure-sql', 'sql-server'] }, }, { nameOfComponent: 'readSAPHANAUsingJdbc', displayName: 'SAP Hana', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database SAP connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'numRepartitions', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Num Repartitions', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSAPHANAUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, primaryKey: { type: 'string', required: false }, numRepartitions: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['sap-hana'], }, }, { nameOfComponent: 'readRedshiftTableByQuery', displayName: 'Redshift', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 's3connections', isOptional: true, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'S3 Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'awsIAMRole', isOptional: true, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS IAM Role', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'isUser', visualType: 'checkbox', isOptional: true, isOptionalInSchema: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Is User?', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'accessKey', removed: true, defaultValue: '', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'secretKey', removed: true, isOptional: false, defaultValue: '', directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'endPoint', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'temporaryPathS3', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temporary Path S3', }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readRedshiftTableByQuery', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, query: { type: 'string', required: true }, endPoint: { type: 'string', required: true }, temporaryPathS3: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { s3connections: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, isUser: { type: 'boolean', required: false }, awsIAMRole: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['redshift'], }, }, { nameOfComponent: 'readDataFromAPIGet', displayName: 'API Get', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'URL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: ' URL', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'header', isOptional: true, directInput: false, formInput: '', formInputType: 'JSON', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Header', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'body', isOptional: true, directInput: false, formInput: '', formInputType: 'JSON', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Body', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'responseKeyPresent', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Response Key Present', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'responseKeySeq', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Response Key Seq', rowSpace: 0.25, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIGet', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, URL: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, header: { type: 'string', required: false }, body: { type: 'string', required: false }, responseKeyPresent: { type: 'boolean', required: false }, responseKeySeq: { type: 'array', required: false, items: { type: 'string' } }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'readDataFromAPIPost', displayName: 'API Post', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'URL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'URL', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'header', isOptional: true, directInput: false, formInput: '', formInputType: 'JSON', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Header', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'body', isOptional: true, directInput: false, formInput: '', formInputType: 'JSON', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Body', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'responseKeyPresent', visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Response Key Present', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'responseKeySeq', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Response Key Seq', rowSpace: 0.25, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'connectionTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'readTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Read Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataFromAPIPost', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'readDataFromAPIPost', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], validValueKeySelector: 'type', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, URL: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, header: { type: 'string', required: false }, body: { type: 'string', required: false }, responseKeyPresent: { type: 'boolean', required: false }, responseKeySeq: { type: 'array', required: false, items: { type: 'string' } }, connectionTimeout: { type: 'integer', required: false }, readTimeout: { type: 'integer', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'readBigQueryTable', displayName: 'Big Query', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'projectId', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Project ID', }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'dataset', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dataset', }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name / Query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'serviceAccountCredential', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Service Account Credential', }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readBigQueryTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true }, stepName: { type: 'string', required: true }, projectId: { type: 'string', required: true }, dataset: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, serviceAccountCredential: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['bigquery'], }, }, { nameOfComponent: 'readSnowflakeTable', displayName: 'Snowflake', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name / Query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'warehouse', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Warehouse', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'role', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Role', }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readSnowflakeTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true }, stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, warehouse: { type: 'string', required: false }, role: { type: 'string', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['snowflake'], }, }, { nameOfComponent: 'readFixedWidthFile', displayName: 'Fixed Width File', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Path', }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'lineSeperator', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Line Seperator', }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'accessKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'secretKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'endPoint', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'trimColumns', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Trim Columns', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, dataFrameColumns: { displayName: 'Data Frame Columns', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'columnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readFixedWidthFile', inputFieldName: 'columnWidth', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Width', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true }, stepName: { type: 'string', required: true }, path: { type: 'string', required: true }, dataFrameColumns: { type: 'array', required: true, items: { type: 'object', properties: { columnName: { type: 'string', required: true }, columnWidth: { type: 'integer', required: true }, }, }, }, optional: { type: 'object', required: false, properties: { lineSeperator: { type: 'string', required: false }, trimColumns: { type: 'boolean', required: false }, persistDataFrame: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'readHudiTable', displayName: 'Apache Hudi', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Path', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'readTableType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['INCREMENTAL', 'SNAPSHOT'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Read Table Type', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'tillTimestamp', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Till Timestamp', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'fromTimestamp', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'From Timestamp', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'accessKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'secretKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'endPoint', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'mergeSchema', visualType: 'checkbox', defaultValue: true, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Merge Schema', value: true, rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'columnsToDecrypt', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Decrypt', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, otherConfigs: { displayName: 'Other Configs', isOptional: true, dataType: 'object', isMultiple: true, fields: [ [ { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key', }, { typeOfComponent: 'Extract', nameOfComponent: 'readHudiTable', inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true }, stepName: { type: 'string', required: true }, path: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, columnsToDecrypt: { type: 'array', required: false, items: { type: 'string' } }, endPoint: { type: 'string', required: false }, readTableType: { type: 'string', required: false }, accessKey: { type: 'string', required: false }, secretKey: { type: 'string', required: false }, mergeSchema: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, tillTimestamp: { type: 'string', required: false }, fromTimestamp: { type: 'string', required: false }, otherConfigs: { type: 'object', required: false, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'readTeradataDbUsingJdbc', displayName: 'Teradata', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readTeradataDbUsingJdbc', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readTeradataDbUsingJdbc', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Extract', nameOfComponent: 'readTeradataDbUsingJdbc', inputFieldName: 'tableName/query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name/query', }, { typeOfComponent: 'Extract', nameOfComponent: 'readTeradataDbUsingJdbc', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: true, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readTeradataDbUsingJdbc', inputFieldName: 'mode', displayName: 'Mode', isOptional: true, directInput: true, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', }, { typeOfComponent: 'Extract', nameOfComponent: 'readTeradataDbUsingJdbc', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readTeradataDbUsingJdbc', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, connection: { type: 'string', required: true }, 'tableName/query': { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, mode: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, }, { nameOfComponent: 'readDataIceberg', displayName: 'Iceberg', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'tableName', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'warehousePath', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Warehouse Path', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'catalogName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Catalog Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: true, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'catalogType', displayName: 'Catalog Type', isOptional: true, directInput: true, formInput: '', formInputType: 'String', formInputValidValues: ['glue', 'nessie', 'postgres', 'biglake'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', value: 'glue', defaultValue: 'glue', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'columnsToDecrypt', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: 'Array', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Decrypt', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDataIceberg', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, tableName: { type: 'string', required: true }, warehousePath: { type: 'string', required: true }, catalogName: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, catalogType: { type: 'string', required: false }, columnsToDecrypt: { type: 'array', required: false, items: { type: 'string' } }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['iceberg'], }, }, { nameOfComponent: 'readDeltaTable', displayName: 'Delta', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', displayName: 'Step Name', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'tableLocation', displayName: 'Table Location', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDetlaTable', inputFieldName: 'columnsToDecrypt', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Decrypt', }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', displayName: 'Persist Data Frame', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, readDeltaOptions: { displayName: 'Options', isOptional: true, fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'startingTimestamp', displayName: 'Starting Timestamp', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'endingTimestamp', displayName: 'Ending Timestamp', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'startingVersion', displayName: 'Starting Version', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'readDeltaTable', inputFieldName: 'endingVersion', displayName: 'Ending Version', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', dataverse: { isDisabled: true, }, }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, tableLocation: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, columnsToDecrypt: { type: 'array', required: false, items: { type: 'string' } }, jsonSchema: { type: 'string', required: false, }, readDeltaOptions: { type: 'object', required: false, properties: { startingTimestamp: { type: 'string', required: false, }, endingTimestamp: { type: 'string', required: false, }, startingVersion: { type: 'number', required: false, }, endingVersion: { type: 'number', required: false, }, }, }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataset' }], properties: [], }, dataverse: { type: ['delta'], }, }, ]; export const insightExtract = [ { nameOfComponent: 'getKPIDistributionData', displayName: 'KPI Distribution', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'appURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'App URL', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'userID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User ID', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'kpiID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'kpiOptions', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'KPI ID', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'granularity', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'granularitiesOptions', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Granularity', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'toDate', isOptional: false, directInput: false, formInput: '', formInputType: 'Date', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'To Date', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'dimensionList', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dimension List', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'connectionTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Number', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'readTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Number', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Read Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, filterDimensions: { displayName: 'Filter Dimensions', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'columnName', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIDistributionData', inputFieldName: 'values', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Values', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true, }, stepName: { type: 'string', required: true, }, appURL: { type: 'string', required: true, }, userID: { type: 'string', required: true, }, kpiID: { type: 'string', required: true, }, granularity: { type: 'string', required: true, }, toDate: { type: 'string', required: true, }, dimensionList: { type: 'array', required: true, items: { type: 'string', required: true, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'string', required: false, }, connectionTimeout: { type: 'number', required: false, }, readTimeout: { type: 'number', required: false, }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, filterDimensions: { type: 'array', required: false, items: { type: 'object', properties: { columnName: { type: 'string', required: false, }, values: { type: 'array', required: false, items: { type: 'string', required: false, }, }, }, }, }, }, }, }, }, UIDetails: { input: [], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'getKPITrendData', displayName: 'KPI Trend', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'appURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'App URL', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'userID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User ID', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'kpiID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'kpiOptions', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'KPI ID', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'granularity', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'granularitiesOptions', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Granularity', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'toDate', isOptional: false, directInput: false, formInput: '', formInputType: 'Date', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'To Date', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'dimensionList', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dimension List', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'connectionTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Number', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'readTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Number', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Read Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, filterDimensions: { displayName: 'Filter Dimensions', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'columnName', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPITrendData', inputFieldName: 'values', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Values', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true, }, stepName: { type: 'string', required: true, }, appURL: { type: 'string', required: true, }, userID: { type: 'string', required: true, }, kpiID: { type: 'string', required: true, }, granularity: { type: 'string', required: true, }, toDate: { type: 'string', required: true, }, dimensionList: { type: 'array', required: true, items: { type: 'string', required: true, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'string', required: false, }, connectionTimeout: { type: 'number', required: false, }, readTimeout: { type: 'number', required: false, }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, filterDimensions: { type: 'array', required: false, items: { type: 'object', properties: { columnName: { type: 'string', required: false, }, values: { type: 'array', required: false, items: { type: 'string', required: false, }, }, }, }, }, }, }, }, }, UIDetails: { input: [], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'getKPIValueData', displayName: 'KPI Value', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'appURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'App URL', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'userID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User ID', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'kpiID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'kpiOptions', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'KPI ID', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'granularity', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'granularitiesOptions', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Granularity', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'toDate', isOptional: false, directInput: false, formInput: '', formInputType: 'Date', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'To Date', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'dimensionList', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dimension List', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'connectionTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Number', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'readTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Number', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Read Timeout', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, filterDimensions: { displayName: 'Filter Dimensions', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'columnName', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name', }, { typeOfComponent: 'Extract', nameOfComponent: 'getKPIValueData', inputFieldName: 'values', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Values', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true, }, stepName: { type: 'string', required: true, }, appURL: { type: 'string', required: true, }, userID: { type: 'string', required: true, }, kpiID: { type: 'string', required: true, }, granularity: { type: 'string', required: true, }, toDate: { type: 'string', required: true, }, dimensionList: { type: 'array', required: true, items: { type: 'string', required: true, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'string', required: false, }, connectionTimeout: { type: 'number', required: false, }, readTimeout: { type: 'number', required: false, }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, filterDimensions: { type: 'array', required: false, items: { type: 'object', properties: { columnName: { type: 'string', required: false, }, values: { type: 'array', required: false, items: { type: 'string', required: false, }, }, }, }, }, }, }, }, }, UIDetails: { input: [], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, ...JSON.parse(JSON.stringify(extract)), ]; const dpExtract = [ { nameOfComponent: 'dataProduct', displayName: 'Data Product', typeOfComponent: 'Extract', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Extract', nameOfComponent: 'dataProduct', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'dataProduct', inputFieldName: 'dataProductUrn', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', displayName: 'Data Product Urn', dataverse: { isDisabled: true, }, }, { typeOfComponent: 'Extract', nameOfComponent: 'dataProduct', inputFieldName: 'filter', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Filter', }, { typeOfComponent: 'Extract', nameOfComponent: 'dataProduct', inputFieldName: 'projection', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Projection', }, { typeOfComponent: 'Extract', nameOfComponent: 'dataProduct', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, dataProductUrn: { type: 'string', required: true }, filter: { type: 'string', required: true }, projection: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [], output: [{ displayName: 'Output Data', type: 'dataproduct' }], properties: [], }, dataverse: { type: ['dataproduct'], }, }, ]; export const transform = [ { nameOfComponent: 'selectColumns', displayName: 'Select Columns', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'selectColumns', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'selectColumns', inputFieldName: 'columns', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (existing columns)', displayName: 'Columns', rowSpace: 0.25, }, { typeOfComponent: 'Transform', nameOfComponent: 'selectColumns', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, columns: { type: 'array', required: true, items: { type: 'string', }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'filterTransform', displayName: 'Filter', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'filterTransform', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'filterTransform', inputFieldName: 'filterCondition', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Filter Condition', }, { typeOfComponent: 'Transform', nameOfComponent: 'filterTransform', inputFieldName: 'isConditionAsJsonString', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Is Condition As Json String', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'filterTransform', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, filterCondition: { type: 'string', required: true, }, isConditionAsJsonString: { type: 'boolean', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'renameColumns', displayName: 'Rename Columns', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'renameColumns', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'renameColumns', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, renameColumns: { displayName: 'Rename Columns', isOptional: false, dataType: 'object', isMultiple: true, fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'renameColumns', inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'renameColumns', inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'New Column Name', }, ], ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, renameColumns: { type: 'object', required: true, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'refreshData', displayName: 'Refresh Data', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'refreshData', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshData', inputFieldName: 'primaryKey', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (existing columns)', displayName: 'Primary Key', rowSpace: 0.25, }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshData', inputFieldName: 'timestampColumn', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'Column name', displayName: 'Timestamp Column', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshData', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, timestampColumn: { type: 'string', required: true, }, primaryKey: { type: 'array', required: true, items: { type: 'string', }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'distinctDataFrame', displayName: 'Distinct', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'distinctDataFrame', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'distinctDataFrame', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'dropColumns', displayName: 'Drop Columns', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'dropColumns', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'dropColumns', inputFieldName: 'columns', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (existing columns)', displayName: 'Columns', rowSpace: 0.25, }, { typeOfComponent: 'Transform', nameOfComponent: 'dropColumns', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, columns: { type: 'array', required: true, items: { type: 'string', }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'getAggregate', displayName: 'Aggregate', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'getAggregate', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'getAggregate', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, groupByColumns: { displayName: 'Group By Columns', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'getAggregate', inputFieldName: 'columnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'groupByColumns:[{"columnName":"city","aliasName":""},{"columnName":"state","aliasName":""}]\ncolumnName (name of existing column)', displayName: 'Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'getAggregate', inputFieldName: 'aliasName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Alias Name', defaultValue: '', isOptionalInSchema: false, }, ], ], }, aggregateColumns: { displayName: 'Aggregate Columns', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'getAggregate', inputFieldName: 'columnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '"aggregateColumns":[{"columnName":"store_nbr","functionName":"Sum","aliasName":"Sumstore_nbr"},{"columnName":"store_nbr","functionName":"Avg","aliasName":"Avgstore_nbr"}]\ncolumnName (name of existing column)', displayName: 'Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'getAggregate', inputFieldName: 'functionName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [ 'Avg', 'Sum', 'Min', 'Max', 'Count', 'SumDistinct', 'ApproxCountDistinct', 'First', 'Last', 'Mean', 'StdDev', 'CountDistinct', ], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Function Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'getAggregate', inputFieldName: 'aliasName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Alias Name', }, ], ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, groupByColumns: { type: 'array', required: true, items: { type: 'object', properties: { columnName: { type: 'string', required: true, }, aliasName: { type: 'string', required: true, }, }, }, }, aggregateColumns: { type: 'array', required: true, items: { type: 'object', properties: { columnName: { type: 'string', required: true, }, functionName: { type: 'string', required: true, }, aliasName: { type: 'string', required: true, }, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'unionDataFrames', displayName: 'Union', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'unionDataFrames', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'unionDataFrames', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'unionDataFrames', inputFieldName: 'mergeSchema', visualType: 'checkbox', defaultValue: true, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Merge Schema', value: true, rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Input DataFrame 1', type: 'dataset', }, { displayName: 'Input DataFrame 2', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame1: { type: 'string', required: true, }, inputDataFrame2: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, mergeSchema: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'trimDataFrame', displayName: 'Trim Data', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'trimDataFrame', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'trimDataFrame', inputFieldName: 'useAllColumns', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'Default is true', displayName: 'Use All Columns', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'trimDataFrame', inputFieldName: 'columns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (existing columns) Only required when useAllColumns is true', displayName: 'Columns', rowSpace: 0.25, }, { typeOfComponent: 'Transform', nameOfComponent: 'trimDataFrame', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, useAllColumns: { type: 'boolean', required: false, }, columns: { type: 'array', required: true, items: { type: 'string', }, }, }, }, }, }, }, { nameOfComponent: 'createPivotTable', displayName: 'Pivot', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'pivotKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'Name of existing column', displayName: 'Pivot Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, groupByColumns: { displayName: 'Group By Columns', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'columnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'groupByColumns:[{"columnName":"city","aliasName":""},{"columnName":"state","aliasName":""}]\ncolumnName (name of existing column)', displayName: 'Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'aliasName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Alias Name', }, ], ], }, aggregateColumns: { displayName: 'Aggregate Columns', isOptional: false, dataType: 'object', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'columnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '"aggregateColumns":[{"columnName":"store_nbr","functionName":"Sum","aliasName":"Sumstore_nbr"},{"columnName":"store_nbr","functionName":"Avg","aliasName":"Avgstore_nbr"}]\ncolumnName (name of existing column)', displayName: 'Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'functionName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [ 'Avg', 'Sum', 'Min', 'Max', 'Count', 'SumDistinct', 'ApproxCountDistinct', 'First', 'Last', 'Mean', 'StdDev', 'CountDistinct', ], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Function Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'createPivotTable', inputFieldName: 'aliasName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Alias Name', }, ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, pivotKey: { type: 'string', required: true, }, groupByColumns: { type: 'array', required: false, items: { type: 'object', properties: { columnName: { type: 'string', required: true, }, aliasName: { type: 'string', required: true, }, }, }, }, aggregateColumns: { type: 'object', required: false, properties: { columnName: { type: 'string', required: true, }, functionName: { type: 'string', required: true, }, aliasName: { type: 'string', required: true, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'unpivotDataFrame', displayName: 'Unpivot', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'unpivotDataFrame', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'unpivotDataFrame', inputFieldName: 'keyColumns', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key Columns', }, { typeOfComponent: 'Transform', nameOfComponent: 'unpivotDataFrame', inputFieldName: 'columnsToUnpivot', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column To Unpivot', rowSpace: 0.25, }, { typeOfComponent: 'Transform', nameOfComponent: 'unpivotDataFrame', inputFieldName: 'columnNameForNewKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name for New Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'unpivotDataFrame', inputFieldName: 'columnNameForValue', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name for Value', }, { typeOfComponent: 'Transform', nameOfComponent: 'unpivotDataFrame', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, keyColumns: { type: 'array', required: true, items: { type: 'string', }, }, columnsToUnpivot: { type: 'array', required: true, items: { type: 'string', }, }, columnNameForNewKey: { type: 'string', required: true, }, columnNameForValue: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'splitTextToColumns', displayName: 'Text to Columns', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'splitTextToColumns', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'splitTextToColumns', inputFieldName: 'columnToSplit', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'Name of existing column', displayName: 'Column To Split', }, { typeOfComponent: 'Transform', nameOfComponent: 'splitTextToColumns', inputFieldName: 'splitOperator', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Split Operator', }, { typeOfComponent: 'Transform', nameOfComponent: 'splitTextToColumns', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, columnToSplit: { type: 'string', required: true, }, splitOperator: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'calculatedColumnConcatenate', displayName: 'Calculated Column Concatenate', componentExpired: true, typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnConcatenate', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnConcatenate', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, columnList: { displayName: 'Column List', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnConcatenate', inputFieldName: 'concatColumnList', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'columnList:[{"concatColumnList":["city","unit_sales","onpromotion"],"newColumnName":"cityunitsalesonpromotion","separator":"-"}]\nconcatColumnList (List of existing column)', displayName: 'Concat Column List', rowSpace: 0.25, }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnConcatenate', inputFieldName: 'newColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'New Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnConcatenate', inputFieldName: 'separator', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Separator', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, columnList: { type: 'array', required: true, items: { type: 'object', properties: { concatColumnList: { type: 'array', required: true, items: { type: 'string', }, }, newColumnName: { type: 'string', required: true, }, separator: { type: 'string', required: true, }, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'calculatedColumnSubString', displayName: 'Calculated Column Sub String', componentExpired: true, typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnSubString', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnSubString', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, columnList: { displayName: 'Column List', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnSubString', inputFieldName: 'inputColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '"columnList":[{"inputColumnName":"family","newColumnName":"familyInitial","startIndex":1,"length":5},{"inputColumnName":"family","newColumnName":"familyFinal","startIndex":7,"length":6}]\ninputColumnName (Name of existing column)', displayName: 'Input Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnSubString', inputFieldName: 'newColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'New Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnSubString', inputFieldName: 'startIndex', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Start Index', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnSubString', inputFieldName: 'length', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Length', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, columnList: { type: 'array', required: true, items: { type: 'object', properties: { inputColumnName: { type: 'string', required: true, }, newColumnName: { type: 'string', required: true, }, startIndex: { type: 'integer', required: true, }, length: { type: 'integer', required: true, }, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'operationThroughSqlQuery', displayName: 'Spark SQL', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'operationThroughSqlQuery', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'operationThroughSqlQuery', inputFieldName: 'query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Query', }, { typeOfComponent: 'Transform', nameOfComponent: 'operationThroughSqlQuery', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, inputDataFrameList: { displayName: 'Input Data FrameList', isOptional: false, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'operationThroughSqlQuery', inputFieldName: 'tempViewName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temp View Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'operationThroughSqlQuery', inputFieldName: 'inputDataFrame', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Input Data Frame', disabled: true, }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], multipleInputs: true, properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrameList: { type: 'array', required: true, items: { type: 'object', properties: { inputDataFrame: { type: 'string', required: true, }, tempViewName: { type: 'string', required: true, }, }, }, }, query: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'orderByTransform', displayName: 'Order', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'orderByTransform', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'orderByTransform', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, columnList: { displayName: 'Column List', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'orderByTransform', inputFieldName: 'columnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '{"columnList":[{"columnName":"ID","orderBy":"ASC"}]}\ncolumnName (Name of existing column)', displayName: 'Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'orderByTransform', inputFieldName: 'orderBy', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['ASC', 'DESC'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Order By', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, columnList: { type: 'array', required: true, items: { type: 'object', properties: { columnName: { type: 'string', required: true, }, orderBy: { type: 'string', required: true, }, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'limitData', displayName: 'Limit', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'limitData', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'limitData', inputFieldName: 'limitValue', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Limit Value', }, { typeOfComponent: 'Transform', nameOfComponent: 'limitData', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, limitValue: { type: 'integer', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'stringToNumericListOfColumns', displayName: 'Change DataType String to Numeric', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, listOfColumns: { displayName: 'List Of Columns', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'inputColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'listOfColumns:[{"inputColumnName":"col1","outputColumnName":"col2","dataType":"Int","optionalConversion":{"numberConversionOptions":"REGEX","replaceRegex":"","replaceIfNull":150,"replaceNullRequired":true}},{"inputColumnName":"col1","outputColumnName":"col2","dataType":"Int","optionalConversion":{"replaceIfNull":0,"replaceNullRequired":true}}]\ninputColumnName (Name of existing column)', displayName: 'Input Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'outputColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Output Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'dataType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Int', 'Float', 'Long', 'Double'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Data Type', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'optionalConversion', isOptional: true, directInput: false, formInput: '', formInputType: 'Object', formInputFields: [ { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'numberConversionOptions', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['REGEX', 'SAP', 'EXCEL', 'DEFAULT'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Number Conversion Options', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'replaceRegex', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Replace Regex', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'replaceIfNull', isOptional: true, directInput: false, formInput: '', formInputType: 'Double', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Replace if null', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToNumericListOfColumns', inputFieldName: 'replaceNullRequired', visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Replace Null required', }, ], formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Optional Conversion', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, listOfColumns: { type: 'array', required: true, items: { type: 'object', properties: { inputColumnName: { type: 'string', required: true, }, outputColumnName: { type: 'string', required: true, }, dataType: { type: 'string', required: true, }, optionalConversion: { type: 'object', required: false, properties: { numberConversionOptions: { type: 'string', required: false, }, replaceRegex: { type: 'string', required: false, }, replaceIfNull: { type: 'integer', required: false, }, replaceNullRequired: { type: 'boolean', required: false, }, }, }, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'stringToDatetimeListOfColumns', displayName: 'Change DataType String to DateTime', typeOfComponent: 'Transform', componentExpired: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, listOfColumns: { displayName: 'List Of Columns', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'inputColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'listOfColumns:[{"inputColumnName":"col1","outputColumnName":"col2","dateType":"Date","optionalConversion":{"dateConversion":"REGULAR","inputDateFormat":"yyyyMMdd","replaceIfNull":"20200102","replaceNullRequired":true}},{"inputColumnName":"col1","outputColumnName":"col2","dateType":"Date","optionalConversion":{"dateConversion":"EPOCH","inputDateFormat":""}}]\ninputColumnName (Name of existing column)', displayName: 'Input Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'outputColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Output Column Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'dateType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Date', 'Datetime'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Date Type', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'optionalConversion', isOptional: true, directInput: false, formInput: '', formInputType: 'Object', formInputFields: [ { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'dateConversion', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['EPOCH', 'EXCELNUMERICDATE', 'REGULAR'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Date Conversion', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'inputDateFormat', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Input Date Format', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'replaceIfNull', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Replace if null', }, { typeOfComponent: 'Transform', nameOfComponent: 'stringToDatetimeListOfColumns', inputFieldName: 'replaceNullRequired', visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Replace null required', rowSpace: 0.5, }, ], formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Optional Conversion', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, listOfColumns: { type: 'array', required: true, items: { type: 'object', properties: { inputColumnName: { type: 'string', required: true, }, outputColumnName: { type: 'string', required: true, }, dateType: { type: 'string', required: true, }, optionalConversion: { type: 'object', required: false, properties: { dateConversion: { type: 'string', required: false, }, inputDateFormat: { type: 'string', required: false, }, replaceIfNull: { type: 'string', required: false, }, replaceNullRequired: { type: 'boolean', required: false, }, }, }, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'renameFile', displayName: 'Rename File', typeOfComponent: 'Transform', componentExpired: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'renameFile', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'renameFile', inputFieldName: 'inputFilePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Input File Path', }, { typeOfComponent: 'Transform', nameOfComponent: 'renameFile', inputFieldName: 'inputFileToBeRenamed', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Input File To Be Renamed', }, { typeOfComponent: 'Transform', nameOfComponent: 'renameFile', inputFieldName: 'newFilePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'New File Path', }, { typeOfComponent: 'Transform', nameOfComponent: 'renameFile', inputFieldName: 'newFileName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'New File Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'renameFile', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Input DataFrame', type: 'dataset', }, ], output: [ { displayName: 'Output DataFrame', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputFilePath: { type: 'string', required: true, }, inputFileToBeRenamed: { type: 'string', required: true, }, newFilePath: { type: 'string', required: true, }, newFileName: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'joinDataframe', displayName: 'Join', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'joinType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [ 'left', 'right', 'inner', 'outer', 'lookup', 'right-anti', 'left-anti', 'right-outer', 'left-outer', ], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Join Type', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'mismatchDataFrameName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Mismatch Data Frame Name', validationRegExType: 'NO_SPACE', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, joinKeys: { displayName: 'Join Keys', isOptional: false, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'leftKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '{"joinKeys":[{"leftKey":"id1","rightKey":"id1","joinOperator":"GEQ"},{"leftKey":"id2","rightKey":"id2"}]}\nleftKey (Existing column of left dataframe)\nrightKey (Existing column of right dataframe)', displayName: 'Left Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'rightKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Right Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'joinOperator', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['EQ', 'GEQ', 'GT', 'LT', 'LEQ'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Join Operator', }, ], ], }, suffix: { displayName: 'Suffix', isOptional: false, dataType: 'object', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'leftSuffix', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'suffix:{"leftSuffix":"_1","rightSuffix":"_2"}', displayName: 'Left Suffix', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'rightSuffix', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Right Suffix', }, ], }, masterTransactionMismatch: { displayName: 'Master Transaction Mismatch', isOptional: true, isMultiple: false, dataType: 'object', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'enable', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'masterTransactionMismatch:{"enable":true,"getMissMatchOutput":false,"saveMismatch":true,"savePath":"/tmp","fileLocationType":"SFTP","fileNameForMismatchFile":"/json_parsing_test_MTMismatch","sendEmailUsingDeliveryScheduler":true,"kafkaCredentials":{"host":"54.225.93.98","port":"9092","topicName":"ALERT_CALCULATOR"},"SFTPCredentials":{"host":"54.225.93.98","user":"centos","localFilePath":"/tmp/sparksftp/","passOptions":{"pem":"src/test/resources/byte_121.pem"}},"AWSCredentials":{"accessKey":"","secretKey":"","endPoint":""}}', displayName: 'Enable Master Transaction Mismatch', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'getMissMatchOutput', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Get Miss Match Output', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'saveMismatch', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Save Mismatch', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'savePath', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Save Path', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'fileLocationType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['local', 'hdfs', 'SFTP', 'S3'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'File Location Type', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'fileNameForMismatchFile', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'File Name For Mismatch File', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'sendEmailUsingDeliveryScheduler', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Send Email Using Delivery Scheduler', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'kafkaCredentials', isOptional: true, directInput: false, formInput: '', formInputType: 'Object', formInputFields: [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'host', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Kafka Host', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'port', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Kafka Port', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'topicName', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Kafka Topic Name', }, ], formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Kafka Credentials', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'SFTPCredentials', isOptional: true, directInput: false, formInput: '', formInputType: 'Object', formInputFields: [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'host', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'SFTP Host', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'user', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'SFTP User', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'localFilePath', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'SFTP Local File Path', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'passOptions', isOptional: true, directInput: false, formInput: '', formInputType: 'Object', formInputFields: [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'pem', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'password', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Password', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'pemPassphrase', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM Passphrase', }, ], formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'passOptions', }, ], formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'SFTP Credentials', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'AWSCredentials', isOptional: true, directInput: false, formInput: '', formInputType: 'Object', formInputFields: [ { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'accessKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS Access Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'secretKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS Secret Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'joinDataframe', inputFieldName: 'endPoint', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS End Point', }, ], formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS Credentials', }, ], }, }, UIDetails: { input: [ { displayName: 'L', type: 'dataset', key: 'leftDataFrame', }, { displayName: 'R', type: 'dataset', key: 'rightDataFrame', }, ], output: [ { displayName: 'Output DataFrame 1', type: 'dataset', }, { displayName: '', type: 'dataset', required: false, fillFrom: 'mismatchDataFrameName', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { sequence: { type: 'integer', required: true, }, stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, leftDataFrame: { type: 'string', required: true, }, rightDataFrame: { type: 'string', required: true, }, joinKeys: { type: 'array', required: true, items: { type: 'object', properties: { leftKey: { type: 'string', required: true, }, rightKey: { type: 'string', required: true, }, joinOperator: { type: 'string', required: false, }, }, }, }, joinType: { type: 'string', required: true, }, suffix: { type: 'object', required: true, properties: { leftSuffix: { type: 'string', required: true, }, rightSuffix: { type: 'string', required: true, }, }, }, mismatchDataFrameName: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, masterTransactionMismatch: { type: 'object', required: false, properties: { enable: { type: 'boolean', required: false, }, getMissMatchOutput: { type: 'boolean', required: false, }, saveMismatch: { type: 'boolean', required: false, }, savePath: { type: 'string', required: false, }, fileLocationType: { type: 'string', required: false, }, fileNameForMismatchFile: { type: 'string', required: false, }, sendEmailUsingDeliveryScheduler: { type: 'boolean', required: false, }, kafkaCredentials: { type: 'object', required: false, properties: { host: { type: 'string', required: false, }, port: { type: 'string', required: false, }, topicName: { type: 'string', required: false, }, }, }, SFTPCredentials: { type: 'object', required: true, properties: { host: { type: 'string', required: false, }, user: { type: 'string', required: false, }, localFilePath: { type: 'string', required: false, }, passOptions: { type: 'object', required: false, properties: { pem: { type: 'string', required: false, }, password: { type: 'string', required: false, }, pemPassphrase: { type: 'string', required: false, }, }, }, }, }, AWSCredentials: { type: 'object', required: true, properties: { accessKey: { type: 'string', required: true, }, secretKey: { type: 'string', required: true, }, endPoint: { type: 'string', required: true, }, }, }, }, }, }, }, }, }, }, { nameOfComponent: 'calculatedColumnCaseWhen', displayName: 'Calculated Column When', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnCaseWhen', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnCaseWhen', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', }, ], }, calculatedColumns: { displayName: 'Calculated Columns', dataType: 'object', isOptional: false, isMultiple: true, fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnCaseWhen', inputFieldName: 'key', takeAsInput: true, inputType: 'String', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'Object', formInputFields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnCaseWhen', inputFieldName: 'condition', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Condition', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnCaseWhen', inputFieldName: 'formula', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Formula', }, { typeOfComponent: 'Transform', nameOfComponent: 'calculatedColumnCaseWhen', inputFieldName: 'isValue', defaultValue: false, isOptional: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Is Value', }, ], ], formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Column Name', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, inputDataFrame: { type: 'string', required: true, }, calculatedColumns: { type: 'object', required: true, properties: {}, patternProperties: { '^[a-zA-Z]': { type: 'array', required: true, items: { type: 'object', properties: { condition: { type: 'string', required: true, }, formula: { type: 'string', required: true, }, isValue: { type: 'boolean', required: true, }, }, }, }, }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, }, }, }, }, }, { nameOfComponent: 'keyContributor', displayName: 'Key Contributor', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'keyContributorURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key Contributor URL', validationRegExType: 'NO_SPACE', }, { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'metricName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Metric Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'dimensionColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dimension Column Name', validationRegExType: 'NO_SPACE', }, { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'valueColumnName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value Column Name', validationRegExType: 'NO_SPACE', }, { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'threshold', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Threshold', validationRegExType: 'NO_SPACE', }, { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'contributionValues', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Contribution Values', validationRegExType: 'NO_SPACE', }, { typeOfComponent: 'Transform', nameOfComponent: 'keyContributor', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Base', type: 'dataset', key: 'baseDataFrame', }, { displayName: 'Compare', type: 'dataset', key: 'comparableDataFrame', }, ], output: [ { displayName: 'Output DataFrame 1', type: 'dataset', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, keyContributorURL: { type: 'string', required: true, }, metricName: { type: 'string', required: true, }, comparableDataFrame: { type: 'string', required: true, }, baseDataFrame: { type: 'string', required: true, }, dimensionColumnName: { type: 'string', required: true, }, valueColumnName: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, threshold: { type: 'string', required: false, }, contributionValues: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'refreshDataSCD1', displayName: 'Refresh Data SCD1', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD1', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD1', inputFieldName: 'primaryKey', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (existing columns)', displayName: 'Primary Key', rowSpace: 0.25, }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD1', inputFieldName: 'timestampColumn', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'Column name', displayName: 'Timestamp Column', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD1', inputFieldName: 'changeTrackingColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Change Tracking Columns', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD1', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, type: { type: 'string', required: true, }, existingDataFrame: { type: 'string', required: true, }, incrementalDataFrame: { type: 'string', required: true, }, primaryKey: { type: 'array', required: true, items: { type: 'string', }, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, timestampColumn: { type: 'string', required: true, }, changeTrackingColumns: { type: 'array', required: false, items: { type: 'string', }, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', // displayName: "Existing", type: 'dataset', key: 'existingDataFrame', }, { displayName: 'Incremental', type: 'dataset', key: 'incrementalDataFrame', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, { nameOfComponent: 'refreshDataSCD2', displayName: 'SCD Type 2 Refresh', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD2', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD2', inputFieldName: 'primaryKey', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD2', inputFieldName: 'timestampColumn', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Timestamp Column', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD2', inputFieldName: 'changeTrackingColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Change Tracking Columns', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD2', inputFieldName: 'scd2ColumnNames', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'SCD2 Column Names', }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD2', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Transform', nameOfComponent: 'refreshDataSCD2', inputFieldName: 'isBulkData', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: true, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Is Bulk Data', rowSpace: 0.5, }, ], }, }, UIDetails: { input: [ { displayName: 'Existing', type: 'dataset', key: 'existingDataFrame', }, { displayName: 'Incremental', type: 'dataset', key: 'incrementalDataFrame', }, ], output: [ { displayName: 'Output DataFrame 1', type: 'dataset', key: 'outputDataFrame1', }, ], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, primaryKey: { type: 'array', required: true, items: { type: 'string' }, }, incrementalDataFrame: { type: 'string', required: true, }, existingDataFrame: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, isBulkData: { type: 'boolean', required: false, }, timestampColumn: { type: 'string', required: false, }, changeTrackingColumns: { type: 'array', required: false, items: { type: 'string' }, }, scd2ColumnNames: { type: 'array', required: false, items: { type: 'string' }, }, }, }, }, }, }, { nameOfComponent: 'customPySparkEMRServerless', displayName: 'EMR PySpark', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'arguments', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Arguments', disabled: true, rowSpace: 0, }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'pythonFilePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Python File Path', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'pythonExtraZipFilePath', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Python Extra Zip File Path', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'pythonEnvTarGZPath', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Python Env TarGZ Path', }, ], }, inputDataFrameList: { displayName: 'Arguments', visualType: 'column-reorder', isOptional: true, dataType: 'array', isOtherFieldsVisibleByDefault: false, addOtherFields: true, fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'tempViewName', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temp View Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'inputDataFrame', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Input Data Frame', disabled: true, }, ], ], otherFields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'otherArgument', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Other Argument', rowSpace: 0.25, }, ], ], }, sparkExtraConf: { displayName: 'Extra Configuration', isOptional: true, dataType: 'object', isMultiple: true, fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkEMRServerless', inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output DataFrame 1', type: 'dataset', key: 'outputDataFrame1', }, ], multipleInputs: true, properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, arguments: { type: 'array', items: { type: 'string', }, }, pythonFilePath: { type: 'string', }, inputDataFrameList: { type: 'array', required: false, items: { type: 'object', properties: { inputDataFrame: { type: 'string', required: false, }, tempViewName: { type: 'string', required: false, }, }, }, }, optional: { type: 'object', required: false, properties: { pythonExtraZipFilePath: { type: 'string', required: false, }, pythonEnvTarGZPath: { type: 'string', required: false, }, sparkExtraConf: { type: 'object', required: false, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, }, }, }, }, }, { nameOfComponent: 'customPySparkDatabricks', displayName: 'Databricks PySpark', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'arguments', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Arguments', disabled: true, rowSpace: 0, }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'pythonFilePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Python File Path', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'dependencies', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dependencies', rowSpace: 0.25, }, ], }, inputDataFrameList: { displayName: 'Arguments', visualType: 'column-reorder', isOptional: true, dataType: 'array', isOtherFieldsVisibleByDefault: false, addOtherFields: true, fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'tempViewName', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temp View Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'inputDataFrame', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Input Data Frame', disabled: true, }, ], ], otherFields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'otherArgument', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Other Argument', rowSpace: 0.25, }, ], ], }, sparkExtraConf: { displayName: 'Extra Configuration', isOptional: true, dataType: 'object', isMultiple: true, fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'customPySparkDatabricks', inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value', }, ], ], }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output DataFrame 1', type: 'dataset', key: 'outputDataFrame1', }, ], multipleInputs: true, properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true, }, arguments: { type: 'array', items: { type: 'string', }, }, pythonFilePath: { type: 'string', }, inputDataFrameList: { type: 'array', required: false, items: { type: 'object', properties: { inputDataFrame: { type: 'string', required: false, }, tempViewName: { type: 'string', required: false, }, }, }, }, optional: { type: 'object', required: false, properties: { dependencies: { type: 'string', required: false, }, sparkExtraConf: { type: 'object', required: false, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, }, }, }, }, }, { nameOfComponent: 'customAWSSagemaker', displayName: 'Sagemaker', typeOfComponent: 'Transform', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Transform', nameOfComponent: 'customAWSSagemaker', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'customAWSSagemaker', inputFieldName: 'pipelineName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Pipeline Name', }, { typeOfComponent: 'Transform', nameOfComponent: 'customAWSSagemaker', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, ], }, input_param: { displayName: 'Input Param', isOptional: true, dataType: 'object', isMultiple: true, fields: [ [ { typeOfComponent: 'Transform', nameOfComponent: 'customAWSSagemaker', inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'customAWSSagemaker', inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value', }, ], ], }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true, }, stepName: { type: 'string', required: true, }, pipelineName: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false, }, input_param: { type: 'object', required: false, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [ { displayName: 'Output Data', type: 'dataset', }, ], properties: [], }, }, ]; export const load = [ { nameOfComponent: 'saveTableDB', displayName: 'Mysql/Mariadb RDBMS', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'writeMode', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append', 'ErrorIfExists'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableDB', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, connection: { type: 'string', required: true }, tableName: { type: 'string', required: true }, writeMode: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToParquet', displayName: 'Parquet', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Path', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'partitionColumnList', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (Name of existing columns)', rowSpace: 0.25, displayName: 'Partition Column List', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'partitionFiles', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Partition Files', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'writeMode', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append', 'ErrorIfExists'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'encodingType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['HASH', 'ENCRYPT'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Encoding Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'columnsToEncode', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Encode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToParquet', isOptional: true, isOptionalInSchema: false, inputFieldName: 'dynamicPartitionRequired', visualType: 'checkbox', directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dynamic Partitioning Enabled', rowSpace: 0.5, }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, path: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, dynamicPartitionRequired: { type: 'boolean', required: false }, encodingType: { type: 'string', required: false }, columnsToEncode: { required: false, type: 'array', items: { type: 'string' } }, partitionFiles: { type: 'integer', required: false }, partitionColumnList: { type: 'array', required: true, items: { type: 'string' } }, writeMode: { type: 'string', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToCsv', displayName: 'CSV', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'partitionFiles', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Partition Files', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Path', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'overwrite', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Overwrite', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'encodingType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['HASH', 'ENCRYPT'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Encoding Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'columnsToEncode', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Encode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'dynamicPartitionRequired', visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dynamic Partitioning Enabled', rowSpace: 0.5, }, ], }, advanceOptions: { displayName: 'Advance Options', isOptional: true, fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'header', defaultValue: true, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, value: true, displayName: 'Header', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'delimiter', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Delimiter', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'dateFormat', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Date Format', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'quote', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Quote', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'escape', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Escape', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'nullValue', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Null Value', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'quoteAll', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Quote All', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'timestampFormat', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Time Stamp Format', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'accessKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'secretKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToCsv', inputFieldName: 'endPoint', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, partitionFiles: { type: 'integer', required: true }, path: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, dynamicPartitionRequired: { type: 'boolean', required: false }, encodingType: { type: 'string', required: false }, columnsToEncode: { required: false, type: 'array', items: { type: 'string' } }, overwrite: { type: 'boolean', required: false }, advanceOptions: { type: 'object', required: false, properties: { dateFormat: { type: 'string', required: false }, delimiter: { type: 'string', required: false }, quote: { type: 'string', required: false }, escape: { type: 'string', required: false }, nullValue: { type: 'string', required: false }, quoteAll: { type: 'boolean', required: false }, timestampFormat: { type: 'string', required: false }, header: { type: 'boolean', required: false }, }, }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToFileSFTP', displayName: 'Write Data to SFTP', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined connections sftp connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'filePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'File Path', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'fileName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'File Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'fileType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['csv', 'txt', 'json', 'parquet', 'avro'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'File Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'localFilePath', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Local File Path', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, passOption: { displayName: 'Pass Option', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'pem', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'password', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Password', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'pemPassphrase', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM Passphrase', }, ], }, csvOption: { displayName: 'CSV Option', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'header', visualType: 'checkbox', defaultValue: true, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, value: true, displayName: 'Header', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'delimiter', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Delimiter', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'quote', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Quote', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'escape', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Escape', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'nullValue', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Null Value', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'dateFormat', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Date Format', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'quoteAll', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Quote All', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToFileSFTP', inputFieldName: 'timestampFormat', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Time Stamp Format', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, connection: { type: 'string', required: true }, filePath: { type: 'string', required: true }, fileName: { type: 'string', required: true }, fileType: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { localFilePath: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, passOption: { type: 'object', required: false, properties: { pem: { type: 'string', required: false }, pemPassphrase: { type: 'string', required: false }, password: { type: 'string', required: false }, }, }, csvOption: { type: 'object', required: false, properties: { dateFormat: { type: 'string', required: false }, delimiter: { type: 'string', required: false }, header: { type: 'boolean', required: false }, quote: { type: 'string', required: false }, escape: { type: 'string', required: false }, nullValue: { type: 'string', required: false }, quoteAll: { type: 'string', required: false }, timestampFormat: { type: 'string', required: false }, }, }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'saveTableAPI', displayName: 'Axiom Save Table API Generic', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'URL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'URL', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'userId', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User Id', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'viewID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'View ID', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'tempWriteOutPath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temp Write Out Path', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'connectionTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection Timeout', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'readTimeout', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Read Timeout', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'apiBodyLimit', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Api Body Limit', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'saveTableAPI', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, URL: { type: 'string', required: true }, userId: { type: 'string', required: true }, viewID: { type: 'string', required: true }, tempWriteOutPath: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, connectionTimeout: { type: 'integer', required: false }, readTimeout: { type: 'integer', required: false }, apiBodyLimit: { type: 'integer', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'sendDataToKafkaTopic', displayName: 'Kafka', typeOfComponent: 'Load', dataProfilingPossible: false, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'keyColumn', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key Column', }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'topicName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Topic Name', }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined connections kafka connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'sendDataToKafkaTopic', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, keyColumn: { type: 'string', required: true }, topicName: { type: 'string', required: true }, connection: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'queryExecuteUpdate', displayName: 'Query Tables', typeOfComponent: 'Load', dataProfilingPossible: false, loggingPossible: false, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'query', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Query', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'dbServerType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['REDSHIFT', 'MYSQL', 'SQLSERVER', 'SNOWFLAKE'], defaultValue: 'MYSQL', value: 'MYSQL', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'DB Server Type', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'warehouse', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Warehouse', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'role', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Role', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdate;', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, connection: { type: 'string', required: true }, query: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, dbServerType: { type: 'string', required: false }, warehouse: { type: 'string', required: false }, role: { type: 'string', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, }, { nameOfComponent: 'loadDataFileToTable', displayName: 'Load data to Table', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: '', fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'temporaryPath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temporary Path', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'delimiter', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Delimiter', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'newLineChar', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'New Line Character', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'quoteChar', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Quote Character', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'escapeChar', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Escape Character', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'header', defaultValue: true, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, value: true, displayName: 'Header', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'columnList', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (Existing Column)', rowSpace: 0.25, displayName: 'Column List', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataFileToTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, connection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, temporaryPath: { type: 'string', required: true }, tableName: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { delimiter: { type: 'string', required: false }, escapeChar: { type: 'string', required: false }, header: { type: 'boolean', required: false }, columnList: { type: 'array', required: false, items: { type: 'string' } }, newLineChar: { type: 'string', required: false }, quoteChar: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'cpImportDataframe', displayName: 'Mariadb Columnstore', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'temporaryPath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temporary Path', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'userServer', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User Server', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'localTemporaryPath', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Local Temporary Path', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'cpimportCommand', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Cpimport Command', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'sshRequired', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Ssh Required', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'passwordRequired', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Password Required', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, passOption: { displayName: 'Pass Option', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'pem', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'password', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Password', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'pemPassphrase', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM Passphrase', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, connection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, temporaryPath: { type: 'string', required: true }, tableName: { type: 'string', required: true }, userServer: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { localTemporaryPath: { type: 'string', required: false }, cpimportCommand: { type: 'string', required: false }, passOption: { type: 'object', required: false, properties: { pem: { type: 'string', required: false }, password: { type: 'string', required: false }, pemPassphrase: { type: 'string', required: false }, }, }, sshRequired: { type: 'boolean', required: false }, passwordRequired: { type: 'boolean', required: false }, persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToRedshiftTable', displayName: 'Redshift', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 's3connections', isOptional: true, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'S3 Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'endPoint', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'awsIAMRole', isOptional: true, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS IAM Role', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'isUser', visualType: 'checkbox', isOptional: true, isOptionalInSchema: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Is User?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', defaultValue: '', removed: true, inputFieldName: 'accessKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', defaultValue: '', removed: true, inputFieldName: 'secretKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'temporaryPathS3', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temporary Path S3', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'writeMode', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append', 'TruncateAndOverwrite', 'SCD1', 'SCD2'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'encodingType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['HASH', 'ENCRYPT'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Encoding Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'columnsToEncode', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Encode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'changeTrackingColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Change Tracking Columns', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'timestampColumn', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Timestamp Column', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToRedshiftTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, connection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, tableName: { type: 'string', required: true }, endPoint: { type: 'string', required: true }, temporaryPathS3: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { s3connections: { type: 'string', required: false }, writeMode: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, isUser: { type: 'boolean', required: false }, awsIAMRole: { type: 'string', required: false }, changeTrackingColumns: { type: 'array', required: false, items: { type: 'string' }, }, encodingType: { type: 'string', required: false }, columnsToEncode: { required: false, type: 'array', items: { type: 'string' } }, timestampColumn: { type: 'string', required: false, }, primaryKey: { type: 'array', required: false, items: { type: 'string', }, }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToSQLServerTable', displayName: 'SQL Server', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'writeMode', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append'], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSQLServerTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, connection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, tableName: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { writeMode: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'updateDataAxiomTableMySQL', displayName: 'Axiom Save Table API Mariadb', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'denormConnection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Denorm Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'axiomConnection', isOptional: false, directInput: '', formInput: 'from previously defined axiom database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Axiom Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'viewID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'View ID', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'userID', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User ID', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'appURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'App URL', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'userServer', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User Server', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'serverTemporaryPath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Server Temporary Path', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'updateOptionsAxiom', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Truncate', 'Delete', 'Append'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Update Options Axiom', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'localTemporaryPath', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Local Temporary Path', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'cpimportCommand', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Cpimport Command', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'deleteCondition', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Delete Condition', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'sshRequired', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'SSH Required', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'passwordRequired', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Password Required', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, passOption: { displayName: 'Pass Option', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableMySQL', inputFieldName: 'pem', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'password', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Password', }, { typeOfComponent: 'Load', nameOfComponent: 'cpImportDataframe', inputFieldName: 'pemPassphrase', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'PEM Passphrase', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, denormConnection: { type: 'string', required: true }, axiomConnection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, viewID: { type: 'integer', required: true }, userID: { type: 'integer', required: true }, appURL: { type: 'string', required: true }, userServer: { type: 'string', required: true }, serverTemporaryPath: { type: 'string', required: true }, updateOptionsAxiom: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { localTemporaryPath: { type: 'string', required: false }, cpimportCommand: { type: 'string', required: false }, passOption: { type: 'object', required: false, properties: { pem: { type: 'string', required: false }, password: { type: 'string', required: false }, pemPassphrase: { type: 'string', required: false }, }, }, sshRequired: { type: 'boolean', required: false }, passwordRequired: { type: 'boolean', required: false }, deleteCondition: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'updateDataAxiomTableRedshift', displayName: 'Axiom Save Table API Redshift', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'denormConnection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Denorm Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'axiomConnection', isOptional: false, directInput: '', formInput: 'from previously defined axiom database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Axiom Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'viewID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'View ID', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'userID', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User ID', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'appURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'App URL', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'updateOptionsAxiom', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Truncate', 'Delete', 'Append'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Update Options Axiom', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'endPoint', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'awsIAMRole', isOptional: true, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS IAM Role', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'isUser', visualType: 'checkbox', isOptional: true, isOptionalInSchema: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Is User?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', defaultValue: '', inputFieldName: 'accessKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', defaultValue: '', inputFieldName: 'secretKey', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'temporaryPathS3', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temporary Path S3', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'deleteCondition', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Delete Condition', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableRedshift', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, denormConnection: { type: 'string', required: true }, axiomConnection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, viewID: { type: 'integer', required: true }, userID: { type: 'integer', required: true }, appURL: { type: 'string', required: true }, accessKey: { type: 'string', required: true }, secretKey: { type: 'string', required: true }, endPoint: { type: 'string', required: true }, temporaryPathS3: { type: 'string', required: true }, updateOptionsAxiom: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { deleteCondition: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, isUser: { type: 'boolean', required: false }, awsIAMRole: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'updateDataAxiomTableSQLServer', displayName: 'Axiom Save Table API SQL Server', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'denormConnection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Denorm Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'axiomConnection', isOptional: false, directInput: '', formInput: 'from previously defined axiom database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Axiom Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'viewID', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'View ID', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'userID', isOptional: false, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'User ID', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'appURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'App URL', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'updateOptionsAxiom', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Truncate', 'Delete', 'Append'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Update Options Axiom', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'deleteCondition', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Delete Condition', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'updateDataAxiomTableSQLServer', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, denormConnection: { type: 'string', required: true }, axiomConnection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, viewID: { type: 'integer', required: true }, userID: { type: 'integer', required: true }, appURL: { type: 'string', required: true }, updateOptionsAxiom: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { deleteCondition: { type: 'string', required: false }, persistDataFrame: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToBigQueryTable', displayName: 'Big Query', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'projectId', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Project ID', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'dataset', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dataset', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'temporaryGcsBucketName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temporary GCS Bucket Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'serviceAccountCredential', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Service Account Credential', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'writeMode', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToBigQueryTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, projectId: { type: 'string', required: true }, tableName: { type: 'string', required: true }, dataset: { type: 'string', required: true }, serviceAccountCredential: { type: 'string', required: true }, temporaryGcsBucketName: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, writeMode: { type: 'boolean', required: false }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToSnowflakeTable', displayName: 'Snowflake', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'connection', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'warehouse', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Warehouse', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'role', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Role', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'truncateColumns', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Truncate Columns', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, columnMap: { displayName: 'Column Map', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'inputColumn', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Input Column', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToSnowflakeTable', inputFieldName: 'targetColumn', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Target Column', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, connection: { type: 'string', required: true }, tableName: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, truncateColumns: { type: 'boolean', required: false }, warehouse: { type: 'boolean', required: false }, role: { type: 'boolean', required: false }, columnMap: { type: 'array', required: false, items: { type: 'object', properties: { inputColumn: { type: 'string', required: true }, targetColumn: { type: 'string', required: true }, }, }, }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'dataProfiling', displayName: 'Data Profiling', typeOfComponent: 'Load', dataProfilingPossible: false, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'tableId', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'tableIDs', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table ID', }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', defaultValue: 1000, inputFieldName: 'histogramThreshold', isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Histogram Threshold', }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'enable', defaultValue: true, disabled: true, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Enable', }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'dataProfiling', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, criticalColumns: { displayName: 'Critical Columns', isOptional: true, dataType: 'object', isMultiple: true, fields: [ [ { inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key', }, { inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['High', 'Medium', 'Low'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, tableId: { type: 'number', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, histogramThreshold: { type: 'string', required: true }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, criticalColumns: { type: 'object', required: false, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToHudiTable', displayName: 'Apache Hudi', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'accessKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'secretKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'endPoint', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'tableWritePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Write Path', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'timestampIdentifierField', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Time Stamp Identifier', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'hudiWriteOperationType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['UPSERT', 'INSERT', 'DELETE', 'BULK_INSERT'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Hudi Write Operation Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'partitionFields', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Partition Fields', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'hudiTableType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['MERGE_ON_READ', 'COPY_ON_WRITE'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Hudi Table Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'keyField', isOptional: false, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key Field', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'encodingType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Encoding Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'columnsToEncode', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Encode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'writeMode', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'dynamicPartitionRequired', visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Dynamic Partitioning Enabled', rowSpace: 0.5, }, ], }, otherConfigs: { displayName: 'Other Configs', isOptional: true, dataType: 'object', isMultiple: true, fields: [ [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToHudiTable', inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value', }, ], ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true, }, stepName: { type: 'string', required: true, }, tableWritePath: { type: 'string', required: true, }, tableName: { type: 'string', required: true, }, keyField: { type: 'array', required: true, items: { type: 'string', }, }, timestampIdentifierField: { type: 'string', required: true, }, hudiWriteOperationType: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { writeMode: { type: 'string', required: false, }, hudiTableType: { type: 'string', required: false, }, partitionFields: { type: 'array', required: false, items: { type: 'string', }, }, otherConfigs: { type: 'object', required: false, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, accessKey: { type: 'string', required: false, }, secretKey: { type: 'string', required: false, }, endPoint: { type: 'string', required: false, }, encodingType: { type: 'string', required: false, }, columnsToEncode: { type: 'array', required: false, items: { type: 'string', }, }, persistDataFrame: { type: 'boolean', required: false, }, enableDataReconciliation: { type: 'boolean', required: false, }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', require: false, }, dynamicPartitionRequired: { type: 'boolean', required: false, }, }, }, }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, }, { nameOfComponent: 'sendEmailUsingNotificationEngine', displayName: 'Send Email Notification Engine', typeOfComponent: 'Load', dataProfilingPossible: false, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'toEmail', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'To Email', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'subject', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Subject', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'template', isOptional: true, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Template', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'ccEmailList', isOptional: true, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'CC Email List', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'typeOfEmail', isOptional: true, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: ['keyContributor'], isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Type Of Email', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, toEmail: { type: 'string', required: true }, subject: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, template: { type: 'string', required: true }, ccEmailList: { type: 'string', required: true }, typeOfEmail: { type: 'string', required: true }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'queryExecuteUpdateBigQuery', displayName: 'Query Execute Update for Big Query', typeOfComponent: 'Load', dataProfilingPossible: false, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdateBigQuery', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdateBigQuery', inputFieldName: 'query', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Query', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdateBigQuery', inputFieldName: 'projectId', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Project Id', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdateBigQuery', inputFieldName: 'serviceAccountCredential', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Service Account Credential', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdateBigQuery', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdateBigQuery', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'queryExecuteUpdateBigQuery', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, query: { type: 'string', required: true }, projectId: { type: 'string', required: true }, serviceAccountCredential: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'deleteInsertDataToTable', displayName: 'Delete Insert Data to Table', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'connection', isOptional: false, directInput: '', formInput: 'from previously defined database connections', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'connections', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Connection', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'endPoint', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'awsIAMRole', isOptional: true, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'AWS IAM Role', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'isUser', visualType: 'checkbox', isOptional: true, isOptionalInSchema: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Is User?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'accessKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'secretKey', removed: true, isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'temporaryPathS3', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Temporary Path S3', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'dbServerType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['REDSHIFT', 'MYSQL', 'SQLSERVER', 'SNOWFLAKE'], defaultValue: 'MYSQL', value: 'MYSQL', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'DB Server Type', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'addRunIdColumn', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Run Id Needed?', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'deleteInsertDataToTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, connection: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, tableName: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, dbServerType: { type: 'string', required: false }, temporaryPathS3: { type: 'string', required: true }, addRunIdColumn: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, isUser: { type: 'boolean', required: false }, awsIAMRole: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'loadDataIceberg', displayName: 'Iceberg Table', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'warehousePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Warehouse Path', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'catalogName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Catalog Name', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'writeMode', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append', 'SCD1', 'SCD2'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'catalogType', isOptional: true, isOptionalInSchema: false, defaultValue: 'glue', directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['glue', 'nessie', 'postgres', 'biglake'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Catalog Type', value: 'glue', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'encodingType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['HASH', 'ENCRYPT'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Encoding Type', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'columnsToEncode', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Encode', }, { typeOfComponent: 'Transform', nameOfComponent: 'loadDataIceberg', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'loadDataIceberg', inputFieldName: 'changeTrackingColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Change Tracking Columns', }, { typeOfComponent: 'Transform', nameOfComponent: 'loadDataIceberg', inputFieldName: 'timestampColumn', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Timestamp Column', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'partitionColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (Name of existing columns)', rowSpace: 0.25, displayName: 'Partition Columns', }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'enforceSchema', defaultValue: true, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', value: true, rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'loadDataIceberg', inputFieldName: 'enforceSchemaMethod', defaultValue: 'Warning', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', value: 'Warning', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: false, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, tableName: { type: 'string', required: true }, warehousePath: { type: 'string', required: true }, catalogName: { type: 'string', required: true }, writeMode: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, catalogType: { type: 'string', required: false }, changeTrackingColumns: { type: 'array', required: false, items: { type: 'string' }, }, encodingType: { type: 'string', required: false }, columnsToEncode: { required: false, type: 'array', items: { type: 'string' } }, timestampColumn: { type: 'string', required: false, }, primaryKey: { type: 'array', required: false, items: { type: 'string', }, }, partitionColumns: { type: 'array', required: false, items: { type: 'string' } }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, { nameOfComponent: 'stateManagement', displayName: 'State Management', typeOfComponent: 'Load', dataProfilingPossible: true, loggingPossible: false, dataQualityPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'tableName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Name', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'warehousePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Warehouse Path', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'catalogName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Catalog Name', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'writeMode', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append', 'SCD1', 'SCD2'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'encodingType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['HASH', 'ENCRYPT'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Encoding Type', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'columnsToEncode', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Columns to Encode', }, { typeOfComponent: 'Transform', nameOfComponent: 'stateManagement', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Transform', nameOfComponent: 'stateManagement', inputFieldName: 'changeTrackingColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Change Tracking Columns', }, { typeOfComponent: 'Transform', nameOfComponent: 'stateManagement', inputFieldName: 'timestampColumn', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Timestamp Column', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'partitionColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (Name of existing columns)', rowSpace: 0.25, displayName: 'Partition Columns', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'stateType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['inputParquet', 'inputDelimited', 'readMsSqlServerDbUsingJdbc'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'State Type', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'stateName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'State Name', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'stateStoreType', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['iceberg', 'delta'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'State Store Type', }, ], }, advanceOptions: { displayName: 'Advance Options', isOptional: true, fields: [ { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'endPoint', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'End Point', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'accessKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Access Key', }, { typeOfComponent: 'Load', nameOfComponent: 'stateManagement', inputFieldName: 'secretKey', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: [], fillFormInputValuesFrom: 'credentials', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Secret Key', }, ], }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, tableName: { type: 'string', required: true }, warehousePath: { type: 'string', required: true }, catalogName: { type: 'string', required: true }, writeMode: { type: 'string', required: true }, stateType: { type: 'string', required: true }, stateName: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { encodingType: { type: 'string', required: false }, columnsToEncode: { required: false, type: 'array', items: { type: 'string' } }, partitionColumns: { type: 'array', required: true, items: { type: 'string' } }, primaryKey: { type: 'array', required: true, items: { type: 'string', }, }, changeTrackingColumns: { type: 'array', required: false, items: { type: 'string' }, }, timestampColumn: { type: 'string', required: true, }, advanceOptions: { type: 'object', required: false, properties: { endPoint: { type: 'string', required: true }, accessKey: { type: 'string', required: true }, secretKey: { type: 'string', required: true }, }, }, persistDataFrame: { type: 'boolean', required: false }, }, }, }, }, }, { nameOfComponent: 'writeDataFrameToDeltaTable', displayName: 'Delta', typeOfComponent: 'Load', dataProfilingPossible: true, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'tableWritePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Table Write Path', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'writeMode', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Overwrite', 'Append', 'SCD1', 'SCD2'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Write Mode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'timestampColumn', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Timestamp Column', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'primaryKey', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Primary Key', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'changeTrackingColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (Name of existing columns)', displayName: 'Change Tracking Columns', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'encodingType', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['HASH', 'ENCRYPT'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Encoding Type', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'columnsToEncode', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Columns to Encode', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'partitionColumns', isOptional: true, directInput: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', isAdvanceOption: true, subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: 'List of String (Name of existing columns)', rowSpace: 0.5, displayName: 'Partition Columns', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.25, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'enableDataReconciliation', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enable Data Reconcilation', rowSpace: 0.25, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.25, }, { typeOfComponent: 'Load', nameOfComponent: 'writeDataFrameToDeltaTable', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', rowSpace: 0.25, }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, tableWritePath: { type: 'string', required: true }, writeMode: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { primaryKey: { type: 'string', required: false }, timestampColumn: { type: 'string', required: false }, changeTrackingColumns: { type: 'array', required: false, items: { type: 'string' } }, partitionColumns: { type: 'array', required: false, items: { type: 'string' } }, persistDataFrame: { type: 'boolean', required: false }, encodingType: { type: 'string', required: false }, columnsToEncode: { required: false, type: 'array', items: { type: 'string' } }, enableDataReconciliation: { type: 'boolean', required: false }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, ]; export const insightLoad = [ { nameOfComponent: 'createAndWriteInsightStatement', displayName: 'Create Insight Statement', typeOfComponent: 'Load', sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'createAndWriteInsightStatement', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'createAndWriteInsightStatement', inputFieldName: 'appURL', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'App URL', }, { typeOfComponent: 'Load', nameOfComponent: 'createAndWriteInsightStatement', inputFieldName: 'insightJsonStatement', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Insight JSON statement', }, { typeOfComponent: 'Load', nameOfComponent: 'createAndWriteInsightStatement', inputFieldName: 'jsonOutputFilePath', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'JSON Output File Path', }, { typeOfComponent: 'Load', nameOfComponent: 'createAndWriteInsightStatement', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Persist Data Frame', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'createAndWriteInsightStatement', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'createAndWriteInsightStatement', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, sampleSchema: { type: 'object', properties: { type: { type: 'string', required: true, }, stepName: { type: 'string', required: true, }, appURL: { type: 'string', required: true, }, insightJsonStatement: { type: 'string', required: true, }, jsonOutputFilePath: { type: 'string', required: true, }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'string', required: false, }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, UIDetails: { input: [ { displayName: 'Input Data', type: 'dataset', }, ], output: [], properties: [], }, }, { nameOfComponent: 'sendEmailUsingNotificationEngine', displayName: 'Send Email Notification Engine', typeOfComponent: 'Load', dataProfilingPossible: false, sectionDetails: { basic: { displayName: 'Basic', fields: [ { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'stepName', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Step Name', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'toEmail', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'To Email', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'subject', isOptional: false, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Subject', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'template', isOptional: true, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Template', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'ccEmailList', isOptional: true, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'CC Email List', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'typeOfEmail', isOptional: true, directInput: '', formInput: '', formInputType: 'String', formInputValidValues: ['keyContributor'], isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Type Of Email', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'persistDataFrame', defaultValue: false, visualType: 'checkbox', isOptionalInSchema: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', directOutput: '', otherOutput: '', specialValidation: '', rowSpace: 0.5, displayName: 'Persist Data Frame', }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'enforceSchema', defaultValue: false, visualType: 'checkbox', isOptional: true, isOptionalInSchema: false, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema', rowSpace: 0.5, }, { typeOfComponent: 'Load', nameOfComponent: 'sendEmailUsingNotificationEngine', inputFieldName: 'enforceSchemaMethod', isOptional: true, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['Error', 'Warning'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Enforce Schema Method', }, ], }, jsonSchema: { displayName: 'JSON Schema', isOptional: true, fields: [], dataType: 'JSON', }, }, UIDetails: { input: [{ displayName: 'Input Data', type: 'dataset' }], output: [], properties: [], }, sampleSchema: { type: 'object', properties: { stepName: { type: 'string', required: true }, type: { type: 'string', required: true }, inputDataFrame: { type: 'string', required: true }, toEmail: { type: 'string', required: true }, subject: { type: 'string', required: true }, optional: { type: 'object', required: false, properties: { persistDataFrame: { type: 'boolean', required: false }, template: { type: 'string', required: true }, ccEmailList: { type: 'string', required: true }, typeOfEmail: { type: 'string', required: true }, enforceSchema: { type: 'boolean', required: false }, enforceSchemaMethod: { type: 'string', required: false }, jsonSchema: { type: 'string', required: false, }, }, }, }, }, }, ]; export const dataQualityCheck = { basic: { displayName: 'Basic', isOptional: true, dataType: 'object', fields: [ { inputFieldName: 'tableId', isOptional: false, formInput: '', formInputType: 'Integer', displayName: 'Table Id', formInputValidValues: [], fillFormInputValuesFrom: 'tableIDs', }, { inputFieldName: 'enable', isOptional: false, defaultValue: false, visualType: 'checkbox', formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], displayName: 'Enable', }, ], }, RecordCountCheck: { displayName: 'Record Count Check', isOptional: true, dataType: 'object', fields: [ { inputFieldName: 'expression', isOptional: false, formInputType: 'String', formInputValidValues: ['>=', '<=', '==', '>', '<', '!='], displayName: 'Expression', }, { inputFieldName: 'number', isOptional: false, formInputType: 'Double', formInputValidValues: '', displayName: 'Number', }, { inputFieldName: 'owner', isOptional: true, formInputType: 'String', formInputValidValues: '', displayName: 'Owner', }, { inputFieldName: 'stepsToFix', isOptional: true, formInputType: 'String', formInputValidValues: '', displayName: 'Steps to Fix', }, ], }, NullValueCheck: { displayName: 'Null Value Check', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { inputFieldName: 'column', isOptional: false, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Column', }, { inputFieldName: 'owner', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Owner', }, { inputFieldName: 'expression', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: ['>=', '<=', '==', '>', '<', '!='], displayName: 'Expression', }, { inputFieldName: 'number', isOptional: true, formInput: '', formInputType: 'Double', formInputValidValues: '', displayName: 'Number', maxValueInput: 1, minValueInput: 0, }, { inputFieldName: 'stepsToFix', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Steps to Fix', }, ], ], }, NullCombinationCheck: { displayName: 'Null Combination Check', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { inputFieldName: 'columns', isOptional: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', displayName: 'Columns', }, { inputFieldName: 'expression', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: ['>=', '<=', '==', '>', '<', '!='], displayName: 'Expression', }, { inputFieldName: 'number', isOptional: true, formInput: '', formInputType: 'Double', formInputValidValues: '', displayName: 'Number', maxValueInput: 1, minValueInput: 0, }, { inputFieldName: 'owner', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Owner', }, { inputFieldName: 'stepsToFix', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Steps to Fix', }, ], ], }, UniquenessCheck: { displayName: 'Uniqueness Check', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { inputFieldName: 'column', isOptional: false, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Column', }, { inputFieldName: 'owner', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Owner', }, { inputFieldName: 'stepsToFix', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Steps to Fix', }, ], ], }, UniqueCombinationCheck: { displayName: 'Unique Combination Check', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { inputFieldName: 'columns', isOptional: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', displayName: 'Columns', }, { inputFieldName: 'owner', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Owner', }, { inputFieldName: 'stepsToFix', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Steps to Fix', }, ], ], }, DistinctValueCountCheck: { displayName: 'Distinct Value Count Check', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { inputFieldName: 'column', isOptional: false, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Column', }, { inputFieldName: 'expression', isOptional: false, formInput: '', formInputType: 'String', formInputValidValues: ['>=', '<=', '==', '>', '<', '!='], displayName: 'Expression', }, { inputFieldName: 'number', isOptional: false, formInput: '', formInputType: 'Double', formInputValidValues: '', displayName: 'Number', }, { inputFieldName: 'owner', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Owner', }, { inputFieldName: 'stepsToFix', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Steps to Fix', }, ], ], }, UnacceptableTextValueCheck: { displayName: 'Unacceptable Text Value Check', isOptional: true, isMultiple: true, dataType: 'array', fields: [ [ { inputFieldName: 'column', isOptional: false, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Column', }, { inputFieldName: 'expression', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: ['>=', '<=', '==', '>', '<', '!='], displayName: 'Expression', }, { inputFieldName: 'number', isOptional: true, formInput: '', formInputType: 'Double', formInputValidValues: '', displayName: 'Number', maxValueInput: 1, minValueInput: 0, }, { inputFieldName: 'owner', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Owner', }, { inputFieldName: 'stepsToFix', isOptional: true, formInput: '', formInputType: 'String', formInputValidValues: '', displayName: 'Steps to Fix', }, { inputFieldName: 'valueList', isOptional: false, formInput: 'Array', formInputType: 'String', formInputValidValues: '', displayName: 'Value List', }, ], ], }, }; export const dataQualityCheckConfig = { type: 'object', required: false, properties: { tableId: { type: 'number', required: true, }, enable: { type: 'boolean', required: true, }, RecordCountCheck: { type: 'object', required: false, properties: { expression: { type: 'string', required: true }, number: { type: 'number', required: true }, owner: { type: 'string', required: false }, stepsToFix: { type: 'string', required: false }, }, }, NullValueCheck: { type: 'array', required: false, items: { type: 'object', properties: { column: { type: 'string', required: true }, expression: { type: 'string', required: false }, number: { type: 'number', required: false }, owner: { type: 'string', required: false }, stepsToFix: { type: 'string', required: false }, }, }, }, NullCombinationCheck: { type: 'array', required: false, items: { type: 'object', properties: { columns: { type: 'array', required: true, items: { type: 'string', required: true, }, }, expression: { type: 'string', required: false }, number: { type: 'number', required: false }, owner: { type: 'string', required: false }, stepsToFix: { type: 'string', required: false }, }, }, }, UniquenessCheck: { type: 'array', required: false, items: { type: 'object', properties: { column: { type: 'string', required: true }, owner: { type: 'string', required: false }, stepsToFix: { type: 'string', required: false }, }, }, }, UniqueCombinationCheck: { type: 'array', required: false, items: { type: 'object', properties: { columns: { type: 'array', required: true, items: { type: 'string', }, }, owner: { type: 'string', required: false }, stepsToFix: { type: 'string', required: false }, }, }, }, DistinctValueCountCheck: { type: 'array', required: false, items: { type: 'object', properties: { column: { type: 'string', required: true }, expression: { type: 'string', required: true }, number: { type: 'number', required: true }, owner: { type: 'string', required: false }, stepsToFix: { type: 'string', required: false }, }, }, }, UnacceptableTextValueCheck: { type: 'array', required: false, items: { type: 'object', properties: { column: { type: 'string', required: true }, valueList: { type: 'array', required: true, items: { type: 'string', }, }, expression: { type: 'string', required: false }, number: { type: 'number', required: false }, owner: { type: 'string', required: false }, stepsToFix: { type: 'string', required: false }, }, }, }, }, }; export const dataProfiling = { basic: { displayName: 'Basic', isOptional: false, dataType: 'object', fields: [ { inputFieldName: 'enable', defaultValue: false, visualType: 'checkbox', isOptional: true, directInput: false, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Do Profiling?', }, { inputFieldName: 'histogramThreshold', defaultValue: false, isOptional: true, directInput: false, formInput: '', formInputType: 'Integer', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Histogram Threshold', }, ], }, criticalColumns: { displayName: 'Critical Columns', isOptional: false, dataType: 'object', isMultiple: true, fields: [ [ { inputFieldName: 'key', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Key', }, { inputFieldName: 'value', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: ['High', 'Medium', 'Low'], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Value', }, ], ], }, }; export const dataProfilingConfig = { type: 'object', required: false, properties: { enable: { type: 'boolean', required: true, }, histogramThreshold: { type: 'number', required: false, }, criticalColumns: { type: 'object', required: false, properties: {}, patternProperties: { '^[0-9A-Za-z_]+': { type: 'string', required: true, }, }, }, }, }; export const loggingOptions = { basic: { displayName: 'Basic', isOptional: false, dataType: 'object', fields: [ { inputFieldName: 'printSchema', visualType: 'checkbox', isOptional: true, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Print Schema', }, { inputFieldName: 'count', visualType: 'checkbox', isOptional: true, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Count', }, { inputFieldName: 'showData', visualType: 'checkbox', isOptional: true, formInput: '', formInputType: 'Boolean', formInputValidValues: [true, false], isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', specialValidation: '', displayName: 'Show Data', }, ], }, }; export const loggingOptionsConfig = { type: 'object', required: false, properties: { printSchema: { type: 'boolean', required: false, }, count: { type: 'boolean', required: false, }, showData: { type: 'boolean', required: false, }, }, }; export const stateStoreTypeMapping = { loadDataIceberg: 'iceberg', writeDataFrameToRedshiftTable: 'redshift', saveTableDB: 'mysql_mariadb', cpImportDataframe: 'mariadb_columnstore', }; const path = { typeOfComponent: 'Extract', nameOfComponent: 'inputParquet', inputFieldName: 'path', isOptional: false, directInput: false, formInput: '', formInputType: 'String', formInputValidValues: '', isAdvanceOption: '', subInputFieldName: '', subFormInputType: '', subFormInputValidValues: '', directOutput: '', otherOutput: '', displayName: 'Path', dataverse: { isDisabled: true, }, }; const extractKeys = ['inputDelimited', 'inputParquet', 'readHudiTable', 'readDataIceberg', 'readDeltaTable']; extract.forEach((component: any) => { if (extractKeys.includes(component.nameOfComponent)) { let connectionIndex = component.sectionDetails.basic.fields.findIndex( (t: any) => t.inputFieldName === 'connection', ); if (connectionIndex === -1) { let field: any = _.cloneDeep(path); field.inputFieldName = 'connection'; field.displayName = 'Connection'; field.isOptional = true; field.formInputType = 'String'; field.formInputValidValues = []; field.fillFormInputValuesFrom = 'connections'; let schema: any = { ...component.sampleSchema }; component.sectionDetails.basic.fields.push(field); schema.properties.optional.properties.connection = { type: 'string', required: false }; component.sampleSchema = schema; } } }); const loadKeys = [ 'writeDataFrameToParquet', 'writeDataFrameToCsv', 'writeDataFrameToHudiTable', 'loadDataIceberg', 'writeDataFrameToDeltaTable', ]; load.forEach((component: any) => { if (loadKeys.includes(component.nameOfComponent)) { let connectionIndex = component.sectionDetails.basic.fields.findIndex( (t: any) => t.inputFieldName === 'connection', ); if (connectionIndex === -1) { let field: any = _.cloneDeep(path); field.typeOfComponent = 'Load'; field.inputFieldName = 'connection'; field.displayName = 'Connection'; field.isOptional = true; field.formInputType = 'String'; field.formInputValidValues = []; field.fillFormInputValuesFrom = 'connections'; delete field.dataverse; let schema: any = { ...component.sampleSchema }; component.sectionDetails.basic.fields.push(field); schema.properties.optional.properties.connection = { type: 'string', required: false }; component.sampleSchema = schema; } } }); export const sourceExtract = _.cloneDeep(extract); sourceExtract.forEach((component: any) => { let pathIndex = component.sectionDetails.basic.fields.findIndex((t: any) => t.inputFieldName === 'path'); if (pathIndex !== -1) { component.sectionDetails.basic.fields[pathIndex].rowSpace = 0; } if (component.dataverse && component.dataverse.type) { let field: any = _.cloneDeep(path); field.inputFieldName = 'dataSetUrn'; field.displayName = 'Data Set URN'; field.isOptional = true; let schema: any = { ...component.sampleSchema }; component.sectionDetails.basic.fields.push(field); schema.properties.optional.properties.dataSetUrn = { type: 'string', required: false }; component.sampleSchema = schema; } Object.keys(component.sectionDetails).forEach((key) => { component.sectionDetails[key].disabled = true; }); }); const stateManagementKeys = [ 'inputDelimited', 'inputParquet', 'readRedshiftTableByQuery', 'readMySqlDbUsingJdbc', 'readDataIceberg', 'readDeltaTable', ]; export const stateManagement = _.cloneDeep( extract.filter((t) => stateManagementKeys.indexOf(t.nameOfComponent) !== -1), ); stateManagement.forEach((component: any) => { component.dataProfilingPossible = true; component.typeOfComponent = 'StateManagement'; if (component.UIDetails) { component.UIDetails.input = [{ displayName: 'Input Data', type: 'dataset' }]; component.UIDetails.output = []; } if (component.sectionDetails) { const sections = Object.keys(component.sectionDetails); sections.forEach((sec) => { if (component.sectionDetails[sec].fields && component.sectionDetails[sec].fields.length > 0) { if (Array.isArray(component.sectionDetails[sec].fields[0])) { component.sectionDetails[sec].fields.forEach((_arr: any, index: number) => { component.sectionDetails[sec].fields[index].forEach((field: any) => { field.typeOfComponent = 'StateManagement'; delete field.dataverse; }); }); } else { component.sectionDetails[sec].fields.forEach((field: any) => { field.typeOfComponent = 'StateManagement'; delete field.dataverse; }); } } }); } }); export const sourceAlignedDataProductExtract = _.cloneDeep(dpExtract); sourceAlignedDataProductExtract.forEach((t) => { t.nameOfComponent = 'sourceAlignedDataProduct'; if (t.sectionDetails.basic.fields) { t.sectionDetails.basic.fields.forEach((field) => { field.nameOfComponent = 'sourceAlignedDataProduct'; }); } }); export const aggregatedDataProductExtract = _.cloneDeep(dpExtract); aggregatedDataProductExtract.forEach((t) => { t.nameOfComponent = 'aggregatedDataProduct'; if (t.sectionDetails.basic.fields) { t.sectionDetails.basic.fields.forEach((field) => { field.nameOfComponent = 'aggregatedDataProduct'; }); } }); export const consumptionReadyDataProductExtract = _.cloneDeep(dpExtract); consumptionReadyDataProductExtract.forEach((t) => { t.nameOfComponent = 'consumptionReadyDataProduct'; if (t.sectionDetails.basic.fields) { t.sectionDetails.basic.fields.forEach((field) => { field.nameOfComponent = 'consumptionReadyDataProduct'; }); } });