cribl-control-plane 0.4.0b23__py3-none-any.whl → 0.5.0b3__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.
- cribl_control_plane/_version.py +3 -3
- cribl_control_plane/collectors_sdk.py +993 -0
- cribl_control_plane/models/__init__.py +2161 -734
- cribl_control_plane/models/configgroup.py +3 -0
- cribl_control_plane/models/countedsavedjob.py +20 -0
- cribl_control_plane/models/createsavedjobop.py +30 -0
- cribl_control_plane/models/deletesavedjobbyidop.py +42 -0
- cribl_control_plane/models/functionaggregatemetrics.py +7 -144
- cribl_control_plane/models/functionaggregation.py +7 -110
- cribl_control_plane/models/functionautotimestamp.py +7 -111
- cribl_control_plane/models/functioncef.py +6 -51
- cribl_control_plane/models/functionchain.py +6 -12
- cribl_control_plane/models/functionclone.py +7 -13
- cribl_control_plane/models/functioncode.py +8 -35
- cribl_control_plane/models/functioncomment.py +6 -12
- cribl_control_plane/models/functionconfschemaaggregatemetrics.py +153 -0
- cribl_control_plane/models/functionconfschemaaggregation.py +114 -0
- cribl_control_plane/models/functionconfschemaautotimestamp.py +116 -0
- cribl_control_plane/models/functionconfschemacef.py +83 -0
- cribl_control_plane/models/functionconfschemachain.py +16 -0
- cribl_control_plane/models/functionconfschemaclone.py +16 -0
- cribl_control_plane/models/functionconfschemacode.py +38 -0
- cribl_control_plane/models/functionconfschemacomment.py +16 -0
- cribl_control_plane/models/functionconfschemadistinct.py +41 -0
- cribl_control_plane/models/functionconfschemadnslookup.py +193 -0
- cribl_control_plane/models/functionconfschemadrop.py +13 -0
- cribl_control_plane/models/functionconfschemadropdimensions.py +31 -0
- cribl_control_plane/models/functionconfschemadynamicsampling.py +67 -0
- cribl_control_plane/models/functionconfschemaeval.py +44 -0
- cribl_control_plane/models/functionconfschemaeventbreaker.py +51 -0
- cribl_control_plane/models/functionconfschemaeventstats.py +34 -0
- cribl_control_plane/models/functionconfschemaexternaldata.py +13 -0
- cribl_control_plane/models/functionconfschemaflatten.py +31 -0
- cribl_control_plane/models/functionconfschemafoldkeys.py +31 -0
- cribl_control_plane/models/functionconfschemagenstats.py +14 -0
- cribl_control_plane/models/functionconfschemageoip.py +66 -0
- cribl_control_plane/models/functionconfschemagrok.py +38 -0
- cribl_control_plane/models/functionconfschemahandlebar.py +56 -0
- cribl_control_plane/models/functionconfschemajoin.py +55 -0
- cribl_control_plane/models/functionconfschemajsonunroll.py +21 -0
- cribl_control_plane/models/functionconfschemalakeexport.py +44 -0
- cribl_control_plane/models/functionconfschemalimit.py +16 -0
- cribl_control_plane/models/functionconfschemalocalsearchdatatypeparser.py +17 -0
- cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py +40 -0
- cribl_control_plane/models/functionconfschemalookup.py +92 -0
- cribl_control_plane/models/functionconfschemamask.py +63 -0
- cribl_control_plane/models/functionconfschemamvexpand.py +76 -0
- cribl_control_plane/models/functionconfschemamvpull.py +45 -0
- cribl_control_plane/models/functionconfschemanotificationpolicies.py +129 -0
- cribl_control_plane/models/functionconfschemanotifications.py +26 -0
- cribl_control_plane/models/functionconfschemanotify.py +149 -0
- cribl_control_plane/models/functionconfschemanumerify.py +63 -0
- cribl_control_plane/models/functionconfschemaotlplogs.py +24 -0
- cribl_control_plane/models/functionconfschemaotlpmetrics.py +61 -0
- cribl_control_plane/models/functionconfschemaotlptraces.py +54 -0
- cribl_control_plane/models/functionconfschemapack.py +24 -0
- cribl_control_plane/models/functionconfschemapivot.py +31 -0
- cribl_control_plane/models/functionconfschemapublishmetrics.py +98 -0
- cribl_control_plane/models/functionconfschemaredis.py +121 -0
- cribl_control_plane/models/functionconfschemaregexextract.py +55 -0
- cribl_control_plane/models/functionconfschemaregexfilter.py +38 -0
- cribl_control_plane/models/functionconfschemarename.py +49 -0
- cribl_control_plane/models/functionconfschemarollupmetrics.py +57 -0
- cribl_control_plane/models/functionconfschemasampling.py +32 -0
- cribl_control_plane/models/functionconfschemasend.py +84 -0
- cribl_control_plane/models/functionconfschemasensitivedatascanner.py +75 -0
- cribl_control_plane/models/functionconfschemaserde.py +105 -0
- cribl_control_plane/models/functionconfschemaserialize.py +78 -0
- cribl_control_plane/models/functionconfschemasidlookup.py +34 -0
- cribl_control_plane/models/functionconfschemasnmptrapserialize.py +92 -0
- cribl_control_plane/models/functionconfschemasort.py +41 -0
- cribl_control_plane/models/functionconfschemastore.py +75 -0
- cribl_control_plane/models/functionconfschemasuppress.py +57 -0
- cribl_control_plane/models/functionconfschematee.py +32 -0
- cribl_control_plane/models/functionconfschematrimtimestamp.py +16 -0
- cribl_control_plane/models/functionconfschemaunion.py +22 -0
- cribl_control_plane/models/functionconfschemaunroll.py +22 -0
- cribl_control_plane/models/functionconfschemawindow.py +40 -0
- cribl_control_plane/models/functionconfschemaxmlunroll.py +34 -0
- cribl_control_plane/models/functiondistinct.py +7 -37
- cribl_control_plane/models/functiondnslookup.py +7 -188
- cribl_control_plane/models/functiondrop.py +8 -12
- cribl_control_plane/models/functiondropdimensions.py +7 -25
- cribl_control_plane/models/functiondynamicsampling.py +6 -58
- cribl_control_plane/models/functioneval.py +9 -43
- cribl_control_plane/models/functioneventbreaker.py +6 -40
- cribl_control_plane/models/functioneventstats.py +7 -30
- cribl_control_plane/models/functionexternaldata.py +6 -10
- cribl_control_plane/models/functionflatten.py +7 -28
- cribl_control_plane/models/functionfoldkeys.py +6 -26
- cribl_control_plane/models/functiongenstats.py +7 -11
- cribl_control_plane/models/functiongeoip.py +7 -58
- cribl_control_plane/models/functiongrok.py +9 -35
- cribl_control_plane/models/functionhandlebar.py +6 -49
- cribl_control_plane/models/functionjoin.py +9 -52
- cribl_control_plane/models/functionjsonunroll.py +6 -17
- cribl_control_plane/models/functionlakeexport.py +6 -39
- cribl_control_plane/models/functionlimit.py +6 -12
- cribl_control_plane/models/functionlocalsearchdatatypeparser.py +6 -12
- cribl_control_plane/models/functionlocalsearchrulesetrunner.py +7 -34
- cribl_control_plane/models/functionlookup.py +7 -86
- cribl_control_plane/models/functionmask.py +9 -61
- cribl_control_plane/models/functionmvexpand.py +7 -66
- cribl_control_plane/models/functionmvpull.py +6 -36
- cribl_control_plane/models/functionnotificationpolicies.py +8 -125
- cribl_control_plane/models/functionnotifications.py +6 -22
- cribl_control_plane/models/functionnotify.py +6 -133
- cribl_control_plane/models/functionnumerify.py +7 -57
- cribl_control_plane/models/functionotlplogs.py +6 -19
- cribl_control_plane/models/functionotlpmetrics.py +7 -56
- cribl_control_plane/models/functionotlptraces.py +6 -48
- cribl_control_plane/models/functionpack.py +9 -20
- cribl_control_plane/models/functionpivot.py +7 -23
- cribl_control_plane/models/functionpublishmetrics.py +7 -91
- cribl_control_plane/models/functionredis.py +7 -111
- cribl_control_plane/models/functionregexextract.py +7 -50
- cribl_control_plane/models/functionregexfilter.py +7 -33
- cribl_control_plane/models/functionrename.py +7 -45
- cribl_control_plane/models/functionrollupmetrics.py +7 -52
- cribl_control_plane/models/functionsampling.py +7 -28
- cribl_control_plane/models/functionsend.py +8 -80
- cribl_control_plane/models/functionsensitivedatascanner.py +7 -66
- cribl_control_plane/models/functionserde.py +6 -98
- cribl_control_plane/models/functionserialize.py +7 -72
- cribl_control_plane/models/functionsidlookup.py +7 -31
- cribl_control_plane/models/functionsnmptrapserialize.py +6 -81
- cribl_control_plane/models/functionsort.py +8 -36
- cribl_control_plane/models/functionstore.py +6 -69
- cribl_control_plane/models/functionsuppress.py +6 -52
- cribl_control_plane/models/functiontee.py +6 -30
- cribl_control_plane/models/functiontrimtimestamp.py +6 -12
- cribl_control_plane/models/functionunion.py +9 -20
- cribl_control_plane/models/functionunroll.py +6 -17
- cribl_control_plane/models/functionwindow.py +7 -34
- cribl_control_plane/models/functionxmlunroll.py +6 -29
- cribl_control_plane/models/getsavedjobbyidop.py +33 -0
- cribl_control_plane/models/getsavedjobop.py +40 -0
- cribl_control_plane/models/groupcreaterequest.py +3 -0
- cribl_control_plane/models/heartbeatmetadata.py +42 -0
- cribl_control_plane/models/input.py +1 -1
- cribl_control_plane/models/inputedgeprometheus.py +11 -11
- cribl_control_plane/models/inputprometheus.py +23 -18
- cribl_control_plane/models/nodeprovidedinfo.py +42 -0
- cribl_control_plane/models/output.py +15 -9
- cribl_control_plane/models/outputclickhouse.py +31 -0
- cribl_control_plane/models/outputcriblhttp.py +7 -0
- cribl_control_plane/models/outputcriblsearchengine.py +655 -0
- cribl_control_plane/models/outputnetflow.py +16 -2
- cribl_control_plane/models/pipeline.py +52 -4
- cribl_control_plane/models/pipelinefunctionaggregatemetrics.py +195 -0
- cribl_control_plane/models/pipelinefunctionaggregation.py +159 -0
- cribl_control_plane/models/pipelinefunctionautotimestamp.py +56 -0
- cribl_control_plane/models/pipelinefunctioncef.py +96 -0
- cribl_control_plane/models/pipelinefunctionchain.py +62 -0
- cribl_control_plane/models/pipelinefunctionclone.py +56 -0
- cribl_control_plane/models/pipelinefunctioncode.py +56 -0
- cribl_control_plane/models/pipelinefunctioncomment.py +56 -0
- cribl_control_plane/models/pipelinefunctionconf.py +343 -46
- cribl_control_plane/models/pipelinefunctionconf_input.py +353 -0
- cribl_control_plane/models/pipelinefunctiondistinct.py +86 -0
- cribl_control_plane/models/pipelinefunctiondnslookup.py +56 -0
- cribl_control_plane/models/pipelinefunctiondrop.py +56 -0
- cribl_control_plane/models/pipelinefunctiondropdimensions.py +74 -0
- cribl_control_plane/models/pipelinefunctiondynamicsampling.py +111 -0
- cribl_control_plane/models/pipelinefunctioneval.py +56 -0
- cribl_control_plane/models/pipelinefunctioneventbreaker.py +95 -0
- cribl_control_plane/models/pipelinefunctioneventstats.py +79 -0
- cribl_control_plane/models/pipelinefunctionexternaldata.py +56 -0
- cribl_control_plane/models/pipelinefunctionflatten.py +56 -0
- cribl_control_plane/models/pipelinefunctionfoldkeys.py +56 -0
- cribl_control_plane/models/pipelinefunctiongenstats.py +56 -0
- cribl_control_plane/models/pipelinefunctiongeoip.py +109 -0
- cribl_control_plane/models/pipelinefunctiongrok.py +83 -0
- cribl_control_plane/models/pipelinefunctionhandlebar.py +99 -0
- cribl_control_plane/models/pipelinefunctionjoin.py +100 -0
- cribl_control_plane/models/pipelinefunctionjsonunroll.py +67 -0
- cribl_control_plane/models/pipelinefunctionlakeexport.py +89 -0
- cribl_control_plane/models/pipelinefunctionlimit.py +56 -0
- cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py +62 -0
- cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py +56 -0
- cribl_control_plane/models/pipelinefunctionlookup.py +136 -0
- cribl_control_plane/models/pipelinefunctionmask.py +108 -0
- cribl_control_plane/models/pipelinefunctionmvexpand.py +116 -0
- cribl_control_plane/models/pipelinefunctionmvpull.py +86 -0
- cribl_control_plane/models/pipelinefunctionnotificationpolicies.py +56 -0
- cribl_control_plane/models/pipelinefunctionnotifications.py +72 -0
- cribl_control_plane/models/pipelinefunctionnotify.py +189 -0
- cribl_control_plane/models/pipelinefunctionnumerify.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlplogs.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlpmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlptraces.py +56 -0
- cribl_control_plane/models/pipelinefunctionpack.py +67 -0
- cribl_control_plane/models/pipelinefunctionpivot.py +72 -0
- cribl_control_plane/models/pipelinefunctionpublishmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionredis.py +165 -0
- cribl_control_plane/models/pipelinefunctionregexextract.py +100 -0
- cribl_control_plane/models/pipelinefunctionregexfilter.py +56 -0
- cribl_control_plane/models/pipelinefunctionrename.py +56 -0
- cribl_control_plane/models/pipelinefunctionrollupmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionsampling.py +56 -0
- cribl_control_plane/models/pipelinefunctionsend.py +128 -0
- cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py +120 -0
- cribl_control_plane/models/pipelinefunctionserde.py +149 -0
- cribl_control_plane/models/pipelinefunctionserialize.py +122 -0
- cribl_control_plane/models/pipelinefunctionsidlookup.py +56 -0
- cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py +56 -0
- cribl_control_plane/models/pipelinefunctionsort.py +84 -0
- cribl_control_plane/models/pipelinefunctionstore.py +120 -0
- cribl_control_plane/models/pipelinefunctionsuppress.py +102 -0
- cribl_control_plane/models/pipelinefunctiontee.py +77 -0
- cribl_control_plane/models/pipelinefunctiontrimtimestamp.py +56 -0
- cribl_control_plane/models/pipelinefunctionunion.py +67 -0
- cribl_control_plane/models/pipelinefunctionunroll.py +67 -0
- cribl_control_plane/models/pipelinefunctionwindow.py +83 -0
- cribl_control_plane/models/pipelinefunctionxmlunroll.py +79 -0
- cribl_control_plane/models/runnablejobcollection.py +11 -10
- cribl_control_plane/models/runnablejobexecutor.py +8 -8
- cribl_control_plane/models/savedjob.py +26 -0
- cribl_control_plane/models/savedjobcollection.py +411 -0
- cribl_control_plane/models/savedjobexecutor.py +301 -0
- cribl_control_plane/models/savedjobscheduledsearch.py +278 -0
- cribl_control_plane/models/updatepipelinebyidop.py +4 -3
- cribl_control_plane/models/updatesavedjobbyidop.py +42 -0
- cribl_control_plane/pipelines.py +16 -16
- cribl_control_plane/sdk.py +4 -0
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/METADATA +10 -2
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/RECORD +229 -88
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/WHEEL +0 -0
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import Any, List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class SavedJobExecutorJobType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
|
+
COLLECTION = "collection"
|
|
17
|
+
EXECUTOR = "executor"
|
|
18
|
+
SCHEDULED_SEARCH = "scheduledSearch"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class SavedJobExecutorType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
22
|
+
COLLECTION = "collection"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class SavedJobExecutorLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
26
|
+
r"""Level at which to set task logging"""
|
|
27
|
+
|
|
28
|
+
ERROR = "error"
|
|
29
|
+
WARN = "warn"
|
|
30
|
+
INFO = "info"
|
|
31
|
+
DEBUG = "debug"
|
|
32
|
+
SILLY = "silly"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class SavedJobExecutorTimeWarningTypedDict(TypedDict):
|
|
36
|
+
pass
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class SavedJobExecutorTimeWarning(BaseModel):
|
|
40
|
+
pass
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class SavedJobExecutorRunSettingsTypedDict(TypedDict):
|
|
44
|
+
type: NotRequired[SavedJobExecutorType]
|
|
45
|
+
reschedule_dropped_tasks: NotRequired[bool]
|
|
46
|
+
r"""Reschedule tasks that failed with non-fatal errors"""
|
|
47
|
+
max_task_reschedule: NotRequired[float]
|
|
48
|
+
r"""Maximum number of times a task can be rescheduled"""
|
|
49
|
+
log_level: NotRequired[SavedJobExecutorLogLevel]
|
|
50
|
+
r"""Level at which to set task logging"""
|
|
51
|
+
job_timeout: NotRequired[str]
|
|
52
|
+
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."""
|
|
53
|
+
mode: NotRequired[str]
|
|
54
|
+
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."""
|
|
55
|
+
time_range_type: NotRequired[str]
|
|
56
|
+
earliest: NotRequired[float]
|
|
57
|
+
r"""Earliest time to collect data for the selected timezone"""
|
|
58
|
+
latest: NotRequired[float]
|
|
59
|
+
r"""Latest time to collect data for the selected timezone"""
|
|
60
|
+
timestamp_timezone: NotRequired[Any]
|
|
61
|
+
time_warning: NotRequired[SavedJobExecutorTimeWarningTypedDict]
|
|
62
|
+
expression: NotRequired[str]
|
|
63
|
+
r"""A filter for tokens in the provided collect path and/or the events being collected"""
|
|
64
|
+
min_task_size: NotRequired[str]
|
|
65
|
+
r"""Limits the bundle size for small tasks. For example,
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
if your lower bundle size is 1MB, you can bundle up to five 200KB files into one task.
|
|
69
|
+
"""
|
|
70
|
+
max_task_size: NotRequired[str]
|
|
71
|
+
r"""Limits the bundle size for files above the lower task bundle size. For example, if your upper bundle size is 10MB,
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
you can bundle up to five 2MB files into one task. Files greater than this size will be assigned to individual tasks.
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class SavedJobExecutorRunSettings(BaseModel):
|
|
79
|
+
type: Annotated[
|
|
80
|
+
Optional[SavedJobExecutorType], PlainValidator(validate_open_enum(False))
|
|
81
|
+
] = None
|
|
82
|
+
|
|
83
|
+
reschedule_dropped_tasks: Annotated[
|
|
84
|
+
Optional[bool], pydantic.Field(alias="rescheduleDroppedTasks")
|
|
85
|
+
] = True
|
|
86
|
+
r"""Reschedule tasks that failed with non-fatal errors"""
|
|
87
|
+
|
|
88
|
+
max_task_reschedule: Annotated[
|
|
89
|
+
Optional[float], pydantic.Field(alias="maxTaskReschedule")
|
|
90
|
+
] = 1
|
|
91
|
+
r"""Maximum number of times a task can be rescheduled"""
|
|
92
|
+
|
|
93
|
+
log_level: Annotated[
|
|
94
|
+
Annotated[
|
|
95
|
+
Optional[SavedJobExecutorLogLevel],
|
|
96
|
+
PlainValidator(validate_open_enum(False)),
|
|
97
|
+
],
|
|
98
|
+
pydantic.Field(alias="logLevel"),
|
|
99
|
+
] = SavedJobExecutorLogLevel.INFO
|
|
100
|
+
r"""Level at which to set task logging"""
|
|
101
|
+
|
|
102
|
+
job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = "0"
|
|
103
|
+
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."""
|
|
104
|
+
|
|
105
|
+
mode: Optional[str] = "list"
|
|
106
|
+
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."""
|
|
107
|
+
|
|
108
|
+
time_range_type: Annotated[Optional[str], pydantic.Field(alias="timeRangeType")] = (
|
|
109
|
+
"relative"
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
earliest: Optional[float] = None
|
|
113
|
+
r"""Earliest time to collect data for the selected timezone"""
|
|
114
|
+
|
|
115
|
+
latest: Optional[float] = None
|
|
116
|
+
r"""Latest time to collect data for the selected timezone"""
|
|
117
|
+
|
|
118
|
+
timestamp_timezone: Annotated[
|
|
119
|
+
Optional[Any], pydantic.Field(alias="timestampTimezone")
|
|
120
|
+
] = None
|
|
121
|
+
|
|
122
|
+
time_warning: Annotated[
|
|
123
|
+
Optional[SavedJobExecutorTimeWarning], pydantic.Field(alias="timeWarning")
|
|
124
|
+
] = None
|
|
125
|
+
|
|
126
|
+
expression: Optional[str] = "true"
|
|
127
|
+
r"""A filter for tokens in the provided collect path and/or the events being collected"""
|
|
128
|
+
|
|
129
|
+
min_task_size: Annotated[Optional[str], pydantic.Field(alias="minTaskSize")] = "1MB"
|
|
130
|
+
r"""Limits the bundle size for small tasks. For example,
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
if your lower bundle size is 1MB, you can bundle up to five 200KB files into one task.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
max_task_size: Annotated[Optional[str], pydantic.Field(alias="maxTaskSize")] = (
|
|
137
|
+
"10MB"
|
|
138
|
+
)
|
|
139
|
+
r"""Limits the bundle size for files above the lower task bundle size. For example, if your upper bundle size is 10MB,
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
you can bundle up to five 2MB files into one task. Files greater than this size will be assigned to individual tasks.
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
@field_serializer("type")
|
|
146
|
+
def serialize_type(self, value):
|
|
147
|
+
if isinstance(value, str):
|
|
148
|
+
try:
|
|
149
|
+
return models.SavedJobExecutorType(value)
|
|
150
|
+
except ValueError:
|
|
151
|
+
return value
|
|
152
|
+
return value
|
|
153
|
+
|
|
154
|
+
@field_serializer("log_level")
|
|
155
|
+
def serialize_log_level(self, value):
|
|
156
|
+
if isinstance(value, str):
|
|
157
|
+
try:
|
|
158
|
+
return models.SavedJobExecutorLogLevel(value)
|
|
159
|
+
except ValueError:
|
|
160
|
+
return value
|
|
161
|
+
return value
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class SavedJobExecutorScheduleTypedDict(TypedDict):
|
|
165
|
+
r"""Configuration for a scheduled job"""
|
|
166
|
+
|
|
167
|
+
enabled: NotRequired[bool]
|
|
168
|
+
r"""Enable to configure scheduling for this Collector"""
|
|
169
|
+
skippable: NotRequired[bool]
|
|
170
|
+
r"""Skippable jobs can be delayed, up to their next run time, if the system is hitting concurrency limits"""
|
|
171
|
+
resume_missed: NotRequired[bool]
|
|
172
|
+
r"""If Stream Leader (or single instance) restarts, run all missed jobs according to their original schedules"""
|
|
173
|
+
cron_schedule: NotRequired[str]
|
|
174
|
+
r"""A cron schedule on which to run this job"""
|
|
175
|
+
max_concurrent_runs: NotRequired[float]
|
|
176
|
+
r"""The maximum number of instances of this scheduled job that may be running at any time"""
|
|
177
|
+
run: NotRequired[SavedJobExecutorRunSettingsTypedDict]
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
class SavedJobExecutorSchedule(BaseModel):
|
|
181
|
+
r"""Configuration for a scheduled job"""
|
|
182
|
+
|
|
183
|
+
enabled: Optional[bool] = None
|
|
184
|
+
r"""Enable to configure scheduling for this Collector"""
|
|
185
|
+
|
|
186
|
+
skippable: Optional[bool] = True
|
|
187
|
+
r"""Skippable jobs can be delayed, up to their next run time, if the system is hitting concurrency limits"""
|
|
188
|
+
|
|
189
|
+
resume_missed: Annotated[Optional[bool], pydantic.Field(alias="resumeMissed")] = (
|
|
190
|
+
False
|
|
191
|
+
)
|
|
192
|
+
r"""If Stream Leader (or single instance) restarts, run all missed jobs according to their original schedules"""
|
|
193
|
+
|
|
194
|
+
cron_schedule: Annotated[Optional[str], pydantic.Field(alias="cronSchedule")] = (
|
|
195
|
+
"*/5 * * * *"
|
|
196
|
+
)
|
|
197
|
+
r"""A cron schedule on which to run this job"""
|
|
198
|
+
|
|
199
|
+
max_concurrent_runs: Annotated[
|
|
200
|
+
Optional[float], pydantic.Field(alias="maxConcurrentRuns")
|
|
201
|
+
] = 1
|
|
202
|
+
r"""The maximum number of instances of this scheduled job that may be running at any time"""
|
|
203
|
+
|
|
204
|
+
run: Optional[SavedJobExecutorRunSettings] = None
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
class SavedJobExecutorExecutorSpecificSettingsTypedDict(TypedDict):
|
|
208
|
+
pass
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
class SavedJobExecutorExecutorSpecificSettings(BaseModel):
|
|
212
|
+
pass
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
class SavedJobExecutorExecutorTypedDict(TypedDict):
|
|
216
|
+
type: str
|
|
217
|
+
r"""The type of executor to run"""
|
|
218
|
+
store_task_results: NotRequired[bool]
|
|
219
|
+
r"""Determines whether or not to write task results to disk"""
|
|
220
|
+
conf: NotRequired[SavedJobExecutorExecutorSpecificSettingsTypedDict]
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
class SavedJobExecutorExecutor(BaseModel):
|
|
224
|
+
type: str
|
|
225
|
+
r"""The type of executor to run"""
|
|
226
|
+
|
|
227
|
+
store_task_results: Annotated[
|
|
228
|
+
Optional[bool], pydantic.Field(alias="storeTaskResults")
|
|
229
|
+
] = True
|
|
230
|
+
r"""Determines whether or not to write task results to disk"""
|
|
231
|
+
|
|
232
|
+
conf: Optional[SavedJobExecutorExecutorSpecificSettings] = None
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
class SavedJobExecutorTypedDict(TypedDict):
|
|
236
|
+
type: SavedJobExecutorJobType
|
|
237
|
+
executor: SavedJobExecutorExecutorTypedDict
|
|
238
|
+
id: NotRequired[str]
|
|
239
|
+
r"""Unique ID for this Job"""
|
|
240
|
+
description: NotRequired[str]
|
|
241
|
+
ttl: NotRequired[str]
|
|
242
|
+
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."""
|
|
243
|
+
ignore_group_jobs_limit: NotRequired[bool]
|
|
244
|
+
r"""When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live."""
|
|
245
|
+
remove_fields: NotRequired[List[str]]
|
|
246
|
+
r"""List of fields to remove from Discover results. Wildcards (for example, aws*) are allowed. This is useful when discovery returns sensitive fields that should not be exposed in the Jobs user interface."""
|
|
247
|
+
resume_on_boot: NotRequired[bool]
|
|
248
|
+
r"""Resume the ad hoc job if a failure condition causes Stream to restart during job execution"""
|
|
249
|
+
environment: NotRequired[str]
|
|
250
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
251
|
+
schedule: NotRequired[SavedJobExecutorScheduleTypedDict]
|
|
252
|
+
r"""Configuration for a scheduled job"""
|
|
253
|
+
streamtags: NotRequired[List[str]]
|
|
254
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
class SavedJobExecutor(BaseModel):
|
|
258
|
+
type: Annotated[SavedJobExecutorJobType, PlainValidator(validate_open_enum(False))]
|
|
259
|
+
|
|
260
|
+
executor: SavedJobExecutorExecutor
|
|
261
|
+
|
|
262
|
+
id: Optional[str] = None
|
|
263
|
+
r"""Unique ID for this Job"""
|
|
264
|
+
|
|
265
|
+
description: Optional[str] = None
|
|
266
|
+
|
|
267
|
+
ttl: Optional[str] = "4h"
|
|
268
|
+
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."""
|
|
269
|
+
|
|
270
|
+
ignore_group_jobs_limit: Annotated[
|
|
271
|
+
Optional[bool], pydantic.Field(alias="ignoreGroupJobsLimit")
|
|
272
|
+
] = False
|
|
273
|
+
r"""When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live."""
|
|
274
|
+
|
|
275
|
+
remove_fields: Annotated[
|
|
276
|
+
Optional[List[str]], pydantic.Field(alias="removeFields")
|
|
277
|
+
] = None
|
|
278
|
+
r"""List of fields to remove from Discover results. Wildcards (for example, aws*) are allowed. This is useful when discovery returns sensitive fields that should not be exposed in the Jobs user interface."""
|
|
279
|
+
|
|
280
|
+
resume_on_boot: Annotated[Optional[bool], pydantic.Field(alias="resumeOnBoot")] = (
|
|
281
|
+
False
|
|
282
|
+
)
|
|
283
|
+
r"""Resume the ad hoc job if a failure condition causes Stream to restart during job execution"""
|
|
284
|
+
|
|
285
|
+
environment: Optional[str] = None
|
|
286
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
287
|
+
|
|
288
|
+
schedule: Optional[SavedJobExecutorSchedule] = None
|
|
289
|
+
r"""Configuration for a scheduled job"""
|
|
290
|
+
|
|
291
|
+
streamtags: Optional[List[str]] = None
|
|
292
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
293
|
+
|
|
294
|
+
@field_serializer("type")
|
|
295
|
+
def serialize_type(self, value):
|
|
296
|
+
if isinstance(value, str):
|
|
297
|
+
try:
|
|
298
|
+
return models.SavedJobExecutorJobType(value)
|
|
299
|
+
except ValueError:
|
|
300
|
+
return value
|
|
301
|
+
return value
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import Any, List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class SavedJobScheduledSearchJobType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
|
+
COLLECTION = "collection"
|
|
17
|
+
EXECUTOR = "executor"
|
|
18
|
+
SCHEDULED_SEARCH = "scheduledSearch"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class SavedJobScheduledSearchType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
22
|
+
COLLECTION = "collection"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class SavedJobScheduledSearchLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
26
|
+
r"""Level at which to set task logging"""
|
|
27
|
+
|
|
28
|
+
ERROR = "error"
|
|
29
|
+
WARN = "warn"
|
|
30
|
+
INFO = "info"
|
|
31
|
+
DEBUG = "debug"
|
|
32
|
+
SILLY = "silly"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class SavedJobScheduledSearchTimeWarningTypedDict(TypedDict):
|
|
36
|
+
pass
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class SavedJobScheduledSearchTimeWarning(BaseModel):
|
|
40
|
+
pass
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class SavedJobScheduledSearchRunSettingsTypedDict(TypedDict):
|
|
44
|
+
type: NotRequired[SavedJobScheduledSearchType]
|
|
45
|
+
reschedule_dropped_tasks: NotRequired[bool]
|
|
46
|
+
r"""Reschedule tasks that failed with non-fatal errors"""
|
|
47
|
+
max_task_reschedule: NotRequired[float]
|
|
48
|
+
r"""Maximum number of times a task can be rescheduled"""
|
|
49
|
+
log_level: NotRequired[SavedJobScheduledSearchLogLevel]
|
|
50
|
+
r"""Level at which to set task logging"""
|
|
51
|
+
job_timeout: NotRequired[str]
|
|
52
|
+
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."""
|
|
53
|
+
mode: NotRequired[str]
|
|
54
|
+
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."""
|
|
55
|
+
time_range_type: NotRequired[str]
|
|
56
|
+
earliest: NotRequired[float]
|
|
57
|
+
r"""Earliest time to collect data for the selected timezone"""
|
|
58
|
+
latest: NotRequired[float]
|
|
59
|
+
r"""Latest time to collect data for the selected timezone"""
|
|
60
|
+
timestamp_timezone: NotRequired[Any]
|
|
61
|
+
time_warning: NotRequired[SavedJobScheduledSearchTimeWarningTypedDict]
|
|
62
|
+
expression: NotRequired[str]
|
|
63
|
+
r"""A filter for tokens in the provided collect path and/or the events being collected"""
|
|
64
|
+
min_task_size: NotRequired[str]
|
|
65
|
+
r"""Limits the bundle size for small tasks. For example,
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
if your lower bundle size is 1MB, you can bundle up to five 200KB files into one task.
|
|
69
|
+
"""
|
|
70
|
+
max_task_size: NotRequired[str]
|
|
71
|
+
r"""Limits the bundle size for files above the lower task bundle size. For example, if your upper bundle size is 10MB,
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
you can bundle up to five 2MB files into one task. Files greater than this size will be assigned to individual tasks.
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class SavedJobScheduledSearchRunSettings(BaseModel):
|
|
79
|
+
type: Annotated[
|
|
80
|
+
Optional[SavedJobScheduledSearchType], PlainValidator(validate_open_enum(False))
|
|
81
|
+
] = None
|
|
82
|
+
|
|
83
|
+
reschedule_dropped_tasks: Annotated[
|
|
84
|
+
Optional[bool], pydantic.Field(alias="rescheduleDroppedTasks")
|
|
85
|
+
] = True
|
|
86
|
+
r"""Reschedule tasks that failed with non-fatal errors"""
|
|
87
|
+
|
|
88
|
+
max_task_reschedule: Annotated[
|
|
89
|
+
Optional[float], pydantic.Field(alias="maxTaskReschedule")
|
|
90
|
+
] = 1
|
|
91
|
+
r"""Maximum number of times a task can be rescheduled"""
|
|
92
|
+
|
|
93
|
+
log_level: Annotated[
|
|
94
|
+
Annotated[
|
|
95
|
+
Optional[SavedJobScheduledSearchLogLevel],
|
|
96
|
+
PlainValidator(validate_open_enum(False)),
|
|
97
|
+
],
|
|
98
|
+
pydantic.Field(alias="logLevel"),
|
|
99
|
+
] = SavedJobScheduledSearchLogLevel.INFO
|
|
100
|
+
r"""Level at which to set task logging"""
|
|
101
|
+
|
|
102
|
+
job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = "0"
|
|
103
|
+
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."""
|
|
104
|
+
|
|
105
|
+
mode: Optional[str] = "list"
|
|
106
|
+
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."""
|
|
107
|
+
|
|
108
|
+
time_range_type: Annotated[Optional[str], pydantic.Field(alias="timeRangeType")] = (
|
|
109
|
+
"relative"
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
earliest: Optional[float] = None
|
|
113
|
+
r"""Earliest time to collect data for the selected timezone"""
|
|
114
|
+
|
|
115
|
+
latest: Optional[float] = None
|
|
116
|
+
r"""Latest time to collect data for the selected timezone"""
|
|
117
|
+
|
|
118
|
+
timestamp_timezone: Annotated[
|
|
119
|
+
Optional[Any], pydantic.Field(alias="timestampTimezone")
|
|
120
|
+
] = None
|
|
121
|
+
|
|
122
|
+
time_warning: Annotated[
|
|
123
|
+
Optional[SavedJobScheduledSearchTimeWarning],
|
|
124
|
+
pydantic.Field(alias="timeWarning"),
|
|
125
|
+
] = None
|
|
126
|
+
|
|
127
|
+
expression: Optional[str] = "true"
|
|
128
|
+
r"""A filter for tokens in the provided collect path and/or the events being collected"""
|
|
129
|
+
|
|
130
|
+
min_task_size: Annotated[Optional[str], pydantic.Field(alias="minTaskSize")] = "1MB"
|
|
131
|
+
r"""Limits the bundle size for small tasks. For example,
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
if your lower bundle size is 1MB, you can bundle up to five 200KB files into one task.
|
|
135
|
+
"""
|
|
136
|
+
|
|
137
|
+
max_task_size: Annotated[Optional[str], pydantic.Field(alias="maxTaskSize")] = (
|
|
138
|
+
"10MB"
|
|
139
|
+
)
|
|
140
|
+
r"""Limits the bundle size for files above the lower task bundle size. For example, if your upper bundle size is 10MB,
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
you can bundle up to five 2MB files into one task. Files greater than this size will be assigned to individual tasks.
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
@field_serializer("type")
|
|
147
|
+
def serialize_type(self, value):
|
|
148
|
+
if isinstance(value, str):
|
|
149
|
+
try:
|
|
150
|
+
return models.SavedJobScheduledSearchType(value)
|
|
151
|
+
except ValueError:
|
|
152
|
+
return value
|
|
153
|
+
return value
|
|
154
|
+
|
|
155
|
+
@field_serializer("log_level")
|
|
156
|
+
def serialize_log_level(self, value):
|
|
157
|
+
if isinstance(value, str):
|
|
158
|
+
try:
|
|
159
|
+
return models.SavedJobScheduledSearchLogLevel(value)
|
|
160
|
+
except ValueError:
|
|
161
|
+
return value
|
|
162
|
+
return value
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class SavedJobScheduledSearchScheduleTypedDict(TypedDict):
|
|
166
|
+
r"""Configuration for a scheduled job"""
|
|
167
|
+
|
|
168
|
+
enabled: NotRequired[bool]
|
|
169
|
+
r"""Enable to configure scheduling for this Collector"""
|
|
170
|
+
skippable: NotRequired[bool]
|
|
171
|
+
r"""Skippable jobs can be delayed, up to their next run time, if the system is hitting concurrency limits"""
|
|
172
|
+
resume_missed: NotRequired[bool]
|
|
173
|
+
r"""If Stream Leader (or single instance) restarts, run all missed jobs according to their original schedules"""
|
|
174
|
+
cron_schedule: NotRequired[str]
|
|
175
|
+
r"""A cron schedule on which to run this job"""
|
|
176
|
+
max_concurrent_runs: NotRequired[float]
|
|
177
|
+
r"""The maximum number of instances of this scheduled job that may be running at any time"""
|
|
178
|
+
run: NotRequired[SavedJobScheduledSearchRunSettingsTypedDict]
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class SavedJobScheduledSearchSchedule(BaseModel):
|
|
182
|
+
r"""Configuration for a scheduled job"""
|
|
183
|
+
|
|
184
|
+
enabled: Optional[bool] = None
|
|
185
|
+
r"""Enable to configure scheduling for this Collector"""
|
|
186
|
+
|
|
187
|
+
skippable: Optional[bool] = True
|
|
188
|
+
r"""Skippable jobs can be delayed, up to their next run time, if the system is hitting concurrency limits"""
|
|
189
|
+
|
|
190
|
+
resume_missed: Annotated[Optional[bool], pydantic.Field(alias="resumeMissed")] = (
|
|
191
|
+
False
|
|
192
|
+
)
|
|
193
|
+
r"""If Stream Leader (or single instance) restarts, run all missed jobs according to their original schedules"""
|
|
194
|
+
|
|
195
|
+
cron_schedule: Annotated[Optional[str], pydantic.Field(alias="cronSchedule")] = (
|
|
196
|
+
"*/5 * * * *"
|
|
197
|
+
)
|
|
198
|
+
r"""A cron schedule on which to run this job"""
|
|
199
|
+
|
|
200
|
+
max_concurrent_runs: Annotated[
|
|
201
|
+
Optional[float], pydantic.Field(alias="maxConcurrentRuns")
|
|
202
|
+
] = 1
|
|
203
|
+
r"""The maximum number of instances of this scheduled job that may be running at any time"""
|
|
204
|
+
|
|
205
|
+
run: Optional[SavedJobScheduledSearchRunSettings] = None
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
class SavedJobScheduledSearchTypedDict(TypedDict):
|
|
209
|
+
type: SavedJobScheduledSearchJobType
|
|
210
|
+
saved_query_id: str
|
|
211
|
+
r"""Identifies which search query to run"""
|
|
212
|
+
id: NotRequired[str]
|
|
213
|
+
r"""Unique ID for this Job"""
|
|
214
|
+
description: NotRequired[str]
|
|
215
|
+
ttl: NotRequired[str]
|
|
216
|
+
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."""
|
|
217
|
+
ignore_group_jobs_limit: NotRequired[bool]
|
|
218
|
+
r"""When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live."""
|
|
219
|
+
remove_fields: NotRequired[List[str]]
|
|
220
|
+
r"""List of fields to remove from Discover results. Wildcards (for example, aws*) are allowed. This is useful when discovery returns sensitive fields that should not be exposed in the Jobs user interface."""
|
|
221
|
+
resume_on_boot: NotRequired[bool]
|
|
222
|
+
r"""Resume the ad hoc job if a failure condition causes Stream to restart during job execution"""
|
|
223
|
+
environment: NotRequired[str]
|
|
224
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
225
|
+
schedule: NotRequired[SavedJobScheduledSearchScheduleTypedDict]
|
|
226
|
+
r"""Configuration for a scheduled job"""
|
|
227
|
+
streamtags: NotRequired[List[str]]
|
|
228
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
class SavedJobScheduledSearch(BaseModel):
|
|
232
|
+
type: Annotated[
|
|
233
|
+
SavedJobScheduledSearchJobType, PlainValidator(validate_open_enum(False))
|
|
234
|
+
]
|
|
235
|
+
|
|
236
|
+
saved_query_id: Annotated[str, pydantic.Field(alias="savedQueryId")]
|
|
237
|
+
r"""Identifies which search query to run"""
|
|
238
|
+
|
|
239
|
+
id: Optional[str] = None
|
|
240
|
+
r"""Unique ID for this Job"""
|
|
241
|
+
|
|
242
|
+
description: Optional[str] = None
|
|
243
|
+
|
|
244
|
+
ttl: Optional[str] = "4h"
|
|
245
|
+
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."""
|
|
246
|
+
|
|
247
|
+
ignore_group_jobs_limit: Annotated[
|
|
248
|
+
Optional[bool], pydantic.Field(alias="ignoreGroupJobsLimit")
|
|
249
|
+
] = False
|
|
250
|
+
r"""When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live."""
|
|
251
|
+
|
|
252
|
+
remove_fields: Annotated[
|
|
253
|
+
Optional[List[str]], pydantic.Field(alias="removeFields")
|
|
254
|
+
] = None
|
|
255
|
+
r"""List of fields to remove from Discover results. Wildcards (for example, aws*) are allowed. This is useful when discovery returns sensitive fields that should not be exposed in the Jobs user interface."""
|
|
256
|
+
|
|
257
|
+
resume_on_boot: Annotated[Optional[bool], pydantic.Field(alias="resumeOnBoot")] = (
|
|
258
|
+
False
|
|
259
|
+
)
|
|
260
|
+
r"""Resume the ad hoc job if a failure condition causes Stream to restart during job execution"""
|
|
261
|
+
|
|
262
|
+
environment: Optional[str] = None
|
|
263
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
264
|
+
|
|
265
|
+
schedule: Optional[SavedJobScheduledSearchSchedule] = None
|
|
266
|
+
r"""Configuration for a scheduled job"""
|
|
267
|
+
|
|
268
|
+
streamtags: Optional[List[str]] = None
|
|
269
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
270
|
+
|
|
271
|
+
@field_serializer("type")
|
|
272
|
+
def serialize_type(self, value):
|
|
273
|
+
if isinstance(value, str):
|
|
274
|
+
try:
|
|
275
|
+
return models.SavedJobScheduledSearchJobType(value)
|
|
276
|
+
except ValueError:
|
|
277
|
+
return value
|
|
278
|
+
return value
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from .pipeline import
|
|
4
|
+
from .pipeline import PipelineInput, PipelineInputTypedDict
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
|
7
7
|
import pydantic
|
|
@@ -11,7 +11,7 @@ from typing_extensions import Annotated, TypedDict
|
|
|
11
11
|
class UpdatePipelineByIDRequestTypedDict(TypedDict):
|
|
12
12
|
id_param: str
|
|
13
13
|
r"""The <code>id</code> of the Pipeline to update."""
|
|
14
|
-
pipeline:
|
|
14
|
+
pipeline: PipelineInputTypedDict
|
|
15
15
|
r"""Pipeline object"""
|
|
16
16
|
|
|
17
17
|
|
|
@@ -24,6 +24,7 @@ class UpdatePipelineByIDRequest(BaseModel):
|
|
|
24
24
|
r"""The <code>id</code> of the Pipeline to update."""
|
|
25
25
|
|
|
26
26
|
pipeline: Annotated[
|
|
27
|
-
|
|
27
|
+
PipelineInput,
|
|
28
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
28
29
|
]
|
|
29
30
|
r"""Pipeline object"""
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .savedjob import SavedJob, SavedJobTypedDict
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import (
|
|
7
|
+
FieldMetadata,
|
|
8
|
+
PathParamMetadata,
|
|
9
|
+
QueryParamMetadata,
|
|
10
|
+
RequestMetadata,
|
|
11
|
+
)
|
|
12
|
+
import pydantic
|
|
13
|
+
from typing import Optional
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class UpdateSavedJobByIDRequestTypedDict(TypedDict):
|
|
18
|
+
id: str
|
|
19
|
+
r"""The <code>id</code> of the Collector to update."""
|
|
20
|
+
saved_job: SavedJobTypedDict
|
|
21
|
+
r"""SavedJob object"""
|
|
22
|
+
cribl_pack: NotRequired[str]
|
|
23
|
+
r"""The <code>id</code> of the Pack that includes the Collector to update."""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class UpdateSavedJobByIDRequest(BaseModel):
|
|
27
|
+
id: Annotated[
|
|
28
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
29
|
+
]
|
|
30
|
+
r"""The <code>id</code> of the Collector to update."""
|
|
31
|
+
|
|
32
|
+
saved_job: Annotated[
|
|
33
|
+
SavedJob, FieldMetadata(request=RequestMetadata(media_type="application/json"))
|
|
34
|
+
]
|
|
35
|
+
r"""SavedJob object"""
|
|
36
|
+
|
|
37
|
+
cribl_pack: Annotated[
|
|
38
|
+
Optional[str],
|
|
39
|
+
pydantic.Field(alias="criblPack"),
|
|
40
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
41
|
+
] = None
|
|
42
|
+
r"""The <code>id</code> of the Pack that includes the Collector to update."""
|