@servicenow/sdk - v4.4.1
    Preparing search index...

    Variable sys_data_sourceConst

    sys_data_source: {
        allowWebServiceAccess: true;
        attributes: {
            "all_tables.text_index_translations": true;
            exclude_from_antivirus_scan: true;
            update_synch: true;
        };
        extends: "sys_metadata";
        label: "Data Source";
        name: "sys_data_source";
        schema: {
            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<
                StringWithSuggestions<"," | "|" | "\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";
                        },
                    ];
                },
            >;
        };
        textIndex: true;
    } = ...

    Type Declaration

    • ReadonlyallowWebServiceAccess: true
    • Readonlyattributes: {
          "all_tables.text_index_translations": true;
          exclude_from_antivirus_scan: true;
          update_synch: true;
      }
    • Readonlyextends: "sys_metadata"
    • Readonlylabel: "Data Source"
    • Readonlyname: "sys_data_source"
    • Readonlyschema: {
          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<
              StringWithSuggestions<"," | "|" | "\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";
                      },
                  ];
              },
          >;
      }
    • ReadonlytextIndex: true