Skip to content

Commit b434d5d

Browse files
Refactor date processing for asset inventory list to use foreach processor (#15849)
* Refactor date processing for asset inventory list to use foreach processor * Bump version to 0.4.1 and update changelog for date processing refactor * Remove previous processors
1 parent a8fcb8e commit b434d5d

File tree

6 files changed

+520
-381
lines changed

6 files changed

+520
-381
lines changed

packages/qualys_gav/_dev/deploy/docker/files/config.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,15 @@ rules:
326326
"created": 1752070872000,
327327
"lastUpdated": 1752243670000
328328
},
329+
"inventory_list_data": {
330+
"inventory": [
331+
{
332+
"last_updated": "2025-11-04T08:08:04.000Z",
333+
"created": "2024-01-12T03:40:12.000Z",
334+
"source": "EASM"
335+
}
336+
]
337+
},
329338
"activity": {
330339
"source": "EASM",
331340
"lastScannedDate": 1752243670000
@@ -1535,6 +1544,15 @@ rules:
15351544
"source": "QAGENT",
15361545
"created": 1751889561000,
15371546
"lastUpdated": 1752520814000
1547+
},
1548+
"inventory_list_data": {
1549+
"inventory": [
1550+
{
1551+
"last_updated": "2025-11-04T00:09:15.000Z",
1552+
"created": "2024-01-11T16:24:15.000Z",
1553+
"source": "Cloud Agent"
1554+
}
1555+
]
15381556
},
15391557
"activity": {
15401558
"source": "QAGENT",

packages/qualys_gav/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: "0.4.1"
3+
changes:
4+
- description: Refactor date processing for asset inventory list to use foreach processor.
5+
type: bugfix
6+
link: https://github.com/elastic/integrations/pull/15849
27
- version: "0.4.0"
38
changes:
49
- description: Map Qualys cloud fields to cloud ECS fields.

packages/qualys_gav/data_stream/asset/elasticsearch/ingest_pipeline/default.yml

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -673,34 +673,38 @@ processors:
673673
- append:
674674
field: error.message
675675
value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}'
676-
- date:
677-
field: qualys_gav.asset.inventory_list_data.inventory.created
678-
target_field: qualys_gav.asset.inventory_list_data.inventory.created
679-
tag: date_qualys_gav_asset_inventory_list_data_inventory_created
680-
formats:
681-
- UNIX_MS
682-
- ISO8601
683-
if: ctx.qualys_gav?.asset?.inventory_list_data?.inventory?.created != null && ctx.qualys_gav.asset.inventory_list_data.inventory.created != ''
684-
on_failure:
685-
- remove:
686-
field: qualys_gav.asset.inventory.created
687-
- append:
688-
field: error.message
689-
value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}'
690-
- date:
691-
field: qualys_gav.asset.inventory_list_data.inventory.last_updated
692-
target_field: qualys_gav.asset.inventory_list_data.inventory.last_updated
693-
tag: date_qualys_gav_asset_inventory_last_updated
694-
formats:
695-
- UNIX_MS
696-
- ISO8601
697-
if: ctx.qualys_gav?.asset?.inventory_list_data?.inventory?.last_updated != null && ctx.qualys_gav.asset.inventory_list_data.inventory.last_updated != ''
698-
on_failure:
699-
- remove:
700-
field: qualys_gav.asset.inventory_list_data.inventory.last_updated
701-
- append:
702-
field: error.message
703-
value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}'
676+
- foreach:
677+
field: qualys_gav.asset.inventory_list_data.inventory
678+
tag: foreach_asset_inventory_list_data_inventory_to_date_created
679+
if: ctx.qualys_gav?.asset?.inventory_list_data?.inventory instanceof List
680+
processor:
681+
date:
682+
field: _ingest._value.created
683+
target_field: _ingest._value.created
684+
tag: date_asset_inventory_list_data_inventory_created
685+
formats:
686+
- UNIX_MS
687+
- ISO8601
688+
on_failure:
689+
- remove:
690+
field: _ingest._value.created
691+
ignore_missing: true
692+
- foreach:
693+
field: qualys_gav.asset.inventory_list_data.inventory
694+
tag: foreach_asset_inventory_list_data_inventory_to_date_last_updated
695+
if: ctx.qualys_gav?.asset?.inventory_list_data?.inventory instanceof List
696+
processor:
697+
date:
698+
field: _ingest._value.last_updated
699+
target_field: _ingest._value.last_updated
700+
tag: date_asset_inventory_list_data_inventory_last_updated
701+
formats:
702+
- UNIX_MS
703+
- ISO8601
704+
on_failure:
705+
- remove:
706+
field: _ingest._value.last_updated
707+
ignore_missing: true
704708
- date:
705709
field: qualys_gav.asset.activity.last_scanned_date
706710
target_field: qualys_gav.asset.activity.last_scanned_date

0 commit comments

Comments
 (0)