SiemplifyConnectors module
class SiemplifyConnectors.SiemplifyConnectorExecution
SiemplifyConnectors.SiemplifyConnectorExecution(mock_stdin=None)
Bases: SiemplifyBase
MAX_NUM_LOG_ROWS= 5000
extract_connector_param
extract_connector_param(param_name, default_value=None, input_type=<class 'str'>, is_mandatory=False, print_value=False)
Get a connector script parameter.
Each connector has parameters that are filled when it's configured. This method
allows extracting the value of a selected parameter of the currently running
connector.\
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
param_name | {string} | Name of the parameter | N/A | N/A |
default_value | {any} | The default value of the parameter. | N/A | (Optional) The given value will be returned if the parameter was not set (if is_mandatory is set to False ).Default is None |
input_type | {obj} | The type of the parameter. For example, {int} | N/A | (Optional) The returned value will be cast to the selected input type. Default is str |
is_mandatory | {boolean} | Defines whether the parameter is mandatory | N/A | If set to True and the parameter was not filled,an exception will be raised. Default is False |
print_value | {boolean} | Defines whether to output the fetched value of the parameter to the logs | N/A | Default is False |
Returns
The parameter value, {string} by default, unless input_type is specified.
Example
from SiemplifyConnectors import SiemplifyConnectorExecution
siemplify = SiemplifyConnectorExecution()
param_value= siemplify.extract_connectors_param(
"Logs Folder",
default_value="C:\\Siemplify_Server\\Scripting\\JobLogs",
input_type=str,
is_mandatory=False,
print_value=False)
Result behavior
The value of the selected parameter will be returned, casted to the selected type.
Result value
C:\Siemplify_Server\Scripting\SampleJob\Logs
fetch_and_save_timestamp
fetch_and_save_timestamp(datetime_format=False, timezone=False, new_timestamp=1683034181328)
Fetch timestamp and save it to the case context.
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
datetime_format | {boolean} | Format for date/time | True for getting in datetime format,False for Unix |
False by default (optional) |
timezone | Parameter not supported anymore | |||
new_timestamp | {int} | The time stamp to save | N/A | Unix time by default (optional) |
fetch_timestamp
fetch_timestamp(datetime_format=False, timezone=False)
Get the timestamp saved with save_timestamp
.
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
datetime_format | {boolean} | If True , return timestamp as datetime.Else, return in Unix |
True/False | False by default (optional) |
timezone | Parameter not supported anymore |
Returns
Saved Unix time/datetime.
get_connector_context_property
get_connector_context_property(identifier, property_key)
Get a connector context property.
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
identifier | {string} | Context identifier | N/A | N/A |
property_key | {string} | The requested key property | N/A | N/A |
Returns
{string} the property value
is_overflowed_alert
is_overflowed_alert(environment, alert_identifier, ingestion_time=1683034181328, original_file_path=None, original_file_content=None, alert_name=None, product=None, source_ip=None, source_host=None, destination_ip=None, destination_host=None)
Check if the alert is overflowed.
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
environment | {string} | Environment name | Example | N/A |
alert_identifier | {string} | Alert identifier | 12345 | N/A |
ingestion_time | {long} | Alert ingestion time | N/A | If not provided, defaults to current time (Unix time format) |
original_file_path | {string} | Path to the file containing the alert's original raw data | N/A | N/A |
original_file_content | {string} | Content of the file containing the alert's original raw data | N/A | N/A |
alert_name | {string} | Alert name | N/A | N/A |
product | {string} | The product name for the device that generated the alert | QRadar, Trellix ESM | N/A |
source_ip | {string} | The source IP address associated with the alert | 198.51.100.1 | N/A |
source_host | {string} | The source host address associated with the alert | source@example.com, source.example.com |
N/A |
destination_ip | {string} | Destination IP address associated with the alert | 203.0.113.1 | N/A |
destination_host | {string} | Destination host address associated with the alert | destination.example.com | N/A |
Returns
{boolean} True/False
Example
from SiemplifyConnectors import SiemplifyConnectorExecution
siemplify = SiemplifyConnectorExecution()
siemplify.is_overflowed_alert(environment, alert_identifier, ingestion_time=SiemplifyUtils.unix_now(), original_file_path, original_file_content, alert_name, product, source_ip, source_host, destination_ip, destination_host)
Result behavior
True
if the alert will be overflowed during the ingestion process. Otherwise,
False
.
Result value
True/False
property is_test_run
property log_location
property parameters
return_package
return_package(cases, output_variables={}, log_items=[])
Return data.
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
cases | {[CaseInfo]} | The list of CaseInfo objects | N/A | N/A |
output_variables | Deprecated | |||
log_items | Deprecated |
Returns
NoneType
Example
from SiemplifyConnectors import SiemplifyConnectorExecution siemplify = SiemplifyConnectorExecution() siemplify.return_package(cases, output_variables, log_items)
Result value
None
return_test_result
return_test_result(is_success, result_params_dictionary)
property run_folder
Build the run_folder
based on the script name.
Returns
{string} full path
Result value
C:Siemplify_ServerScriptingSiemplifyAction<script name>
save_timestamp
save_timestamp(datetime_format=False, timezone=False, new_timestamp=1683034181328)
Save timestamp to the current script context.
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
datetime_format | {boolean} | N/A | True for datetime format,False for Unix |
Default is False (optional) |
timezone | Parameter not supported anymore | |||
new_timestamp | {long} | Timestamp to save to context | N/A | Timestamp defaults to Unix timestamp of calling the method |
set_connector_context_property
set_connector_context_property(identifier, property_key, property_value)
Set a case context property using the key/value pair.
Parameters
Param name | Param type | Definition | Possible values | Comments |
---|---|---|---|---|
identifier | {string} | Context identifier | N/A | N/A |
property_key | {string} | Key of the property | N/A | N/A |
property_value | {string} | Value of the property | N/A | N/A |