splunk-soar-sdk 3.8.1__py3-none-any.whl → 3.8.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
soar_sdk/asset.py CHANGED
@@ -300,3 +300,29 @@ class BaseAsset(BaseModel):
300
300
  if self._ingest_state is None:
301
301
  raise AppContextRequired()
302
302
  return self._ingest_state
303
+
304
+
305
+ class ESIngestMixin:
306
+ """Mixin for apps that support ES polling (on_es_poll).
307
+
308
+ Add this mixin to your Asset class to include ES Ingest Settings fields.
309
+ These fields are configured in the ES UI and control how findings are created.
310
+
311
+ Example:
312
+ >>> class Asset(BaseAsset, ESIngestMixin):
313
+ ... server: str = AssetField(description="API server URL")
314
+ ... api_key: str = AssetField(description="API key", sensitive=True)
315
+ """
316
+
317
+ es_security_domain: str = AssetField(
318
+ required=False,
319
+ description="Security domain for ES findings",
320
+ default="threat",
321
+ category=FieldCategory.INGEST,
322
+ )
323
+ es_urgency: str = AssetField(
324
+ required=False,
325
+ description="Urgency level for ES findings",
326
+ default="medium",
327
+ category=FieldCategory.INGEST,
328
+ )
@@ -21,20 +21,26 @@ class DrilldownDashboard(BaseModel):
21
21
 
22
22
 
23
23
  class Finding(BaseModel):
24
- """Represents a finding to be created during on_finding.
24
+ """Represents a finding to be created during on_es_poll.
25
25
 
26
26
  Findings are stored in ES and can be associated with SOAR containers/artifacts
27
27
  for investigation workflow.
