111. Smart Replay User Configuration Management
Smart Replay is configured using the Python SDK within its virtual environment. The script configurations_api is part of the Smart Replay configuration management system in Foretify Manager. It introduces functionalities for creating, updating, deleting, and retrieving Smart Replay configurations. These configurable parameters are the configuration file to be imported into the generated OSC file of the extracted Smart Replay scenario, along with warmup time, cooldown time, and display name.
Additionally, the tool offers a CLI that enables you to manage configurations directly from the command line. Through this interface you can create a new configuration, update existing ones, delete configurations by display name, and retrieve configurations either by name or by fetching all available configurations.
This functionality is part of the new configuration management system tailored for Smart Replay, which is currently accessible only through the Early Access program.
111.1 Prerequisites
The Smart Replay configuration management tools executable is located at <installation-folder>/smart_replay_tools/bin.
Before using the Smart Replay configuration management tools, ensure you have the following software installed:
- Python 3.9 or above
- Foretify Manager Python SDK
Note
All tool executions (e.g., ./smart_replay_configurations_api) are located relative to the <installation-folder>/smart_replay_tools/bin directory.
Note
When adding environment variables through the CLI, it's important to escape the $ sign. Otherwise, bash will expand the environment variable.
To escape the $, use a backslash (\) before the dollar sign. Bash will then treat it as a regular character, and not as the start of an environment variable. For example:
create
--config_file "\$FTX/smart_replay/customers/customer_007/sr_config.osc"
111.2 Creating a new Smart Replay configuration
To create a new Smart Replay configuration, use the following syntax:
./smart_replay_configurations_api \
--host <host_address> \
--port <port_number> \
--user <user_name> \
--https \
create \
--config_file "<path/to/config_file>" \
--warmup <warmup_duration> \
--cooldown <cooldown_duration> \
--display_name "<configuration_display_name>" \
--warmup_limitation_group_name "<group_name>"
Where:
- warmup_limitation_group_name is optional. For more information, see Warmup limitations.
Example request
./smart_replay_configurations_api \
--host localhost \
--port 8080 \
--user adminfmanager \
--https \
create \
--config_file "$FTX_BASIC/exe_platforms/config/model_config.osc" \
--warmup 100 \
--cooldown 100 \
--display_name "New Configuration" \
--warmup_limitation_group_name "group-123"
Example output
create:
#######################
Configuration ID: 40c7b375a1c5adf64a72
Display Name: Base Configuration
default: False
Simulator Configuration: $FTX_BASIC/exe_platforms/config/model_config.osc
Warmup Time (milliseconds): 100
Cooldown Time (milliseconds): 100
Warmup Limitation Group Name: group-123
#######################
111.3 Setting the Default Smart Replay Configuration
To set a specific Smart Replay configuration as the default, identify it using either its unique --configuration_id or --display_name. At least one of these arguments must be provided. You can retrieve these values using the get_all or get_by_name commands.
Use the following syntax:
./smart_replay_configurations_api \
--host <host_address> \
--port <port_number> \
--user <user_name> \
--https \
set_default \
[--configuration_id "<configuration_id>"] \
[--display_name "<configuration_display_name>"]
Example request using display name
./smart_replay_configurations_api \
--host localhost \
--port 8080 \
--user adminfmanager \
--https \
set_default \
--display_name "Default Configuration"
Example request using configuration ID
./smart_replay_configurations_api \
--host localhost \
--port 8080 \
--user adminfmanager \
--https \
set_default \
--configuration_id "42b5bac5ef1a931b12a0"
Example output
Set default configuration:
#######################
Configuration ID: 42b5bac5ef1a931b12a0
Display Name: Default Configuration
default: True
OSC Configuration: $FTX_BASIC/smart_replay/customers/eur_trucks/sr_eur_trucks_config.osc
Warmup Time (milliseconds): 1500
Cooldown Time (milliseconds): 500
Warmup Limitation Group Name: group-456
#######################
111.4 Updating a Smart Replay configuration
To update the settings of an existing Smart Replay configuration, use the following syntax:
./smart_replay_configurations_api \
--host <host_address> \
--port <port_number> \
--user <user_name> \
--https \
update \
--config_file "<path/to/config_file>" \
--warmup <warmup_duration> \
--cooldown <cooldown_duration> \
--updated_display_name "<updated_configuration_display_name>" \
--display_name "<configuration_display_name>" \
--warmup_limitation_group_name "<group_name>"
Example request
./smart_replay_configurations_api \
--host localhost --port 8080 \
--user adminfmanager \
--https \
update \
--config_file "$FTX_BASIC/exe_platforms/config/model_config.osc" \
--warmup 20 \
--cooldown 100 \
--updated_display_name "Test0625" \
--display_name "New Configuration" \
--warmup_limitation_group_name "group-name"
Example output
update:
#######################
Configuration ID: 40c7b375a1c5adf64a72
Display Name: Test0625
default: False
Simulator Configuration: $FTX_BASIC/exe_platforms/config/model_config.osc
Warmup Time (milliseconds): 20
Cooldown Time (milliseconds): 100
Warmup Limitation Group Name: group-456
#######################
Note
Each Smart Replay configuration must have a unique display name. Creating or updating a configuration with a display name that already exists will result in an HTTP 409 Conflict error.
111.5 Retrieving the Default Smart Replay Configuration
To retrieve the Smart Replay configuration that is currently set as the default, use the following syntax:
./smart_replay_configurations_api \
--host <host_address> \
--port <port_number> \
--user <user_name> \
--https \
get_default
Example request
./smart_replay_configurations_api \
--host localhost \
--port 8080 \
--user adminfmanager \
--https \
get_default
Example output
Default configuration:
#######################
Configuration ID: 1
Display Name: Default Configuration
default: True
OSC Configuration: $FTX_BASIC/exe_platforms/config/model_config.osc
Warmup Time (milliseconds): 3000
Cooldown Time (milliseconds): 500
Warmup Limitation Group Name: group-123
#######################
111.6 Retrieving a Smart Replay configuration by Name
To retrieve a Smart Replay configuration by its display name, use the following syntax:
./smart_replay_configurations_api \
--host <host_address> \
--port <port_number> \
--user <user_name> \
--https \
get_by_name \
--display_name "<configuration_display_name>"
Example request
./smart_replay_configurations_api \
--host localhost \
--port 8080 \
--user adminfmanager \
--https \
get_by_name \
--display_name "Demo Configuration"
Example output
get by name:
#######################
Configuration ID: 42b5bac5ef1a931b12a0
Display Name: Demo Configuration
default: False
Simulator Configuration: $FTX_BASIC/exe_platforms/config/demo_config.osc
Warmup Time (milliseconds): 1500
Cooldown Time (milliseconds): 500
Warmup Limitation Group Name: group-789
#######################
Note
If no Smart Play configuration exists with the specified display name, an HTTP 404 error will be returned.
111.7 Retrieving all Smart Replay configurations
To retrieve all Smart Replay configurations, use the following syntax:
./smart_replay_configurations_api \
--host <host_address> \
--port <port_number> \
--user <user_name> \
--https \
get_all
Example request
./smart_replay_configurations_api \
--host localhost \
--port 8080 \
--user adminfmanager \
--https \
get_all
Example output
get all configurations:
#######################
Configuration ID: 1
Display Name: Default Configuration
default: true
Simulator Configuration: $FTX_BASIC/exe_platforms/config/model_config.osc
Warmup Time (milliseconds): 3000
Cooldown Time (milliseconds): 500
Warmup Limitation Group Name: group-123
#######################
#######################
Configuration ID: 42b5bac5ef1a931b12a0
Display Name: Eur Trucks Configuration
default: False
Simulator Configuration: $FTX_BASIC/smart_replay/customers/eur_trucks/sr_eur_trucks_config.osc
Warmup Time (milliseconds): 1500
Cooldown Time (milliseconds): 500
Warmup Limitation Group Name: group-456
#######################
#######################
Configuration ID: 459ea7bc46b83bad2654
Display Name: SR Configuration
default: False
Simulator Configuration: $FTX_BASIC/exe_platforms/sr/config/sr_config.osc
Warmup Time (milliseconds): 100
Cooldown Time (milliseconds): 100
Warmup Limitation Group Name: group-789
#######################
111.8 Deleting a Smart Replay configuration
Admin users can delete a specific Smart Replay configuration by its display name using the following syntax:
./smart_replay_configurations_api \
--host <host_address> \
--port <port_number> \
--user adminfmanager \
--https \
delete \
--display_name "<configuration_display_name>"
Example request
./smart_replay_configurations_api \
--host localhost \
--port 8080 \
--user adminfmanager \
--https \
delete \
--display_name "Demo Configuration"
Example output
Configuration deleted.