Use the Discovery application (CLI version)
No installation is required: launch the application file, which you can download here.
(Pictured is the Windows CLI)
Running Modes
The application can be run in two modes:
-
Direct Mode: Execute commands directly from your terminal
bigenius-discovery <command> [options]
-
Interactive Mode: Start an interactive shell session
bigenius-discovery
Commands
discover
The discover
command is used to run discovery processes including loading source system data and generating discovery files. Both processes are being executed by a single discover
command.
If values for the argument --api-connection-properties
are provided, then the command will upload the discovery file directly to the data marketplace of your organization. If this property is not provided the command will save the generated discovery file directly to disc on the local machine.
Usage: discover [discovery-name] [options]
Options:
-
<discovery-name>
: Name of the discovery configuration to run -
--output, -o
: Custom output path for the discovery file -
--property, -p
: Sensitive properties (e.g., passwords) in format 'PropertyName=Value' -
--api-connection-properties, -api
: API connection properties in format 'PropertyName=Value'. Can be specified multiple times for different properties. Used to configure the API storage adapter. Available properties are:-
ClientId
(string, mandatory) -
ClientSecret
(string, mandatory) -
SourceSystemName
(string, mandatory) -
Version
(string, mandatory) -
Description
(string, optional)
-
-
--list, -l
: List all available discovery configurations -
--list-sensitive, -ls
: List sensitive properties for configurations
Examples:
# List all configurations
discover --list
# List sensitive properties for all configurations
discover --list-sensitive
# List sensitive properties for a specific configuration
discover MyConfig --list-sensitive
# Run a discovery with sensitive properties
discover MyConfig --property Password=mypass ApiKey=mykey
# Run a discovery with sensitive properties and upload discovery file to biGENIUS-X data marketplace.
discover MyConfig --property Password=mypass --api-connection-properties ClientId="xyz" ClientSecret="mySecret" SourceSystemName="AdventureWorks" Version="1.0.0"
# Run a discovery with custom output path
discover MyConfig --output "C:\Output\my-discovery.yaml"
If you have multiple discoveries with the same name, all of them will be retrieved and discovered with the same command. If you want to avoid having multiple discoveries running at the same time, make sure that each discovery configuration has a unique name.
create
The create
command is used to create new discovery configurations.
Usage: create <discovery-type> --name <name> [options]
Options:
-
<discovery-type>
: Type of discovery configuration to create -
--name, -n
: Name for the new configuration -
--properties, -p
: Configuration properties in format 'PropertyName=Value' -
--properties-file, -f
: Path to a file containing properties (supports .csv, .env, .ini, .json, .toml, .xml, .yaml, .yml) -
--list, -l
: List all available discovery types
Examples:
# List available discovery types
create --list
# Create a SQL Server configuration with command line properties
create "SQL Server" --name "MyDatabase" --properties Server="localhost" Database="mydatabase" AuthenticationType="SQL Server Authentication" User="sa" Schema="dbo"
# Create a configuration using a properties file
create "SQL Server" --name "MyDatabase" --properties-file "config.json"
# Create a configuration using a CSV file
create "SQL Server" --name "MyDatabase" --properties-file "config.csv"
# Create a configuration using an environment file
create "SQL Server" --name "MyDatabase" --properties-file ".env"
# Create a configuration using a YAML file
create "SQL Server" --name "MyDatabase" --properties-file "config.yaml"
Escaping Characters: If you want to use special characters like \\ or " in your command, you need to escape them properly like \\" or \\\\.
When using a properties file, the file format will be automatically detected based on the file extension. Supported formats include:
-
CSV (.csv)
-
Environment files (.env)
-
INI files (.ini)
-
JSON files (.json)
-
TOML files (.toml)
-
XML files (.xml)
-
YAML files (.yaml, .yml)
More information and additional examples for external config files can be found here.
create-and-discover
The create-and-discover command creates a new discovery configuration and immediately runs the discovery process.
--api-connection-properties
are provided, then the command will upload the discovery file directly to the data marketplace of your organization. If this property is not provided, the command will save the generated discovery file directly to disc on the local machine.Usage: create-and-discover <discovery-type> [options]
Options:
-
<discovery-type>
: Type of discovery configuration to create -
--name, -n
: Name for the new configuration -
--properties, -p
: Configuration properties in format 'PropertyName=Value' -
--properties-file, -f
: Path to a file containing properties (supports .csv, .env, .ini, .json, .toml, .xml, .yaml, .yml) -
--output, -o
: Custom output path for the discovery file -
--property, -sp
: Sensitive properties in format 'PropertyName=Value' -
--api-connection-properties, -api
: API connection properties in format 'PropertyName=Value'. Can be specified multiple times for different properties. Used to configure the API storage adapter. Available properties are:-
ClientId
(string, mandatory) -
ClientSecret
(string, mandatory) -
SourceSystemName
(string, mandatory) -
Version
(string, mandatory) -
Description
(string, optional)
-
-
--list, -l
: List all available discovery types -
--delete-after, -d
: Delete the discovery configuration after running discovery
Examples:
# Create and run a discovery with properties
create-and-discover "SQL Server" --name "MyDatabase" --properties Server="localhost" Database="mydatabase"
# Create and run a discovery with properties file and sensitive properties
create-and-discover "SQL Server" --name "MyDatabase" --properties-file "config.json" --property Password="mypass"
# Create and run a discovery with deletion after completion
create-and-discover "SQL Server" --name "TempDB" --properties-file "config.json" --property Password="mypass" --delete-after
# Create and upload a discovery to the biGENIUX-X data marketplace API.
create-and-discover "SQL Server" --name "TempDB" --properties-file "config.json" --property Password="mypass" --api-connection-properties ClientId="xyz" ClientSecret="mySecret" SourceSystemName="AdventureWorks" Version="1.0.0" --delete-after
-
CSV (.csv)
-
Environment files (.env)
-
INI files (.ini)
-
JSON files (.json)
-
TOML files (.toml)
-
XML files (.xml)
-
YAML files (.yaml, .yml)
More information and additional examples for external config files can be found here.
edit
The edit
command allows modification of existing discovery configurations.
Usage: edit <discovery-name> --properties <properties>
Options:
-
<discovery-name>
: Name of the configuration to edit -
--properties, -p
: Properties to update in format 'PropertyName=Value'
Examples:
# Update server and database properties
edit MyDatabase --properties Server="newserver" Database="newdb"
# Update multiple properties
edit MyConfig --properties User="newuser" Password="newpass" Server="newserver"
If you have multiple discoveries with the same name, all of them will be updated with the same values in one command. If you want to avoid updating multiple discoveries being updated at the same time, make sure that each discovery configuration has a unique name.
delete
The delete
command removes existing discovery configurations.
Usage: delete <discovery-name>
Examples:
# Delete a configuration
delete MyDatabase
If you have multiple discoveries with the same name, all of them will be updated with the same values in one command. If you want to avoid updating multiple discoveries being updated at the same time, make sure that each discovery configuration has a unique name.
inspect
The inspect
command provides detailed information about discovery types or configurations.
Usage: inspect [options]
Options:
-
--type, -t
: Inspect the required properties and allowed values for a discovery configuration type -
--name, -n
: Inspect the properties and values of an existing discovery configuration
Examples:
# Inspect a discovery type
inspect --type "SQL Server"
# Inspect a configuration
inspect --name MyDatabase
Interactive Mode
In interactive mode, the CLI provides a shell-like interface with command history and enhanced usability.
Features:
-
Command history (accessible with up/down arrow keys)
-
Built-in help system
Commands in Interactive Mode:
# Start interactive mode
bigenius-discovery
# Get help
> help
# Exit interactive mode
> exit
# or
> quit
Examples
Check out the article Do a Discovery with the biGENIUS Discovery App CLI (Walkthrough).
Demonstration video