28
+
29
+ Only rule_title and security_domain are required. All other fields are optional
30
+ and will use ES defaults if not provided.
28
31
  """
29
32
 
30
33
  model_config = ConfigDict(extra="forbid")
31
34
 
35
+ # Required fields
32
36
  rule_title: str
33
- rule_description: str
34
37
  security_domain: str
35
- risk_object: str
36
- risk_object_type: str
37
- risk_score: float
38
+
39
+ # Optional fields
40
+ rule_description: str | None = None
41
+ risk_object: str | None = None
42
+ risk_object_type: str | None = None
43
+ risk_score: float | None = None
38
44
  status: str | None = None
39
45
  urgency: str | None = None
40
46
  owner: str | None = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: splunk-soar-sdk
3
- Version: 3.8.1
3
+ Version: 3.8.2
4
4
  Summary: The official framework for developing and testing Splunk SOAR Apps
5
5
  Project-URL: Homepage, https://github.com/phantomcyber/splunk-soar-sdk
6
6
  Project-URL: Documentation, https://github.com/phantomcyber/splunk-soar-sdk
@@ -5,7 +5,7 @@ soar_sdk/actions_manager.py,sha256=8IYOi2k8i9LHXEhQVZ0Ig3IS1gD3iAmOJ9q0bi14g-o,7
5
5
  soar_sdk/app.py,sha256=2bUWx1BgWS9Kwkp0aUzVWM8LTdVUq1JI2eXR0LhwEMU,37092
6
6
  soar_sdk/app_cli_runner.py,sha256=K1ATWyGs0iNgPfIjMthsN72laOXqXCFZNEXfuzAMOM4,11645
7
7
  soar_sdk/app_client.py,sha256=hbe1R2QwXDmoS4959a-ay9oylD1Qk-oPJvJRnxvICz0,6281
8
- soar_sdk/asset.py,sha256=CUCFjUVAawrk3hyGvQn_qNApqJx8J4VxzD--iGEE2pc,12123
8
+ soar_sdk/asset.py,sha256=lPvF7-_tGQf39rdXMIecz5x0l4CcE4kPSl6qjaq-ClE,12967
9
9
  soar_sdk/asset_state.py,sha256=qh4n8IoabVObIZXRPyM0zznwC5LcJpbADcybmDdQABc,2318
10
10
  soar_sdk/async_utils.py,sha256=Dz7RagIRjyIagA9vivHWSb18S96J2WOuDB8B5Zy64AE,1428
11
11
  soar_sdk/colors.py,sha256=--i_iXqfyITUz4O95HMjfZQGbwFZ34bLmBhtfpXXqlQ,1095
@@ -84,7 +84,7 @@ soar_sdk/models/__init__.py,sha256=YZVAcBguAlUsxAnBBL6jSguJEzf5PYCtdvbNyU1XfEU,3
84
84
  soar_sdk/models/artifact.py,sha256=G8hv9wPPoRgrAQzIf-YlCSjAlkHEcIPF389T1bo4yHw,1087
85
85
  soar_sdk/models/attachment_input.py,sha256=s2mkEsRVb52yqHtb4Q7FzC9j8A4-Q8W4wCDqMJQZ8cc,1043
86
86
  soar_sdk/models/container.py,sha256=Cnn-Grha8qUFHHBxLUcEvo81sC3z483oItJ4GhRiTmg,1528
87
- soar_sdk/models/finding.py,sha256=Evga9Jrp3TfSVdAQlAkZ7UHDkUjaQYicYYY1S5bIruY,1404
87
+ soar_sdk/models/finding.py,sha256=74tQySVi-pExAaVp2fbJt44a28tq2S0ny5C7Lsa7me8,1636
88
88
  soar_sdk/models/vault_attachment.py,sha256=sdRnQdPiwgaZDojpap4ohH7u1Q5TYGP-drs8Ko4p_aU,1073
89
89
  soar_sdk/models/view.py,sha256=BUuz6VVVe78hg7irGgZCbvBcycOmuPqplkagdi3T4Dg,779
90
90
  soar_sdk/shims/phantom/action_result.py,sha256=Nddc9oswAfHU7I2q0pLm3HZ2YiLUQZUEIqqAjToZWnM,1606
@@ -116,8 +116,8 @@ soar_sdk/views/components/pie_chart.py,sha256=LVTeHVJN6nf2vjUs9y7PDBhS0U1fKW750l
116
116
  soar_sdk/webhooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
117
  soar_sdk/webhooks/models.py,sha256=j3kbvYmcOlcj3gQYKtrv7iS-lDavMKYNLdCNMy_I2Hc,4542
118
118
  soar_sdk/webhooks/routing.py,sha256=OjezhuAb8wzW0MnbGSnIWeAH3uJcu-Sb7s3w9zoiPVM,6873
119
- splunk_soar_sdk-3.8.1.dist-info/METADATA,sha256=77J-AZGoWNo716WsgJyepjKsR9fxgZoJ-g_EdHBnjHI,7544
120
- splunk_soar_sdk-3.8.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
121
- splunk_soar_sdk-3.8.1.dist-info/entry_points.txt,sha256=CgBjo2ZWpYNkt9TgvToL26h2Tg1yt8FbvYTb5NVgNuc,51
122
- splunk_soar_sdk-3.8.1.dist-info/licenses/LICENSE,sha256=gNCGrGhrSQb1PUzBOByVUN1tvaliwLZfna-QU2r2hQ8,11345
123
- splunk_soar_sdk-3.8.1.dist-info/RECORD,,
119
+ splunk_soar_sdk-3.8.2.dist-info/METADATA,sha256=0f5Gl5H3xKtQbZrKZ7_r-5qRvH8gE3dw0ERKRqrVJug,7544
120
+ splunk_soar_sdk-3.8.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
121
+ splunk_soar_sdk-3.8.2.dist-info/entry_points.txt,sha256=CgBjo2ZWpYNkt9TgvToL26h2Tg1yt8FbvYTb5NVgNuc,51
122
+ splunk_soar_sdk-3.8.2.dist-info/licenses/LICENSE,sha256=gNCGrGhrSQb1PUzBOByVUN1tvaliwLZfna-QU2r2hQ8,11345
123
+ splunk_soar_sdk-3.8.2.dist-info/RECORD,,