Module data_models
Ce module contient des classes de données permettant de représenter les éléments suivants :
- Modèles de données
- Alertes
- Conteneurs de variables
- Paramètres généraux
- Paramètres du connecteur
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)
Bases : objet
Représente une fiche récapitulative d'une alerte, contenant ses principaux détails et métadonnées.
classmethod from_json(alert_card_json: Dict[str, Any])→ AlertCard
Crée un objet AlertCard
à partir d'un dictionnaire JSON représentant ses attributs.
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])
Bases : objet
Représente un événement unique associé à une alerte dans une demande.
classmethod from_json(event_json: MutableMapping[str, Any])→ AlertEvent
Crée un objet AlertEvent
à partir d'un dictionnaire JSON.
class TIPCommon.data_models.AlertPriority
class TIPCommon.data_models.AlertPriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Représente les niveaux de priorité d'une alerte.
Constantes
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)
Bases : objet
Représente une alerte de base. Il présente les propriétés suivantes :
Attributs
raw_data |
Données brutes de l'alerte. |
alert_id |
ID de l'alerte. |
Méthodes
to_json()→ dict
Exemple
>>> 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)
Bases : objet
Représente un modèle de données de base.
Attributs
Attribut | Description |
---|---|
raw_data |
Données brutes du modèle de données. |
Méthodes
to_json()→ dict
Exemple
>>> 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)
Bases : Enum
Constantes
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)
Bases : objet
classmethod from_json(case_details_json: Dict[str, Any])→ CaseDetails
Crée un objet CaseDetails
à partir d'un dictionnaire JSON.
property is_closed
property is_closed: bool
Indique si la demande est close.
property is_open
property is_open: bool
Indique si la demande est ouverte.
class TIPCommon.data_models.CasePriority
class TIPCommon.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Représente les niveaux de priorité d'une alerte.
Constantes
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)
Bases : objet
Représente une pièce jointe à ajouter au mur d'une demande.
Attributs
Attribut | Description | Type |
---|---|---|
base64_blob |
Contenu de la pièce jointe encodé en base64. | str |
case_id |
ID de la demande à laquelle appartient la pièce jointe. | int | None |
file_type |
Type de fichier de la pièce jointe. | str |
is_important |
Indique si la pièce jointe est marquée comme importante. | bool |
name |
Nom du fichier en pièce jointe. | 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)
Bases : objet
Représente une fiche récapitulative pour une instance de connecteur.
classmethod from_json(connector_card_json: MutableMapping[str, Any])→ ConnectorCard
Crée un objet ConnectorCard
à partir d'un dictionnaire JSON.
class TIPCommon.data_models.ConnectorConnectivityStatusEnum
class TIPCommon.data_models.ConnectorConnectivityStatusEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Représente l'état de connectivité d'un connecteur.
Constantes
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)
Bases : Enum
Constantes
Représente les types de paramètres de connecteur.
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)
Bases : Parameter
Représente un paramètre de connecteur.
Attributs
Attribut | Description |
---|---|
name |
Nom du paramètre. |
value |
Valeur du paramètre. |
type |
Type du paramètre (selon ConnectorParamTypes ). |
mode |
Mode du paramètre. |
is_mandatory |
Indiquez si le paramètre est obligatoire. |
Exemple
>>> 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 : objet
Représente un conteneur de variables.
Exemple
>>> 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]')
Bases : objet
Représente une définition de champ personnalisé dans la plate-forme.
Attributs
Attribut | Description |
---|---|
description |
str Description du champ personnalisé. |
display_name |
str Nom à afficher du champ personnalisé. |
id |
int Identifiant unique du champ personnalisé. |
scopes |
list[CustomFieldScope] Les niveaux d'accès (par exemple, Alerte, Demande) où le champ personnalisé est applicable. |
type |
str Type de données du champ personnalisé. |
classmethod from_json(json_data: MutableMapping[str, Any])→ CustomField
Crée un objet CustomField
à partir d'un dictionnaire JSON.
class TIPCommon.data_models.CustomFieldScope
class TIPCommon.data_models.CustomFieldScope(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Représente les champs d'application possibles pour un champ personnalisé.
Constantes
ALERTS = 'Alert'
CASE = 'Case'
Méthodes
build_parent_path(identifier: int)→ str
Crée le chemin parent pour la valeur du champ personnalisé en fonction de l'identifiant.
class TIPCommon.data_models.CustomFieldValue
class TIPCommon.data_models.CustomFieldValue(custom_field_id: 'int', values: 'list[str]', scope: 'CustomFieldScope', identifier: 'int')
Bases : objet
Représente la valeur définie pour un champ personnalisé spécifique.
Attributs
Attribut | Description |
---|---|
custom_field_id |
int ID du champ personnalisé. |
identifier |
int ID de l'entité (demande/alerte) à laquelle appartient la valeur. |
scope |
CustomFieldScope Champ d'application (par exemple, Alerte, Demande) où la valeur du champ personnalisé s'applique. |
values |
list[str] Liste des valeurs définies pour le champ personnalisé. |
classmethod from_json(json_data: MutableMapping[str, Any])→ CustomFieldValue
Crée un objet CustomFieldValue
à partir d'un dictionnaire JSON.
class TIPCommon.data_models.DatabaseContextType
class TIPCommon.data_models.DatabaseContextType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Représente les types de contextes de base de données pour le stockage des données.
Constantes
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])
Bases : objet
Représente un groupe de champs dans les propriétés d'un événement.
classmethod from_json(event_property_field: MutableMapping[str, Any])→ EventPropertyField
Crée un objet EventPropertyField
à partir d'un dictionnaire JSON.
class TIPCommon.data_models.FieldGroupItem
class TIPCommon.data_models.FieldGroupItem(original_name: str, name: str, value: str)
Bases : objet
Représente un seul élément clé-valeur dans le groupe de champs d'un événement.
classmethod from_json(field_group_json: MutableMapping[str, Any])→ FieldGroupItem
Crée un objet FieldGroupItem
à partir d'un dictionnaire JSON.
class TIPCommon.data_models.FieldItem
class TIPCommon.data_models.FieldItem(original_name: str, name: str, value: str)
Bases : objet
Représente un seul élément dans un champ, contenant son nom d'origine, son nom mis en forme et sa valeur.
classmethod from_json(field_json: MutableMapping[str, Any])→ FieldItem
Crée un objet FieldItem
à partir d'un dictionnaire JSON.
class TIPCommon.data_models.FieldsGroup
class TIPCommon.data_models.FieldsGroup(order: int, group_name: str, is_integration: bool, is_highlight: bool, items: list[[FieldGroupItem]])
Bases : objet
Représente un groupe de champs au sein d'une structure de données plus grande, souvent utilisé pour l'affichage.
classmethod from_json(field_group_json: Dict[str, Any])→ FieldsGroup
Crée un objet FieldsGroup
à partir d'un dictionnaire JSON.
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)
Bases : objet
Représente les attributs d'un compte de service Google.
Méthodes
to_dict()→ dict
Sérialise le modèle de données dans un dictionnaire.
Renvoie
Dictionnaire JSON de compte de service.
Type renvoyé
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)
Bases : objet
Représente une instance installée d'une intégration dans un environnement.
classmethod from_json(integration_env_json: MutableMapping[str, Any])→ InstalledIntegrationInstance
Crée un objet InstalledIntegrationInstance à partir d'un dictionnaire JSON.
Paramètres
Paramètres | |
---|---|
integration_env_json |
SingleJson Données JSON contenant des informations sur l'environnement d'intégration. |
Renvoie
Instance de la classe spécifiée, initialisée avec les données de raw_data
.
Type renvoyé
InstalledIntegrationInstance
class TIPCommon.data_models.JobParamType
class 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
class TIPCommon.data_models.Parameter(raw_param)
Bases : objet
Classe parente représentant un paramètre.
Attributs
Attribut | Description |
---|---|
raw_data |
Données brutes du paramètre. |
Exemple
>>> 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)
Bases : objet
Représente les détails du contrat de niveau de service (SLA) pour une demande ou une alerte.
classmethod from_json(sla_json: Dict[str, Any])→ SLA
Crée un objet SLA à partir d'un dictionnaire JSON.
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)
Bases : objet
Représente le contexte d'exécution d'un script ou d'une action, en fournissant l'accès à divers paramètres et données d'exécution.
Attributs
Attribut | Description |
---|---|
action_definition_name |
str Nom de la définition d'action en cours d'exécution. La valeur par défaut est |
alert_id |
str ID de l'alerte associée à l'exécution actuelle. La valeur par défaut est |
async_polling_interval_in_sec |
int Intervalle d'interrogation asynchrone en secondes. La valeur par défaut est |
async_total_duration_deadline |
int Délai de durée totale pour les opérations asynchrones. La valeur par défaut est |
case_id |
int | str | None ID du cas associé à l'exécution actuelle. La valeur par défaut est |
connector_context |
ConnectorContext | None Contexte spécifique à l'exécution du connecteur. La valeur par défaut est |
default_result_value |
str Valeur par défaut du résultat de l'action. La valeur par défaut est |
environment |
str Environnement d'exécution. La valeur par défaut est |
environment_api_key |
str | None Clé API de l'environnement. La valeur par défaut est |
execution_deadline_unix_time_ms |
int Code temporel Unix (en millisecondes) indiquant le délai d'exécution. La valeur par défaut est |
integration_identifier |
str Identifiant de l'intégration utilisée. La valeur par défaut est |
integration_instance |
str Nom de l'instance d'intégration utilisée. La valeur par défaut est |
job_api_key |
str Clé API spécifique au job. La valeur par défaut est |
max_json_result_size |
int Taille maximale autorisée pour les résultats JSON. La valeur par défaut est |
original_requesting_user |
str Utilisateur qui a lancé la demande à l'origine. La valeur par défaut est |
parameters |
SingleJson Objet JSON contenant les paramètres du script/de l'action. |
script_timeout_deadline |
int Délai d'exécution du script. La valeur par défaut est |
target_entities |
str Chaîne d'entités cibles séparées par une virgule. La valeur par défaut est |
unique_identifier |
str Identifiant unique du contexte d'exécution. La valeur par défaut est |
use_proxy_settings |
bool Indique si les paramètres de proxy doivent être utilisés. La valeur par défaut est |
vault_settings |
SiemplifyVault | None Paramètres du coffre-fort pour la récupération sécurisée des identifiants. La valeur par défaut est |
workflow_id |
str ID du workflow. La valeur par défaut est |
workflow_instance_id |
str | None ID de l'instance de workflow. La valeur par défaut est |
Méthodes
to_json()→ MutableMapping[str, Any]
Sérialise l'objet de contexte dans un mappage mutable (dictionnaire JSON).update(attributes: MutableMapping[str, Any])→ None
Met à jour l'objet de contexte avec de nouveaux attributs à partir d'un mappage mutable.
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')
Bases : objet
Représente la configuration pour l'envoi d'e-mails chiffrés ou signés avec le protocole S/MIME.
Attributs
Attribut | Description |
---|---|
ca_certificate_b64 |
str Certificat CA encodé en base64. |
certificate_b64 |
str Certificat encodé en base64. |
email |
Message Objet du message électronique. |
private_key_b64 |
str Clé privée encodée en base64. |
class TIPCommon.data_models.SmimeType
class TIPCommon.data_models.SmimeType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Représente les types d'opérations S/MIME.
Constantes
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)
Bases : Generic[T]
Conteneur pour un type spécifique qui fournit l'intellisense de type.
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)
Bases : objet
Représente une fiche récapitulative du profil utilisateur.
classmethod from_json(user_profile_card_response: dict)→ UserProfileCard
Crée un objet UserProfileCard
à partir d'un dictionnaire JSON.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.