cribl-control-plane 0.2.1rc7__py3-none-any.whl → 0.3.0a1__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 -4
- cribl_control_plane/errors/__init__.py +5 -8
- cribl_control_plane/errors/{healthserverstatus_error.py → healthstatus_error.py} +9 -10
- cribl_control_plane/groups_sdk.py +28 -52
- cribl_control_plane/health.py +16 -22
- cribl_control_plane/models/__init__.py +54 -217
- cribl_control_plane/models/appmode.py +14 -0
- cribl_control_plane/models/authtoken.py +1 -5
- cribl_control_plane/models/cacheconnection.py +0 -20
- cribl_control_plane/models/configgroup.py +7 -55
- cribl_control_plane/models/configgroupcloud.py +1 -11
- cribl_control_plane/models/createconfiggroupbyproductop.py +5 -17
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +1 -11
- cribl_control_plane/models/cribllakedatasetupdate.py +1 -11
- cribl_control_plane/models/datasetmetadata.py +1 -11
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/distributedsummary.py +0 -6
- cribl_control_plane/models/error.py +16 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +0 -11
- cribl_control_plane/models/gethealthinfoop.py +17 -0
- cribl_control_plane/models/getsummaryop.py +0 -11
- cribl_control_plane/models/hbcriblinfo.py +3 -24
- cribl_control_plane/models/{healthserverstatus.py → healthstatus.py} +8 -27
- cribl_control_plane/models/heartbeatmetadata.py +0 -3
- cribl_control_plane/models/input.py +78 -80
- cribl_control_plane/models/inputappscope.py +17 -80
- cribl_control_plane/models/inputazureblob.py +1 -33
- cribl_control_plane/models/inputcollection.py +1 -24
- cribl_control_plane/models/inputconfluentcloud.py +18 -195
- cribl_control_plane/models/inputcribl.py +1 -24
- cribl_control_plane/models/inputcriblhttp.py +17 -62
- cribl_control_plane/models/inputcribllakehttp.py +17 -62
- cribl_control_plane/models/inputcriblmetrics.py +1 -24
- cribl_control_plane/models/inputcribltcp.py +17 -62
- cribl_control_plane/models/inputcrowdstrike.py +1 -54
- cribl_control_plane/models/inputdatadogagent.py +17 -62
- cribl_control_plane/models/inputdatagen.py +1 -24
- cribl_control_plane/models/inputedgeprometheus.py +34 -147
- cribl_control_plane/models/inputelastic.py +27 -119
- cribl_control_plane/models/inputeventhub.py +1 -182
- cribl_control_plane/models/inputexec.py +1 -33
- cribl_control_plane/models/inputfile.py +3 -42
- cribl_control_plane/models/inputfirehose.py +17 -62
- cribl_control_plane/models/inputgooglepubsub.py +1 -36
- cribl_control_plane/models/inputgrafana.py +32 -157
- cribl_control_plane/models/inputhttp.py +17 -62
- cribl_control_plane/models/inputhttpraw.py +17 -62
- cribl_control_plane/models/inputjournalfiles.py +1 -24
- cribl_control_plane/models/inputkafka.py +17 -189
- cribl_control_plane/models/inputkinesis.py +1 -80
- cribl_control_plane/models/inputkubeevents.py +1 -24
- cribl_control_plane/models/inputkubelogs.py +1 -33
- cribl_control_plane/models/inputkubemetrics.py +1 -33
- cribl_control_plane/models/inputloki.py +17 -71
- cribl_control_plane/models/inputmetrics.py +17 -62
- cribl_control_plane/models/inputmodeldriventelemetry.py +17 -62
- cribl_control_plane/models/inputmsk.py +18 -81
- cribl_control_plane/models/inputnetflow.py +1 -24
- cribl_control_plane/models/inputoffice365mgmt.py +1 -67
- cribl_control_plane/models/inputoffice365msgtrace.py +1 -67
- cribl_control_plane/models/inputoffice365service.py +1 -67
- cribl_control_plane/models/inputopentelemetry.py +16 -92
- cribl_control_plane/models/inputprometheus.py +34 -138
- cribl_control_plane/models/inputprometheusrw.py +17 -71
- cribl_control_plane/models/inputrawudp.py +1 -24
- cribl_control_plane/models/inputs3.py +1 -45
- cribl_control_plane/models/inputs3inventory.py +1 -54
- cribl_control_plane/models/inputsecuritylake.py +1 -54
- cribl_control_plane/models/inputsnmp.py +1 -40
- cribl_control_plane/models/inputsplunk.py +17 -85
- cribl_control_plane/models/inputsplunkhec.py +16 -70
- cribl_control_plane/models/inputsplunksearch.py +1 -63
- cribl_control_plane/models/inputsqs.py +1 -56
- cribl_control_plane/models/inputsyslog.py +32 -121
- cribl_control_plane/models/inputsystemmetrics.py +9 -142
- cribl_control_plane/models/inputsystemstate.py +1 -33
- cribl_control_plane/models/inputtcp.py +17 -81
- cribl_control_plane/models/inputtcpjson.py +17 -71
- cribl_control_plane/models/inputwef.py +1 -71
- cribl_control_plane/models/inputwindowsmetrics.py +9 -129
- cribl_control_plane/models/inputwineventlogs.py +1 -60
- cribl_control_plane/models/inputwiz.py +1 -45
- cribl_control_plane/models/inputwizwebhook.py +17 -62
- cribl_control_plane/models/inputzscalerhec.py +16 -70
- cribl_control_plane/models/jobinfo.py +1 -4
- cribl_control_plane/models/jobstatus.py +3 -34
- cribl_control_plane/models/listconfiggroupbyproductop.py +0 -11
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +1 -11
- cribl_control_plane/models/nodeprovidedinfo.py +1 -11
- cribl_control_plane/models/nodeupgradestatus.py +0 -38
- cribl_control_plane/models/output.py +88 -93
- cribl_control_plane/models/outputazureblob.py +1 -110
- cribl_control_plane/models/outputazuredataexplorer.py +87 -452
- cribl_control_plane/models/outputazureeventhub.py +19 -281
- cribl_control_plane/models/outputazurelogs.py +19 -115
- cribl_control_plane/models/outputchronicle.py +19 -115
- cribl_control_plane/models/outputclickhouse.py +19 -155
- cribl_control_plane/models/outputcloudwatch.py +19 -106
- cribl_control_plane/models/outputconfluentcloud.py +38 -311
- cribl_control_plane/models/outputcriblhttp.py +19 -135
- cribl_control_plane/models/outputcribllake.py +1 -97
- cribl_control_plane/models/outputcribltcp.py +19 -132
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +20 -129
- cribl_control_plane/models/outputdatadog.py +19 -159
- cribl_control_plane/models/outputdataset.py +19 -143
- cribl_control_plane/models/outputdiskspool.py +1 -11
- cribl_control_plane/models/outputdls3.py +1 -152
- cribl_control_plane/models/outputdynatracehttp.py +19 -160
- cribl_control_plane/models/outputdynatraceotlp.py +19 -160
- cribl_control_plane/models/outputelastic.py +19 -163
- cribl_control_plane/models/outputelasticcloud.py +19 -140
- cribl_control_plane/models/outputexabeam.py +1 -61
- cribl_control_plane/models/outputfilesystem.py +1 -87
- cribl_control_plane/models/outputgooglechronicle.py +20 -166
- cribl_control_plane/models/outputgooglecloudlogging.py +20 -131
- cribl_control_plane/models/outputgooglecloudstorage.py +1 -136
- cribl_control_plane/models/outputgooglepubsub.py +19 -106
- cribl_control_plane/models/outputgrafanacloud.py +37 -288
- cribl_control_plane/models/outputgraphite.py +19 -105
- cribl_control_plane/models/outputhoneycomb.py +19 -115
- cribl_control_plane/models/outputhumiohec.py +19 -126
- cribl_control_plane/models/outputinfluxdb.py +19 -130
- cribl_control_plane/models/outputkafka.py +34 -302
- cribl_control_plane/models/outputkinesis.py +19 -133
- cribl_control_plane/models/outputloki.py +17 -129
- cribl_control_plane/models/outputminio.py +1 -145
- cribl_control_plane/models/outputmsk.py +34 -193
- cribl_control_plane/models/outputnewrelic.py +19 -136
- cribl_control_plane/models/outputnewrelicevents.py +20 -128
- cribl_control_plane/models/outputopentelemetry.py +19 -178
- cribl_control_plane/models/outputprometheus.py +19 -115
- cribl_control_plane/models/outputring.py +1 -31
- cribl_control_plane/models/outputs3.py +1 -152
- cribl_control_plane/models/outputsecuritylake.py +1 -114
- cribl_control_plane/models/outputsentinel.py +19 -135
- cribl_control_plane/models/outputsentineloneaisiem.py +20 -134
- cribl_control_plane/models/outputservicenow.py +19 -168
- cribl_control_plane/models/outputsignalfx.py +19 -115
- cribl_control_plane/models/outputsns.py +17 -113
- cribl_control_plane/models/outputsplunk.py +19 -153
- cribl_control_plane/models/outputsplunkhec.py +19 -208
- cribl_control_plane/models/outputsplunklb.py +19 -182
- cribl_control_plane/models/outputsqs.py +17 -124
- cribl_control_plane/models/outputstatsd.py +19 -105
- cribl_control_plane/models/outputstatsdext.py +19 -105
- cribl_control_plane/models/outputsumologic.py +19 -117
- cribl_control_plane/models/outputsyslog.py +96 -259
- cribl_control_plane/models/outputtcpjson.py +19 -141
- cribl_control_plane/models/outputwavefront.py +19 -115
- cribl_control_plane/models/outputwebhook.py +19 -161
- cribl_control_plane/models/outputxsiam.py +17 -113
- cribl_control_plane/models/packinfo.py +5 -8
- cribl_control_plane/models/packinstallinfo.py +5 -8
- cribl_control_plane/models/resourcepolicy.py +0 -11
- cribl_control_plane/models/{uploadpackresponse.py → routecloneconf.py} +4 -4
- cribl_control_plane/models/routeconf.py +4 -3
- cribl_control_plane/models/runnablejobcollection.py +9 -72
- cribl_control_plane/models/runnablejobexecutor.py +9 -32
- cribl_control_plane/models/runnablejobscheduledsearch.py +9 -23
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +0 -11
- cribl_control_plane/packs.py +7 -202
- cribl_control_plane/routes_sdk.py +6 -6
- cribl_control_plane/tokens.py +15 -23
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/METADATA +9 -50
- cribl_control_plane-0.3.0a1.dist-info/RECORD +330 -0
- cribl_control_plane/models/groupcreaterequest.py +0 -171
- cribl_control_plane/models/outpostnodeinfo.py +0 -16
- cribl_control_plane/models/outputdatabricks.py +0 -482
- cribl_control_plane/models/updatepacksop.py +0 -25
- cribl_control_plane-0.2.1rc7.dist-info/RECORD +0 -331
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/WHEEL +0 -0
|
@@ -1,12 +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
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
-
from pydantic import field_serializer
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
10
|
from typing import List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -30,18 +29,14 @@ class InputEdgePrometheusConnection(BaseModel):
|
|
|
30
29
|
class InputEdgePrometheusMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
30
|
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."""
|
|
32
31
|
|
|
33
|
-
# Smart
|
|
34
32
|
SMART = "smart"
|
|
35
|
-
# Always On
|
|
36
33
|
ALWAYS = "always"
|
|
37
34
|
|
|
38
35
|
|
|
39
36
|
class InputEdgePrometheusPqCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
37
|
r"""Codec to use to compress the persisted data"""
|
|
41
38
|
|
|
42
|
-
# None
|
|
43
39
|
NONE = "none"
|
|
44
|
-
# Gzip
|
|
45
40
|
GZIP = "gzip"
|
|
46
41
|
|
|
47
42
|
|
|
@@ -108,37 +103,14 @@ class InputEdgePrometheusPq(BaseModel):
|
|
|
108
103
|
Optional[InputEdgePrometheusPqControls], pydantic.Field(alias="pqControls")
|
|
109
104
|
] = None
|
|
110
105
|
|
|
111
|
-
@field_serializer("mode")
|
|
112
|
-
def serialize_mode(self, value):
|
|
113
|
-
if isinstance(value, str):
|
|
114
|
-
try:
|
|
115
|
-
return models.InputEdgePrometheusMode(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.InputEdgePrometheusPqCompression(value)
|
|
125
|
-
except ValueError:
|
|
126
|
-
return value
|
|
127
|
-
return value
|
|
128
|
-
|
|
129
106
|
|
|
130
107
|
class InputEdgePrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
131
108
|
r"""Target discovery mechanism. Use static to manually enter a list of targets."""
|
|
132
109
|
|
|
133
|
-
# Static
|
|
134
110
|
STATIC = "static"
|
|
135
|
-
# DNS
|
|
136
111
|
DNS = "dns"
|
|
137
|
-
# AWS EC2
|
|
138
112
|
EC2 = "ec2"
|
|
139
|
-
# Kubernetes Node
|
|
140
113
|
K8S_NODE = "k8s-node"
|
|
141
|
-
# Kubernetes Pods
|
|
142
114
|
K8S_PODS = "k8s-pods"
|
|
143
115
|
|
|
144
116
|
|
|
@@ -183,15 +155,6 @@ class InputEdgePrometheusDiskSpooling(BaseModel):
|
|
|
183
155
|
] = InputEdgePrometheusPersistenceCompression.GZIP
|
|
184
156
|
r"""Data compression format. Default is gzip."""
|
|
185
157
|
|
|
186
|
-
@field_serializer("compress")
|
|
187
|
-
def serialize_compress(self, value):
|
|
188
|
-
if isinstance(value, str):
|
|
189
|
-
try:
|
|
190
|
-
return models.InputEdgePrometheusPersistenceCompression(value)
|
|
191
|
-
except ValueError:
|
|
192
|
-
return value
|
|
193
|
-
return value
|
|
194
|
-
|
|
195
158
|
|
|
196
159
|
class InputEdgePrometheusMetadatumTypedDict(TypedDict):
|
|
197
160
|
name: str
|
|
@@ -249,15 +212,6 @@ class Target(BaseModel):
|
|
|
249
212
|
path: Optional[str] = "/metrics"
|
|
250
213
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
251
214
|
|
|
252
|
-
@field_serializer("protocol")
|
|
253
|
-
def serialize_protocol(self, value):
|
|
254
|
-
if isinstance(value, str):
|
|
255
|
-
try:
|
|
256
|
-
return models.TargetProtocol(value)
|
|
257
|
-
except ValueError:
|
|
258
|
-
return value
|
|
259
|
-
return value
|
|
260
|
-
|
|
261
215
|
|
|
262
216
|
class InputEdgePrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
263
217
|
r"""DNS Record type to resolve"""
|
|
@@ -274,19 +228,6 @@ class ScrapeProtocolProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
274
228
|
HTTPS = "https"
|
|
275
229
|
|
|
276
230
|
|
|
277
|
-
class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
278
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
279
|
-
):
|
|
280
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
281
|
-
|
|
282
|
-
# Auto
|
|
283
|
-
AUTO = "auto"
|
|
284
|
-
# Manual
|
|
285
|
-
MANUAL = "manual"
|
|
286
|
-
# Secret Key pair
|
|
287
|
-
SECRET = "secret"
|
|
288
|
-
|
|
289
|
-
|
|
290
231
|
class InputEdgePrometheusSearchFilterTypedDict(TypedDict):
|
|
291
232
|
name: str
|
|
292
233
|
r"""Search filter attribute name, see: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html for more information. Attributes can be manually entered if not present in the drop down list"""
|
|
@@ -302,6 +243,16 @@ class InputEdgePrometheusSearchFilter(BaseModel):
|
|
|
302
243
|
r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
|
|
303
244
|
|
|
304
245
|
|
|
246
|
+
class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
247
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
248
|
+
):
|
|
249
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
250
|
+
|
|
251
|
+
AUTO = "auto"
|
|
252
|
+
MANUAL = "manual"
|
|
253
|
+
SECRET = "secret"
|
|
254
|
+
|
|
255
|
+
|
|
305
256
|
class InputEdgePrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
306
257
|
r"""Signature version to use for signing EC2 requests"""
|
|
307
258
|
|
|
@@ -357,27 +308,24 @@ class InputEdgePrometheusTypedDict(TypedDict):
|
|
|
357
308
|
r"""Enter credentials directly, or select a stored secret"""
|
|
358
309
|
description: NotRequired[str]
|
|
359
310
|
targets: NotRequired[List[TargetTypedDict]]
|
|
360
|
-
record_type: NotRequired[InputEdgePrometheusRecordType]
|
|
361
|
-
r"""DNS Record type to resolve"""
|
|
362
|
-
scrape_port: NotRequired[float]
|
|
363
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
364
311
|
name_list: NotRequired[List[str]]
|
|
365
312
|
r"""List of DNS names to resolve"""
|
|
313
|
+
record_type: NotRequired[InputEdgePrometheusRecordType]
|
|
314
|
+
r"""DNS Record type to resolve"""
|
|
366
315
|
scrape_protocol: NotRequired[ScrapeProtocolProtocol]
|
|
367
316
|
r"""Protocol to use when collecting metrics"""
|
|
368
317
|
scrape_path: NotRequired[str]
|
|
369
318
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
370
|
-
aws_authentication_method: NotRequired[
|
|
371
|
-
InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
372
|
-
]
|
|
373
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
374
|
-
aws_api_key: NotRequired[str]
|
|
375
|
-
aws_secret: NotRequired[str]
|
|
376
|
-
r"""Select or create a stored secret that references your access key and secret key"""
|
|
377
319
|
use_public_ip: NotRequired[bool]
|
|
378
320
|
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
321
|
+
scrape_port: NotRequired[float]
|
|
322
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
379
323
|
search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
|
|
380
324
|
r"""EC2 Instance Search Filter"""
|
|
325
|
+
aws_authentication_method: NotRequired[
|
|
326
|
+
InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
327
|
+
]
|
|
328
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
381
329
|
aws_secret_key: NotRequired[str]
|
|
382
330
|
region: NotRequired[str]
|
|
383
331
|
r"""Region where the EC2 is located"""
|
|
@@ -485,6 +433,9 @@ class InputEdgePrometheus(BaseModel):
|
|
|
485
433
|
|
|
486
434
|
targets: Optional[List[Target]] = None
|
|
487
435
|
|
|
436
|
+
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
437
|
+
r"""List of DNS names to resolve"""
|
|
438
|
+
|
|
488
439
|
record_type: Annotated[
|
|
489
440
|
Annotated[
|
|
490
441
|
Optional[InputEdgePrometheusRecordType],
|
|
@@ -494,12 +445,6 @@ class InputEdgePrometheus(BaseModel):
|
|
|
494
445
|
] = InputEdgePrometheusRecordType.SRV
|
|
495
446
|
r"""DNS Record type to resolve"""
|
|
496
447
|
|
|
497
|
-
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
498
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
499
|
-
|
|
500
|
-
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
501
|
-
r"""List of DNS names to resolve"""
|
|
502
|
-
|
|
503
448
|
scrape_protocol: Annotated[
|
|
504
449
|
Annotated[
|
|
505
450
|
Optional[ScrapeProtocolProtocol], PlainValidator(validate_open_enum(False))
|
|
@@ -513,29 +458,27 @@ class InputEdgePrometheus(BaseModel):
|
|
|
513
458
|
)
|
|
514
459
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
515
460
|
|
|
516
|
-
aws_authentication_method: Annotated[
|
|
517
|
-
Annotated[
|
|
518
|
-
Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
519
|
-
PlainValidator(validate_open_enum(False)),
|
|
520
|
-
],
|
|
521
|
-
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
522
|
-
] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
523
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
524
|
-
|
|
525
|
-
aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
|
|
526
|
-
|
|
527
|
-
aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
|
|
528
|
-
r"""Select or create a stored secret that references your access key and secret key"""
|
|
529
|
-
|
|
530
461
|
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
531
462
|
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
532
463
|
|
|
464
|
+
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
465
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
466
|
+
|
|
533
467
|
search_filter: Annotated[
|
|
534
468
|
Optional[List[InputEdgePrometheusSearchFilter]],
|
|
535
469
|
pydantic.Field(alias="searchFilter"),
|
|
536
470
|
] = None
|
|
537
471
|
r"""EC2 Instance Search Filter"""
|
|
538
472
|
|
|
473
|
+
aws_authentication_method: Annotated[
|
|
474
|
+
Annotated[
|
|
475
|
+
Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
476
|
+
PlainValidator(validate_open_enum(False)),
|
|
477
|
+
],
|
|
478
|
+
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
479
|
+
] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
480
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
481
|
+
|
|
539
482
|
aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
|
|
540
483
|
None
|
|
541
484
|
)
|
|
@@ -619,59 +562,3 @@ class InputEdgePrometheus(BaseModel):
|
|
|
619
562
|
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
620
563
|
] = None
|
|
621
564
|
r"""Select or create a secret that references your credentials"""
|
|
622
|
-
|
|
623
|
-
@field_serializer("discovery_type")
|
|
624
|
-
def serialize_discovery_type(self, value):
|
|
625
|
-
if isinstance(value, str):
|
|
626
|
-
try:
|
|
627
|
-
return models.InputEdgePrometheusDiscoveryType(value)
|
|
628
|
-
except ValueError:
|
|
629
|
-
return value
|
|
630
|
-
return value
|
|
631
|
-
|
|
632
|
-
@field_serializer("auth_type")
|
|
633
|
-
def serialize_auth_type(self, value):
|
|
634
|
-
if isinstance(value, str):
|
|
635
|
-
try:
|
|
636
|
-
return models.InputEdgePrometheusAuthTypeAuthenticationMethod(value)
|
|
637
|
-
except ValueError:
|
|
638
|
-
return value
|
|
639
|
-
return value
|
|
640
|
-
|
|
641
|
-
@field_serializer("record_type")
|
|
642
|
-
def serialize_record_type(self, value):
|
|
643
|
-
if isinstance(value, str):
|
|
644
|
-
try:
|
|
645
|
-
return models.InputEdgePrometheusRecordType(value)
|
|
646
|
-
except ValueError:
|
|
647
|
-
return value
|
|
648
|
-
return value
|
|
649
|
-
|
|
650
|
-
@field_serializer("scrape_protocol")
|
|
651
|
-
def serialize_scrape_protocol(self, value):
|
|
652
|
-
if isinstance(value, str):
|
|
653
|
-
try:
|
|
654
|
-
return models.ScrapeProtocolProtocol(value)
|
|
655
|
-
except ValueError:
|
|
656
|
-
return value
|
|
657
|
-
return value
|
|
658
|
-
|
|
659
|
-
@field_serializer("aws_authentication_method")
|
|
660
|
-
def serialize_aws_authentication_method(self, value):
|
|
661
|
-
if isinstance(value, str):
|
|
662
|
-
try:
|
|
663
|
-
return models.InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
664
|
-
value
|
|
665
|
-
)
|
|
666
|
-
except ValueError:
|
|
667
|
-
return value
|
|
668
|
-
return value
|
|
669
|
-
|
|
670
|
-
@field_serializer("signature_version")
|
|
671
|
-
def serialize_signature_version(self, value):
|
|
672
|
-
if isinstance(value, str):
|
|
673
|
-
try:
|
|
674
|
-
return models.InputEdgePrometheusSignatureVersion(value)
|
|
675
|
-
except ValueError:
|
|
676
|
-
return value
|
|
677
|
-
return value
|
|
@@ -1,14 +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
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
-
from pydantic import field_serializer
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
12
|
|
|
14
13
|
|
|
@@ -30,18 +29,14 @@ class InputElasticConnection(BaseModel):
|
|
|
30
29
|
class InputElasticMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
30
|
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."""
|
|
32
31
|
|
|
33
|
-
# Smart
|
|
34
32
|
SMART = "smart"
|
|
35
|
-
# Always On
|
|
36
33
|
ALWAYS = "always"
|
|
37
34
|
|
|
38
35
|
|
|
39
36
|
class InputElasticCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
37
|
r"""Codec to use to compress the persisted data"""
|
|
41
38
|
|
|
42
|
-
# None
|
|
43
39
|
NONE = "none"
|
|
44
|
-
# Gzip
|
|
45
40
|
GZIP = "gzip"
|
|
46
41
|
|
|
47
42
|
|
|
@@ -107,24 +102,6 @@ class InputElasticPq(BaseModel):
|
|
|
107
102
|
Optional[InputElasticPqControls], pydantic.Field(alias="pqControls")
|
|
108
103
|
] = None
|
|
109
104
|
|
|
110
|
-
@field_serializer("mode")
|
|
111
|
-
def serialize_mode(self, value):
|
|
112
|
-
if isinstance(value, str):
|
|
113
|
-
try:
|
|
114
|
-
return models.InputElasticMode(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.InputElasticCompression(value)
|
|
124
|
-
except ValueError:
|
|
125
|
-
return value
|
|
126
|
-
return value
|
|
127
|
-
|
|
128
105
|
|
|
129
106
|
class InputElasticMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
130
107
|
TL_SV1 = "TLSv1"
|
|
@@ -142,12 +119,6 @@ class InputElasticMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
142
119
|
|
|
143
120
|
class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
144
121
|
disabled: NotRequired[bool]
|
|
145
|
-
request_cert: NotRequired[bool]
|
|
146
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
147
|
-
reject_unauthorized: NotRequired[bool]
|
|
148
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
149
|
-
common_name_regex: NotRequired[str]
|
|
150
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
151
122
|
certificate_name: NotRequired[str]
|
|
152
123
|
r"""The name of the predefined certificate"""
|
|
153
124
|
priv_key_path: NotRequired[str]
|
|
@@ -158,6 +129,10 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
158
129
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
159
130
|
ca_path: NotRequired[str]
|
|
160
131
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
132
|
+
request_cert: NotRequired[bool]
|
|
133
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
134
|
+
reject_unauthorized: NotRequired[Any]
|
|
135
|
+
common_name_regex: NotRequired[Any]
|
|
161
136
|
min_version: NotRequired[InputElasticMinimumTLSVersion]
|
|
162
137
|
max_version: NotRequired[InputElasticMaximumTLSVersion]
|
|
163
138
|
|
|
@@ -165,19 +140,6 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
165
140
|
class InputElasticTLSSettingsServerSide(BaseModel):
|
|
166
141
|
disabled: Optional[bool] = True
|
|
167
142
|
|
|
168
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
169
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
170
|
-
|
|
171
|
-
reject_unauthorized: Annotated[
|
|
172
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
173
|
-
] = True
|
|
174
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
175
|
-
|
|
176
|
-
common_name_regex: Annotated[
|
|
177
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
178
|
-
] = "/.*/"
|
|
179
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
180
|
-
|
|
181
143
|
certificate_name: Annotated[
|
|
182
144
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
183
145
|
] = None
|
|
@@ -195,6 +157,17 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
195
157
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
196
158
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
197
159
|
|
|
160
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
161
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
162
|
+
|
|
163
|
+
reject_unauthorized: Annotated[
|
|
164
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
165
|
+
] = None
|
|
166
|
+
|
|
167
|
+
common_name_regex: Annotated[
|
|
168
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
169
|
+
] = None
|
|
170
|
+
|
|
198
171
|
min_version: Annotated[
|
|
199
172
|
Annotated[
|
|
200
173
|
Optional[InputElasticMinimumTLSVersion],
|
|
@@ -211,44 +184,19 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
211
184
|
pydantic.Field(alias="maxVersion"),
|
|
212
185
|
] = None
|
|
213
186
|
|
|
214
|
-
@field_serializer("min_version")
|
|
215
|
-
def serialize_min_version(self, value):
|
|
216
|
-
if isinstance(value, str):
|
|
217
|
-
try:
|
|
218
|
-
return models.InputElasticMinimumTLSVersion(value)
|
|
219
|
-
except ValueError:
|
|
220
|
-
return value
|
|
221
|
-
return value
|
|
222
|
-
|
|
223
|
-
@field_serializer("max_version")
|
|
224
|
-
def serialize_max_version(self, value):
|
|
225
|
-
if isinstance(value, str):
|
|
226
|
-
try:
|
|
227
|
-
return models.InputElasticMaximumTLSVersion(value)
|
|
228
|
-
except ValueError:
|
|
229
|
-
return value
|
|
230
|
-
return value
|
|
231
|
-
|
|
232
187
|
|
|
233
188
|
class InputElasticAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
234
|
-
# None
|
|
235
189
|
NONE = "none"
|
|
236
|
-
# Basic
|
|
237
190
|
BASIC = "basic"
|
|
238
|
-
# Basic (credentials secret)
|
|
239
191
|
CREDENTIALS_SECRET = "credentialsSecret"
|
|
240
|
-
# Auth Tokens
|
|
241
192
|
AUTH_TOKENS = "authTokens"
|
|
242
193
|
|
|
243
194
|
|
|
244
195
|
class InputElasticAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
245
196
|
r"""The API version to use for communicating with the server"""
|
|
246
197
|
|
|
247
|
-
# 6.8.4
|
|
248
198
|
SIX_DOT_8_DOT_4 = "6.8.4"
|
|
249
|
-
# 8.3.2
|
|
250
199
|
EIGHT_DOT_3_DOT_2 = "8.3.2"
|
|
251
|
-
# Custom
|
|
252
200
|
CUSTOM = "custom"
|
|
253
201
|
|
|
254
202
|
|
|
@@ -287,12 +235,6 @@ class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
287
235
|
class InputElasticProxyModeTypedDict(TypedDict):
|
|
288
236
|
enabled: NotRequired[bool]
|
|
289
237
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
290
|
-
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
291
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
292
|
-
username: NotRequired[str]
|
|
293
|
-
password: NotRequired[str]
|
|
294
|
-
credentials_secret: NotRequired[str]
|
|
295
|
-
r"""Select or create a secret that references your credentials"""
|
|
296
238
|
url: NotRequired[str]
|
|
297
239
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
298
240
|
reject_unauthorized: NotRequired[bool]
|
|
@@ -301,30 +243,14 @@ class InputElasticProxyModeTypedDict(TypedDict):
|
|
|
301
243
|
r"""List of headers to remove from the request to proxy"""
|
|
302
244
|
timeout_sec: NotRequired[float]
|
|
303
245
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
246
|
+
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
247
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
304
248
|
|
|
305
249
|
|
|
306
250
|
class InputElasticProxyMode(BaseModel):
|
|
307
251
|
enabled: Optional[bool] = False
|
|
308
252
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
309
253
|
|
|
310
|
-
auth_type: Annotated[
|
|
311
|
-
Annotated[
|
|
312
|
-
Optional[InputElasticAuthenticationMethod],
|
|
313
|
-
PlainValidator(validate_open_enum(False)),
|
|
314
|
-
],
|
|
315
|
-
pydantic.Field(alias="authType"),
|
|
316
|
-
] = InputElasticAuthenticationMethod.NONE
|
|
317
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
318
|
-
|
|
319
|
-
username: Optional[str] = None
|
|
320
|
-
|
|
321
|
-
password: Optional[str] = None
|
|
322
|
-
|
|
323
|
-
credentials_secret: Annotated[
|
|
324
|
-
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
325
|
-
] = None
|
|
326
|
-
r"""Select or create a secret that references your credentials"""
|
|
327
|
-
|
|
328
254
|
url: Optional[str] = None
|
|
329
255
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
330
256
|
|
|
@@ -341,14 +267,14 @@ class InputElasticProxyMode(BaseModel):
|
|
|
341
267
|
timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 60
|
|
342
268
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
343
269
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
270
|
+
auth_type: Annotated[
|
|
271
|
+
Annotated[
|
|
272
|
+
Optional[InputElasticAuthenticationMethod],
|
|
273
|
+
PlainValidator(validate_open_enum(False)),
|
|
274
|
+
],
|
|
275
|
+
pydantic.Field(alias="authType"),
|
|
276
|
+
] = InputElasticAuthenticationMethod.NONE
|
|
277
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
352
278
|
|
|
353
279
|
|
|
354
280
|
class InputElasticTypedDict(TypedDict):
|
|
@@ -579,21 +505,3 @@ class InputElastic(BaseModel):
|
|
|
579
505
|
"}"
|
|
580
506
|
)
|
|
581
507
|
r"""Custom version information to respond to requests"""
|
|
582
|
-
|
|
583
|
-
@field_serializer("auth_type")
|
|
584
|
-
def serialize_auth_type(self, value):
|
|
585
|
-
if isinstance(value, str):
|
|
586
|
-
try:
|
|
587
|
-
return models.InputElasticAuthenticationType(value)
|
|
588
|
-
except ValueError:
|
|
589
|
-
return value
|
|
590
|
-
return value
|
|
591
|
-
|
|
592
|
-
@field_serializer("api_version")
|
|
593
|
-
def serialize_api_version(self, value):
|
|
594
|
-
if isinstance(value, str):
|
|
595
|
-
try:
|
|
596
|
-
return models.InputElasticAPIVersion(value)
|
|
597
|
-
except ValueError:
|
|
598
|
-
return value
|
|
599
|
-
return value
|