cribl-control-plane 0.0.38__py3-none-any.whl → 0.4.0a6__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/_hooks/clientcredentials.py +92 -42
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +5 -3
- cribl_control_plane/auth_sdk.py +6 -3
- cribl_control_plane/basesdk.py +11 -1
- cribl_control_plane/commits.py +7 -5
- cribl_control_plane/destinations.py +6 -4
- cribl_control_plane/destinations_pq.py +2 -2
- cribl_control_plane/errors/__init__.py +23 -8
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +64 -38
- cribl_control_plane/health.py +22 -12
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/lakedatasets.py +40 -12
- cribl_control_plane/models/__init__.py +1180 -54
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/{routecloneconf.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +66 -11
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/createconfiggroupbyproductop.py +27 -9
- cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionpushop.py +5 -5
- cribl_control_plane/models/createversionrevertop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +22 -2
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +5 -5
- cribl_control_plane/models/deletepipelinebyidop.py +2 -2
- cribl_control_plane/models/difffiles.py +171 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -2
- cribl_control_plane/models/getoutputpqbyidop.py +6 -5
- cribl_control_plane/models/getpipelinebyidop.py +2 -2
- cribl_control_plane/models/getroutesbyidop.py +2 -2
- cribl_control_plane/models/getsummaryop.py +18 -2
- cribl_control_plane/models/getversionbranchop.py +6 -5
- cribl_control_plane/models/getversioncountop.py +6 -5
- cribl_control_plane/models/getversiondiffop.py +6 -5
- cribl_control_plane/models/getversionshowop.py +6 -5
- cribl_control_plane/models/gitcountresult.py +13 -0
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/groupcreaterequest.py +171 -0
- cribl_control_plane/models/hbcriblinfo.py +39 -3
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +3 -0
- cribl_control_plane/models/input.py +83 -78
- cribl_control_plane/models/inputappscope.py +126 -30
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +513 -0
- cribl_control_plane/models/inputcollection.py +47 -4
- cribl_control_plane/models/inputconfluentcloud.py +254 -30
- cribl_control_plane/models/inputcribl.py +47 -4
- cribl_control_plane/models/inputcriblhttp.py +121 -30
- cribl_control_plane/models/inputcribllakehttp.py +122 -30
- cribl_control_plane/models/inputcriblmetrics.py +48 -4
- cribl_control_plane/models/inputcribltcp.py +122 -24
- cribl_control_plane/models/inputcrowdstrike.py +92 -10
- cribl_control_plane/models/inputdatadogagent.py +98 -24
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +210 -50
- cribl_control_plane/models/inputelastic.py +167 -36
- cribl_control_plane/models/inputeventhub.py +209 -6
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +78 -10
- cribl_control_plane/models/inputfirehose.py +97 -24
- cribl_control_plane/models/inputgooglepubsub.py +67 -6
- cribl_control_plane/models/inputgrafana.py +251 -71
- cribl_control_plane/models/inputhttp.py +97 -24
- cribl_control_plane/models/inputhttpraw.py +97 -24
- cribl_control_plane/models/inputjournalfiles.py +48 -4
- cribl_control_plane/models/inputkafka.py +248 -26
- cribl_control_plane/models/inputkinesis.py +130 -14
- cribl_control_plane/models/inputkubeevents.py +47 -4
- cribl_control_plane/models/inputkubelogs.py +61 -8
- cribl_control_plane/models/inputkubemetrics.py +61 -8
- cribl_control_plane/models/inputloki.py +113 -34
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
- cribl_control_plane/models/inputmsk.py +141 -30
- cribl_control_plane/models/inputnetflow.py +47 -4
- cribl_control_plane/models/inputoffice365mgmt.py +112 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
- cribl_control_plane/models/inputoffice365service.py +114 -16
- cribl_control_plane/models/inputopentelemetry.py +143 -32
- cribl_control_plane/models/inputprometheus.py +193 -44
- cribl_control_plane/models/inputprometheusrw.py +114 -27
- cribl_control_plane/models/inputrawudp.py +47 -4
- cribl_control_plane/models/inputs3.py +78 -8
- cribl_control_plane/models/inputs3inventory.py +92 -10
- cribl_control_plane/models/inputsecuritylake.py +93 -10
- cribl_control_plane/models/inputsnmp.py +68 -6
- cribl_control_plane/models/inputsplunk.py +130 -28
- cribl_control_plane/models/inputsplunkhec.py +111 -25
- cribl_control_plane/models/inputsplunksearch.py +108 -14
- cribl_control_plane/models/inputsqs.py +99 -16
- cribl_control_plane/models/inputsyslog.py +189 -47
- cribl_control_plane/models/inputsystemmetrics.py +202 -32
- cribl_control_plane/models/inputsystemstate.py +61 -8
- cribl_control_plane/models/inputtcp.py +122 -26
- cribl_control_plane/models/inputtcpjson.py +112 -26
- cribl_control_plane/models/inputwef.py +121 -15
- cribl_control_plane/models/inputwindowsmetrics.py +186 -33
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +78 -8
- cribl_control_plane/models/inputwizwebhook.py +97 -24
- cribl_control_plane/models/inputzscalerhec.py +111 -25
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +14 -1
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +17 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +11 -1
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +104 -90
- cribl_control_plane/models/outputazureblob.py +171 -18
- cribl_control_plane/models/outputazuredataexplorer.py +514 -90
- cribl_control_plane/models/outputazureeventhub.py +315 -31
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +205 -34
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +129 -23
- cribl_control_plane/models/outputconfluentcloud.py +384 -57
- cribl_control_plane/models/outputcriblhttp.py +199 -32
- cribl_control_plane/models/outputcribllake.py +156 -16
- cribl_control_plane/models/outputcribltcp.py +194 -29
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +199 -31
- cribl_control_plane/models/outputdataset.py +181 -29
- cribl_control_plane/models/outputdiskspool.py +17 -2
- cribl_control_plane/models/outputdls3.py +233 -24
- cribl_control_plane/models/outputdynatracehttp.py +208 -34
- cribl_control_plane/models/outputdynatraceotlp.py +210 -36
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +171 -26
- cribl_control_plane/models/outputexabeam.py +96 -10
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
- cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
- cribl_control_plane/models/outputgooglepubsub.py +131 -23
- cribl_control_plane/models/outputgrafanacloud.py +376 -74
- cribl_control_plane/models/outputgraphite.py +128 -25
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +162 -28
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +375 -52
- cribl_control_plane/models/outputkinesis.py +165 -27
- cribl_control_plane/models/outputloki.py +164 -34
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +225 -25
- cribl_control_plane/models/outputmsk.py +267 -54
- cribl_control_plane/models/outputnewrelic.py +171 -29
- cribl_control_plane/models/outputnewrelicevents.py +163 -28
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +49 -8
- cribl_control_plane/models/outputs3.py +233 -26
- cribl_control_plane/models/outputsecuritylake.py +179 -18
- cribl_control_plane/models/outputsentinel.py +172 -29
- cribl_control_plane/models/outputsentineloneaisiem.py +181 -35
- cribl_control_plane/models/outputservicenow.py +223 -38
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +143 -25
- cribl_control_plane/models/outputsplunk.py +206 -36
- cribl_control_plane/models/outputsplunkhec.py +238 -26
- cribl_control_plane/models/outputsplunklb.py +253 -43
- cribl_control_plane/models/outputsqs.py +163 -33
- cribl_control_plane/models/outputstatsd.py +127 -25
- cribl_control_plane/models/outputstatsdext.py +128 -25
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +318 -46
- cribl_control_plane/models/outputtcpjson.py +186 -32
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +211 -33
- cribl_control_plane/models/outputxsiam.py +143 -26
- cribl_control_plane/models/packinfo.py +8 -5
- cribl_control_plane/models/packinstallinfo.py +11 -8
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +669 -0
- cribl_control_plane/models/runnablejobexecutor.py +368 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +286 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -2
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
- cribl_control_plane/models/updatepacksop.py +25 -0
- cribl_control_plane/models/updatepipelinebyidop.py +6 -6
- cribl_control_plane/models/updateroutesbyidop.py +2 -2
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/workertypes.py +2 -1
- cribl_control_plane/nodes.py +5 -3
- cribl_control_plane/packs.py +202 -7
- cribl_control_plane/pipelines.py +18 -18
- cribl_control_plane/routes_sdk.py +22 -22
- cribl_control_plane/sdk.py +19 -6
- cribl_control_plane/sources.py +5 -3
- cribl_control_plane/tokens.py +23 -15
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +11 -6
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/METADATA +69 -23
- cribl_control_plane-0.4.0a6.dist-info/RECORD +336 -0
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0a6.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/appmode.py +0 -13
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane-0.0.38.dist-info/RECORD +0 -315
|
@@ -1,9 +1,13 @@
|
|
|
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 models, 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 import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -23,20 +27,32 @@ class InputSplunkSearchConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputSplunkSearchMode(str, Enum):
|
|
30
|
+
class InputSplunkSearchMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
31
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
28
32
|
|
|
33
|
+
# Smart
|
|
29
34
|
SMART = "smart"
|
|
35
|
+
# Always On
|
|
30
36
|
ALWAYS = "always"
|
|
31
37
|
|
|
32
38
|
|
|
33
|
-
class InputSplunkSearchCompression(str, Enum):
|
|
39
|
+
class InputSplunkSearchCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
40
|
r"""Codec to use to compress the persisted data"""
|
|
35
41
|
|
|
42
|
+
# None
|
|
36
43
|
NONE = "none"
|
|
44
|
+
# Gzip
|
|
37
45
|
GZIP = "gzip"
|
|
38
46
|
|
|
39
47
|
|
|
48
|
+
class InputSplunkSearchPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputSplunkSearchPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputSplunkSearchPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputSplunkSearchMode]
|
|
42
58
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
@@ -52,10 +68,13 @@ class InputSplunkSearchPqTypedDict(TypedDict):
|
|
|
52
68
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
53
69
|
compress: NotRequired[InputSplunkSearchCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputSplunkSearchPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputSplunkSearchPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputSplunkSearchMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputSplunkSearchMode.ALWAYS
|
|
59
78
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
60
79
|
|
|
61
80
|
max_buffer_size: Annotated[
|
|
@@ -79,11 +98,36 @@ class InputSplunkSearchPq(BaseModel):
|
|
|
79
98
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
80
99
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
81
100
|
|
|
82
|
-
compress:
|
|
101
|
+
compress: Annotated[
|
|
102
|
+
Optional[InputSplunkSearchCompression],
|
|
103
|
+
PlainValidator(validate_open_enum(False)),
|
|
104
|
+
] = InputSplunkSearchCompression.NONE
|
|
83
105
|
r"""Codec to use to compress the persisted data"""
|
|
84
106
|
|
|
107
|
+
pq_controls: Annotated[
|
|
108
|
+
Optional[InputSplunkSearchPqControls], pydantic.Field(alias="pqControls")
|
|
109
|
+
] = None
|
|
85
110
|
|
|
86
|
-
|
|
111
|
+
@field_serializer("mode")
|
|
112
|
+
def serialize_mode(self, value):
|
|
113
|
+
if isinstance(value, str):
|
|
114
|
+
try:
|
|
115
|
+
return models.InputSplunkSearchMode(value)
|
|
116
|
+
except ValueError:
|
|
117
|
+
return value
|
|
118
|
+
return value
|
|
119
|
+
|
|
120
|
+
@field_serializer("compress")
|
|
121
|
+
def serialize_compress(self, value):
|
|
122
|
+
if isinstance(value, str):
|
|
123
|
+
try:
|
|
124
|
+
return models.InputSplunkSearchCompression(value)
|
|
125
|
+
except ValueError:
|
|
126
|
+
return value
|
|
127
|
+
return value
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class OutputMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
131
|
r"""Format of the returned output"""
|
|
88
132
|
|
|
89
133
|
CSV = "csv"
|
|
@@ -116,7 +160,7 @@ class EndpointHeader(BaseModel):
|
|
|
116
160
|
r"""JavaScript expression to compute the header's value, normally enclosed in backticks (e.g., `${earliest}`). If a constant, use single quotes (e.g., 'earliest'). Values without delimiters (e.g., earliest) are evaluated as strings."""
|
|
117
161
|
|
|
118
162
|
|
|
119
|
-
class InputSplunkSearchLogLevel(str, Enum):
|
|
163
|
+
class InputSplunkSearchLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
120
164
|
r"""Collector runtime log level (verbosity)"""
|
|
121
165
|
|
|
122
166
|
ERROR = "error"
|
|
@@ -138,11 +182,14 @@ class InputSplunkSearchMetadatum(BaseModel):
|
|
|
138
182
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
139
183
|
|
|
140
184
|
|
|
141
|
-
class InputSplunkSearchRetryType(str, Enum):
|
|
185
|
+
class InputSplunkSearchRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
142
186
|
r"""The algorithm to use when performing HTTP retries"""
|
|
143
187
|
|
|
188
|
+
# Disabled
|
|
144
189
|
NONE = "none"
|
|
190
|
+
# Backoff
|
|
145
191
|
BACKOFF = "backoff"
|
|
192
|
+
# Static
|
|
146
193
|
STATIC = "static"
|
|
147
194
|
|
|
148
195
|
|
|
@@ -166,7 +213,9 @@ class InputSplunkSearchRetryRulesTypedDict(TypedDict):
|
|
|
166
213
|
|
|
167
214
|
|
|
168
215
|
class InputSplunkSearchRetryRules(BaseModel):
|
|
169
|
-
type:
|
|
216
|
+
type: Annotated[
|
|
217
|
+
Optional[InputSplunkSearchRetryType], PlainValidator(validate_open_enum(False))
|
|
218
|
+
] = InputSplunkSearchRetryType.BACKOFF
|
|
170
219
|
r"""The algorithm to use when performing HTTP retries"""
|
|
171
220
|
|
|
172
221
|
interval: Optional[float] = 1000
|
|
@@ -196,8 +245,17 @@ class InputSplunkSearchRetryRules(BaseModel):
|
|
|
196
245
|
] = False
|
|
197
246
|
r"""Retry request when a connection reset (ECONNRESET) error occurs"""
|
|
198
247
|
|
|
248
|
+
@field_serializer("type")
|
|
249
|
+
def serialize_type(self, value):
|
|
250
|
+
if isinstance(value, str):
|
|
251
|
+
try:
|
|
252
|
+
return models.InputSplunkSearchRetryType(value)
|
|
253
|
+
except ValueError:
|
|
254
|
+
return value
|
|
255
|
+
return value
|
|
256
|
+
|
|
199
257
|
|
|
200
|
-
class InputSplunkSearchAuthenticationType(str, Enum):
|
|
258
|
+
class InputSplunkSearchAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
201
259
|
r"""Splunk Search authentication type"""
|
|
202
260
|
|
|
203
261
|
NONE = "none"
|
|
@@ -382,9 +440,10 @@ class InputSplunkSearch(BaseModel):
|
|
|
382
440
|
endpoint: Optional[str] = "/services/search/v2/jobs/export"
|
|
383
441
|
r"""REST API used to create a search"""
|
|
384
442
|
|
|
385
|
-
output_mode: Annotated[
|
|
386
|
-
OutputMode
|
|
387
|
-
|
|
443
|
+
output_mode: Annotated[
|
|
444
|
+
Annotated[Optional[OutputMode], PlainValidator(validate_open_enum(False))],
|
|
445
|
+
pydantic.Field(alias="outputMode"),
|
|
446
|
+
] = OutputMode.JSON
|
|
388
447
|
r"""Format of the returned output"""
|
|
389
448
|
|
|
390
449
|
endpoint_params: Annotated[
|
|
@@ -398,7 +457,11 @@ class InputSplunkSearch(BaseModel):
|
|
|
398
457
|
r"""Optional request headers to send to the endpoint"""
|
|
399
458
|
|
|
400
459
|
log_level: Annotated[
|
|
401
|
-
|
|
460
|
+
Annotated[
|
|
461
|
+
Optional[InputSplunkSearchLogLevel],
|
|
462
|
+
PlainValidator(validate_open_enum(False)),
|
|
463
|
+
],
|
|
464
|
+
pydantic.Field(alias="logLevel"),
|
|
402
465
|
] = None
|
|
403
466
|
r"""Collector runtime log level (verbosity)"""
|
|
404
467
|
|
|
@@ -459,7 +522,11 @@ class InputSplunkSearch(BaseModel):
|
|
|
459
522
|
r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines"""
|
|
460
523
|
|
|
461
524
|
auth_type: Annotated[
|
|
462
|
-
|
|
525
|
+
Annotated[
|
|
526
|
+
Optional[InputSplunkSearchAuthenticationType],
|
|
527
|
+
PlainValidator(validate_open_enum(False)),
|
|
528
|
+
],
|
|
529
|
+
pydantic.Field(alias="authType"),
|
|
463
530
|
] = InputSplunkSearchAuthenticationType.BASIC
|
|
464
531
|
r"""Splunk Search authentication type"""
|
|
465
532
|
|
|
@@ -516,3 +583,30 @@ class InputSplunkSearch(BaseModel):
|
|
|
516
583
|
pydantic.Field(alias="oauthHeaders"),
|
|
517
584
|
] = None
|
|
518
585
|
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
586
|
+
|
|
587
|
+
@field_serializer("output_mode")
|
|
588
|
+
def serialize_output_mode(self, value):
|
|
589
|
+
if isinstance(value, str):
|
|
590
|
+
try:
|
|
591
|
+
return models.OutputMode(value)
|
|
592
|
+
except ValueError:
|
|
593
|
+
return value
|
|
594
|
+
return value
|
|
595
|
+
|
|
596
|
+
@field_serializer("log_level")
|
|
597
|
+
def serialize_log_level(self, value):
|
|
598
|
+
if isinstance(value, str):
|
|
599
|
+
try:
|
|
600
|
+
return models.InputSplunkSearchLogLevel(value)
|
|
601
|
+
except ValueError:
|
|
602
|
+
return value
|
|
603
|
+
return value
|
|
604
|
+
|
|
605
|
+
@field_serializer("auth_type")
|
|
606
|
+
def serialize_auth_type(self, value):
|
|
607
|
+
if isinstance(value, str):
|
|
608
|
+
try:
|
|
609
|
+
return models.InputSplunkSearchAuthenticationType(value)
|
|
610
|
+
except ValueError:
|
|
611
|
+
return value
|
|
612
|
+
return value
|
|
@@ -1,9 +1,13 @@
|
|
|
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 models, 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 import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -23,20 +27,32 @@ class InputSqsConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputSqsMode(str, Enum):
|
|
30
|
+
class InputSqsMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
31
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
28
32
|
|
|
33
|
+
# Smart
|
|
29
34
|
SMART = "smart"
|
|
35
|
+
# Always On
|
|
30
36
|
ALWAYS = "always"
|
|
31
37
|
|
|
32
38
|
|
|
33
|
-
class InputSqsCompression(str, Enum):
|
|
39
|
+
class InputSqsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
40
|
r"""Codec to use to compress the persisted data"""
|
|
35
41
|
|
|
42
|
+
# None
|
|
36
43
|
NONE = "none"
|
|
44
|
+
# Gzip
|
|
37
45
|
GZIP = "gzip"
|
|
38
46
|
|
|
39
47
|
|
|
48
|
+
class InputSqsPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputSqsPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputSqsPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputSqsMode]
|
|
42
58
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
@@ -52,10 +68,13 @@ class InputSqsPqTypedDict(TypedDict):
|
|
|
52
68
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
53
69
|
compress: NotRequired[InputSqsCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputSqsPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputSqsPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputSqsMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputSqsMode.ALWAYS
|
|
59
78
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
60
79
|
|
|
61
80
|
max_buffer_size: Annotated[
|
|
@@ -79,26 +98,55 @@ class InputSqsPq(BaseModel):
|
|
|
79
98
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
80
99
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
81
100
|
|
|
82
|
-
compress:
|
|
101
|
+
compress: Annotated[
|
|
102
|
+
Optional[InputSqsCompression], PlainValidator(validate_open_enum(False))
|
|
103
|
+
] = InputSqsCompression.NONE
|
|
83
104
|
r"""Codec to use to compress the persisted data"""
|
|
84
105
|
|
|
106
|
+
pq_controls: Annotated[
|
|
107
|
+
Optional[InputSqsPqControls], pydantic.Field(alias="pqControls")
|
|
108
|
+
] = None
|
|
85
109
|
|
|
86
|
-
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputSqsMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputSqsCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class InputSqsQueueType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
130
|
r"""The queue type used (or created)"""
|
|
88
131
|
|
|
132
|
+
# Standard
|
|
89
133
|
STANDARD = "standard"
|
|
134
|
+
# FIFO
|
|
90
135
|
FIFO = "fifo"
|
|
91
136
|
|
|
92
137
|
|
|
93
|
-
class InputSqsAuthenticationMethod(str, Enum):
|
|
138
|
+
class InputSqsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
139
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
95
140
|
|
|
141
|
+
# Auto
|
|
96
142
|
AUTO = "auto"
|
|
143
|
+
# Manual
|
|
97
144
|
MANUAL = "manual"
|
|
145
|
+
# Secret Key pair
|
|
98
146
|
SECRET = "secret"
|
|
99
147
|
|
|
100
148
|
|
|
101
|
-
class InputSqsSignatureVersion(str, Enum):
|
|
149
|
+
class InputSqsSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
102
150
|
r"""Signature version to use for signing SQS requests"""
|
|
103
151
|
|
|
104
152
|
V2 = "v2"
|
|
@@ -122,6 +170,8 @@ class InputSqsTypedDict(TypedDict):
|
|
|
122
170
|
type: InputSqsType
|
|
123
171
|
queue_name: str
|
|
124
172
|
r"""The name, URL, or ARN of the SQS queue to read events from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can only be evaluated at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`."""
|
|
173
|
+
queue_type: InputSqsQueueType
|
|
174
|
+
r"""The queue type used (or created)"""
|
|
125
175
|
id: NotRequired[str]
|
|
126
176
|
r"""Unique ID for this input"""
|
|
127
177
|
disabled: NotRequired[bool]
|
|
@@ -138,8 +188,6 @@ class InputSqsTypedDict(TypedDict):
|
|
|
138
188
|
connections: NotRequired[List[InputSqsConnectionTypedDict]]
|
|
139
189
|
r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack"""
|
|
140
190
|
pq: NotRequired[InputSqsPqTypedDict]
|
|
141
|
-
queue_type: NotRequired[InputSqsQueueType]
|
|
142
|
-
r"""The queue type used (or created)"""
|
|
143
191
|
aws_account_id: NotRequired[str]
|
|
144
192
|
r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account."""
|
|
145
193
|
create_queue: NotRequired[bool]
|
|
@@ -187,6 +235,12 @@ class InputSqs(BaseModel):
|
|
|
187
235
|
queue_name: Annotated[str, pydantic.Field(alias="queueName")]
|
|
188
236
|
r"""The name, URL, or ARN of the SQS queue to read events from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can only be evaluated at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`."""
|
|
189
237
|
|
|
238
|
+
queue_type: Annotated[
|
|
239
|
+
Annotated[InputSqsQueueType, PlainValidator(validate_open_enum(False))],
|
|
240
|
+
pydantic.Field(alias="queueType"),
|
|
241
|
+
]
|
|
242
|
+
r"""The queue type used (or created)"""
|
|
243
|
+
|
|
190
244
|
id: Optional[str] = None
|
|
191
245
|
r"""Unique ID for this input"""
|
|
192
246
|
|
|
@@ -214,11 +268,6 @@ class InputSqs(BaseModel):
|
|
|
214
268
|
|
|
215
269
|
pq: Optional[InputSqsPq] = None
|
|
216
270
|
|
|
217
|
-
queue_type: Annotated[
|
|
218
|
-
Optional[InputSqsQueueType], pydantic.Field(alias="queueType")
|
|
219
|
-
] = InputSqsQueueType.STANDARD
|
|
220
|
-
r"""The queue type used (or created)"""
|
|
221
|
-
|
|
222
271
|
aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = (
|
|
223
272
|
None
|
|
224
273
|
)
|
|
@@ -228,7 +277,10 @@ class InputSqs(BaseModel):
|
|
|
228
277
|
r"""Create queue if it does not exist"""
|
|
229
278
|
|
|
230
279
|
aws_authentication_method: Annotated[
|
|
231
|
-
|
|
280
|
+
Annotated[
|
|
281
|
+
Optional[InputSqsAuthenticationMethod],
|
|
282
|
+
PlainValidator(validate_open_enum(False)),
|
|
283
|
+
],
|
|
232
284
|
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
233
285
|
] = InputSqsAuthenticationMethod.AUTO
|
|
234
286
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
@@ -244,7 +296,11 @@ class InputSqs(BaseModel):
|
|
|
244
296
|
r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint."""
|
|
245
297
|
|
|
246
298
|
signature_version: Annotated[
|
|
247
|
-
|
|
299
|
+
Annotated[
|
|
300
|
+
Optional[InputSqsSignatureVersion],
|
|
301
|
+
PlainValidator(validate_open_enum(False)),
|
|
302
|
+
],
|
|
303
|
+
pydantic.Field(alias="signatureVersion"),
|
|
248
304
|
] = InputSqsSignatureVersion.V4
|
|
249
305
|
r"""Signature version to use for signing SQS requests"""
|
|
250
306
|
|
|
@@ -301,3 +357,30 @@ class InputSqs(BaseModel):
|
|
|
301
357
|
|
|
302
358
|
num_receivers: Annotated[Optional[float], pydantic.Field(alias="numReceivers")] = 3
|
|
303
359
|
r"""How many receiver processes to run. The higher the number, the better the throughput - at the expense of CPU overhead."""
|
|
360
|
+
|
|
361
|
+
@field_serializer("queue_type")
|
|
362
|
+
def serialize_queue_type(self, value):
|
|
363
|
+
if isinstance(value, str):
|
|
364
|
+
try:
|
|
365
|
+
return models.InputSqsQueueType(value)
|
|
366
|
+
except ValueError:
|
|
367
|
+
return value
|
|
368
|
+
return value
|
|
369
|
+
|
|
370
|
+
@field_serializer("aws_authentication_method")
|
|
371
|
+
def serialize_aws_authentication_method(self, value):
|
|
372
|
+
if isinstance(value, str):
|
|
373
|
+
try:
|
|
374
|
+
return models.InputSqsAuthenticationMethod(value)
|
|
375
|
+
except ValueError:
|
|
376
|
+
return value
|
|
377
|
+
return value
|
|
378
|
+
|
|
379
|
+
@field_serializer("signature_version")
|
|
380
|
+
def serialize_signature_version(self, value):
|
|
381
|
+
if isinstance(value, str):
|
|
382
|
+
try:
|
|
383
|
+
return models.InputSqsSignatureVersion(value)
|
|
384
|
+
except ValueError:
|
|
385
|
+
return value
|
|
386
|
+
return value
|