-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.example.toml
74 lines (61 loc) · 4.21 KB
/
config.example.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
version = "1.0.0"
developer = "Your Name <[email protected]>"
# -------------------------------------------------- #
# - Configuration for a Generic Entity - #
# -------------------------------------------------- #
# Definición de una entidad genérica
[entity_generic]
name = "Generic Entity" # Nombre de la entidad o empresa que se está configurando
# ----------------------------------------------------- #
# - Configuration for a Technology within the Entity - #
# ----------------------------------------------------- #
# Definición de una tecnología dentro de la entidad
[entity_generic.technology_one]
enabled = true # Activa o desactiva la tecnología completa, si está en 'false' todas las fuentes se desactivan automáticamente.
source_name = "Technology One" # Nombre legible de la tecnología para identificar en reportes o logs.
base_url = "http://api.generictechnology.com" # URL base de la API, no debe incluir una barra (/) al final.
api_token = "your_api_token_here" # Token de autenticación utilizado para acceder a la API.
authentication = "Bearer" # Método de autenticación actual (se admiten distintos métodos en futuras versiones).
expiration_date_token = 2024-12-31T23:59:59-04:00 # Fecha opcional de vencimiento del token, se usa para alertar sobre su expiración.
log_sources_ids = [1001, 1002] # IDs opcionales de las fuentes de logs de LogRhythm asociadas con esta tecnología.
max_num_files = 10 # Número máximo de archivos manejados por el logger rotativo (estático se admitirá en el futuro).
max_file_size = "10 MB" # Tamaño máximo de cada archivo de log.
pagination = { next_link_key = "next", items_key = "items" } # Configuración de paginación para APIs que devuelven resultados paginados.
# ----------------------------------------- #
# - Sources within the Technology - #
# ----------------------------------------- #
# Configuración de una fuente dentro de la tecnología
[entity_generic.technology_one.source_one]
enabled = true # Activa o desactiva esta fuente específica dentro de la tecnología.
interval = 300 # Tiempo en segundos para que el scheduler consulte este endpoint.
endpoint = "/v1/source_one" # Endpoint específico de la API para esta fuente.
method = "GET" # Método HTTP utilizado para la solicitud.
headers = { Authorization = "Bearer your_api_token_here" } # Cabeceras HTTP adicionales necesarias para la solicitud.
# Parámetros de consulta (querystring) en una sola línea
querystring = { limit = 100, startDateTime = { type = "%Y-%m-%dT%H:%M:%SZ", value = "10 minutes ago" }, endDateTime = { type = "%Y-%m-%dT%H:%M:%SZ", value = "now" } }
# Configuración de otra fuente con un querystring más extenso
[entity_generic.technology_one.source_two]
enabled = true # Activación de esta fuente.
interval = 600 # Tiempo en segundos para que el scheduler consulte este endpoint.
endpoint = "/v1/source_two" # Endpoint para esta fuente.
method = "POST" # Método HTTP utilizado.
headers = { Filter = "(status eq 'active')" } # Filtro aplicado como cabecera en la solicitud.
# Parámetros de consulta (querystring) usando la forma extendida
[entity_generic.technology_one.source_two.querystring]
limit = 50
startDateTime = { type = "%Y-%m-%dT%H:%M:%SZ", value = "30 minutes ago" }
endDateTime = { type = "%Y-%m-%dT%H:%M:%SZ", value = "now" }
orderBy = "createdDateTime desc"
filter = "(status eq 'active')"
# ------------------------------------------ #
# - Source with Dependencies Configuration - #
# ------------------------------------------ #
# Fuente con dependencias dentro de la tecnología
[entity_generic.technology_one.dependent_source]
enabled = true # Activa esta fuente dependiente.
endpoint = "/v1/dependent/{resource_id}" # Endpoint que depende de un valor extraído de una fuente principal.
method = "GET" # Método HTTP utilizado.
extract_from = "source_one.id" # Valor extraído de 'source_one' para reemplazar en el endpoint.
replace_in = { resource_id = "source_one" } # Define qué valor extraído reemplaza el recurso en el endpoint.
# Nota: Las fuentes dependientes no pueden tener su propio 'interval'. El intervalo será el mismo de la fuente principal de la que depende.
dependencies = ["source_one"] # Esta fuente depende de la fuente 'source_one', por lo que no tiene un intervalo propio.