módulo data_models

Este módulo contém classes de dados para representar o seguinte:

  • Modelos de dados
  • Alertas
  • Contentores de variáveis
  • Parâmetros gerais
  • Parâmetros do conetor

class TIPCommon.data_models.AlertCard

classe 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 um cartão de resumo de um alerta, que contém os respetivos detalhes e metadados principais.

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

Cria um objeto AlertCard a partir de um dicionário JSON que representa os respetivos atributos.

class TIPCommon.data_models.AlertEvent

classe 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 um único evento associado a um alerta num registo.

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

Cria um objeto AlertEvent a partir de um dicionário JSON.

class TIPCommon.data_models.AlertPriority

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

Bases: Enum

Representa os níveis de prioridade de um alerta.

Constantes

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIVE = -1

  • LOW = 40

  • MEDIUM = 60

  • UNCHANGED = 0

class TIPCommon.data_models.BaseAlert

classe TIPCommon.data_models.BaseAlert(raw_data, alert_id)

Bases: object

Representa um alerta base. Tem as seguintes propriedades:

Atributos

raw_data Os dados não processados do alerta.
alert_id O ID do alerta.

Métodos

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

classe TIPCommon.data_models.BaseDataModel(raw_data)

Bases: object

Representa um modelo de dados base.

Atributos

Atributo Descrição
raw_data Os dados não processados do modelo de dados.

Métodos

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

class TIPCommon.data_models.CaseDataStatus

classe 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

classe 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

Cria um objeto CaseDetails a partir de um dicionário JSON.

property is_closed

propriedade is_closed: bool

Indica se o registo está fechado.

property is_open

propriedade is_open: bool

Indica se a caixa está aberta.

class TIPCommon.data_models.CasePriority

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

Bases: Enum

Representa os níveis de prioridade de um alerta.

Constantes

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIVE = -1

  • LOW = 40

  • MEDIUM = 60

  • UNCHANGED = 0

class TIPCommon.data_models.CaseWallAttachment

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

Bases: object

Representa um anexo a adicionar a uma capa.

Atributos

Atributo Descrição Tipo
base64_blob O conteúdo codificado em base64 do anexo. str
case_id O ID do registo ao qual o anexo pertence. int | None
file_type O tipo de ficheiro do anexo. str
is_important Indica se o anexo está marcado como importante. bool
name O nome do ficheiro anexado. str

class TIPCommon.data_models.ConnectorCard

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

Bases: object

Representa um cartão de resumo de uma instância do conetor.

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

Cria um objeto ConnectorCard a partir de um dicionário JSON.

class TIPCommon.data_models.ConnectorConnectivityStatusEnum

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

Bases: Enum

Representa o estado de conetividade de um conetor.

Constantes

  • LIVE = 0

  • NO_CONNECTIVITY = 1

class TIPCommon.data_models.ConnectorParamTypes

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

Bases: Enum

Constantes

Representa os tipos de parâmetros do conetor.

  • 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

classe TIPCommon.data_models.ConnectorParameter(raw_param)

Bases: Parameter

Representa um parâmetro do conetor.

Atributos

Atributo Descrição
name O nome do parâmetro.
value O valor do parâmetro.
type O tipo do parâmetro (de acordo com ConnectorParamTypes).
mode O modo do parâmetro.
is_mandatory Defina se o parâmetro é obrigatório.
Exemplo
>>> 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 um contentor de variáveis.

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

class TIPCommon.data_models.CustomField

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

Bases: object

Representa uma definição de campo personalizado na plataforma.

Atributos

Atributo Descrição
description str

A descrição do campo personalizado.

display_name str

O nome a apresentar do campo personalizado.

id int

O ID exclusivo do campo personalizado.

scopes list[CustomFieldScope]

Os âmbitos (por exemplo, Alerta, registo) onde o campo personalizado é aplicável.

type str

O tipo de dados do campo personalizado.

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

Cria um objeto CustomField a partir de um dicionário JSON.

class TIPCommon.data_models.CustomFieldScope

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

Bases: Enum

Representa os âmbitos possíveis onde um campo personalizado pode ser aplicado.

Constantes

  • ALERTS = 'Alert'

  • CASE = 'Case'

Métodos

  • build_parent_path(identifier: int)→ str Cria o caminho principal para o valor do campo personalizado com base no identificador.

class TIPCommon.data_models.CustomFieldValue

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

Bases: object

Representa o valor definido para um campo personalizado específico.

Atributos

Atributo Descrição
custom_field_id int

O ID do campo personalizado.

identifier int

O ID da entidade (registo/alerta) à qual o valor pertence.

scope CustomFieldScope

O âmbito (por exemplo, Alerta, registo) onde o valor do campo personalizado se aplica.

values list[str]

A lista de valores definidos para o campo personalizado.

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

Cria um objeto CustomFieldValue a partir de um dicionário JSON.

class TIPCommon.data_models.DatabaseContextType

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

Bases: Enum

Representa os tipos de contextos de base de dados para o armazenamento de dados.

Constantes

  • ALERT = 2

  • CASE = 1

  • CONNECTOR = 4

  • GLOBAL = 0

  • JOB = 3

class TIPCommon.data_models.EventPropertyField

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

Bases: object

Representa um grupo de campos nas propriedades de um evento.

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

Cria um objeto EventPropertyField a partir de um dicionário JSON.

class TIPCommon.data_models.FieldGroupItem

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

Bases: object

Representa um único item de chave-valor no grupo de campos de um evento.

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

Cria um objeto FieldGroupItem a partir de um dicionário JSON.

