data_models 模組
這個模組包含的資料類別可代表下列項目:
- 資料模型
- 快訊
- 變數容器
- 一般參數
- 連接器參數
class TIPCommon.data_models.AlertCard
class 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)
基底:object
代表快訊的摘要資訊卡,內含重要詳細資料和中繼資料。
classmethod from_json(alert_card_json: Dict[str, Any])→ AlertCard
從代表屬性的 JSON 字典建立 AlertCard
物件。
class TIPCommon.data_models.AlertEvent
class 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])
基底:object
代表案件中與警示相關的單一事件。
classmethod from_json(event_json: MutableMapping[str, Any])→ AlertEvent
從 JSON 字典建立 AlertEvent
物件。
class TIPCommon.data_models.AlertPriority
class 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
class TIPCommon.data_models.BaseAlert(raw_data, alert_id)
基底:object
代表基本快訊。這項屬性具有下列屬性:
屬性
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
class TIPCommon.data_models.BaseDataModel(raw_data)
基底:object
代表基本資料模型。
屬性
屬性 | 說明 |
---|---|
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
class 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
class 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)
基底:object
classmethod from_json(case_details_json: Dict[str, Any])→ CaseDetails
從 JSON 字典建立 CaseDetails
物件。
property is_closed
屬性 is_closed: bool
指出案件是否已結案。
property is_open
屬性 is_open: bool
指出案件是否已結案。
class TIPCommon.data_models.CasePriority
class 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
class TIPCommon.data_models.CaseWallAttachment(name: 'str', file_type: 'str', base64_blob: 'str', is_important: 'bool', case_id: 'int | None' = None)
基底:object
代表要新增至案件牆的附件。
屬性
屬性 | 說明 | 類型 |
---|---|---|
base64_blob |
附件的 Base64 編碼內容。 | str |
case_id |
附件所屬案件的 ID。 | int | None |
file_type |
附件的檔案類型。 | str |
is_important |
指出附件是否標示為重要。 | bool |
name |
附件檔案名稱。 | str |
class TIPCommon.data_models.ConnectorCard
class TIPCommon.data_models.ConnectorCard(integration: str, display_name: str, identifier: str, is_enabled: bool, is_remote: bool, status: ConnectorConnectivityStatusEnum)
基底:object
代表連接器執行個體的摘要資訊卡。
classmethod from_json(connector_card_json: MutableMapping[str, Any])→ ConnectorCard
從 JSON 字典建立 ConnectorCard
物件。
class TIPCommon.data_models.ConnectorConnectivityStatusEnum
class 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
class 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
class TIPCommon.data_models.ConnectorParameter
class TIPCommon.data_models.ConnectorParameter(raw_param)
基底:參數
代表連接器參數。
屬性
屬性 | 說明 |
---|---|
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
基底:object
代表變數的容器。
範例
>>> from data_models import Container
>>> container = Container()
>>> container.one = 1
>>> container.one
1
class TIPCommon.data_models.CustomField
class TIPCommon.data_models.CustomField(id: 'int', display_name: 'str', description: 'str', type: 'str', scopes: 'list[CustomFieldScope]')
基底:object
代表平台中的自訂欄位定義。
屬性
屬性 | 說明 |
---|---|
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
class 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
根據 ID 建構自訂欄位值的父項路徑。
class TIPCommon.data_models.CustomFieldValue
class TIPCommon.data_models.CustomFieldValue(custom_field_id: 'int', values: 'list[str]', scope: 'CustomFieldScope', identifier: 'int')
基底:object
代表特定自訂欄位設定的值。
屬性
屬性 | 說明 |
---|---|
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
class 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
class TIPCommon.data_models.EventPropertyField(order: int, group_name: str, is_integration: bool, is_highlight: bool, items: list[FieldItem])
基底:object
代表活動屬性中的欄位群組。
classmethod from_json(event_property_field: MutableMapping[str, Any])→ EventPropertyField
從 JSON 字典建立 EventPropertyField
物件。
class TIPCommon.data_models.FieldGroupItem
class TIPCommon.data_models.FieldGroupItem(original_name: str, name: str, value: str)
基底:object
代表事件欄位群組中的單一鍵/值項目。
classmethod from_json(field_group_json: MutableMapping[str, Any])→ FieldGroupItem
從 JSON 字典建立 FieldGroupItem
物件。
class TIPCommon.data_models.FieldItem
class TIPCommon.data_models.FieldItem(original_name: str, name: str, value: str)
基底:object
代表欄位中的單一項目,包含原始名稱、格式化名稱和值。
classmethod from_json(field_json: MutableMapping[str, Any])→ FieldItem
從 JSON 字典建立 FieldItem
物件。
class TIPCommon.data_models.FieldsGroup
class TIPCommon.data_models.FieldsGroup(order: int, group_name: str, is_integration: bool, is_highlight: bool, items: list[[FieldGroupItem]])
基底:object
代表較大資料結構中的一組欄位,通常用於顯示。
classmethod from_json(field_group_json: Dict[str, Any])→ FieldsGroup
從 JSON 字典建立 FieldsGroup
物件。
class TIPCommon.data_models.GoogleServiceAccount
class 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)
基底:object
代表 Google 服務帳戶的屬性。
方法
to_dict()→ dict
將資料模型序列化為 dict。
傳回
服務帳戶 JSON 字典。
傳回類型
dict
class TIPCommon.data_models.InstalledIntegrationInstance
class TIPCommon.data_models.InstalledIntegrationInstance(instance: MutableMapping[str, Any], identifier: str, integration_identifier: str, environment_identifier: str, instance_name: str)
基底:object
代表環境中已安裝的整合項目執行個體。
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
class 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
class TIPCommon.data_models.Parameter
class TIPCommon.data_models.Parameter(raw_param)
基底:object
代表參數的父項類別。
屬性
屬性 | 說明 |
---|---|
raw_data |
參數的原始資料。 |
範例
>>> from data_models import Parameter
>>> p = Parameter({'foo': 'bar'})
>>> print(p)
Parameter(raw_data={'foo': 'bar'})
class TIPCommon.data_models.SLA
class TIPCommon.data_models.SLA(sla_expiration_time: int | None, critical_expiration_time: int | None, expiration_status: int, remaining_time_since_last_pause: int | None)
基底:object
代表案件或快訊的服務水準協議 (SLA) 詳細資料。
classmethod from_json(sla_json: Dict[str, Any])→ SLA
從 JSON 字典建立 SLA 物件。
class TIPCommon.data_models.ScriptContext
class 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)
基底:object
代表指令碼或動作的執行環境,可存取各種執行階段參數和資料。
屬性
屬性 | 說明 |
---|---|
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 所用整合的 ID。 預設值為 |
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 執行環境的專屬 ID。 預設值為 |
use_proxy_settings |
bool 指出是否要使用 Proxy 設定。 預設值為 |
vault_settings |
SiemplifyVault | None 保險箱設定,用於安全地擷取憑證。 預設值為 |
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
class TIPCommon.data_models.SmimeEmailConfig(email: 'email.message.Message', private_key_b64: 'str', certificate_b64: 'str', ca_certificate_b64: 'str')
基底:object
代表用於傳送 S/MIME 加密或簽署電子郵件的設定。
屬性
屬性 | 說明 |
---|---|
ca_certificate_b64 |
str Base64 編碼的 CA 憑證。 |
certificate_b64 |
str Base64 編碼憑證。 |
email |
Message 電子郵件訊息物件。 |
private_key_b64 |
str Base64 編碼的私密金鑰。 |
class TIPCommon.data_models.SmimeType
class 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
class TIPCommon.data_models.TypedContainer(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
底座:Generic[T]
特定型別的容器,提供型別智慧感應。
class TIPCommon.data_models.UserProfileCard
class TIPCommon.data_models.UserProfileCard(raw_data: dict, first_name: str, last_name: str, user_name: str, account_state: int)
基底:object
代表使用者設定檔摘要資訊卡。
classmethod from_json(user_profile_card_response: dict)→ UserProfileCard
從 JSON 字典建立 UserProfileCard
物件。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。