Módulo data_models

Este módulo contiene clases de datos para representar lo siguiente:

  • Modelos de datos
  • Alertas
  • Contenedores de variables
  • Parámetros generales
  • Parámetros del conector

class TIPCommon.data_models.AlertCard

clase 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)

Bases: object

Representa una tarjeta de resumen de una alerta, que contiene sus detalles y metadatos clave.

classmethod from_json(alert_card_json: Dict[str, Any])→ AlertCard

Crea un objeto AlertCard a partir de un diccionario JSON que representa sus atributos.

class TIPCommon.data_models.AlertEvent

clase 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])

Bases: object

Representa un solo evento asociado con una alerta dentro de un caso.

classmethod from_json(event_json: MutableMapping[str, Any])→ AlertEvent

Crea un objeto AlertEvent a partir de un diccionario JSON.

class TIPCommon.data_models.AlertPriority

clase TIPCommon.data_models.AlertPriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Representa los niveles de prioridad de una alerta.

Constantes

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIVE = -1

  • LOW = 40

  • MEDIUM = 60

  • UNCHANGED = 0

class TIPCommon.data_models.BaseAlert

clase TIPCommon.data_models.BaseAlert(raw_data, alert_id)

Bases: object

Representa una alerta básica. Tiene las siguientes propiedades:

Atributos

raw_data Son los datos sin procesar de la alerta.
alert_id Es el ID de la alerta.

Métodos

  • to_json()→ dict
Ejemplo
>>> 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

clase TIPCommon.data_models.BaseDataModel(raw_data)

Bases: object

Representa un modelo de datos base.

Atributos

Atributo Descripción
raw_data Son los datos sin procesar del modelo de datos.

Métodos

  • to_json()→ dict
Ejemplo
>>> from data_models import BaseDataModel
>>> data = BaseDataModel({'foo': 'bar'})
>>> data.raw_data
{'foo': 'bar'}
>>> data.to_json()
{'foo': 'bar'}

class TIPCommon.data_models.CaseDataStatus

clase TIPCommon.data_models.CaseDataStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • ALL = 3

  • CLOSED = 2

  • CREATION_PENDING = 5

  • MERGED = 4

  • NEW = 0

  • OPENED = 1

class TIPCommon.data_models.CaseDetails

clase 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)

Bases: object

classmethod from_json(case_details_json: Dict[str, Any])→ CaseDetails

Crea un objeto CaseDetails a partir de un diccionario JSON.

property is_closed

property is_closed: bool

Indica si el caso está cerrado.

property is_open

property is_open: bool

Indica si el caso está abierto.

class TIPCommon.data_models.CasePriority

clase TIPCommon.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Representa los niveles de prioridad de una alerta.

Constantes

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIVE = -1

  • LOW = 40

  • MEDIUM = 60

  • UNCHANGED = 0

class TIPCommon.data_models.CaseWallAttachment

clase TIPCommon.data_models.CaseWallAttachment(name: 'str', file_type: 'str', base64_blob: 'str', is_important: 'bool', case_id: 'int | None' = None)

Bases: object

Representa un archivo adjunto que se agregará al muro de un caso.

Atributos

Atributo Descripción Tipo
base64_blob Es el contenido del adjunto codificado en Base64. str
case_id Es el ID del caso al que pertenece el adjunto. int | None
file_type Es el tipo de archivo adjunto. str
is_important Indica si el adjunto está marcado como importante. bool
name Nombre del archivo adjunto. str

class TIPCommon.data_models.ConnectorCard

clase TIPCommon.data_models.ConnectorCard(integration: str, display_name: str, identifier: str, is_enabled: bool, is_remote: bool, status: ConnectorConnectivityStatusEnum)

Bases: object

Representa una tarjeta de resumen para una instancia de conector.

classmethod from_json(connector_card_json: MutableMapping[str, Any])→ ConnectorCard

Crea un objeto ConnectorCard a partir de un diccionario JSON.

