cribl-control-plane 0.0.49__py3-none-any.whl → 0.0.50rc1__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.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/_version.py +4 -6
- cribl_control_plane/errors/healthstatus_error.py +8 -2
- cribl_control_plane/health.py +6 -2
- cribl_control_plane/models/__init__.py +21 -4
- cribl_control_plane/models/appmode.py +2 -1
- cribl_control_plane/models/cacheconnection.py +10 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +7 -2
- cribl_control_plane/models/configgroupcloud.py +6 -2
- cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
- cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
- cribl_control_plane/models/createversionpushop.py +5 -5
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +8 -2
- cribl_control_plane/models/datasetmetadata.py +8 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
- cribl_control_plane/models/error.py +16 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
- cribl_control_plane/models/gethealthinfoop.py +17 -0
- cribl_control_plane/models/getsummaryop.py +7 -2
- cribl_control_plane/models/getversionshowop.py +6 -5
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/hbcriblinfo.py +11 -1
- cribl_control_plane/models/healthstatus.py +7 -4
- cribl_control_plane/models/inputappscope.py +34 -14
- cribl_control_plane/models/inputazureblob.py +17 -6
- cribl_control_plane/models/inputcollection.py +11 -4
- cribl_control_plane/models/inputconfluentcloud.py +47 -20
- cribl_control_plane/models/inputcribl.py +11 -4
- cribl_control_plane/models/inputcriblhttp.py +23 -8
- cribl_control_plane/models/inputcribllakehttp.py +22 -10
- cribl_control_plane/models/inputcriblmetrics.py +12 -4
- cribl_control_plane/models/inputcribltcp.py +23 -8
- cribl_control_plane/models/inputcrowdstrike.py +26 -10
- cribl_control_plane/models/inputdatadogagent.py +24 -8
- cribl_control_plane/models/inputdatagen.py +11 -4
- cribl_control_plane/models/inputedgeprometheus.py +58 -24
- cribl_control_plane/models/inputelastic.py +40 -14
- cribl_control_plane/models/inputeventhub.py +15 -6
- cribl_control_plane/models/inputexec.py +14 -6
- cribl_control_plane/models/inputfile.py +15 -6
- cribl_control_plane/models/inputfirehose.py +23 -8
- cribl_control_plane/models/inputgooglepubsub.py +19 -6
- cribl_control_plane/models/inputgrafana.py +67 -24
- cribl_control_plane/models/inputhttp.py +23 -8
- cribl_control_plane/models/inputhttpraw.py +23 -8
- cribl_control_plane/models/inputjournalfiles.py +12 -4
- cribl_control_plane/models/inputkafka.py +46 -16
- cribl_control_plane/models/inputkinesis.py +38 -14
- cribl_control_plane/models/inputkubeevents.py +11 -4
- cribl_control_plane/models/inputkubelogs.py +16 -8
- cribl_control_plane/models/inputkubemetrics.py +16 -8
- cribl_control_plane/models/inputloki.py +29 -10
- cribl_control_plane/models/inputmetrics.py +23 -8
- cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
- cribl_control_plane/models/inputmsk.py +53 -18
- cribl_control_plane/models/inputnetflow.py +11 -4
- cribl_control_plane/models/inputoffice365mgmt.py +33 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
- cribl_control_plane/models/inputoffice365service.py +35 -16
- cribl_control_plane/models/inputopentelemetry.py +38 -16
- cribl_control_plane/models/inputprometheus.py +50 -18
- cribl_control_plane/models/inputprometheusrw.py +30 -10
- cribl_control_plane/models/inputrawudp.py +11 -4
- cribl_control_plane/models/inputs3.py +21 -8
- cribl_control_plane/models/inputs3inventory.py +26 -10
- cribl_control_plane/models/inputsecuritylake.py +27 -10
- cribl_control_plane/models/inputsnmp.py +16 -6
- cribl_control_plane/models/inputsplunk.py +33 -12
- cribl_control_plane/models/inputsplunkhec.py +29 -10
- cribl_control_plane/models/inputsplunksearch.py +33 -14
- cribl_control_plane/models/inputsqs.py +27 -10
- cribl_control_plane/models/inputsyslog.py +43 -16
- cribl_control_plane/models/inputsystemmetrics.py +48 -24
- cribl_control_plane/models/inputsystemstate.py +16 -8
- cribl_control_plane/models/inputtcp.py +29 -10
- cribl_control_plane/models/inputtcpjson.py +29 -10
- cribl_control_plane/models/inputwef.py +37 -14
- cribl_control_plane/models/inputwindowsmetrics.py +44 -24
- cribl_control_plane/models/inputwineventlogs.py +20 -10
- cribl_control_plane/models/inputwiz.py +21 -8
- cribl_control_plane/models/inputwizwebhook.py +23 -8
- cribl_control_plane/models/inputzscalerhec.py +29 -10
- cribl_control_plane/models/jobinfo.py +4 -1
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
- cribl_control_plane/models/masterworkerentry.py +7 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +4 -1
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +13 -5
- cribl_control_plane/models/outputazureblob.py +48 -18
- cribl_control_plane/models/outputazuredataexplorer.py +73 -28
- cribl_control_plane/models/outputazureeventhub.py +40 -18
- cribl_control_plane/models/outputazurelogs.py +35 -12
- cribl_control_plane/models/outputclickhouse.py +55 -20
- cribl_control_plane/models/outputcloudwatch.py +29 -10
- cribl_control_plane/models/outputconfluentcloud.py +77 -32
- cribl_control_plane/models/outputcriblhttp.py +44 -16
- cribl_control_plane/models/outputcribllake.py +46 -16
- cribl_control_plane/models/outputcribltcp.py +45 -18
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
- cribl_control_plane/models/outputdatadog.py +48 -20
- cribl_control_plane/models/outputdataset.py +46 -18
- cribl_control_plane/models/outputdiskspool.py +7 -2
- cribl_control_plane/models/outputdls3.py +68 -24
- cribl_control_plane/models/outputdynatracehttp.py +53 -20
- cribl_control_plane/models/outputdynatraceotlp.py +55 -22
- cribl_control_plane/models/outputelastic.py +43 -18
- cribl_control_plane/models/outputelasticcloud.py +36 -12
- cribl_control_plane/models/outputexabeam.py +29 -10
- cribl_control_plane/models/outputfilesystem.py +39 -14
- cribl_control_plane/models/outputgooglechronicle.py +50 -16
- cribl_control_plane/models/outputgooglecloudlogging.py +50 -18
- cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
- cribl_control_plane/models/outputgooglepubsub.py +31 -10
- cribl_control_plane/models/outputgrafanacloud.py +97 -32
- cribl_control_plane/models/outputgraphite.py +31 -14
- cribl_control_plane/models/outputhoneycomb.py +35 -12
- cribl_control_plane/models/outputhumiohec.py +43 -16
- cribl_control_plane/models/outputinfluxdb.py +42 -16
- cribl_control_plane/models/outputkafka.py +74 -28
- cribl_control_plane/models/outputkinesis.py +40 -16
- cribl_control_plane/models/outputloki.py +41 -16
- cribl_control_plane/models/outputminio.py +65 -24
- cribl_control_plane/models/outputmsk.py +82 -30
- cribl_control_plane/models/outputnewrelic.py +43 -18
- cribl_control_plane/models/outputnewrelicevents.py +41 -14
- cribl_control_plane/models/outputopentelemetry.py +67 -26
- cribl_control_plane/models/outputprometheus.py +35 -12
- cribl_control_plane/models/outputring.py +19 -8
- cribl_control_plane/models/outputs3.py +68 -26
- cribl_control_plane/models/outputsecuritylake.py +52 -18
- cribl_control_plane/models/outputsentinel.py +45 -18
- cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
- cribl_control_plane/models/outputservicenow.py +60 -24
- cribl_control_plane/models/outputsignalfx.py +37 -14
- cribl_control_plane/models/outputsns.py +36 -14
- cribl_control_plane/models/outputsplunk.py +60 -24
- cribl_control_plane/models/outputsplunkhec.py +35 -12
- cribl_control_plane/models/outputsplunklb.py +77 -30
- cribl_control_plane/models/outputsqs.py +41 -16
- cribl_control_plane/models/outputstatsd.py +30 -14
- cribl_control_plane/models/outputstatsdext.py +29 -12
- cribl_control_plane/models/outputsumologic.py +35 -12
- cribl_control_plane/models/outputsyslog.py +58 -24
- cribl_control_plane/models/outputtcpjson.py +52 -20
- cribl_control_plane/models/outputwavefront.py +35 -12
- cribl_control_plane/models/outputwebhook.py +58 -22
- cribl_control_plane/models/outputxsiam.py +35 -14
- cribl_control_plane/models/packinfo.py +3 -0
- cribl_control_plane/models/packinstallinfo.py +3 -0
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +4 -2
- cribl_control_plane/models/runnablejobcollection.py +30 -13
- cribl_control_plane/models/runnablejobexecutor.py +13 -4
- cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
- cribl_control_plane/models/workertypes.py +2 -1
- {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.0.50rc1.dist-info}/METADATA +1 -1
- cribl_control_plane-0.0.50rc1.dist-info/RECORD +328 -0
- cribl_control_plane-0.0.49.dist-info/RECORD +0 -325
- {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.0.50rc1.dist-info}/WHEEL +0 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,7 +15,7 @@ class OutputWebhookType(str, Enum):
|
|
|
12
15
|
WEBHOOK = "webhook"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputWebhookMethod(str, Enum):
|
|
18
|
+
class OutputWebhookMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""The method to use when sending events"""
|
|
17
20
|
|
|
18
21
|
POST = "POST"
|
|
@@ -20,7 +23,7 @@ class OutputWebhookMethod(str, Enum):
|
|
|
20
23
|
PATCH = "PATCH"
|
|
21
24
|
|
|
22
25
|
|
|
23
|
-
class OutputWebhookFormat(str, Enum):
|
|
26
|
+
class OutputWebhookFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
24
27
|
r"""How to format events before sending out"""
|
|
25
28
|
|
|
26
29
|
NDJSON = "ndjson"
|
|
@@ -40,7 +43,7 @@ class OutputWebhookExtraHTTPHeader(BaseModel):
|
|
|
40
43
|
name: Optional[str] = None
|
|
41
44
|
|
|
42
45
|
|
|
43
|
-
class OutputWebhookFailedRequestLoggingMode(str, Enum):
|
|
46
|
+
class OutputWebhookFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
44
47
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
45
48
|
|
|
46
49
|
PAYLOAD = "payload"
|
|
@@ -102,7 +105,7 @@ class OutputWebhookTimeoutRetrySettings(BaseModel):
|
|
|
102
105
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
103
106
|
|
|
104
107
|
|
|
105
|
-
class OutputWebhookBackpressureBehavior(str, Enum):
|
|
108
|
+
class OutputWebhookBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
106
109
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
107
110
|
|
|
108
111
|
BLOCK = "block"
|
|
@@ -110,7 +113,7 @@ class OutputWebhookBackpressureBehavior(str, Enum):
|
|
|
110
113
|
QUEUE = "queue"
|
|
111
114
|
|
|
112
115
|
|
|
113
|
-
class OutputWebhookAuthenticationType(str, Enum):
|
|
116
|
+
class OutputWebhookAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
114
117
|
r"""Authentication method to use for the HTTP request"""
|
|
115
118
|
|
|
116
119
|
NONE = "none"
|
|
@@ -121,14 +124,14 @@ class OutputWebhookAuthenticationType(str, Enum):
|
|
|
121
124
|
OAUTH = "oauth"
|
|
122
125
|
|
|
123
126
|
|
|
124
|
-
class OutputWebhookMinimumTLSVersion(str, Enum):
|
|
127
|
+
class OutputWebhookMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
125
128
|
TL_SV1 = "TLSv1"
|
|
126
129
|
TL_SV1_1 = "TLSv1.1"
|
|
127
130
|
TL_SV1_2 = "TLSv1.2"
|
|
128
131
|
TL_SV1_3 = "TLSv1.3"
|
|
129
132
|
|
|
130
133
|
|
|
131
|
-
class OutputWebhookMaximumTLSVersion(str, Enum):
|
|
134
|
+
class OutputWebhookMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
132
135
|
TL_SV1 = "TLSv1"
|
|
133
136
|
TL_SV1_1 = "TLSv1.1"
|
|
134
137
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -177,29 +180,37 @@ class OutputWebhookTLSSettingsClientSide(BaseModel):
|
|
|
177
180
|
r"""Passphrase to use to decrypt private key"""
|
|
178
181
|
|
|
179
182
|
min_version: Annotated[
|
|
180
|
-
|
|
183
|
+
Annotated[
|
|
184
|
+
Optional[OutputWebhookMinimumTLSVersion],
|
|
185
|
+
PlainValidator(validate_open_enum(False)),
|
|
186
|
+
],
|
|
187
|
+
pydantic.Field(alias="minVersion"),
|
|
181
188
|
] = None
|
|
182
189
|
|
|
183
190
|
max_version: Annotated[
|
|
184
|
-
|
|
191
|
+
Annotated[
|
|
192
|
+
Optional[OutputWebhookMaximumTLSVersion],
|
|
193
|
+
PlainValidator(validate_open_enum(False)),
|
|
194
|
+
],
|
|
195
|
+
pydantic.Field(alias="maxVersion"),
|
|
185
196
|
] = None
|
|
186
197
|
|
|
187
198
|
|
|
188
|
-
class OutputWebhookCompression(str, Enum):
|
|
199
|
+
class OutputWebhookCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
189
200
|
r"""Codec to use to compress the persisted data"""
|
|
190
201
|
|
|
191
202
|
NONE = "none"
|
|
192
203
|
GZIP = "gzip"
|
|
193
204
|
|
|
194
205
|
|
|
195
|
-
class OutputWebhookQueueFullBehavior(str, Enum):
|
|
206
|
+
class OutputWebhookQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
196
207
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
197
208
|
|
|
198
209
|
BLOCK = "block"
|
|
199
210
|
DROP = "drop"
|
|
200
211
|
|
|
201
212
|
|
|
202
|
-
class OutputWebhookMode(str, Enum):
|
|
213
|
+
class OutputWebhookMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
203
214
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
204
215
|
|
|
205
216
|
ERROR = "error"
|
|
@@ -404,11 +415,16 @@ class OutputWebhook(BaseModel):
|
|
|
404
415
|
streamtags: Optional[List[str]] = None
|
|
405
416
|
r"""Tags for filtering and grouping in @{product}"""
|
|
406
417
|
|
|
407
|
-
method:
|
|
418
|
+
method: Annotated[
|
|
419
|
+
Optional[OutputWebhookMethod], PlainValidator(validate_open_enum(False))
|
|
420
|
+
] = OutputWebhookMethod.POST
|
|
408
421
|
r"""The method to use when sending events"""
|
|
409
422
|
|
|
410
423
|
format_: Annotated[
|
|
411
|
-
|
|
424
|
+
Annotated[
|
|
425
|
+
Optional[OutputWebhookFormat], PlainValidator(validate_open_enum(False))
|
|
426
|
+
],
|
|
427
|
+
pydantic.Field(alias="format"),
|
|
412
428
|
] = OutputWebhookFormat.NDJSON
|
|
413
429
|
r"""How to format events before sending out"""
|
|
414
430
|
|
|
@@ -459,7 +475,10 @@ class OutputWebhook(BaseModel):
|
|
|
459
475
|
r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
|
|
460
476
|
|
|
461
477
|
failed_request_logging_mode: Annotated[
|
|
462
|
-
|
|
478
|
+
Annotated[
|
|
479
|
+
Optional[OutputWebhookFailedRequestLoggingMode],
|
|
480
|
+
PlainValidator(validate_open_enum(False)),
|
|
481
|
+
],
|
|
463
482
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
464
483
|
] = OutputWebhookFailedRequestLoggingMode.NONE
|
|
465
484
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -486,13 +505,20 @@ class OutputWebhook(BaseModel):
|
|
|
486
505
|
r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
|
|
487
506
|
|
|
488
507
|
on_backpressure: Annotated[
|
|
489
|
-
|
|
508
|
+
Annotated[
|
|
509
|
+
Optional[OutputWebhookBackpressureBehavior],
|
|
510
|
+
PlainValidator(validate_open_enum(False)),
|
|
511
|
+
],
|
|
490
512
|
pydantic.Field(alias="onBackpressure"),
|
|
491
513
|
] = OutputWebhookBackpressureBehavior.BLOCK
|
|
492
514
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
493
515
|
|
|
494
516
|
auth_type: Annotated[
|
|
495
|
-
|
|
517
|
+
Annotated[
|
|
518
|
+
Optional[OutputWebhookAuthenticationType],
|
|
519
|
+
PlainValidator(validate_open_enum(False)),
|
|
520
|
+
],
|
|
521
|
+
pydantic.Field(alias="authType"),
|
|
496
522
|
] = OutputWebhookAuthenticationType.NONE
|
|
497
523
|
r"""Authentication method to use for the HTTP request"""
|
|
498
524
|
|
|
@@ -564,19 +590,29 @@ class OutputWebhook(BaseModel):
|
|
|
564
590
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
565
591
|
|
|
566
592
|
pq_compress: Annotated[
|
|
567
|
-
|
|
593
|
+
Annotated[
|
|
594
|
+
Optional[OutputWebhookCompression],
|
|
595
|
+
PlainValidator(validate_open_enum(False)),
|
|
596
|
+
],
|
|
597
|
+
pydantic.Field(alias="pqCompress"),
|
|
568
598
|
] = OutputWebhookCompression.NONE
|
|
569
599
|
r"""Codec to use to compress the persisted data"""
|
|
570
600
|
|
|
571
601
|
pq_on_backpressure: Annotated[
|
|
572
|
-
|
|
602
|
+
Annotated[
|
|
603
|
+
Optional[OutputWebhookQueueFullBehavior],
|
|
604
|
+
PlainValidator(validate_open_enum(False)),
|
|
605
|
+
],
|
|
573
606
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
574
607
|
] = OutputWebhookQueueFullBehavior.BLOCK
|
|
575
608
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
576
609
|
|
|
577
|
-
pq_mode: Annotated[
|
|
578
|
-
|
|
579
|
-
|
|
610
|
+
pq_mode: Annotated[
|
|
611
|
+
Annotated[
|
|
612
|
+
Optional[OutputWebhookMode], PlainValidator(validate_open_enum(False))
|
|
613
|
+
],
|
|
614
|
+
pydantic.Field(alias="pqMode"),
|
|
615
|
+
] = OutputWebhookMode.ERROR
|
|
580
616
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
581
617
|
|
|
582
618
|
pq_controls: Annotated[
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import Any, List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -23,7 +26,7 @@ class OutputXsiamExtraHTTPHeader(BaseModel):
|
|
|
23
26
|
name: Optional[str] = None
|
|
24
27
|
|
|
25
28
|
|
|
26
|
-
class OutputXsiamFailedRequestLoggingMode(str, Enum):
|
|
29
|
+
class OutputXsiamFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
30
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
28
31
|
|
|
29
32
|
PAYLOAD = "payload"
|
|
@@ -31,7 +34,7 @@ class OutputXsiamFailedRequestLoggingMode(str, Enum):
|
|
|
31
34
|
NONE = "none"
|
|
32
35
|
|
|
33
36
|
|
|
34
|
-
class OutputXsiamAuthenticationMethod(str, Enum):
|
|
37
|
+
class OutputXsiamAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
35
38
|
r"""Enter a token directly, or provide a secret referencing a token"""
|
|
36
39
|
|
|
37
40
|
TOKEN = "token"
|
|
@@ -92,7 +95,7 @@ class OutputXsiamTimeoutRetrySettings(BaseModel):
|
|
|
92
95
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
93
96
|
|
|
94
97
|
|
|
95
|
-
class OutputXsiamBackpressureBehavior(str, Enum):
|
|
98
|
+
class OutputXsiamBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
96
99
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
97
100
|
|
|
98
101
|
BLOCK = "block"
|
|
@@ -113,21 +116,21 @@ class OutputXsiamURL(BaseModel):
|
|
|
113
116
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
114
117
|
|
|
115
118
|
|
|
116
|
-
class OutputXsiamCompression(str, Enum):
|
|
119
|
+
class OutputXsiamCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
117
120
|
r"""Codec to use to compress the persisted data"""
|
|
118
121
|
|
|
119
122
|
NONE = "none"
|
|
120
123
|
GZIP = "gzip"
|
|
121
124
|
|
|
122
125
|
|
|
123
|
-
class OutputXsiamQueueFullBehavior(str, Enum):
|
|
126
|
+
class OutputXsiamQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
124
127
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
125
128
|
|
|
126
129
|
BLOCK = "block"
|
|
127
130
|
DROP = "drop"
|
|
128
131
|
|
|
129
132
|
|
|
130
|
-
class OutputXsiamMode(str, Enum):
|
|
133
|
+
class OutputXsiamMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
131
134
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
132
135
|
|
|
133
136
|
ERROR = "error"
|
|
@@ -283,7 +286,10 @@ class OutputXsiam(BaseModel):
|
|
|
283
286
|
r"""Headers to add to all events"""
|
|
284
287
|
|
|
285
288
|
failed_request_logging_mode: Annotated[
|
|
286
|
-
|
|
289
|
+
Annotated[
|
|
290
|
+
Optional[OutputXsiamFailedRequestLoggingMode],
|
|
291
|
+
PlainValidator(validate_open_enum(False)),
|
|
292
|
+
],
|
|
287
293
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
288
294
|
] = OutputXsiamFailedRequestLoggingMode.NONE
|
|
289
295
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -294,7 +300,11 @@ class OutputXsiam(BaseModel):
|
|
|
294
300
|
r"""List of headers that are safe to log in plain text"""
|
|
295
301
|
|
|
296
302
|
auth_type: Annotated[
|
|
297
|
-
|
|
303
|
+
Annotated[
|
|
304
|
+
Optional[OutputXsiamAuthenticationMethod],
|
|
305
|
+
PlainValidator(validate_open_enum(False)),
|
|
306
|
+
],
|
|
307
|
+
pydantic.Field(alias="authType"),
|
|
298
308
|
] = OutputXsiamAuthenticationMethod.TOKEN
|
|
299
309
|
r"""Enter a token directly, or provide a secret referencing a token"""
|
|
300
310
|
|
|
@@ -320,7 +330,10 @@ class OutputXsiam(BaseModel):
|
|
|
320
330
|
r"""Maximum number of requests to limit to per second"""
|
|
321
331
|
|
|
322
332
|
on_backpressure: Annotated[
|
|
323
|
-
|
|
333
|
+
Annotated[
|
|
334
|
+
Optional[OutputXsiamBackpressureBehavior],
|
|
335
|
+
PlainValidator(validate_open_enum(False)),
|
|
336
|
+
],
|
|
324
337
|
pydantic.Field(alias="onBackpressure"),
|
|
325
338
|
] = OutputXsiamBackpressureBehavior.BLOCK
|
|
326
339
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -375,18 +388,26 @@ class OutputXsiam(BaseModel):
|
|
|
375
388
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
376
389
|
|
|
377
390
|
pq_compress: Annotated[
|
|
378
|
-
|
|
391
|
+
Annotated[
|
|
392
|
+
Optional[OutputXsiamCompression], PlainValidator(validate_open_enum(False))
|
|
393
|
+
],
|
|
394
|
+
pydantic.Field(alias="pqCompress"),
|
|
379
395
|
] = OutputXsiamCompression.NONE
|
|
380
396
|
r"""Codec to use to compress the persisted data"""
|
|
381
397
|
|
|
382
398
|
pq_on_backpressure: Annotated[
|
|
383
|
-
|
|
399
|
+
Annotated[
|
|
400
|
+
Optional[OutputXsiamQueueFullBehavior],
|
|
401
|
+
PlainValidator(validate_open_enum(False)),
|
|
402
|
+
],
|
|
403
|
+
pydantic.Field(alias="pqOnBackpressure"),
|
|
384
404
|
] = OutputXsiamQueueFullBehavior.BLOCK
|
|
385
405
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
386
406
|
|
|
387
|
-
pq_mode: Annotated[
|
|
388
|
-
OutputXsiamMode
|
|
389
|
-
|
|
407
|
+
pq_mode: Annotated[
|
|
408
|
+
Annotated[Optional[OutputXsiamMode], PlainValidator(validate_open_enum(False))],
|
|
409
|
+
pydantic.Field(alias="pqMode"),
|
|
410
|
+
] = OutputXsiamMode.ERROR
|
|
390
411
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
391
412
|
|
|
392
413
|
pq_controls: Annotated[
|
|
@@ -28,6 +28,7 @@ class PackInfoTypedDict(TypedDict):
|
|
|
28
28
|
id: str
|
|
29
29
|
source: str
|
|
30
30
|
author: NotRequired[str]
|
|
31
|
+
dependencies: NotRequired[Dict[str, str]]
|
|
31
32
|
description: NotRequired[str]
|
|
32
33
|
display_name: NotRequired[str]
|
|
33
34
|
exports: NotRequired[List[str]]
|
|
@@ -48,6 +49,8 @@ class PackInfo(BaseModel):
|
|
|
48
49
|
|
|
49
50
|
author: Optional[str] = None
|
|
50
51
|
|
|
52
|
+
dependencies: Optional[Dict[str, str]] = None
|
|
53
|
+
|
|
51
54
|
description: Optional[str] = None
|
|
52
55
|
|
|
53
56
|
display_name: Annotated[Optional[str], pydantic.Field(alias="displayName")] = None
|
|
@@ -28,6 +28,7 @@ class PackInstallInfoTypedDict(TypedDict):
|
|
|
28
28
|
id: str
|
|
29
29
|
source: str
|
|
30
30
|
author: NotRequired[str]
|
|
31
|
+
dependencies: NotRequired[Dict[str, str]]
|
|
31
32
|
description: NotRequired[str]
|
|
32
33
|
display_name: NotRequired[str]
|
|
33
34
|
exports: NotRequired[List[str]]
|
|
@@ -49,6 +50,8 @@ class PackInstallInfo(BaseModel):
|
|
|
49
50
|
|
|
50
51
|
author: Optional[str] = None
|
|
51
52
|
|
|
53
|
+
dependencies: Optional[Dict[str, str]] = None
|
|
54
|
+
|
|
52
55
|
description: Optional[str] = None
|
|
53
56
|
|
|
54
57
|
display_name: Annotated[Optional[str], pydantic.Field(alias="displayName")] = None
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from enum import Enum
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class ProductsCore(str, Enum):
|
|
8
|
+
class ProductsCore(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
8
9
|
STREAM = "stream"
|
|
9
10
|
EDGE = "edge"
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from enum import Enum
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class RbacResource(str, Enum):
|
|
8
|
+
class RbacResource(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
8
9
|
GROUPS = "groups"
|
|
9
10
|
DATASETS = "datasets"
|
|
10
11
|
DATASET_PROVIDERS = "dataset-providers"
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from .rbacresource import RbacResource
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from pydantic.functional_validators import PlainValidator
|
|
6
8
|
from typing import Optional
|
|
7
|
-
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
10
|
|
|
9
11
|
|
|
10
12
|
class ResourcePolicyTypedDict(TypedDict):
|
|
@@ -19,6 +21,6 @@ class ResourcePolicy(BaseModel):
|
|
|
19
21
|
|
|
20
22
|
policy: str
|
|
21
23
|
|
|
22
|
-
type: RbacResource
|
|
24
|
+
type: Annotated[RbacResource, PlainValidator(validate_open_enum(False))]
|
|
23
25
|
|
|
24
26
|
id: Optional[str] = None
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import Any, List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
10
13
|
|
|
11
|
-
class RunnableJobCollectionJobType(str, Enum):
|
|
14
|
+
class RunnableJobCollectionJobType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
12
15
|
COLLECTION = "collection"
|
|
13
16
|
EXECUTOR = "executor"
|
|
14
17
|
SCHEDULED_SEARCH = "scheduledSearch"
|
|
@@ -237,7 +240,7 @@ class Collector(BaseModel):
|
|
|
237
240
|
r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters."""
|
|
238
241
|
|
|
239
242
|
|
|
240
|
-
class
|
|
243
|
+
class InputType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
241
244
|
COLLECTION = "collection"
|
|
242
245
|
|
|
243
246
|
|
|
@@ -273,7 +276,7 @@ class RunnableJobCollectionMetadatum(BaseModel):
|
|
|
273
276
|
|
|
274
277
|
|
|
275
278
|
class RunnableJobCollectionInputTypedDict(TypedDict):
|
|
276
|
-
type: NotRequired[
|
|
279
|
+
type: NotRequired[InputType]
|
|
277
280
|
breaker_rulesets: NotRequired[List[str]]
|
|
278
281
|
r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream"""
|
|
279
282
|
stale_channel_flush_ms: NotRequired[float]
|
|
@@ -292,7 +295,9 @@ class RunnableJobCollectionInputTypedDict(TypedDict):
|
|
|
292
295
|
|
|
293
296
|
|
|
294
297
|
class RunnableJobCollectionInput(BaseModel):
|
|
295
|
-
type: Optional[
|
|
298
|
+
type: Annotated[Optional[InputType], PlainValidator(validate_open_enum(False))] = (
|
|
299
|
+
InputType.COLLECTION
|
|
300
|
+
)
|
|
296
301
|
|
|
297
302
|
breaker_rulesets: Annotated[
|
|
298
303
|
Optional[List[str]], pydantic.Field(alias="breakerRulesets")
|
|
@@ -326,7 +331,7 @@ class RunnableJobCollectionInput(BaseModel):
|
|
|
326
331
|
r"""Destination to send results to"""
|
|
327
332
|
|
|
328
333
|
|
|
329
|
-
class RunnableJobCollectionLogLevel(str, Enum):
|
|
334
|
+
class RunnableJobCollectionLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
330
335
|
r"""Level at which to set task logging"""
|
|
331
336
|
|
|
332
337
|
ERROR = "error"
|
|
@@ -336,7 +341,7 @@ class RunnableJobCollectionLogLevel(str, Enum):
|
|
|
336
341
|
SILLY = "silly"
|
|
337
342
|
|
|
338
343
|
|
|
339
|
-
class RunnableJobCollectionMode(str, Enum):
|
|
344
|
+
class RunnableJobCollectionMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
340
345
|
r"""Job run mode. Preview will either return up to N matching results, or will run until capture time T is reached. Discovery will gather the list of files to turn into streaming tasks, without running the data collection job. Full Run will run the collection job."""
|
|
341
346
|
|
|
342
347
|
LIST = "list"
|
|
@@ -344,7 +349,7 @@ class RunnableJobCollectionMode(str, Enum):
|
|
|
344
349
|
RUN = "run"
|
|
345
350
|
|
|
346
351
|
|
|
347
|
-
class TimeRange(str, Enum):
|
|
352
|
+
class TimeRange(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
348
353
|
ABSOLUTE = "absolute"
|
|
349
354
|
RELATIVE = "relative"
|
|
350
355
|
|
|
@@ -357,7 +362,7 @@ class RunnableJobCollectionTimeWarning(BaseModel):
|
|
|
357
362
|
pass
|
|
358
363
|
|
|
359
364
|
|
|
360
|
-
class WhereToCapture(int, Enum):
|
|
365
|
+
class WhereToCapture(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
361
366
|
ZERO = 0
|
|
362
367
|
ONE = 1
|
|
363
368
|
TWO = 2
|
|
@@ -379,7 +384,9 @@ class CaptureSettings(BaseModel):
|
|
|
379
384
|
max_events: Annotated[Optional[float], pydantic.Field(alias="maxEvents")] = 100
|
|
380
385
|
r"""Maximum number of events to capture"""
|
|
381
386
|
|
|
382
|
-
level:
|
|
387
|
+
level: Annotated[
|
|
388
|
+
Optional[WhereToCapture], PlainValidator(validate_open_enum(True))
|
|
389
|
+
] = WhereToCapture.ZERO
|
|
383
390
|
|
|
384
391
|
|
|
385
392
|
class RunnableJobCollectionRunTypedDict(TypedDict):
|
|
@@ -446,18 +453,25 @@ class RunnableJobCollectionRun(BaseModel):
|
|
|
446
453
|
r"""Maximum number of times a task can be rescheduled"""
|
|
447
454
|
|
|
448
455
|
log_level: Annotated[
|
|
449
|
-
|
|
456
|
+
Annotated[
|
|
457
|
+
Optional[RunnableJobCollectionLogLevel],
|
|
458
|
+
PlainValidator(validate_open_enum(False)),
|
|
459
|
+
],
|
|
460
|
+
pydantic.Field(alias="logLevel"),
|
|
450
461
|
] = RunnableJobCollectionLogLevel.INFO
|
|
451
462
|
r"""Level at which to set task logging"""
|
|
452
463
|
|
|
453
464
|
job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = "0"
|
|
454
465
|
r"""Maximum time the job is allowed to run. Time unit defaults to seconds if not specified (examples: 30, 45s, 15m). Enter 0 for unlimited time."""
|
|
455
466
|
|
|
456
|
-
mode:
|
|
467
|
+
mode: Annotated[
|
|
468
|
+
Optional[RunnableJobCollectionMode], PlainValidator(validate_open_enum(False))
|
|
469
|
+
] = RunnableJobCollectionMode.LIST
|
|
457
470
|
r"""Job run mode. Preview will either return up to N matching results, or will run until capture time T is reached. Discovery will gather the list of files to turn into streaming tasks, without running the data collection job. Full Run will run the collection job."""
|
|
458
471
|
|
|
459
472
|
time_range_type: Annotated[
|
|
460
|
-
Optional[TimeRange],
|
|
473
|
+
Annotated[Optional[TimeRange], PlainValidator(validate_open_enum(False))],
|
|
474
|
+
pydantic.Field(alias="timeRangeType"),
|
|
461
475
|
] = TimeRange.RELATIVE
|
|
462
476
|
|
|
463
477
|
earliest: Optional[float] = None
|
|
@@ -552,7 +566,10 @@ class RunnableJobCollection(BaseModel):
|
|
|
552
566
|
|
|
553
567
|
description: Optional[str] = None
|
|
554
568
|
|
|
555
|
-
type:
|
|
569
|
+
type: Annotated[
|
|
570
|
+
Optional[RunnableJobCollectionJobType],
|
|
571
|
+
PlainValidator(validate_open_enum(False)),
|
|
572
|
+
] = None
|
|
556
573
|
|
|
557
574
|
ttl: Optional[str] = "4h"
|
|
558
575
|
r"""Time to keep the job's artifacts on disk after job completion. This also affects how long a job is listed in the Job Inspector."""
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import Any, List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
10
13
|
|
|
11
|
-
class RunnableJobExecutorJobType(str, Enum):
|
|
14
|
+
class RunnableJobExecutorJobType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
12
15
|
COLLECTION = "collection"
|
|
13
16
|
EXECUTOR = "executor"
|
|
14
17
|
SCHEDULED_SEARCH = "scheduledSearch"
|
|
@@ -232,7 +235,7 @@ class Executor(BaseModel):
|
|
|
232
235
|
conf: Optional[ExecutorSpecificSettings] = None
|
|
233
236
|
|
|
234
237
|
|
|
235
|
-
class RunnableJobExecutorLogLevel(str, Enum):
|
|
238
|
+
class RunnableJobExecutorLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
236
239
|
r"""Level at which to set task logging"""
|
|
237
240
|
|
|
238
241
|
ERROR = "error"
|
|
@@ -265,7 +268,11 @@ class RunnableJobExecutorRun(BaseModel):
|
|
|
265
268
|
r"""Maximum number of times a task can be rescheduled"""
|
|
266
269
|
|
|
267
270
|
log_level: Annotated[
|
|
268
|
-
|
|
271
|
+
Annotated[
|
|
272
|
+
Optional[RunnableJobExecutorLogLevel],
|
|
273
|
+
PlainValidator(validate_open_enum(False)),
|
|
274
|
+
],
|
|
275
|
+
pydantic.Field(alias="logLevel"),
|
|
269
276
|
] = RunnableJobExecutorLogLevel.INFO
|
|
270
277
|
r"""Level at which to set task logging"""
|
|
271
278
|
|
|
@@ -306,7 +313,9 @@ class RunnableJobExecutor(BaseModel):
|
|
|
306
313
|
|
|
307
314
|
description: Optional[str] = None
|
|
308
315
|
|
|
309
|
-
type:
|
|
316
|
+
type: Annotated[
|
|
317
|
+
Optional[RunnableJobExecutorJobType], PlainValidator(validate_open_enum(False))
|
|
318
|
+
] = None
|
|
310
319
|
|
|
311
320
|
ttl: Optional[str] = "4h"
|
|
312
321
|
r"""Time to keep the job's artifacts on disk after job completion. This also affects how long a job is listed in the Job Inspector."""
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import Any, List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
10
13
|
|
|
11
|
-
class RunnableJobScheduledSearchJobType(str, Enum):
|
|
14
|
+
class RunnableJobScheduledSearchJobType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
12
15
|
COLLECTION = "collection"
|
|
13
16
|
EXECUTOR = "executor"
|
|
14
17
|
SCHEDULED_SEARCH = "scheduledSearch"
|
|
@@ -229,7 +232,9 @@ class RunnableJobScheduledSearchTypedDict(TypedDict):
|
|
|
229
232
|
|
|
230
233
|
|
|
231
234
|
class RunnableJobScheduledSearch(BaseModel):
|
|
232
|
-
type:
|
|
235
|
+
type: Annotated[
|
|
236
|
+
RunnableJobScheduledSearchJobType, PlainValidator(validate_open_enum(False))
|
|
237
|
+
]
|
|
233
238
|
|
|
234
239
|
saved_query_id: Annotated[str, pydantic.Field(alias="savedQueryId")]
|
|
235
240
|
r"""Identifies which search query to run"""
|
|
@@ -4,8 +4,14 @@ from __future__ import annotations
|
|
|
4
4
|
from .configgroup import ConfigGroup, ConfigGroupTypedDict
|
|
5
5
|
from .productscore import ProductsCore
|
|
6
6
|
from cribl_control_plane.types import BaseModel
|
|
7
|
-
from cribl_control_plane.utils import
|
|
7
|
+
from cribl_control_plane.utils import (
|
|
8
|
+
FieldMetadata,
|
|
9
|
+
PathParamMetadata,
|
|
10
|
+
RequestMetadata,
|
|
11
|
+
validate_open_enum,
|
|
12
|
+
)
|
|
8
13
|
import pydantic
|
|
14
|
+
from pydantic.functional_validators import PlainValidator
|
|
9
15
|
from typing import List, Optional
|
|
10
16
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
17
|
|
|
@@ -21,7 +27,7 @@ class UpdateConfigGroupByProductAndIDRequestTypedDict(TypedDict):
|
|
|
21
27
|
|
|
22
28
|
class UpdateConfigGroupByProductAndIDRequest(BaseModel):
|
|
23
29
|
product: Annotated[
|
|
24
|
-
ProductsCore,
|
|
30
|
+
Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
|
|
25
31
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
26
32
|
]
|
|
27
33
|
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|