class TIPCommon.data_models.FieldItem

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

Bases: object

Representa um único item num campo, que contém o respetivo nome original, nome formatado e valor.

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

Cria um objeto FieldItem a partir de um dicionário JSON.

class TIPCommon.data_models.FieldsGroup

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

Bases: object

Representa um grupo de campos numa estrutura de dados maior, frequentemente usado para apresentação.

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

Cria um objeto FieldsGroup a partir de um dicionário JSON.

class TIPCommon.data_models.GoogleServiceAccount

classe 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 os atributos de uma conta de serviço Google.

Métodos

  • to_dict()→ dict Serializa o modelo de dados num dicionário.

Devoluções

Um dicionário JSON da conta de serviço.

Tipo devolvido

dict

class TIPCommon.data_models.InstalledIntegrationInstance

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

Bases: object

Representa uma instância instalada de uma integração num ambiente.

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

Cria um objeto InstalledIntegrationInstance a partir de um dicionário JSON.

Parâmetros
Parâmetros
integration_env_json SingleJson

Dados JSON que contêm informações do ambiente de integração.

Devoluções

Uma instância da classe especificada inicializada com dados de raw_data.

Tipo devolvido

InstalledIntegrationInstance

class TIPCommon.data_models.JobParamType

classe 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

classe TIPCommon.data_models.Parameter(raw_param)

Bases: object

Uma classe principal que representa um parâmetro.

Atributos

Atributo Descrição
raw_data Os dados não processados do parâmetro.
Exemplo
>>> from data_models import Parameter
>>> p = Parameter({'foo': 'bar'})
>>> print(p)
Parameter(raw_data={'foo': 'bar'})

class TIPCommon.data_models.SLA

classe 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 os detalhes do contrato de nível de serviço (SLA) para um registo ou um alerta.

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

Cria um objeto SLA a partir de um dicionário JSON.

class TIPCommon.data_models.ScriptContext

classe 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 o contexto de execução de um script ou uma ação, fornecendo acesso a vários parâmetros e dados de tempo de execução.

Atributos

Atributo Descrição
action_definition_name str

O nome da definição de ação que está a ser executada.

A predefinição é ''.

alert_id str

O ID do alerta associado à execução atual.

A predefinição é ''.

async_polling_interval_in_sec int

O intervalo para sondagem assíncrona em segundos.

A predefinição é 0.

async_total_duration_deadline int

O prazo de duração total para operações assíncronas.

A predefinição é 0.

case_id int | str | None

O ID do registo associado à execução atual.

A predefinição é None.

connector_context ConnectorContext | None

Um contexto específico da execução do conetor.

A predefinição é None.

default_result_value str

O valor predefinido para o resultado da ação.

A predefinição é ''.

environment str

O ambiente de execução.

A predefinição é ''.

environment_api_key str | None

A chave da API do ambiente.

A predefinição é None.

execution_deadline_unix_time_ms int

A data/hora Unix (em milissegundos) que indica o prazo de execução.

A predefinição é 0.

integration_identifier str

O identificador da integração que está a ser usada.

A predefinição é ''.

integration_instance str

O nome da instância de integração que está a ser usada.

A predefinição é ''.

job_api_key str

Chave da API específica da tarefa.

A predefinição é ''.

max_json_result_size int

O tamanho máximo permitido para resultados JSON.

A predefinição é 15.

original_requesting_user str

O utilizador que iniciou originalmente o pedido.

A predefinição é ''.

parameters SingleJson

Um objeto JSON que contém os parâmetros do script/ação.

script_timeout_deadline int

O prazo para o limite de tempo de execução do script.

A predefinição é 0.

target_entities str

String de entidades de destino separadas por vírgulas.

A predefinição é ''.

unique_identifier str

Um identificador exclusivo do contexto de execução.

A predefinição é ''.

use_proxy_settings bool

Indica se devem ser usadas as definições de proxy.

A predefinição é False.

vault_settings SiemplifyVault | None

Definições da cofre para a obtenção segura de credenciais.

A predefinição é None.

workflow_id str

O ID do fluxo de trabalho.

A predefinição é ''.

workflow_instance_id str | None

O ID da instância do fluxo de trabalho.

A predefinição é None.

Métodos

  • to_json()→ MutableMapping[str, Any] Serializa o objeto de contexto numa associação mutável (dicionário JSON).

  • update(attributes: MutableMapping[str, Any])→ None Atualiza o objeto de contexto com novos atributos de um mapeamento mutável.

class TIPCommon.data_models.SmimeEmailConfig

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

Bases: object

Representa a configuração para enviar emails com encriptação ou assinatura S/MIME.

Atributos

Atributo Descrição
ca_certificate_b64 str

O certificado da AC codificado em base64.

certificate_b64 str

O certificado codificado em base64.

email Message

O objeto de mensagem de email.

private_key_b64 str

A chave privada codificada em Base64.

class TIPCommon.data_models.SmimeType

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

Bases: Enum

Representa os tipos de operações S/MIME.

Constantes

  • ENCRYPTED = 'encrypted'

  • SIGNED = 'signed'

class TIPCommon.data_models.TypedContainer

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

Bases: Generic[T]

Contentor para um tipo específico que fornece intellisense de tipo.

class TIPCommon.data_models.UserProfileCard

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

Bases: object

Representa um cartão de resumo do perfil do utilizador.

classmethod from_json(user_profile_card_response: dict)→ UserProfileCard

Cria um objeto UserProfileCard a partir de um dicionário JSON.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.