@servicenow/sdk - v4.4.1
    Preparing search index...
    interface sys_data_source {
        batch_size: Typed<
            number,
            {
                default: "1000";
                label: [
                    {
                        hint: "Size of each batch during import";
                        label: "Batch Size";
                        language: "en";
                        plural: "Batch Sizes";
                    },
                ];
            },
        >;
        category: Typed<string, { label: "Category" }>;
        connection_override_last_success_time: Typed<
            string
            | number,
            {
                columnType: "simple_name_values";
                label: "Connection override last success time";
                maxLength: 4000;
            },
        >;
        connection_timeout: Typed<
            number,
            {
                default: "0";
                label: [
                    {
                        hint: "Number of seconds before the MID server connection cache pool closes the connection and removes it. Zero means no timeout.";
                        label: "Connection timeout";
                        language: "en";
                        plural: "Connection timeouts";
                    },
                ];
            },
        >;
        connection_url: Typed<
            string,
            {
                attributes: { no_log: true };
                label: [
                    {
                        hint: "JDBC connection string, FTP or HTTP site, or 'upload'";
                        label: "Connection URL";
                        language: "en";
                        plural: "Connection URLs";
                    },
                ];
                maxLength: 1000;
            },
        >;
        connection_url_parameters: Typed<
            string,
            {
                label: [
                    {
                        hint: "Optional properties appended to connection string Eg. connection string = jdbc:${database}://{server}:{port};(Connection URL properties)";
                        label: "Connection URL properties";
                        language: "en";
                        plural: "Connection URL properties";
                    },
                ];
                maxLength: 100;
            },
        >;
        csv_delimiter: Typed<
            ((string | number) & Record<never, never>)
            | ","
            | "|"
            | "\t",
            {
                choices: {
                    "\t": { label: "\\t" };
                    ",": { label: "," };
                    "|": { label: "|" };
                };
                dropdown: "suggestion";
                label: [
                    {
                        hint: "Delimiter for csv file";
                        label: "CSV delimiter";
                        language: "en";
                        plural: "CSV delimiters";
                    },
                ];
            },
        >;
        data_in_single_column: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Data in single column";
                        label: "Data in single column";
                        language: "en";
                        plural: "Data in single columns";
                    },
                ];
            },
        >;
        data_loader: Typed<
            string
            | ScriptModule<Function>,
            {
                default: "(function loadData(import_set_table, data_source, import_log, last_success_import_time, partition_info) {\n\n // Add your code here to insert data to import_set_table \n\n})(import_set_table, data_source, import_log, last_success_import_time, partition_info);";
                label: "Data Loader";
            },
        >;
        database_name: Typed<
            string,
            {
                label: [
                    {
                        hint: "Name of the database";
                        label: "Database name";
                        language: "en";
                        plural: "Database names";
                    },
                ];
            },
        >;
        database_port: Typed<
            string,
            {
                label: [
                    {
                        hint: "Port of the database server";
                        label: "Database port";
                        language: "en";
                        plural: "Database ports";
                    },
                ];
            },
        >;
        discard_arrays: Typed<
            boolean,
            {
                default: true;
                label: [
                    {
                        hint: "Determines whether to discard or serialize JSON arrays as a value";
                        label: "Discard Arrays";
                        language: "en";
                        plural: "Discard Arrays";
                    },
                ];
            },
        >;
        enable_parallel_loading: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Enable parallel loading to load data asynchronously in import set table";
                        label: "Enable parallel loading";
                        language: "en";
                        plural: "Enable parallel loadings";
                    },
                ];
            },
        >;
        expand_node_children: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Determines whether to load inner object attributes as new columns for selected JSON or XML nodes";
                        label: "Expand node children";
                        language: "en";
                        plural: "Expand node childrens";
                    },
                ];
            },
        >;
        file_path: Typed<
            string,
            {
                label: [
                    {
                        hint: "Path on the server of the file to import";
                        label: "File path";
                        language: "en";
                        plural: "File paths";
                    },
                ];
                maxLength: 100;
            },
        >;
        file_retrieval_method: Typed<
            | "Attachment"
            | "FTP"
            | "FTPS (Auth SSL)"
            | "FTPS (Auth TLS)"
            | "FTPS (Implicit SSL)"
            | "FTPS (Implicit TLS)"
            | "HTTP"
            | "HTTPS"
            | "SCP"
            | "SFTP",
            {
                choices: {
                    Attachment: { label: "Attachment"; sequence: 0 };
                    FTP: { label: "FTP"; sequence: 1 };
                    "FTPS (Auth SSL)": {
                        label: "FTPS (Auth SSL) [not recommended]";
                        sequence: 2;
                    };
                    "FTPS (Auth TLS)": {
                        label: "FTPS (Auth TLS) [not recommended]";
                        sequence: 3;
                    };
                    "FTPS (Implicit SSL)": {
                        label: "FTPS (Implicit SSL) [not recommended]";
                        sequence: 4;
                    };
                    "FTPS (Implicit TLS)": {
                        label: "FTPS (Implicit TLS) [not recommended]";
                        sequence: 5;
                    };
                    HTTP: { label: "HTTP"; sequence: 6 };
                    HTTPS: { label: "HTTPS"; sequence: 7 };
                    SCP: { label: "SCP"; sequence: 8 };
                    SFTP: { label: "SFTP"; sequence: 9 };
                };
                default: "Attachment";
                dropdown: "dropdown_without_none";
                label: [
                    {
                        hint: "The retrieval method for this file";
                        label: "File retrieval method";
                        language: "en";
                        plural: "File retrieval methods";
                    },
                ];
            },
        >;
        format: Typed<
            | "XML"
            | "CSV"
            | "com.ibm.db2.jcc.DB2Driver"
            | "com.microsoft.sqlserver.jdbc.SQLServerDriver"
            | "com.sybase.jdbc3.jdbc.SybDriver"
            | "CSV (tab)"
            | "Custom (Parse by Script)"
            | "Excel"
            | "JSON"
            | "oracle.jdbc.OracleDriver"
            | "org.mariadb.jdbc.Driver",
            {
                choices: {
                    "com.ibm.db2.jcc.DB2Driver": {
                        dependentValue: "JDBC";
                        inactive: true;
                        label: "DB2 Universal";
                    };
                    "com.microsoft.sqlserver.jdbc.SQLServerDriver": {
                        dependentValue: "JDBC";
                        label: "SQLServer";
                    };
                    "com.sybase.jdbc3.jdbc.SybDriver": {
                        dependentValue: "JDBC";
                        inactive: true;
                        label: "Sybase";
                    };
                    CSV: { dependentValue: "File"; label: "CSV" };
                    "CSV (tab)": { dependentValue: "File"; label: "CSV (tab)" };
                    "Custom (Parse by Script)": {
                        dependentValue: "File";
                        label: "Custom (Parse by Script)";
                    };
                    Excel: { dependentValue: "File"; label: "Excel (.xlsx/.xls)" };
                    JSON: { dependentValue: "REST"; label: "JSON" };
                    "oracle.jdbc.OracleDriver": { dependentValue: "JDBC"; label: "Oracle" };
                    "org.mariadb.jdbc.Driver": { dependentValue: "JDBC"; label: "MySQL" };
                    XML: { dependentValue: "File"; label: "XML" };
                };
                default: "CSV";
                dependent: "type";
                dropdown: "dropdown_without_none";
                label: [
                    {
                        hint: "Format of the data file";
                        label: "Format";
                        language: "en";
                        plural: "Formats";
                    },
                ];
                maxLength: 100;
            },
        >;
        glide_keystore: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Enable to use certificates from X.509 Certificates table for verification";
                        label: "System keystore";
                        language: "en";
                        plural: "System keystores";
                    },
                ];
            },
        >;
        header_row: Typed<
            number,
            {
                default: "0";
                label: [
                    {
                        hint: "Excel sheet row to load the column labels";
                        label: "Header row";
                        language: "en";
                        plural: "Header rows";
                    },
                ];
            },
        >;
        import_connection_alias: Typed<
            | string
            | Record<"sys_import_connection_alias">
            | ExplicitKey<"sys_import_connection_alias">
            | TableBrand<"sys_import_connection_alias">,
            {
                attributes: { encode_utf8: false };
                label: "Import connection alias";
                referenceTable: "sys_import_connection_alias";
            },
        >;
        import_set_table_label: Typed<
            string,
            {
                label: [
                    {
                        hint: "Label of the table that will be created for this data source";
                        label: "Import set table label";
                        language: "en";
                        plural: "Import set table labels";
                    },
                ];
            },
        >;
        import_set_table_name: Typed<
            string,
            {
                label: [
                    {
                        hint: "Name of the table that will be created for this data source";
                        label: "Import set table name";
                        language: "en";
                        plural: "Import set table names";
                    },
                ];
                mandatory: true;
                maxLength: 80;
            },
        >;
        instance_name: Typed<
            string,
            {
                label: [
                    {
                        hint: "Named instance for SQLServer";
                        label: "Instance name";
                        language: "en";
                        plural: "Instance names";
                    },
                ];
            },
        >;
        jdbc_password: Typed<
            string,
            {
                attributes: { is_legacy_password2: true };
                label: [
                    {
                        hint: "Password for the JDBC server";
                        label: "Password";
                        language: "en";
                        plural: "Passwords";
                    },
                ];
            },
        >;
        jdbc_server: Typed<
            string,
            {
                label: [
                    {
                        hint: "Server name for the JDBC connection";
                        label: "Server";
                        language: "en";
                        plural: "Servers";
                    },
                ];
            },
        >;
        jdbc_user_name: Typed<
            string,
            {
                label: [
                    {
                        hint: "Username for connecting to the JDBC server";
                        label: "Username";
                        language: "en";
                        plural: "Usernames";
                    },
                ];
            },
        >;
        jpath_root_node: Typed<
            string,
            {
                label: [
                    {
                        hint: "Path expression used to select JSON objects which will become rows in the import set table";
                        label: "Path for each row";
                        language: "en";
                        plural: "Path for each rows";
                    },
                ];
                maxLength: 100;
            },
        >;
        last_run_database_field: Typed<
            string,
            {
                label: [
                    {
                        hint: "Target database field that will use the timestamp for filtering data";
                        label: "Last run database field";
                        language: "en";
                        plural: "Last run database fields";
                    },
                ];
            },
        >;
        last_run_datetime: Typed<
            string,
            {
                label: [
                    {
                        hint: "Timestamp that will be used for filtering data, modify the 'DataSource run datetime' business rule to change its format";
                        label: "Last run datetime";
                        language: "en";
                        plural: "Last run datetimes";
                    },
                ];
                maxLength: 100;
            },
        >;
        last_success_import_time: Typed<
            `${number}-${number}-${number} ${number}:${number}:${number}`,
            {
                label: [
                    {
                        hint: "The start time of the last successful import";
                        label: "Last success import time";
                        language: "en";
                        plural: "Last success import times";
                    },
                ];
            },
        >;
        ldap_target: Typed<
            | string
            | Record<"ldap_ou_config">
            | ExplicitKey<"ldap_ou_config">
            | TableBrand<"ldap_ou_config">,
            {
                attributes: { encode_utf8: false };
                label: [
                    {
                        hint: "LDAP OU definition that defines what data to load";
                        label: "LDAP target";
                        language: "en";
                        plural: "LDAP targets";
                    },
                ];
                referenceTable: "ldap_ou_config";
            },
        >;
        ldapprobe_result_set_rows: Typed<
            number,
            {
                default: "200";
                label: [
                    {
                        hint: "The maximum number of results that will be returned per LDAPProbeResult ECC record (batch)";
                        label: "LDAPProbe result set rows";
                        language: "en";
                        plural: "LDAPProbe result set rows";
                    },
                ];
            },
        >;
        limit: Typed<
            number,
            {
                label: [
                    {
                        hint: "Maximum records per page";
                        label: "Limit";
                        language: "en";
                        plural: "Limits";
                    },
                ];
            },
        >;
        maximum_rows: Typed<
            number,
            {
                label: [
                    {
                        hint: "Limit this data source to return this maximum number of rows only. Used for testing";
                        label: "Maximum rows";
                        language: "en";
                        plural: "Maximum rows";
                    },
                ];
            },
        >;
        mid_server: Typed<
            | string
            | Record<"ecc_agent">
            | ExplicitKey<"ecc_agent">
            | TableBrand<"ecc_agent">,
            {
                attributes: { encode_utf8: false };
                label: [
                    {
                        hint: "MID server to use to access the JDBC server";
                        label: "Use MID Server";
                        language: "en";
                        plural: "Use MID Servers";
                    },
                ];
                referenceTable: "ecc_agent";
            },
        >;
        name: Typed<
            string,
            {
                label: [
                    {
                        hint: "Unique name of this data source";
                        label: "Name";
                        language: "en";
                        plural: "Names";
                    },
                ];
                mandatory: true;
            },
        >;
        offset: Typed<
            number,
            {
                default: "0";
                label: [
                    {
                        hint: "Initial offset used for pagination";
                        label: "Offset";
                        language: "en";
                        plural: "Offsets";
                    },
                ];
            },
        >;
        oracle_port: Typed<string, { default: "1521"; label: "Oracle port" }>;
        oracle_sid: Typed<string, { default: "orcl"; label: "Oracle sid" }>;
        parallel_loading_script: Typed<
            string
            | ScriptModule<Function>,
            {
                default: "(function loadTasks(parallel_job_loader, data_source, import_log, last_success_import_time) {&#13;\n&#13;\n\t// Invoke third party API, create partitions and insert partitions info in parallel job table&#13;\n&#13;\n})(parallel_job_loader, data_source, import_log, last_success_import_time);";
                label: "Parallel loading script";
            },
        >;
        parsing_script: Typed<
            string
            | ScriptModule<Function>,
            {
                default: "// The input value can be accessed through the variables named \"line\", \"lineNumber\" and \"result\"&#13;// The function uses result variable to return parse result back. &#13;(function(line,lineNumber,result) {&#13;\t// add code here&#13;})(line,lineNumber,result);";
                label: "Parsing script";
            },
        >;
        properties: Typed<
            string,
            {
                label: [
                    {
                        hint: "Additional comma delimited properties for JDBC connection, eg. separator=\\t,fileExtension=.txt";
                        label: "Properties";
                        language: "en";
                        plural: "Properties";
                    },
                ];
                maxLength: 100;
            },
        >;
        query: Typed<
            "All Rows from Table"
            | "Specific SQL",
            {
                choices: {
                    "All Rows from Table": { label: "All Rows from Table" };
                    "Specific SQL": { label: "Specific SQL" };
                };
                default: "All Rows from Table";
                dropdown: "dropdown_without_none";
                label: [
                    {
                        hint: "Query type. Query all data from a table or run a specific SQL statement";
                        label: "Query";
                        language: "en";
                        plural: "Queries";
                    },
                ];
            },
        >;
        query_timeout: Typed<
            number,
            {
                default: "0";
                label: [
                    {
                        hint: "Number of seconds the JDBC driver will wait for a query to complete. Zero means no timeout. If timeout is exceeded, the integration considers the JDBC result inaccessible and places it in an error state.";
                        label: "Query timeout";
                        language: "en";
                        plural: "Query timeouts";
                    },
                ];
            },
        >;
        request_action: Typed<
            | string
            | Record<"sys_hub_action_type_definition">
            | ExplicitKey<"sys_hub_action_type_definition">
            | TableBrand<"sys_hub_action_type_definition">,
            {
                attributes: {
                    encode_utf8: false;
                    ref_ac_columns: "sys_scope";
                    ref_auto_completer: "AJAXTableCompleter";
                    ref_contributions: "configure_datasource_request_action";
                };
                label: [
                    {
                        hint: "The Data Source Request action that will be invoked to get data";
                        label: "Request action";
                        language: "en";
                        plural: "Request actions";
                    },
                ];
                referenceQual: "action_template=DATASOURCE_REQUEST^state=published^EQ";
                referenceTable: "sys_hub_action_type_definition";
            },
        >;
        scp_authentication: Typed<
            "Username and Password"
            | "Public key",
            {
                choices: {
                    "Public key": { inactive: true; label: "Public key" };
                    "Username and Password": { label: "Username and Password" };
                };
                default: "Username and Password";
                dropdown: "dropdown_with_none";
                label: [
                    {
                        label: "SCP authentication method";
                        language: "en";
                        plural: "SCP authentication methods";
                    },
                ];
            },
        >;
        scp_password: Typed<
            string,
            {
                attributes: { is_legacy_password2: true };
                label: [
                    {
                        hint: "Password for the remote server";
                        label: "Password";
                        language: "en";
                        plural: "Passwords";
                    },
                ];
            },
        >;
        scp_port: Typed<
            string,
            {
                label: [
                    {
                        hint: "SCP port to connect";
                        label: "Port";
                        language: "en";
                        plural: "Ports";
                    },
                ];
            },
        >;
        scp_server: Typed<
            string,
            {
                label: [
                    {
                        hint: "Domain name or IP address of the server where the file is stored";
                        label: "Server";
                        language: "en";
                        plural: "Servers";
                    },
                ];
            },
        >;
        scp_user_name: Typed<
            string,
            {
                label: [
                    {
                        hint: "Username for the remote server";
                        label: "Username";
                        language: "en";
                        plural: "Usernames";
                    },
                ];
            },
        >;
        sheet_name: Typed<
            number,
            { default: "1"; dropdown: "dropdown_without_none"; label: "Sheet name" },
        >;
        sheet_number: Typed<
            number,
            {
                default: "0";
                label: [
                    {
                        hint: "Excel sheet number to load data";
                        label: "Sheet number";
                        language: "en";
                        plural: "Sheet numbers";
                    },
                ];
            },
        >;
        sql_statement: Typed<
            string,
            {
                label: [
                    {
                        hint: "Full SQL statement to query the JDBC database";
                        label: "SQL statement";
                        language: "en";
                        plural: "SQL statements";
                    },
                ];
                maxLength: 4000;
            },
        >;
        ssh_keyfile_path: Typed<
            string,
            {
                label: [
                    {
                        hint: "The file path that contains the SSH private key";
                        label: "Private keyfile";
                        language: "en";
                        plural: "Private keyfiles";
                    },
                ];
            },
        >;
        support_pagination: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Enable pagination for request action";
                        label: "Support pagination";
                        language: "en";
                        plural: "Support paginations";
                    },
                ];
            },
        >;
        sys_id: Typed<
            string,
            {
                label: [{ label: "Sys ID"; language: "en"; plural: "Sys IDs" }];
                primary: true;
            },
        >;
        table_name: Typed<
            string,
            {
                label: [
                    {
                        hint: "JDBC table to select all rows from";
                        label: "Table name";
                        language: "en";
                        plural: "Table names";
                    },
                ];
            },
        >;
        type: Typed<
            "File"
            | "JDBC"
            | "LDAP"
            | "OIDC"
            | "REST"
            | "CUSTOM",
            {
                choices: {
                    CUSTOM: { label: "Custom (Load by Script)"; sequence: 70 };
                    File: { label: "File"; sequence: 10 };
                    JDBC: { label: "JDBC"; sequence: 20 };
                    LDAP: { label: "LDAP"; sequence: 30 };
                    OIDC: { label: "OIDC"; sequence: 40 };
                    REST: { label: "REST (IntegrationHub)"; sequence: 50 };
                };
                default: "File";
                dropdown: "dropdown_with_none";
                label: [
                    {
                        hint: "Data storage type of the data to be imported";
                        label: "Type";
                        language: "en";
                        plural: "Types";
                    },
                ];
                mandatory: true;
            },
        >;
        use_batch_import: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Use batch insert to import set table";
                        label: "Use Batch Import";
                        language: "en";
                        plural: "Use Batch Imports";
                    },
                ];
            },
        >;
        use_import_connection_alias: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Use import connection alias to specify connection details";
                        label: "Use import connection alias";
                        language: "en";
                        plural: "Use import connection alias";
                    },
                ];
            },
        >;
        use_integrated_authentication: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Windows JDBC integrated authentication";
                        label: "Use integrated authentication";
                        language: "en";
                        plural: "Use integrated authentications";
                    },
                ];
            },
        >;
        use_last_run_datetime: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Filter data to only query new or updated records since the last run";
                        label: "Use last run datetime";
                        language: "en";
                        plural: "Use last run datetimes";
                    },
                ];
            },
        >;
        xpath_root_node: Typed<
            string,
            {
                label: [
                    {
                        hint: "The XPath expression to select the XML nodes which should become rows in the import set table";
                        label: "XPath for each row";
                        language: "en";
                        plural: "Xpath root nodes";
                    },
                ];
                maxLength: 100;
            },
        >;
        zipped: Typed<
            boolean,
            {
                default: false;
                label: [
                    {
                        hint: "Specify whether the file is zipped";
                        label: "Zipped";
                        language: "en";
                        plural: "Zipped";
                    },
                ];
            },
        >;
    }

    Hierarchy (View Summary)

    Index

    Properties

    batch_size: Typed<
        number,
        {
            default: "1000";
            label: [
                {
                    hint: "Size of each batch during import";
                    label: "Batch Size";
                    language: "en";
                    plural: "Batch Sizes";
                },
            ];
        },
    >
    category: Typed<string, { label: "Category" }>
    connection_override_last_success_time: Typed<
        string
        | number,
        {
            columnType: "simple_name_values";
            label: "Connection override last success time";
            maxLength: 4000;
        },
    >
    connection_timeout: Typed<
        number,
        {
            default: "0";
            label: [
                {
                    hint: "Number of seconds before the MID server connection cache pool closes the connection and removes it. Zero means no timeout.";
                    label: "Connection timeout";
                    language: "en";
                    plural: "Connection timeouts";
                },
            ];
        },
    >
    connection_url: Typed<
        string,
        {
            attributes: { no_log: true };
            label: [
                {
                    hint: "JDBC connection string, FTP or HTTP site, or 'upload'";
                    label: "Connection URL";
                    language: "en";
                    plural: "Connection URLs";
                },
            ];
            maxLength: 1000;
        },
    >
    connection_url_parameters: Typed<
        string,
        {
            label: [
                {
                    hint: "Optional properties appended to connection string Eg. connection string = jdbc:${database}://{server}:{port};(Connection URL properties)";
                    label: "Connection URL properties";
                    language: "en";
                    plural: "Connection URL properties";
                },
            ];
            maxLength: 100;
        },
    >
    csv_delimiter: Typed<
        ((string | number) & Record<never, never>)
        | ","
        | "|"
        | "\t",
        {
            choices: {
                "\t": { label: "\\t" };
                ",": { label: "," };
                "|": { label: "|" };
            };
            dropdown: "suggestion";
            label: [
                {
                    hint: "Delimiter for csv file";
                    label: "CSV delimiter";
                    language: "en";
                    plural: "CSV delimiters";
                },
            ];
        },
    >
    data_in_single_column: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Data in single column";
                    label: "Data in single column";
                    language: "en";
                    plural: "Data in single columns";
                },
            ];
        },
    >
    data_loader: Typed<
        string
        | ScriptModule<Function>,
        {
            default: "(function loadData(import_set_table, data_source, import_log, last_success_import_time, partition_info) {\n\n // Add your code here to insert data to import_set_table \n\n})(import_set_table, data_source, import_log, last_success_import_time, partition_info);";
            label: "Data Loader";
        },
    >
    database_name: Typed<
        string,
        {
            label: [
                {
                    hint: "Name of the database";
                    label: "Database name";
                    language: "en";
                    plural: "Database names";
                },
            ];
        },
    >
    database_port: Typed<
        string,
        {
            label: [
                {
                    hint: "Port of the database server";
                    label: "Database port";
                    language: "en";
                    plural: "Database ports";
                },
            ];
        },
    >
    discard_arrays: Typed<
        boolean,
        {
            default: true;
            label: [
                {
                    hint: "Determines whether to discard or serialize JSON arrays as a value";
                    label: "Discard Arrays";
                    language: "en";
                    plural: "Discard Arrays";
                },
            ];
        },
    >
    enable_parallel_loading: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Enable parallel loading to load data asynchronously in import set table";
                    label: "Enable parallel loading";
                    language: "en";
                    plural: "Enable parallel loadings";
                },
            ];
        },
    >
    expand_node_children: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Determines whether to load inner object attributes as new columns for selected JSON or XML nodes";
                    label: "Expand node children";
                    language: "en";
                    plural: "Expand node childrens";
                },
            ];
        },
    >
    file_path: Typed<
        string,
        {
            label: [
                {
                    hint: "Path on the server of the file to import";
                    label: "File path";
                    language: "en";
                    plural: "File paths";
                },
            ];
            maxLength: 100;
        },
    >
    file_retrieval_method: Typed<
        | "Attachment"
        | "FTP"
        | "FTPS (Auth SSL)"
        | "FTPS (Auth TLS)"
        | "FTPS (Implicit SSL)"
        | "FTPS (Implicit TLS)"
        | "HTTP"
        | "HTTPS"
        | "SCP"
        | "SFTP",
        {
            choices: {
                Attachment: { label: "Attachment"; sequence: 0 };
                FTP: { label: "FTP"; sequence: 1 };
                "FTPS (Auth SSL)": {
                    label: "FTPS (Auth SSL) [not recommended]";
                    sequence: 2;
                };
                "FTPS (Auth TLS)": {
                    label: "FTPS (Auth TLS) [not recommended]";
                    sequence: 3;
                };
                "FTPS (Implicit SSL)": {
                    label: "FTPS (Implicit SSL) [not recommended]";
                    sequence: 4;
                };
                "FTPS (Implicit TLS)": {
                    label: "FTPS (Implicit TLS) [not recommended]";
                    sequence: 5;
                };
                HTTP: { label: "HTTP"; sequence: 6 };
                HTTPS: { label: "HTTPS"; sequence: 7 };
                SCP: { label: "SCP"; sequence: 8 };
                SFTP: { label: "SFTP"; sequence: 9 };
            };
            default: "Attachment";
            dropdown: "dropdown_without_none";
            label: [
                {
                    hint: "The retrieval method for this file";
                    label: "File retrieval method";
                    language: "en";
                    plural: "File retrieval methods";
                },
            ];
        },
    >
    format: Typed<
        | "XML"
        | "CSV"
        | "com.ibm.db2.jcc.DB2Driver"
        | "com.microsoft.sqlserver.jdbc.SQLServerDriver"
        | "com.sybase.jdbc3.jdbc.SybDriver"
        | "CSV (tab)"
        | "Custom (Parse by Script)"
        | "Excel"
        | "JSON"
        | "oracle.jdbc.OracleDriver"
        | "org.mariadb.jdbc.Driver",
        {
            choices: {
                "com.ibm.db2.jcc.DB2Driver": {
                    dependentValue: "JDBC";
                    inactive: true;
                    label: "DB2 Universal";
                };
                "com.microsoft.sqlserver.jdbc.SQLServerDriver": {
                    dependentValue: "JDBC";
                    label: "SQLServer";
                };
                "com.sybase.jdbc3.jdbc.SybDriver": {
                    dependentValue: "JDBC";
                    inactive: true;
                    label: "Sybase";
                };
                CSV: { dependentValue: "File"; label: "CSV" };
                "CSV (tab)": { dependentValue: "File"; label: "CSV (tab)" };
                "Custom (Parse by Script)": {
                    dependentValue: "File";
                    label: "Custom (Parse by Script)";
                };
                Excel: { dependentValue: "File"; label: "Excel (.xlsx/.xls)" };
                JSON: { dependentValue: "REST"; label: "JSON" };
                "oracle.jdbc.OracleDriver": { dependentValue: "JDBC"; label: "Oracle" };
                "org.mariadb.jdbc.Driver": { dependentValue: "JDBC"; label: "MySQL" };
                XML: { dependentValue: "File"; label: "XML" };
            };
            default: "CSV";
            dependent: "type";
            dropdown: "dropdown_without_none";
            label: [
                {
                    hint: "Format of the data file";
                    label: "Format";
                    language: "en";
                    plural: "Formats";
                },
            ];
            maxLength: 100;
        },
    >
    glide_keystore: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Enable to use certificates from X.509 Certificates table for verification";
                    label: "System keystore";
                    language: "en";
                    plural: "System keystores";
                },
            ];
        },
    >
    header_row: Typed<
        number,
        {
            default: "0";
            label: [
                {
                    hint: "Excel sheet row to load the column labels";
                    label: "Header row";
                    language: "en";
                    plural: "Header rows";
                },
            ];
        },
    >
    import_connection_alias: Typed<
        | string
        | Record<"sys_import_connection_alias">
        | ExplicitKey<"sys_import_connection_alias">
        | TableBrand<"sys_import_connection_alias">,
        {
            attributes: { encode_utf8: false };
            label: "Import connection alias";
            referenceTable: "sys_import_connection_alias";
        },
    >
    import_set_table_label: Typed<
        string,
        {
            label: [
                {
                    hint: "Label of the table that will be created for this data source";
                    label: "Import set table label";
                    language: "en";
                    plural: "Import set table labels";
                },
            ];
        },
    >
    import_set_table_name: Typed<
        string,
        {
            label: [
                {
                    hint: "Name of the table that will be created for this data source";
                    label: "Import set table name";
                    language: "en";
                    plural: "Import set table names";
                },
            ];
            mandatory: true;
            maxLength: 80;
        },
    >
    instance_name: Typed<
        string,
        {
            label: [
                {
                    hint: "Named instance for SQLServer";
                    label: "Instance name";
                    language: "en";
                    plural: "Instance names";
                },
            ];
        },
    >
    jdbc_password: Typed<
        string,
        {
            attributes: { is_legacy_password2: true };
            label: [
                {
                    hint: "Password for the JDBC server";
                    label: "Password";
                    language: "en";
                    plural: "Passwords";
                },
            ];
        },
    >
    jdbc_server: Typed<
        string,
        {
            label: [
                {
                    hint: "Server name for the JDBC connection";
                    label: "Server";
                    language: "en";
                    plural: "Servers";
                },
            ];
        },
    >
    jdbc_user_name: Typed<
        string,
        {
            label: [
                {
                    hint: "Username for connecting to the JDBC server";
                    label: "Username";
                    language: "en";
                    plural: "Usernames";
                },
            ];
        },
    >
    jpath_root_node: Typed<
        string,
        {
            label: [
                {
                    hint: "Path expression used to select JSON objects which will become rows in the import set table";
                    label: "Path for each row";
                    language: "en";
                    plural: "Path for each rows";
                },
            ];
            maxLength: 100;
        },
    >
    last_run_database_field: Typed<
        string,
        {
            label: [
                {
                    hint: "Target database field that will use the timestamp for filtering data";
                    label: "Last run database field";
                    language: "en";
                    plural: "Last run database fields";
                },
            ];
        },
    >
    last_run_datetime: Typed<
        string,
        {
            label: [
                {
                    hint: "Timestamp that will be used for filtering data, modify the 'DataSource run datetime' business rule to change its format";
                    label: "Last run datetime";
                    language: "en";
                    plural: "Last run datetimes";
                },
            ];
            maxLength: 100;
        },
    >
    last_success_import_time: Typed<
        `${number}-${number}-${number} ${number}:${number}:${number}`,
        {
            label: [
                {
                    hint: "The start time of the last successful import";
                    label: "Last success import time";
                    language: "en";
                    plural: "Last success import times";
                },
            ];
        },
    >
    ldap_target: Typed<
        | string
        | Record<"ldap_ou_config">
        | ExplicitKey<"ldap_ou_config">
        | TableBrand<"ldap_ou_config">,
        {
            attributes: { encode_utf8: false };
            label: [
                {
                    hint: "LDAP OU definition that defines what data to load";
                    label: "LDAP target";
                    language: "en";
                    plural: "LDAP targets";
                },
            ];
            referenceTable: "ldap_ou_config";
        },
    >
    ldapprobe_result_set_rows: Typed<
        number,
        {
            default: "200";
            label: [
                {
                    hint: "The maximum number of results that will be returned per LDAPProbeResult ECC record (batch)";
                    label: "LDAPProbe result set rows";
                    language: "en";
                    plural: "LDAPProbe result set rows";
                },
            ];
        },
    >
    limit: Typed<
        number,
        {
            label: [
                {
                    hint: "Maximum records per page";
                    label: "Limit";
                    language: "en";
                    plural: "Limits";
                },
            ];
        },
    >
    maximum_rows: Typed<
        number,
        {
            label: [
                {
                    hint: "Limit this data source to return this maximum number of rows only. Used for testing";
                    label: "Maximum rows";
                    language: "en";
                    plural: "Maximum rows";
                },
            ];
        },
    >
    mid_server: Typed<
        | string
        | Record<"ecc_agent">
        | ExplicitKey<"ecc_agent">
        | TableBrand<"ecc_agent">,
        {
            attributes: { encode_utf8: false };
            label: [
                {
                    hint: "MID server to use to access the JDBC server";
                    label: "Use MID Server";
                    language: "en";
                    plural: "Use MID Servers";
                },
            ];
            referenceTable: "ecc_agent";
        },
    >
    name: Typed<
        string,
        {
            label: [
                {
                    hint: "Unique name of this data source";
                    label: "Name";
                    language: "en";
                    plural: "Names";
                },
            ];
            mandatory: true;
        },
    >
    offset: Typed<
        number,
        {
            default: "0";
            label: [
                {
                    hint: "Initial offset used for pagination";
                    label: "Offset";
                    language: "en";
                    plural: "Offsets";
                },
            ];
        },
    >
    oracle_port: Typed<string, { default: "1521"; label: "Oracle port" }>
    oracle_sid: Typed<string, { default: "orcl"; label: "Oracle sid" }>
    parallel_loading_script: Typed<
        string
        | ScriptModule<Function>,
        {
            default: "(function loadTasks(parallel_job_loader, data_source, import_log, last_success_import_time) {&#13;\n&#13;\n\t// Invoke third party API, create partitions and insert partitions info in parallel job table&#13;\n&#13;\n})(parallel_job_loader, data_source, import_log, last_success_import_time);";
            label: "Parallel loading script";
        },
    >
    parsing_script: Typed<
        string
        | ScriptModule<Function>,
        {
            default: "// The input value can be accessed through the variables named \"line\", \"lineNumber\" and \"result\"&#13;// The function uses result variable to return parse result back. &#13;(function(line,lineNumber,result) {&#13;\t// add code here&#13;})(line,lineNumber,result);";
            label: "Parsing script";
        },
    >
    properties: Typed<
        string,
        {
            label: [
                {
                    hint: "Additional comma delimited properties for JDBC connection, eg. separator=\\t,fileExtension=.txt";
                    label: "Properties";
                    language: "en";
                    plural: "Properties";
                },
            ];
            maxLength: 100;
        },
    >
    query: Typed<
        "All Rows from Table"
        | "Specific SQL",
        {
            choices: {
                "All Rows from Table": { label: "All Rows from Table" };
                "Specific SQL": { label: "Specific SQL" };
            };
            default: "All Rows from Table";
            dropdown: "dropdown_without_none";
            label: [
                {
                    hint: "Query type. Query all data from a table or run a specific SQL statement";
                    label: "Query";
                    language: "en";
                    plural: "Queries";
                },
            ];
        },
    >
    query_timeout: Typed<
        number,
        {
            default: "0";
            label: [
                {
                    hint: "Number of seconds the JDBC driver will wait for a query to complete. Zero means no timeout. If timeout is exceeded, the integration considers the JDBC result inaccessible and places it in an error state.";
                    label: "Query timeout";
                    language: "en";
                    plural: "Query timeouts";
                },
            ];
        },
    >
    request_action: Typed<
        | string
        | Record<"sys_hub_action_type_definition">
        | ExplicitKey<"sys_hub_action_type_definition">
        | TableBrand<"sys_hub_action_type_definition">,
        {
            attributes: {
                encode_utf8: false;
                ref_ac_columns: "sys_scope";
                ref_auto_completer: "AJAXTableCompleter";
                ref_contributions: "configure_datasource_request_action";
            };
            label: [
                {
                    hint: "The Data Source Request action that will be invoked to get data";
                    label: "Request action";
                    language: "en";
                    plural: "Request actions";
                },
            ];
            referenceQual: "action_template=DATASOURCE_REQUEST^state=published^EQ";
            referenceTable: "sys_hub_action_type_definition";
        },
    >
    scp_authentication: Typed<
        "Username and Password"
        | "Public key",
        {
            choices: {
                "Public key": { inactive: true; label: "Public key" };
                "Username and Password": { label: "Username and Password" };
            };
            default: "Username and Password";
            dropdown: "dropdown_with_none";
            label: [
                {
                    label: "SCP authentication method";
                    language: "en";
                    plural: "SCP authentication methods";
                },
            ];
        },
    >
    scp_password: Typed<
        string,
        {
            attributes: { is_legacy_password2: true };
            label: [
                {
                    hint: "Password for the remote server";
                    label: "Password";
                    language: "en";
                    plural: "Passwords";
                },
            ];
        },
    >
    scp_port: Typed<
        string,
        {
            label: [
                {
                    hint: "SCP port to connect";
                    label: "Port";
                    language: "en";
                    plural: "Ports";
                },
            ];
        },
    >
    scp_server: Typed<
        string,
        {
            label: [
                {
                    hint: "Domain name or IP address of the server where the file is stored";
                    label: "Server";
                    language: "en";
                    plural: "Servers";
                },
            ];
        },
    >
    scp_user_name: Typed<
        string,
        {
            label: [
                {
                    hint: "Username for the remote server";
                    label: "Username";
                    language: "en";
                    plural: "Usernames";
                },
            ];
        },
    >
    sheet_name: Typed<
        number,
        { default: "1"; dropdown: "dropdown_without_none"; label: "Sheet name" },
    >
    sheet_number: Typed<
        number,
        {
            default: "0";
            label: [
                {
                    hint: "Excel sheet number to load data";
                    label: "Sheet number";
                    language: "en";
                    plural: "Sheet numbers";
                },
            ];
        },
    >
    sql_statement: Typed<
        string,
        {
            label: [
                {
                    hint: "Full SQL statement to query the JDBC database";
                    label: "SQL statement";
                    language: "en";
                    plural: "SQL statements";
                },
            ];
            maxLength: 4000;
        },
    >
    ssh_keyfile_path: Typed<
        string,
        {
            label: [
                {
                    hint: "The file path that contains the SSH private key";
                    label: "Private keyfile";
                    language: "en";
                    plural: "Private keyfiles";
                },
            ];
        },
    >
    support_pagination: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Enable pagination for request action";
                    label: "Support pagination";
                    language: "en";
                    plural: "Support paginations";
                },
            ];
        },
    >
    sys_id: Typed<
        string,
        {
            label: [{ label: "Sys ID"; language: "en"; plural: "Sys IDs" }];
            primary: true;
        },
    >
    table_name: Typed<
        string,
        {
            label: [
                {
                    hint: "JDBC table to select all rows from";
                    label: "Table name";
                    language: "en";
                    plural: "Table names";
                },
            ];
        },
    >
    type: Typed<
        "File"
        | "JDBC"
        | "LDAP"
        | "OIDC"
        | "REST"
        | "CUSTOM",
        {
            choices: {
                CUSTOM: { label: "Custom (Load by Script)"; sequence: 70 };
                File: { label: "File"; sequence: 10 };
                JDBC: { label: "JDBC"; sequence: 20 };
                LDAP: { label: "LDAP"; sequence: 30 };
                OIDC: { label: "OIDC"; sequence: 40 };
                REST: { label: "REST (IntegrationHub)"; sequence: 50 };
            };
            default: "File";
            dropdown: "dropdown_with_none";
            label: [
                {
                    hint: "Data storage type of the data to be imported";
                    label: "Type";
                    language: "en";
                    plural: "Types";
                },
            ];
            mandatory: true;
        },
    >
    use_batch_import: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Use batch insert to import set table";
                    label: "Use Batch Import";
                    language: "en";
                    plural: "Use Batch Imports";
                },
            ];
        },
    >
    use_import_connection_alias: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Use import connection alias to specify connection details";
                    label: "Use import connection alias";
                    language: "en";
                    plural: "Use import connection alias";
                },
            ];
        },
    >
    use_integrated_authentication: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Windows JDBC integrated authentication";
                    label: "Use integrated authentication";
                    language: "en";
                    plural: "Use integrated authentications";
                },
            ];
        },
    >
    use_last_run_datetime: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Filter data to only query new or updated records since the last run";
                    label: "Use last run datetime";
                    language: "en";
                    plural: "Use last run datetimes";
                },
            ];
        },
    >
    xpath_root_node: Typed<
        string,
        {
            label: [
                {
                    hint: "The XPath expression to select the XML nodes which should become rows in the import set table";
                    label: "XPath for each row";
                    language: "en";
                    plural: "Xpath root nodes";
                },
            ];
            maxLength: 100;
        },
    >
    zipped: Typed<
        boolean,
        {
            default: false;
            label: [
                {
                    hint: "Specify whether the file is zipped";
                    label: "Zipped";
                    language: "en";
                    plural: "Zipped";
                },
            ];
        },
    >