class TIPCommon.data_models.ConnectorConnectivityStatusEnum

clase TIPCommon.data_models.ConnectorConnectivityStatusEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Representa el estado de conectividad de un conector.

Constantes

  • LIVE = 0

  • NO_CONNECTIVITY = 1

class TIPCommon.data_models.ConnectorParamTypes

clase TIPCommon.data_models.ConnectorParamTypes(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

Representa los tipos de parámetros del conector.

  • 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

clase TIPCommon.data_models.ConnectorParameter(raw_param)

Bases: Parameter

Representa un parámetro del conector.

Atributos

Atributo Descripción
name Es el nombre del parámetro.
value El valor del parámetro.
type Es el tipo del parámetro (según ConnectorParamTypes).
mode Es el modo del parámetro.
is_mandatory Define si el parámetro es obligatorio.
Ejemplo
>>> 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

Bases: object

Representa un contenedor para variables.

Ejemplo
>>> from data_models import Container
>>> container = Container()
>>> container.one = 1
>>> container.one
1

class TIPCommon.data_models.CustomField

clase TIPCommon.data_models.CustomField(id: 'int', display_name: 'str', description: 'str', type: 'str', scopes: 'list[CustomFieldScope]')

Bases: object

Representa una definición de campo personalizado dentro de la plataforma.

Atributos

Atributo Descripción
description str

Es la descripción del campo personalizado.

display_name str

Es el nombre visible del campo personalizado.

id int

Es el ID único del campo personalizado.

scopes list[CustomFieldScope]

Los permisos (p.ej., Alerta, Caso) en el que se aplica el campo personalizado.

type str

Es el tipo de datos del campo personalizado.

classmethod from_json(json_data: MutableMapping[str, Any])→ CustomField

Crea un objeto CustomField a partir de un diccionario JSON.

class TIPCommon.data_models.CustomFieldScope

clase TIPCommon.data_models.CustomFieldScope(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Representa los posibles alcances en los que se puede aplicar un campo personalizado.

Constantes

  • ALERTS = 'Alert'

  • CASE = 'Case'

Métodos

  • build_parent_path(identifier: int)→ str Compila la ruta principal para el valor del campo personalizado según el identificador.

class TIPCommon.data_models.CustomFieldValue

clase TIPCommon.data_models.CustomFieldValue(custom_field_id: 'int', values: 'list[str]', scope: 'CustomFieldScope', identifier: 'int')

Bases: object

Representa el valor establecido para un campo personalizado específico.

Atributos

Atributo Descripción
custom_field_id int

Es el ID del campo personalizado.

identifier int

Es el ID de la entidad (caso o alerta) a la que pertenece el valor.

scope CustomFieldScope

El alcance (p.ej., Alerta, Caso) en la que se aplica el valor del campo personalizado.

values list[str]

Es la lista de valores establecidos para el campo personalizado.

classmethod from_json(json_data: MutableMapping[str, Any])→ CustomFieldValue

Crea un objeto CustomFieldValue a partir de un diccionario JSON.

class TIPCommon.data_models.DatabaseContextType

clase TIPCommon.data_models.DatabaseContextType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Representa los tipos de contextos de bases de datos para el almacenamiento de datos.

Constantes

  • ALERT = 2

  • CASE = 1

  • CONNECTOR = 4

  • GLOBAL = 0

  • JOB = 3

class TIPCommon.data_models.EventPropertyField

clase TIPCommon.data_models.EventPropertyField(order: int, group_name: str, is_integration: bool, is_highlight: bool, items: list[FieldItem])

Bases: object

Representa un grupo de campos dentro de las propiedades de un evento.

classmethod from_json(event_property_field: MutableMapping[str, Any])→ EventPropertyField

Crea un objeto EventPropertyField a partir de un diccionario JSON.

class TIPCommon.data_models.FieldGroupItem

clase TIPCommon.data_models.FieldGroupItem(original_name: str, name: str, value: str)

Bases: object

Representa un solo elemento clave-valor dentro del grupo de campos de un evento.

classmethod from_json(field_group_json: MutableMapping[str, Any])→ FieldGroupItem

Crea un objeto FieldGroupItem a partir de un diccionario JSON.

class TIPCommon.data_models.FieldItem

clase TIPCommon.data_models.FieldItem(original_name: str, name: str, value: str)

Bases: object

Representa un solo elemento dentro de un campo, que contiene su nombre original, su nombre con formato y su valor.

classmethod from_json(field_json: MutableMapping[str, Any])→ FieldItem

Crea un objeto FieldItem a partir de un diccionario JSON.

class TIPCommon.data_models.FieldsGroup

clase TIPCommon.data_models.FieldsGroup(order: int, group_name: str, is_integration: bool, is_highlight: bool, items: list[[FieldGroupItem]])

Bases: object

Representa un grupo de campos dentro de una estructura de datos más grande y, a menudo, se usa para la visualización.

classmethod from_json(field_group_json: Dict[str, Any])→ FieldsGroup

Crea un objeto FieldsGroup a partir de un diccionario JSON.

class TIPCommon.data_models.GoogleServiceAccount

clase 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)

Bases: object

Representa los atributos de una cuenta de servicio de Google.

Métodos

  • to_dict()→ dict Serializa el modelo de datos en un diccionario.

Devoluciones

Es un diccionario JSON de la cuenta de servicio.

Tipo de datos que se muestra

dict

class TIPCommon.data_models.InstalledIntegrationInstance

clase TIPCommon.data_models.InstalledIntegrationInstance(instance: MutableMapping[str, Any], identifier: str, integration_identifier: str, environment_identifier: str, instance_name: str)

Bases: object

Representa una instancia instalada de una integración dentro de un entorno.

classmethod from_json(integration_env_json: MutableMapping[str, Any])→ InstalledIntegrationInstance

Crea un objeto InstalledIntegrationInstance a partir de un diccionario JSON.

Parámetros
Parámetros
integration_env_json SingleJson

Son datos JSON que contienen información del entorno de integración.

Devoluciones

Es una instancia de la clase especificada inicializada con datos de raw_data.

Tipo de datos que se muestra

InstalledIntegrationInstance

class TIPCommon.data_models.JobParamType

clase TIPCommon.data_models.JobParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Constantes

  • BOOLEAN = 0

  • DOMAIN = 7

  • HOST = 5

  • INTEGER = 1

  • IP = 4

  • NULL = -1

  • PASSWORD = 3

  • STRING = 2

  • URL = 6

class TIPCommon.data_models.Parameter

clase TIPCommon.data_models.Parameter(raw_param)

Bases: object

Es una clase principal que representa un parámetro.

Atributos

Atributo Descripción
raw_data Son los datos sin procesar del parámetro.
Ejemplo
>>> from data_models import Parameter
>>> p = Parameter({'foo': 'bar'})
>>> print(p)
Parameter(raw_data={'foo': 'bar'})

class TIPCommon.data_models.SLA

clase TIPCommon.data_models.SLA(sla_expiration_time: int | None, critical_expiration_time: int | None, expiration_status: int, remaining_time_since_last_pause: int | None)

Bases: object

Representa los detalles del Acuerdo de Nivel de Servicio (ANS) para un caso o una alerta.

classmethod from_json(sla_json: Dict[str, Any])→ SLA

Crea un objeto SLA a partir de un diccionario JSON.

class TIPCommon.data_models.ScriptContext

clase 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)

