smp_time module
TIPCommon.smp_time.change_timezone
TIPCommon.smp_time.change_timezone(dtime: datetime, current_tz: str, new_tz: str)→ datetime
Changes the time zone of a datetime.datetime
object.
Parameters
dtime
datetime.datetime
The datetime object whose time zone is changed.
current_tz
str
The current time zone.
new_tz
str
The time zone to change to.
Returns
A new datetime object with a new time zone.
Return type
datetime.datetime
Raises
ValueError
– When one of the time zones is not valid.
TIPCommon.smp_time.convert_string_to_timestamp
TIPCommon.smp_time.convert_string_to_timestamp(datetime_string: str)→ int
Converts a datetime string to a timestamp.
Parameters
datetime_string
str
A datetime string.
Returns
The timestamp.
Return type
int
TIPCommon.smp_time.datetime_to_rfc3339
TIPCommon.smp_time.datetime_to_rfc3339(datetime_obj: datetime)→ str
Converts a datetime object to RFC 3999 representation.
Parameters
datetime_obj
datetime.datetime
The datetime object to convert.
Returns
The RFC 3339 representation of the datetime.
Return type
str
TIPCommon.smp_time.get_last_success_time
TIPCommon.smp_time.get_last_success_time(siemplify, offset_with_metric, time_format=2, print_value=True, microtime=False)
Gets the last success time or datetime.
siemplify
obj
An instance of the SDK SiemplifyConnectorExecution
class.
offset_with_metric
dict
The metric and value.
Example: {'hours': 1}
time_format
int
The format of the output time.
Example: DATETIME, UNIX
print_value
bool
Indicates whether to print
the value or not.
Default is True
.
microtime
bool
Indicates whether to return
Unix time including microtime.
Default is False
.
Returns
The last success time.
Return type
Time
TIPCommon.smp_time.get_timestamps
TIPCommon.smp_time.get_timestamps(range_string: str, start_time_string: str, end_time_string: str, error_message: str = None, time_in_milliseconds: bool = False)→ tuple[int, int]
Gets start and end time timestamps.
Parameters
range_string
str
The time range string.
start_time_string
str
The start time.
end_time_string
str
The end time.
error_message
str
An error message for raised exception.
Defaults to None
.
time_in_milliseconds
bool
Define whether to return start time and end time in milliseconds.
Defaults to False
.
Returns
The start time and end time timestamps.
Return type
tuple
TIPCommon.smp_time.get_timestamps_from_range
TIPCommon.smp_time.get_timestamps_from_range(range_string: str, include_timezone: bool = False)→ tuple[datetime, datetime]
Gets start time and end time timestamps from a range.
Parameters
range_string
str
The time range string.
include_timezone
bool, optional
Define whether to include time zone information in timestamps.
Defaults to False
.
Returns
The start time and end time timestamps.
Return type
tuple
TIPCommon.smp_time.is_approaching_action_timeout
TIPCommon.smp_time.is_approaching_action_timeout(action_execution_deadline_in_unix, timeout_threshold_in_sec=10)
Checks if the action script is approaching its dedicated script deadline.
Each action script has a specific deadline dedicated to it. This function checks
if the current time is less than the deadline by at least timeout_threshold_in_sec
seconds. The default is 10 seconds, meaning that if
the action is 10 or less seconds from its script deadline (at the time of the
check) the function returns True
. If the deadline is exceeded, the function
returns False
.
action_execution_deadline_in_unix
int
The deadline for action execution.
timeout_threshold_in_sec
int
The timeout threshold in seconds.
Returns
True
if timeout is approaching or False
in any other case.
TIPCommon.smp_time.is_approaching_timeout
TIPCommon.smp_time.is_approaching_timeout(connector_starting_time, python_process_timeout, timeout_threshold=0.9)
Checks if a timeout is approaching.
connector_starting_time
int
The time the connector started.
python_process_timeout
int
The maximum amount of time the connector is allowed to run.
timeout_threshold
float
The threshold at which the connector is considered
to be approaching a timeout.
Default is TIMEOUT_THRESHOLD
.
Returns
True
if the connector is approaching a timeout or False
in any other case.
TIPCommon.smp_time.save_timestamp
TIPCommon.smp_time.save_timestamp(siemplify, alerts, timestamp_key='timestamp', incrementation_value=0, log_timestamp=True, convert_timestamp_to_micro_time=False, convert_a_string_timestamp_to_unix=False)
Saves the last timestamp for given alerts.
siemplify
obj
An instance of the SDK SiemplifyConnectorExecution
class.
alerts
dict
The list of alerts to find the last timestamp.
timestamp_key
str
The key for getting timestamp
from alert.
Default is timestamp
.
incrementation_value
int
The value to increment the last timestamp in milliseconds.Default is 0.
log_timestamp
bool
Indicates whether to log the
timestamp or not.
Default is True
.
convert_timestamp_to_micro_time
bool
Indicates whether to convert
the timestamp to microtime.
Default is False
.
convert_a_string_timestamp_to_unix
bool
Indicates whether to convert
a string timestamp to Unix.
Default is False
.
Returns
A boolean indicating whether the timestamp is updated.
TIPCommon.smp_time.siemplify_fetch_timestamp
TIPCommon.smp_time.siemplify_fetch_timestamp(siemplify, datetime_format=False, timezone=False)
Fetches the timestamp from Siemplify.
siemplify
obj
An instance of the SDK SiemplifyConnectorExecution
class.
datetime_format
bool
Indicates whether to return the timestamp in a datetime
format.Default is False
.
timezone
bool
Indicates whether to return the timestamp in a UTC time zone.
Default is False
.
Returns
The timestamp.
TIPCommon.smp_time.siemplify_save_timestamp
TIPCommon.smp_time.siemplify_save_timestamp(siemplify, datetime_format=False, timezone=False, new_timestamp=1696256382032)
Saves the timestamp to Siemplify.
siemplify
obj
An instance of the SDK SiemplifyConnectorExecution
class.
datetime_format
bool
Indicates whether to save the timestamp in a datetime
format.Default is False
.
timezone
bool
Indicates whether to save the timestamp in a UTC time zone.
Default is False
.
new_timestamp
int
The new timestamp to save.
Returns
None.
TIPCommon.smp_time.validate_timestamp
TIPCommon.smp_time.validate_timestamp(last_run_timestamp, offset_in_hours, offset_is_in_days=False)
Validates the timestamp in a time range.
last_run_timestamp
datetime
The last run timestamp.
offset_in_hours
int
The time limit in hours.
offset_is_in_days
bool
Indicates whether the offset is in days.
Default is False
.
Raises
ValueError
- When the timestamp is not valid.
Returns
The validated timestamp.
Return type
datetime
Need more help? Get answers from Community members and Google SecOps professionals.