SiemplifyJob module

class SiemplifyJob.SiemplifyJob

Bases: Siemplify

extract_job_param

extract_job_param(param_name, default_value=None, input_type=<class 'str'>, is_mandatory=False, print_value=False)

Get a configuration parameter from the integration instance.

Parameters

Param name Param type Definition Possible values Comments
param_name {string} Name of the parameter to fetch N/A N/A
default_value {any} The default value of the parameter (Optional)
The given value will be returned if the parameter was not set
(if is_mandatory is set to False).
None by default
input_type {obj} The type of the parameter N/A (Optional)
The returned value will be cast to the selected input type.
{str} by default
is_mandatory {boolean} Defines whether the parameter is mandatory N/A (Optional)
If set to True and the parameter was not filled, an exception will be raised. False by default
print_value {boolean} Defines whether to output the fetched value of the parameter to the logs. N/A (Optional)
False by default

Returns

The parameter value, string by default, unless input_type is specified.

Example

from SiemplifyJob import SiemplifyJob
siemplify = SiemplifyJob()
param_value= siemplify.extract_job_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=1683034181430)

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_configuration

get_configuration(provider, environment=None, integration_instance=None)

Get the integration configuration.

Parameters

Param name Param type Definition Possible values Comments
provider {string} Integration name VirusTotal Integration Provider name is case sensitive.
An error will be thrown if the integration is not installed
or the string does not exist
environment {string} Configuration for specific environment or ‘all' N/A (Optional)
If provided, the credentials will be taken from the relevant
environment's configuration. If no environment is stated,
the case's environment is used by default.
If there is no configuration for that specific
environment, the default configuration will be returned
integration_instance {string} Identifier of the integration instance N/A N/A

Returns

{dict} configuration details

Example

from SiemplifyJob import SiemplifyJob
siemplify = SiemplifyJob()
siemplify.get_configuration(provider="VirusTotal", environment="")

Result behavior

Dictionary with saved credentials for the integration from the Google Security Operations Marketplace will be returned.

Result value

{
u'AgentIdentifier': None,
u'Api Key': u'c0c412#########################4f85b22e707',
u'Verify SSL': u'True',
u'RunRemotely': u'False'
}

get_failed_actions

get_failed_actions(number_of_hours)

Get all the ETL jobs that have failed in the specified number of hours.

Returns

{dict} failed jobs

{‘Id':{string}, ‘Name':{string}, ‘Message':{string}, WorkflowId = {string}, CreationTime: {string}, CaseId:{string}}

get_failed_etljobs

get_failed_etljobs(number_of_hours)

Get all the ETL jobs that have failed in the specified number of hours.

Returns

{dict} failed jobs

{ ‘Id': {string}, ‘Name': {string}, Message: {string}, CreationTime: {string}}

get_faulted_connectors

get_faulted_connectors(start_unix_time, end_unix_time)

Get all the connectors that had failed time between start_unix_time and end_unix_time.

Returns

{dict} failed connectors

Result value

{‘Name': {string}, ‘Message': {string}, ‘CreationTime': {string}}

get_faulted_jobs

get_faulted_jobs(number_of_hours)

Get all the jobs that have failed in the specified number of hours.

Returns

{[dict]} failed jobs

Result value

[{‘Id': {long}, ‘Name':{string}, ‘Message':{string}, ‘CreationTime':{string}}]

get_job_context_property

get_job_context_property(identifier, property_key)

Get a job context value by the given key.

Parameters

Param name Param type Definition Possible values Comments
identifier {string} Context identifier N/A N/A
property_key {string} The key of the property to fetch N/A N/A

get_scoped_job_context_property

get_scoped_job_context_property(property_key)

Get scoped job context property using the unique identifier of a job.

Parameters

Param name Param type Definition Possible values Comments
property_key {string} The key of the job's context property N/A N/A

Returns

Value of a specific key.

get_system_info

get_system_info(start_time_unixtime_ms)

property log_location

save_publisher_logs

save_publisher_logs(records)

Save publisher log records.

Parameters

Param name Param type Definition Possible values Comments
records {list} Records to save N/A N/A

save_timestamp

save_timestamp(datetime_format=False, timezone=False, new_timestamp=1683034181430)

Save timestamp.

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

send_mail

send_mail(subject, message, recipients, attachment_file_name, attachment_content)

Send an email (attachments allowed).

Parameters

Param name Param type Definition Possible values Comments
subject {string} Email subject N/A N/A
message {string} Email message N/A N/A
attachment_file_name {string} Attachment file name N/A N/A
recipients {[{string}]} List of recipients N/A N/A

set_job_context_property

set_job_context_property(identifier, property_key, property_value)

Set scoped job context property using the unique identifier of a job.

Parameters

Param name Param type Definition Possible values Comments
identifier {string} Context identifier N/A N/A
property_key {string} The key of the job's context property N/A N/A
property_value {string} The value of the job's context property N/A N/A

set_scoped_job_context_property

set_scoped_job_context_property(property_key, property_value)

Set scoped job context property using the unique identifier of a job.

Parameters

Param name Param type Definition Possible values Comments
property_key {string} The key of the job's context property N/A N/A
property_value {string} The value of the job's context property N/A N/A