Bases: object

Representa el contexto de ejecución de una secuencia de comandos o acción, y proporciona acceso a varios parámetros y datos de tiempo de ejecución.

Atributos

Atributo Descripción
action_definition_name str

Es el nombre de la definición de acción que se ejecuta.

La configuración predeterminada es ''.

alert_id str

Es el ID de la alerta asociada con la ejecución actual.

La configuración predeterminada es ''.

async_polling_interval_in_sec int

Es el intervalo para el sondeo asíncrono en segundos.

La configuración predeterminada es 0.

async_total_duration_deadline int

Es el plazo total para las operaciones asíncronas.

La configuración predeterminada es 0.

case_id int | str | None

ID del caso asociado con la ejecución actual.

La configuración predeterminada es None.

connector_context ConnectorContext | None

Es un contexto específico para la ejecución del conector.

La configuración predeterminada es None.

default_result_value str

Es el valor predeterminado del resultado de la acción.

La configuración predeterminada es ''.

environment str

Es el entorno de ejecución.

La configuración predeterminada es ''.

environment_api_key str | None

Es la clave de API del entorno.

La configuración predeterminada es None.

execution_deadline_unix_time_ms int

Es la marca de tiempo de Unix (en milisegundos) que indica la fecha límite de ejecución.

La configuración predeterminada es 0.

