diff --git a/detection_rules/etc/beats_schemas/main.json.gz b/detection_rules/etc/beats_schemas/main.json.gz index b4b96db29..cfc9708ba 100644 Binary files a/detection_rules/etc/beats_schemas/main.json.gz and b/detection_rules/etc/beats_schemas/main.json.gz differ diff --git a/detection_rules/etc/beats_schemas/v8.0.0-rc1.json.gz b/detection_rules/etc/beats_schemas/v8.0.0-rc1.json.gz deleted file mode 100644 index 26d7aa4ef..000000000 Binary files a/detection_rules/etc/beats_schemas/v8.0.0-rc1.json.gz and /dev/null differ diff --git a/detection_rules/etc/beats_schemas/v8.0.1.json.gz b/detection_rules/etc/beats_schemas/v8.0.1.json.gz new file mode 100644 index 000000000..6b6e53397 Binary files /dev/null and b/detection_rules/etc/beats_schemas/v8.0.1.json.gz differ diff --git a/detection_rules/etc/beats_schemas/v8.1.2.json.gz b/detection_rules/etc/beats_schemas/v8.1.2.json.gz new file mode 100644 index 000000000..76a4f604c Binary files /dev/null and b/detection_rules/etc/beats_schemas/v8.1.2.json.gz differ diff --git a/detection_rules/etc/beats_schemas/v8.2.1.json.gz b/detection_rules/etc/beats_schemas/v8.2.1.json.gz new file mode 100644 index 000000000..8dabf2232 Binary files /dev/null and b/detection_rules/etc/beats_schemas/v8.2.1.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/1.12.0/ecs_flat.json.gz b/detection_rules/etc/ecs_schemas/1.12.0/ecs_flat.json.gz deleted file mode 100644 index 5579a1846..000000000 Binary files a/detection_rules/etc/ecs_schemas/1.12.0/ecs_flat.json.gz and /dev/null differ diff --git a/detection_rules/etc/ecs_schemas/1.12.0/ecs_nested.json.gz b/detection_rules/etc/ecs_schemas/1.12.0/ecs_nested.json.gz deleted file mode 100644 index 03f4ddb67..000000000 Binary files a/detection_rules/etc/ecs_schemas/1.12.0/ecs_nested.json.gz and /dev/null differ diff --git a/detection_rules/etc/ecs_schemas/1.12.1/ecs_flat.json.gz b/detection_rules/etc/ecs_schemas/1.12.2/ecs_flat.json.gz similarity index 99% rename from detection_rules/etc/ecs_schemas/1.12.1/ecs_flat.json.gz rename to detection_rules/etc/ecs_schemas/1.12.2/ecs_flat.json.gz index 325720b2f..dcc30e486 100644 Binary files a/detection_rules/etc/ecs_schemas/1.12.1/ecs_flat.json.gz and b/detection_rules/etc/ecs_schemas/1.12.2/ecs_flat.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/1.12.1/ecs_nested.json.gz b/detection_rules/etc/ecs_schemas/1.12.2/ecs_nested.json.gz similarity index 99% rename from detection_rules/etc/ecs_schemas/1.12.1/ecs_nested.json.gz rename to detection_rules/etc/ecs_schemas/1.12.2/ecs_nested.json.gz index bef09ce4a..c9771bfce 100644 Binary files a/detection_rules/etc/ecs_schemas/1.12.1/ecs_nested.json.gz and b/detection_rules/etc/ecs_schemas/1.12.2/ecs_nested.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/8.0.1/ecs_flat.json.gz b/detection_rules/etc/ecs_schemas/8.0.1/ecs_flat.json.gz new file mode 100644 index 000000000..963e76fb2 Binary files /dev/null and b/detection_rules/etc/ecs_schemas/8.0.1/ecs_flat.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/8.0.1/ecs_nested.json.gz b/detection_rules/etc/ecs_schemas/8.0.1/ecs_nested.json.gz new file mode 100644 index 000000000..10d90dab4 Binary files /dev/null and b/detection_rules/etc/ecs_schemas/8.0.1/ecs_nested.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/master_8.2.0.dev/ecs_flat.json.gz b/detection_rules/etc/ecs_schemas/8.1.0/ecs_flat.json.gz similarity index 99% rename from detection_rules/etc/ecs_schemas/master_8.2.0.dev/ecs_flat.json.gz rename to detection_rules/etc/ecs_schemas/8.1.0/ecs_flat.json.gz index 326eb2e21..7121d4635 100644 Binary files a/detection_rules/etc/ecs_schemas/master_8.2.0.dev/ecs_flat.json.gz and b/detection_rules/etc/ecs_schemas/8.1.0/ecs_flat.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/8.1.0/ecs_nested.json.gz b/detection_rules/etc/ecs_schemas/8.1.0/ecs_nested.json.gz new file mode 100644 index 000000000..31f149b54 Binary files /dev/null and b/detection_rules/etc/ecs_schemas/8.1.0/ecs_nested.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/8.2.1/ecs_flat.json.gz b/detection_rules/etc/ecs_schemas/8.2.1/ecs_flat.json.gz new file mode 100644 index 000000000..a3da079d0 Binary files /dev/null and b/detection_rules/etc/ecs_schemas/8.2.1/ecs_flat.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/8.2.1/ecs_nested.json.gz b/detection_rules/etc/ecs_schemas/8.2.1/ecs_nested.json.gz new file mode 100644 index 000000000..003d5192f Binary files /dev/null and b/detection_rules/etc/ecs_schemas/8.2.1/ecs_nested.json.gz differ diff --git a/detection_rules/etc/ecs_schemas/master_8.5.0-dev/ecs_flat.json.gz b/detection_rules/etc/ecs_schemas/master_8.5.0-dev/ecs_flat.json.gz new file mode 100644 index 000000000..b9f48e6e0 Binary files /dev/null and b/detection_rules/etc/ecs_schemas/master_8.5.0-dev/ecs_flat.json.gz differ diff --git a/detection_rules/etc/stack-schema-map.yaml b/detection_rules/etc/stack-schema-map.yaml index 94a73ad2e..0b185c657 100644 --- a/detection_rules/etc/stack-schema-map.yaml +++ b/detection_rules/etc/stack-schema-map.yaml @@ -18,23 +18,23 @@ ecs: "1.11.0" "7.16.0": - beats: "7.16.2" # TODO: update this once beats releases - ecs: "1.12.1" + beats: "7.16.2" + ecs: "1.12.2" # 7.17 was intentionally skipped because it was added late and was bug fix only "8.0.0": - beats: "8.0.0-rc1" # TODO: update this once beats releases - ecs: "1.12.1" + beats: "8.0.1" + ecs: "8.0.1" "8.1.0": - beats: "main" # TODO: update this once beats releases - ecs: "1.12.1" + beats: "8.1.2" + ecs: "8.1.0" "8.2.0": - beats: "main" # TODO: update this once beats releases - ecs: "1.12.1" + beats: "8.2.1" + ecs: "8.2.1" "8.3.0": beats: "main" # TODO: update this once beats releases - ecs: "1.12.1" + ecs: "8.2.1" diff --git a/detection_rules/schemas/__init__.py b/detection_rules/schemas/__init__.py index c439c5432..2ca1f7fe8 100644 --- a/detection_rules/schemas/__init__.py +++ b/detection_rules/schemas/__init__.py @@ -3,8 +3,9 @@ # 2.0; you may not use this file except in compliance with the Elastic License # 2.0. import json +from collections import OrderedDict from pathlib import Path -from typing import Dict, List, Optional +from typing import List, Optional, OrderedDict as OrderedDictType import jsonschema @@ -221,7 +222,7 @@ def downgrade(api_contents: dict, target_version: str, current_version: Optional @cached -def get_stack_schemas(stack_version: str) -> Dict[str, dict]: +def get_stack_schemas(stack_version: str) -> OrderedDictType[str, dict]: """Return all ECS + beats to stack versions for a every stack version >= specified stack version and <= package.""" from ..packaging import load_current_package_version @@ -238,4 +239,5 @@ def get_stack_schemas(stack_version: str) -> Dict[str, dict]: if stack_version > current_package: versions[stack_version] = {'beats': 'main', 'ecs': 'master'} - return versions + versions_reversed = OrderedDict(sorted(versions.items(), reverse=True)) + return versions_reversed