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 a una alerta 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 base. Tiene las siguientes propiedades:

Atributos

raw_data Los datos sin procesar de la alerta.
alert_id 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 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 va a añadir a un panel de casos.

Atributos

Atributo Descripción Tipo
base64_blob El contenido codificado en base64 del archivo adjunto. str
case_id Es el ID del caso al que pertenece el archivo adjunto. int | None
file_type El tipo de archivo del adjunto. str
is_important Indica si el archivo adjunto está marcado como importante. bool
name El 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 de 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 de 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 de conector.

Atributos

Atributo Descripción
name El nombre del parámetro.
value El valor del parámetro.
type El tipo de parámetro (según ConnectorParamTypes).
mode 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 de 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 en la plataforma.

Atributos

Atributo Descripción
description str

Descripción del campo personalizado.

display_name str

Nombre visible del campo personalizado.

id int

ID único del campo personalizado.

scopes list[CustomFieldScope]

Los ámbitos (por ejemplo, Alerta o Caso) en el que se aplica el campo personalizado.

type str

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 ámbitos en los que se puede aplicar un campo personalizado.

Constantes

  • ALERTS = 'Alert'

  • CASE = 'Case'

Métodos

  • build_parent_path(identifier: int)→ str Crea la ruta de elemento superior del valor del campo personalizado en función del 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 definido para un campo personalizado específico.

Atributos

Atributo Descripción
custom_field_id int

ID del campo personalizado.

identifier int

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

scope CustomFieldScope

El ámbito (por ejemplo, Alert, Case) donde se aplica el valor del campo personalizado.

values list[str]

Lista de valores definidos 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 base 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 en el 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 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. Se suele usar para mostrar informació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

Un diccionario JSON de cuenta de servicio.

Tipo de devolución

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 en 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

Datos JSON que contienen información sobre el entorno de integración.

Devoluciones

Una instancia de la clase especificada inicializada con datos de raw_data.

Tipo de devolución

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

Clase principal que representa un parámetro.

Atributos

Atributo Descripción
raw_data 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 (SLA) de 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 una acción, lo que proporciona acceso a varios parámetros y datos de tiempo de ejecución.

Atributos

Atributo Descripción
action_definition_name str

Nombre de la definición de la acción que se está ejecutando.

El valor predeterminado es ''.

alert_id str

ID de la alerta asociada a la ejecución actual.

El valor predeterminado es ''.

async_polling_interval_in_sec int

Intervalo de sondeo asíncrono en segundos.

El valor predeterminado es 0.

async_total_duration_deadline int

El plazo total de las operaciones asíncronas.

El valor predeterminado es 0.

case_id int | str | None

ID del caso asociado a la ejecución actual.

El valor predeterminado es None.

connector_context ConnectorContext | None

Contexto específico de la ejecución del conector.

El valor predeterminado es None.

default_result_value str

Valor predeterminado del resultado de la acción.

El valor predeterminado es ''.

environment str

El entorno de ejecución.

El valor predeterminado es ''.

environment_api_key str | None

La clave de API del entorno.

El valor predeterminado es None.

execution_deadline_unix_time_ms int

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

El valor predeterminado es 0.

integration_identifier str

Identificador de la integración que se está usando.

El valor predeterminado es ''.

integration_instance str

Nombre de la instancia de integración que se está usando.

El valor predeterminado es ''.

job_api_key str

Clave de API específica del trabajo.

El valor predeterminado es ''.

max_json_result_size int

Tamaño máximo permitido para los resultados JSON.

El valor predeterminado es 15.

original_requesting_user str

El usuario que inició la solicitud originalmente.

El valor predeterminado es ''.

parameters SingleJson

Un objeto JSON que contiene los parámetros de la secuencia de comandos o la acción.

script_timeout_deadline int

El plazo de tiempo de espera de la ejecución de la secuencia de comandos.

El valor predeterminado es 0.

target_entities str

Cadena de entidades de destino separadas por comas.

El valor predeterminado es ''.

unique_identifier str

Identificador único del contexto de ejecución.

El valor predeterminado es ''.

use_proxy_settings bool

Indica si se deben usar los ajustes de proxy.

El valor predeterminado es False.

vault_settings SiemplifyVault | None

Ajustes de Vault para recuperar credenciales de forma segura.

El valor predeterminado es None.

workflow_id str

El ID del flujo de trabajo.

El valor predeterminado es ''.

workflow_instance_id str | None

El ID de la instancia del flujo de trabajo.

El valor predeterminado 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 nuevos atributos 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 cifrados o firmados con S/MIME.

Atributos

Atributo Descripción
ca_certificate_b64 str

El certificado de CA codificado en Base64.

certificate_b64 str

El certificado codificado en Base64.

email Message

El objeto del mensaje de correo.

private_key_b64 str

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 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: Genérico[T]

Contenedor de un tipo específico que proporciona la función de autocompletar.

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 de 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? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.