integration_identifier str

Es el identificador de la integración que se usa.

La configuración predeterminada es ''.

integration_instance str

Es el nombre de la instancia de integración que se usa.

La configuración predeterminada es ''.

job_api_key str

Es la clave de API específica del trabajo.

La configuración predeterminada es ''.

max_json_result_size int

Es el tamaño máximo permitido para los resultados JSON.

La configuración predeterminada es 15.

original_requesting_user str

Es el usuario que inició la solicitud originalmente.

La configuración predeterminada es ''.

parameters SingleJson

Es un objeto JSON que contiene los parámetros de la acción o el script.

script_timeout_deadline int

Es la fecha límite para el tiempo de espera de ejecución de la secuencia de comandos.

La configuración predeterminada es 0.

target_entities str

Es una cadena separada por comas de las entidades objetivo.

La configuración predeterminada es ''.

unique_identifier str

Es un identificador único para el contexto de ejecución.

La configuración predeterminada es ''.

use_proxy_settings bool

Indica si se debe usar la configuración de proxy.

La configuración predeterminada es False.

vault_settings SiemplifyVault | None

Es la configuración de Vault para la recuperación segura de credenciales.

La configuración predeterminada es None.

workflow_id str

Es el ID del flujo de trabajo.

La configuración predeterminada es ''.

workflow_instance_id str | None

Es el ID de la instancia del flujo de trabajo.

La configuración predeterminada es None.

Métodos

  • to_json()→ MutableMapping[str, Any] Serializa el objeto de contexto en una asignación mutable (diccionario JSON).

  • update(attributes: MutableMapping[str, Any])→ None Actualiza el objeto de contexto con atributos nuevos de una asignación mutable.

class TIPCommon.data_models.SmimeEmailConfig

clase TIPCommon.data_models.SmimeEmailConfig(email: 'email.message.Message', private_key_b64: 'str', certificate_b64: 'str', ca_certificate_b64: 'str')

Bases: object

Representa la configuración para enviar correos electrónicos firmados o encriptados con S/MIME.

Atributos

Atributo Descripción
ca_certificate_b64 str

Es el certificado de la CA codificado en Base64.

certificate_b64 str

Certificado codificado en base64.

email Message

Es el objeto del mensaje de correo electrónico.

private_key_b64 str

Es la clave privada codificada en base64.

class TIPCommon.data_models.SmimeType

clase TIPCommon.data_models.SmimeType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Representa los tipos de operaciones de S/MIME.

Constantes

  • ENCRYPTED = 'encrypted'

  • SIGNED = 'signed'

class TIPCommon.data_models.TypedContainer

clase TIPCommon.data_models.TypedContainer(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Generic[T]

Contenedor para un tipo específico que proporciona IntelliSense de tipo.

class TIPCommon.data_models.UserProfileCard

clase TIPCommon.data_models.UserProfileCard(raw_data: dict, first_name: str, last_name: str, user_name: str, account_state: int)

Bases: object

Representa una tarjeta de resumen del perfil de usuario.

classmethod from_json(user_profile_card_response: dict)→ UserProfileCard

Crea un objeto UserProfileCard a partir de un diccionario JSON.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.