data_models 模块
此模块包含用于表示以下内容的数据类:
- 数据模型
- 提醒
- 变量容器
- 常规参数
- 连接器参数
class TIPCommon.data_models.AlertCard
类 TIPCommon.data_models.AlertCard(id_: int, creation_time_unix_time_ms: int, modification_time_unix_time_ms: int, identifier: str, status: int, name: str, priority: int, workflow_status: int, sla_expiration_unix_time: int | None, sla_critical_expiration_unix_time: int | None, start_time: int, end_time: int, alert_group_identifier: str, events_count: int, title: str, rule_generator: str, device_product: str, playbook_attached: str | None, playbook_run_count: int, is_manual_alert: bool, sla: SLA, fields_groups: list[FieldsGroup], source_url: str | None, source_rule_url: str | None, siem_alert_id: str | None)
代码库:对象
表示提醒的摘要卡片,其中包含提醒的关键详细信息和元数据。
classmethod from_json(alert_card_json: Dict[str, Any])→ AlertCard
根据表示 AlertCard
对象属性的 JSON 字典创建该对象。
class TIPCommon.data_models.AlertEvent
类 TIPCommon.data_models.AlertEvent(fields: list[EventPropertyField], identifier: str, case_id: int, alert_identifier: str, name: str, product: str, port: str | None, source_system_name: str, outcome: str | None, time: int, type_: str, artifact_entities: list[str])
代码库:对象
表示与案例中的提醒关联的单个事件。
classmethod from_json(event_json: MutableMapping[str, Any])→ AlertEvent
根据 JSON 字典创建 AlertEvent
对象。
class TIPCommon.data_models.AlertPriority
类 TIPCommon.data_models.AlertPriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
表示提醒的优先级。
常量
CRITICAL = 100
HIGH = 80
INFORMATIVE = -1
LOW = 40
MEDIUM = 60
UNCHANGED = 0
class TIPCommon.data_models.BaseAlert
类 TIPCommon.data_models.BaseAlert(raw_data, alert_id)
代码库:对象
表示基本提醒。它具有以下属性:
属性
raw_data |
相应提醒的原始数据。 |
alert_id |
提醒的 ID。 |
方法
to_json()→ dict
示例
>>> from data_models import BaseAlert
>>> alert = BaseAlert({'foo': 'bar'}, 100)
>>> alert.raw_data
{'foo': 'bar'}
>>> alert.alert_id
100
>>> alert.to_json()
{'foo': 'bar'}
class TIPCommon.data_models.BaseDataModel
类 TIPCommon.data_models.BaseDataModel(raw_data)
代码库:对象
表示基本数据模型。
属性
属性 | 说明 |
---|---|
raw_data |
数据模型的原始数据。 |
方法
to_json()→ dict
示例
>>> from data_models import BaseDataModel
>>> data = BaseDataModel({'foo': 'bar'})
>>> data.raw_data
{'foo': 'bar'}
>>> data.to_json()
{'foo': 'bar'}
class TIPCommon.data_models.CaseDataStatus
类 TIPCommon.data_models.CaseDataStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
常量
ALL = 3
CLOSED = 2
CREATION_PENDING = 5
MERGED = 4
NEW = 0
OPENED = 1
class TIPCommon.data_models.CaseDetails
类 TIPCommon.data_models.CaseDetails(id_: int, creation_time_unix_time_ms: int, modification_time_unix_time_ms: int, name: str, priority: int, is_important: bool, is_incident: bool, start_time_unix_time_ms: int, end_time_unix_time_ms: int, assigned_user: str, description: str | None, is_test_case: bool, type_: int, stage: str, environment: str, status: CaseDataStatus, incident_id: int | None, tags: list[str], alerts: list[AlertCard], is_overflow_case: bool, is_manual_case: bool, sla_expiration_unix_time: int | None, sla_critical_expiration_unix_time: int | None, stage_sla_expiration_unix_time_ms: int | None, stage_sla__critical_expiration_unix_time_in_ms: int | None, can_open_incident: bool, sla:SLA, stage_sla: SLA)
代码库:对象
classmethod from_json(case_details_json: Dict[str, Any])→ CaseDetails
根据 JSON 字典创建 CaseDetails
对象。
媒体资源 is_closed
property is_closed: bool
指示相应支持请求是否已关闭。
property is_open
property is_open: bool
指示支持请求是否处于未解决状态。
class TIPCommon.data_models.CasePriority
类 TIPCommon.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
表示提醒的优先级。
常量
CRITICAL = 100
HIGH = 80
INFORMATIVE = -1
LOW = 40
MEDIUM = 60
UNCHANGED = 0
class TIPCommon.data_models.CaseWallAttachment
类 TIPCommon.data_models.CaseWallAttachment(name: 'str', file_type: 'str', base64_blob: 'str', is_important: 'bool', case_id: 'int | None' = None)
代码库:对象
表示要添加到案例墙的附件。
属性
属性 | 说明 | 类型 |
---|---|---|
base64_blob |
附件的 base64 编码内容。 | str |
case_id |
附件所属的支持请求的 ID。 | int | None |
file_type |
附件的文件类型。 | str |
is_important |
指示附件是否标记为重要附件。 | bool |
name |
附件文件的名称。 | str |
class TIPCommon.data_models.ConnectorCard
类 TIPCommon.data_models.ConnectorCard(integration: str, display_name: str, identifier: str, is_enabled: bool, is_remote: bool, status: ConnectorConnectivityStatusEnum)
代码库:对象
表示连接器实例的摘要卡。
classmethod from_json(connector_card_json: MutableMapping[str, Any])→ ConnectorCard
根据 JSON 字典创建 ConnectorCard
对象。
class TIPCommon.data_models.ConnectorConnectivityStatusEnum
类 TIPCommon.data_models.ConnectorConnectivityStatusEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
表示连接器的连接状态。
常量
LIVE = 0
NO_CONNECTIVITY = 1
class TIPCommon.data_models.ConnectorParamTypes
类 TIPCommon.data_models.ConnectorParamTypes(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
常量
表示连接器参数的类型。
BOOLEAN = 0
DOMAIN = 7
EMAIL = 8
HOST = 5
INTEGER = 1
IP = 4
NULL = -1
PASSWORD = 3
SCRIPT = 12
STRING = 2
URL = 6
类 TIPCommon.data_models.ConnectorParameter
类 TIPCommon.data_models.ConnectorParameter(raw_param)
基类:Parameter
表示连接器参数。
属性
属性 | 说明 |
---|---|
name |
参数的名称。 |
value |
参数值。 |
type |
参数的类型(根据 ConnectorParamTypes )。 |
mode |
参数的模式。 |
is_mandatory |
定义参数是否为必需参数。 |
示例
>>> from data_models import ConnectorParameter, ConnectorParamTypes
>>> p = ConnectorParameter({
'param_name': 'api_root',
'type': ConnectorParamTypes.STRING,
'param_value': 'http://foo.bar',
'is_mandatory': True,
'mode': 0
})
>>> print(p)
ConnectorParameter(name='api_root', value='http://foo.bar', type=2, mode=0, is_mandatory=True)
class TIPCommon.data_models.Container
代码库:对象
表示变量的容器。
示例
>>> from data_models import Container
>>> container = Container()
>>> container.one = 1
>>> container.one
1
class TIPCommon.data_models.CustomField
类 TIPCommon.data_models.CustomField(id: 'int', display_name: 'str', description: 'str', type: 'str', scopes: 'list[CustomFieldScope]')
代码库:对象
表示平台中的自定义字段定义。
属性
属性 | 说明 |
---|---|
description |
str 自定义字段的说明。 |
display_name |
str 自定义字段的显示名称。 |
id |
int 自定义字段的唯一 ID。 |
scopes |
list[CustomFieldScope] 范围(例如 提醒、支持请求)中,自定义字段适用。 |
type |
str 自定义字段的数据类型。 |
classmethod from_json(json_data: MutableMapping[str, Any])→ CustomField
根据 JSON 字典创建 CustomField
对象。
class TIPCommon.data_models.CustomFieldScope
类 TIPCommon.data_models.CustomFieldScope(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
表示可应用自定义字段的可能范围。
常量
ALERTS = 'Alert'
CASE = 'Case'
方法
build_parent_path(identifier: int)→ str
根据标识符构建自定义字段值的父路径。
class TIPCommon.data_models.CustomFieldValue
类 TIPCommon.data_models.CustomFieldValue(custom_field_id: 'int', values: 'list[str]', scope: 'CustomFieldScope', identifier: 'int')
代码库:对象
表示为特定自定义字段设置的值。
属性
属性 | 说明 |
---|---|
custom_field_id |
int 自定义字段的 ID。 |
identifier |
int 值所属的实体(支持请求/提醒)的 ID。 |
scope |
CustomFieldScope 范围(例如,自定义字段值适用的对象(例如“提醒”“支持请求”)。 |
values |
list[str] 为自定义字段设置的值的列表。 |
classmethod from_json(json_data: MutableMapping[str, Any])→ CustomFieldValue
根据 JSON 字典创建 CustomFieldValue
对象。
class TIPCommon.data_models.DatabaseContextType
类 TIPCommon.data_models.DatabaseContextType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
表示用于数据存储的数据库上下文类型。
常量
ALERT = 2
CASE = 1
CONNECTOR = 4
GLOBAL = 0
JOB = 3
class TIPCommon.data_models.EventPropertyField
类 TIPCommon.data_models.EventPropertyField(order: int, group_name: str, is_integration: bool, is_highlight: bool, items: list[FieldItem])
代码库:对象
表示活动属性中的字段组。
classmethod from_json(event_property_field: MutableMapping[str, Any])→ EventPropertyField
根据 JSON 字典创建 EventPropertyField
对象。
class TIPCommon.data_models.FieldGroupItem
类 TIPCommon.data_models.FieldGroupItem(original_name: str, name: str, value: str)
代码库:对象
表示事件字段组中的单个键值项。
classmethod from_json(field_group_json: MutableMapping[str, Any])→ FieldGroupItem
根据 JSON 字典创建 FieldGroupItem
对象。
class TIPCommon.data_models.FieldItem
类 TIPCommon.data_models.FieldItem(original_name: str, name: str, value: str)
代码库:对象
表示字段中的单个项,包含其原始名称、格式化名称和值。
classmethod from_json(field_json: MutableMapping[str, Any])→ FieldItem
根据 JSON 字典创建 FieldItem
对象。
class TIPCommon.data_models.FieldsGroup
类 TIPCommon.data_models.FieldsGroup(order: int, group_name: str, is_integration: bool, is_highlight: bool, items: list[[FieldGroupItem]])
代码库:对象
表示较大数据结构中的一组字段,通常用于显示。
classmethod from_json(field_group_json: Dict[str, Any])→ FieldsGroup
根据 JSON 字典创建 FieldsGroup
对象。
class TIPCommon.data_models.GoogleServiceAccount
类 TIPCommon.data_models.GoogleServiceAccount(account_type: str, project_id: str, private_key_id: str, private_key: str, client_email: str, client_id: str, auth_uri: str, token_uri: str, auth_provider_x509_url: str, client_x509_cert_url: str)
代码库:对象
表示 Google 服务账号的属性。
方法
to_dict()→ dict
将数据模型序列化为字典。
返回值
服务账号 JSON 字典。
返回类型
dict
类 TIPCommon.data_models.InstalledIntegrationInstance
类 TIPCommon.data_models.InstalledIntegrationInstance(instance: MutableMapping[str, Any], identifier: str, integration_identifier: str, environment_identifier: str, instance_name: str)
代码库:对象
表示环境中已安装的集成实例。
classmethod from_json(integration_env_json: MutableMapping[str, Any])→ InstalledIntegrationInstance
根据 JSON 字典创建 InstalledIntegrationInstance 对象。
参数
参数 | |
---|---|
integration_env_json |
SingleJson 包含集成环境信息的 JSON 数据。 |
返回值
使用 raw_data
中的数据初始化的指定类的实例。
返回类型
InstalledIntegrationInstance
class TIPCommon.data_models.JobParamType
类 TIPCommon.data_models.JobParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
常量
BOOLEAN = 0
DOMAIN = 7
HOST = 5
INTEGER = 1
IP = 4
NULL = -1
PASSWORD = 3
STRING = 2
URL = 6
类 TIPCommon.data_models.Parameter
类 TIPCommon.data_models.Parameter(raw_param)
代码库:对象
表示参数的父类。
属性
属性 | 说明 |
---|---|
raw_data |
参数的原始数据。 |
示例
>>> from data_models import Parameter
>>> p = Parameter({'foo': 'bar'})
>>> print(p)
Parameter(raw_data={'foo': 'bar'})
class TIPCommon.data_models.SLA
类 TIPCommon.data_models.SLA(sla_expiration_time: int | None, critical_expiration_time: int | None, expiration_status: int, remaining_time_since_last_pause: int | None)
代码库:对象
表示支持请求或提醒的服务等级协议 (SLA) 详细信息。
classmethod from_json(sla_json: Dict[str, Any])→ SLA
根据 JSON 字典创建 SLA 对象。
class TIPCommon.data_models.ScriptContext
类 TIPCommon.data_models.ScriptContext(target_entities: 'str' = '', case_id: 'int | str | None' = None, alert_id: 'str' = '', environment: 'str' = '', workflow_id: 'str' = '', workflow_instance_id: 'str | None' = None, parameters: 'SingleJson' = <factory>, integration_identifier: 'str' = '', integration_instance: 'str' = '', action_definition_name: 'str' = '', original_requesting_user: 'str' = '', execution_deadline_unix_time_ms: 'int' = 0, async_polling_interval_in_sec: 'int' = 0, async_total_duration_deadline: 'int' = 0, script_timeout_deadline: 'int' = 0, default_result_value: 'str' = '', use_proxy_settings: 'bool' = False, max_json_result_size: 'int' = 15, vault_settings: 'SiemplifyVault | None' = None, environment_api_key: 'str | None' = None, unique_identifier: 'str' = '', job_api_key: 'str' = '', connector_context: 'ConnectorContext | None' = None)
代码库:对象
表示脚本或操作的执行上下文,提供对各种运行时参数和数据的访问权限。
属性
属性 | 说明 |
---|---|
action_definition_name |
str 正在执行的操作定义的名称。 默认值为 |
alert_id |
str 与当前执行相关的提醒的 ID。 默认值为 |
async_polling_interval_in_sec |
int 异步轮询的间隔时间(以秒为单位)。 默认值为 |
async_total_duration_deadline |
int 异步操作的总时长截止时间。 默认值为 |
case_id |
int | str | None 与当前执行关联的支持请求的 ID。 默认值为 |
connector_context |
ConnectorContext | None 特定于连接器执行的上下文。 默认值为 |
default_result_value |
str 操作结果的默认值。 默认值为 |
environment |
str 执行环境。 默认值为 |
environment_api_key |
str | None 相应环境的 API 密钥。 默认值为 |
execution_deadline_unix_time_ms |
int 表示执行截止时间的 Unix 时间戳(以毫秒为单位)。 默认值为 |
integration_identifier |
str 所用集成的标识符。 默认值为 |
integration_instance |
str 所用集成实例的名称。 默认值为 |
job_api_key |
str 特定于作业的 API 密钥。 默认值为 |
max_json_result_size |
int JSON 结果允许的最大大小。 默认值为 |
original_requesting_user |
str 最初发起请求的用户。 默认值为 |
parameters |
SingleJson 包含脚本/操作参数的 JSON 对象。 |
script_timeout_deadline |
int 脚本执行超时时间。 默认值为 |
target_entities |
str 以英文逗号分隔的目标实体字符串。 默认值为 |
unique_identifier |
str 执行上下文的唯一标识符。 默认值为 |
use_proxy_settings |
bool 指示是否应使用代理设置。 默认值为 |
vault_settings |
SiemplifyVault | None 用于安全检索凭据的 Vault 设置。 默认值为 |
workflow_id |
str 工作流的 ID。 默认值为 |
workflow_instance_id |
str | None 工作流实例的 ID。 默认值为 |
方法
to_json()→ MutableMapping[str, Any]
将上下文对象序列化为可变映射(JSON 字典)。update(attributes: MutableMapping[str, Any])→ None
使用来自可变映射的新属性更新上下文对象。
class TIPCommon.data_models.SmimeEmailConfig
类 TIPCommon.data_models.SmimeEmailConfig(email: 'email.message.Message', private_key_b64: 'str', certificate_b64: 'str', ca_certificate_b64: 'str')
代码库:对象
表示用于发送 S/MIME 加密或签名电子邮件的配置。
属性
属性 | 说明 |
---|---|
ca_certificate_b64 |
str Base64 编码的 CA 证书。 |
certificate_b64 |
str 采用 base64 编码的证书。 |
email |
Message 电子邮件消息对象。 |
private_key_b64 |
str base64 编码的私钥。 |
class TIPCommon.data_models.SmimeType
类 TIPCommon.data_models.SmimeType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Enum
表示 S/MIME 操作的类型。
常量
ENCRYPTED = 'encrypted'
SIGNED = 'signed'
class TIPCommon.data_models.TypedContainer
类 TIPCommon.data_models.TypedContainer(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
基类:Generic[T]
用于提供类型智能感知的特定类型的容器。
类 TIPCommon.data_models.UserProfileCard
类 TIPCommon.data_models.UserProfileCard(raw_data: dict, first_name: str, last_name: str, user_name: str, account_state: int)
代码库:对象
表示用户个人资料摘要卡片。
classmethod from_json(user_profile_card_response: dict)→ UserProfileCard
根据 JSON 字典创建 UserProfileCard
对象。
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。