Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0c64c32

Browse files
committed
gis-9415 add global alternative mapping
1 parent0383ff3 commit0c64c32

File tree

4 files changed

+17
-9
lines changed

4 files changed

+17
-9
lines changed

‎uncoder-core/app/translator/core/mapping.py‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from __future__importannotations
22

3+
importos
34
fromabcimportABC,abstractmethod
4-
fromtypingimportTYPE_CHECKING,Optional,TypeVar,Union
5+
fromtypingimportTYPE_CHECKING,ClassVar,Optional,TypeVar,Union
56

67
fromapp.translator.core.exceptions.coreimport (
78
StrictPlatformException,
@@ -16,6 +17,7 @@
1617

1718

1819
DEFAULT_MAPPING_NAME="default"
20+
GLOBAL_ALTERNATIVE_MAPPING_DIR="global_alternative"
1921

2022

2123
classLogSourceSignature(ABC):
@@ -113,14 +115,15 @@ class BasePlatformMappings:
113115
is_strict_mapping:bool=False
114116
skip_load_default_mappings:bool=True
115117
extend_default_mapping_with_all_fields:bool=False
116-
global_mappings:list[str]= []
118+
global_alternative_mappings:ClassVar[list[str]]= []
117119

118120
def__init__(self,platform_dir:str,platform_details:PlatformDetails):
119121
self._loader=LoaderFileMappings()
120122
self.details=platform_details
121123
self._source_mappings=self.prepare_mapping(platform_dir)
122124
self._alternative_mappings=self.prepare_alternative_mapping(platform_dir)
123-
global_alternative_mappings=self.prepare_global_alternative_mapping()
125+
ifself.global_alternative_mappings:
126+
self._alternative_mappings.update(self.prepare_global_alternative_mapping())
124127

125128
defupdate_default_source_mapping(self,default_mapping:SourceMapping,fields_mapping:FieldsMapping)->None:
126129
default_mapping.fields_mapping.update(fields_mapping)
@@ -132,8 +135,10 @@ def prepare_alternative_mapping(self, platform_dir: str) -> dict[str, dict[str,
132135
returnalternative_mappings
133136

134137
defprepare_global_alternative_mapping(self)->dict[str,dict[str,SourceMapping]]:
135-
globa_alternative_mappings= {}
136-
returngloba_alternative_mappings
138+
global_alternative_mappings= {}
139+
fornameinself.global_alternative_mappings:
140+
global_alternative_mappings[name]=self.prepare_mapping(os.path.join(GLOBAL_ALTERNATIVE_MAPPING_DIR,name))
141+
returnglobal_alternative_mappings
137142

138143
defprepare_mapping(self,platform_dir:str)->dict[str,SourceMapping]:
139144
source_mappings= {}

‎uncoder-core/app/translator/core/models/query_container.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class RawQueryContainer:
136136
classRawQueryDictContainer:
137137
query:dict
138138
language:str
139-
meta_info:dict
139+
meta_info:MetaInfoContainer=field(default_factory=MetaInfoContainer)
140140

141141

142142
@dataclass

‎uncoder-core/app/translator/mappings/global_alternative/ocsf/default.yml‎renamed to ‎uncoder-core/app/translator/mappings/platforms/global_alternative/ocsf/default.yml‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
platform:Global OCSF
22
source:default
33

4-
default_log_source:{}
54

65
fieldmappings:
76
IntegrityLevel:process.integrity

‎uncoder-core/app/translator/platforms/splunk/mapping.py‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
fromtypingimportOptional
1+
fromtypingimportClassVar,Optional
22

33
fromapp.translator.core.mappingimportBasePlatformMappings,LogSourceSignature
44
fromapp.translator.platforms.splunk.constimportsplunk_alert_details,splunk_query_details
@@ -39,9 +39,13 @@ def __str__(self) -> str:
3939

4040

4141
classSplunkMappings(BasePlatformMappings):
42+
global_alternative_mappings:ClassVar[list[str]]= ["ocsf"]
43+
4244
defprepare_log_source_signature(self,mapping:dict)->SplunkLogSourceSignature:
4345
log_source=mapping.get("log_source", {})
44-
default_log_source=mapping["default_log_source"]
46+
default_log_source= (
47+
mapping.get("default_log_source")ifmapping.get("default_log_source")else {"source":"WinEventLog: *"}
48+
)
4549
returnSplunkLogSourceSignature(
4650
sources=log_source.get("source"),
4751
source_types=log_source.get("sourcetype"),

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp