cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b12__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/groups_sdk.py +2 -2
- cribl_control_plane/lakedatasets.py +28 -0
- cribl_control_plane/models/__init__.py +124 -5
- cribl_control_plane/models/cacheconnection.py +20 -0
- cribl_control_plane/models/configgroup.py +20 -1
- cribl_control_plane/models/configgroupcloud.py +11 -1
- cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
- cribl_control_plane/models/cribllakedataset.py +15 -1
- cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
- cribl_control_plane/models/datasetmetadata.py +11 -1
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
- cribl_control_plane/models/getsummaryop.py +11 -0
- cribl_control_plane/models/groupcreaterequest.py +20 -1
- cribl_control_plane/models/hbcriblinfo.py +11 -1
- cribl_control_plane/models/healthserverstatus.py +20 -1
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +76 -17
- cribl_control_plane/models/inputazureblob.py +29 -1
- cribl_control_plane/models/inputcollection.py +20 -1
- cribl_control_plane/models/inputconfluentcloud.py +188 -1
- cribl_control_plane/models/inputcribl.py +20 -1
- cribl_control_plane/models/inputcriblhttp.py +58 -17
- cribl_control_plane/models/inputcribllakehttp.py +58 -17
- cribl_control_plane/models/inputcriblmetrics.py +20 -1
- cribl_control_plane/models/inputcribltcp.py +58 -17
- cribl_control_plane/models/inputcrowdstrike.py +47 -1
- cribl_control_plane/models/inputdatadogagent.py +58 -17
- cribl_control_plane/models/inputdatagen.py +20 -1
- cribl_control_plane/models/inputedgeprometheus.py +138 -37
- cribl_control_plane/models/inputelastic.py +108 -27
- cribl_control_plane/models/inputeventhub.py +176 -1
- cribl_control_plane/models/inputexec.py +29 -1
- cribl_control_plane/models/inputfile.py +40 -7
- cribl_control_plane/models/inputfirehose.py +58 -17
- cribl_control_plane/models/inputgooglepubsub.py +29 -1
- cribl_control_plane/models/inputgrafana.py +149 -32
- cribl_control_plane/models/inputhttp.py +58 -17
- cribl_control_plane/models/inputhttpraw.py +58 -17
- cribl_control_plane/models/inputjournalfiles.py +20 -1
- cribl_control_plane/models/inputkafka.py +182 -1
- cribl_control_plane/models/inputkinesis.py +65 -1
- cribl_control_plane/models/inputkubeevents.py +20 -1
- cribl_control_plane/models/inputkubelogs.py +29 -1
- cribl_control_plane/models/inputkubemetrics.py +29 -1
- cribl_control_plane/models/inputloki.py +67 -17
- cribl_control_plane/models/inputmetrics.py +58 -17
- cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
- cribl_control_plane/models/inputmsk.py +74 -1
- cribl_control_plane/models/inputnetflow.py +20 -1
- cribl_control_plane/models/inputoffice365mgmt.py +56 -1
- cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
- cribl_control_plane/models/inputoffice365service.py +56 -1
- cribl_control_plane/models/inputopentelemetry.py +84 -16
- cribl_control_plane/models/inputprometheus.py +131 -37
- cribl_control_plane/models/inputprometheusrw.py +67 -17
- cribl_control_plane/models/inputrawudp.py +20 -1
- cribl_control_plane/models/inputs3.py +38 -1
- cribl_control_plane/models/inputs3inventory.py +47 -1
- cribl_control_plane/models/inputsecuritylake.py +47 -1
- cribl_control_plane/models/inputsnmp.py +29 -1
- cribl_control_plane/models/inputsplunk.py +76 -17
- cribl_control_plane/models/inputsplunkhec.py +66 -16
- cribl_control_plane/models/inputsplunksearch.py +56 -1
- cribl_control_plane/models/inputsqs.py +47 -1
- cribl_control_plane/models/inputsyslog.py +113 -32
- cribl_control_plane/models/inputsystemmetrics.py +110 -9
- cribl_control_plane/models/inputsystemstate.py +29 -1
- cribl_control_plane/models/inputtcp.py +77 -17
- cribl_control_plane/models/inputtcpjson.py +67 -17
- cribl_control_plane/models/inputwef.py +65 -1
- cribl_control_plane/models/inputwindowsmetrics.py +101 -9
- cribl_control_plane/models/inputwineventlogs.py +52 -1
- cribl_control_plane/models/inputwiz.py +38 -1
- cribl_control_plane/models/inputwizwebhook.py +58 -17
- cribl_control_plane/models/inputzscalerhec.py +66 -16
- cribl_control_plane/models/jobinfo.py +10 -4
- cribl_control_plane/models/jobstatus.py +34 -3
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
- cribl_control_plane/models/masterworkerentry.py +11 -1
- cribl_control_plane/models/nodeupgradestatus.py +38 -0
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +90 -1
- cribl_control_plane/models/outputazuredataexplorer.py +430 -93
- cribl_control_plane/models/outputazureeventhub.py +267 -22
- cribl_control_plane/models/outputazurelogs.py +105 -22
- cribl_control_plane/models/outputchronicle.py +105 -22
- cribl_control_plane/models/outputclickhouse.py +141 -22
- cribl_control_plane/models/outputcloudwatch.py +96 -22
- cribl_control_plane/models/outputconfluentcloud.py +292 -23
- cribl_control_plane/models/outputcriblhttp.py +123 -22
- cribl_control_plane/models/outputcribllake.py +76 -1
- cribl_control_plane/models/outputcribltcp.py +123 -22
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
- cribl_control_plane/models/outputdatabricks.py +76 -5
- cribl_control_plane/models/outputdatadog.py +132 -22
- cribl_control_plane/models/outputdataset.py +123 -22
- cribl_control_plane/models/outputdiskspool.py +11 -1
- cribl_control_plane/models/outputdls3.py +117 -1
- cribl_control_plane/models/outputdynatracehttp.py +141 -22
- cribl_control_plane/models/outputdynatraceotlp.py +141 -22
- cribl_control_plane/models/outputelastic.py +148 -22
- cribl_control_plane/models/outputelasticcloud.py +130 -22
- cribl_control_plane/models/outputexabeam.py +47 -1
- cribl_control_plane/models/outputfilesystem.py +72 -1
- cribl_control_plane/models/outputgooglechronicle.py +148 -23
- cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
- cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
- cribl_control_plane/models/outputgooglepubsub.py +96 -22
- cribl_control_plane/models/outputgrafanacloud.py +244 -43
- cribl_control_plane/models/outputgraphite.py +96 -22
- cribl_control_plane/models/outputhoneycomb.py +105 -22
- cribl_control_plane/models/outputhumiohec.py +114 -22
- cribl_control_plane/models/outputinfluxdb.py +114 -22
- cribl_control_plane/models/outputkafka.py +283 -20
- cribl_control_plane/models/outputkinesis.py +121 -22
- cribl_control_plane/models/outputloki.py +112 -20
- cribl_control_plane/models/outputminio.py +117 -1
- cribl_control_plane/models/outputmsk.py +175 -20
- cribl_control_plane/models/outputnewrelic.py +123 -22
- cribl_control_plane/models/outputnewrelicevents.py +115 -23
- cribl_control_plane/models/outputopentelemetry.py +159 -22
- cribl_control_plane/models/outputprometheus.py +105 -22
- cribl_control_plane/models/outputring.py +29 -1
- cribl_control_plane/models/outputs3.py +117 -1
- cribl_control_plane/models/outputsecuritylake.py +85 -1
- cribl_control_plane/models/outputsentinel.py +123 -22
- cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
- cribl_control_plane/models/outputservicenow.py +150 -22
- cribl_control_plane/models/outputsignalfx.py +105 -22
- cribl_control_plane/models/outputsns.py +103 -20
- cribl_control_plane/models/outputsplunk.py +141 -22
- cribl_control_plane/models/outputsplunkhec.py +198 -22
- cribl_control_plane/models/outputsplunklb.py +170 -22
- cribl_control_plane/models/outputsqs.py +112 -20
- cribl_control_plane/models/outputstatsd.py +96 -22
- cribl_control_plane/models/outputstatsdext.py +96 -22
- cribl_control_plane/models/outputsumologic.py +105 -22
- cribl_control_plane/models/outputsyslog.py +238 -99
- cribl_control_plane/models/outputtcpjson.py +132 -22
- cribl_control_plane/models/outputwavefront.py +105 -22
- cribl_control_plane/models/outputwebhook.py +141 -22
- cribl_control_plane/models/outputxsiam.py +103 -20
- cribl_control_plane/models/resourcepolicy.py +11 -0
- cribl_control_plane/models/runnablejobcollection.py +68 -9
- cribl_control_plane/models/runnablejobexecutor.py +32 -9
- cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
- cribl_control_plane/sdk.py +2 -2
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, 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
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -107,6 +108,24 @@ class InputEdgePrometheusPq(BaseModel):
|
|
|
107
108
|
Optional[InputEdgePrometheusPqControls], pydantic.Field(alias="pqControls")
|
|
108
109
|
] = None
|
|
109
110
|
|
|
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
|
+
|
|
110
129
|
|
|
111
130
|
class InputEdgePrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
112
131
|
r"""Target discovery mechanism. Use static to manually enter a list of targets."""
|
|
@@ -164,6 +183,15 @@ class InputEdgePrometheusDiskSpooling(BaseModel):
|
|
|
164
183
|
] = InputEdgePrometheusPersistenceCompression.GZIP
|
|
165
184
|
r"""Data compression format. Default is gzip."""
|
|
166
185
|
|
|
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
|
+
|
|
167
195
|
|
|
168
196
|
class InputEdgePrometheusMetadatumTypedDict(TypedDict):
|
|
169
197
|
name: str
|
|
@@ -221,6 +249,15 @@ class Target(BaseModel):
|
|
|
221
249
|
path: Optional[str] = "/metrics"
|
|
222
250
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
223
251
|
|
|
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
|
+
|
|
224
261
|
|
|
225
262
|
class InputEdgePrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
226
263
|
r"""DNS Record type to resolve"""
|
|
@@ -237,6 +274,19 @@ class ScrapeProtocolProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
237
274
|
HTTPS = "https"
|
|
238
275
|
|
|
239
276
|
|
|
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
|
+
|
|
240
290
|
class InputEdgePrometheusSearchFilterTypedDict(TypedDict):
|
|
241
291
|
name: str
|
|
242
292
|
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"""
|
|
@@ -252,19 +302,6 @@ class InputEdgePrometheusSearchFilter(BaseModel):
|
|
|
252
302
|
r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
|
|
253
303
|
|
|
254
304
|
|
|
255
|
-
class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
256
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
257
|
-
):
|
|
258
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
259
|
-
|
|
260
|
-
# Auto
|
|
261
|
-
AUTO = "auto"
|
|
262
|
-
# Manual
|
|
263
|
-
MANUAL = "manual"
|
|
264
|
-
# Secret Key pair
|
|
265
|
-
SECRET = "secret"
|
|
266
|
-
|
|
267
|
-
|
|
268
305
|
class InputEdgePrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
269
306
|
r"""Signature version to use for signing EC2 requests"""
|
|
270
307
|
|
|
@@ -320,24 +357,27 @@ class InputEdgePrometheusTypedDict(TypedDict):
|
|
|
320
357
|
r"""Enter credentials directly, or select a stored secret"""
|
|
321
358
|
description: NotRequired[str]
|
|
322
359
|
targets: NotRequired[List[TargetTypedDict]]
|
|
323
|
-
name_list: NotRequired[List[str]]
|
|
324
|
-
r"""List of DNS names to resolve"""
|
|
325
360
|
record_type: NotRequired[InputEdgePrometheusRecordType]
|
|
326
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
|
+
name_list: NotRequired[List[str]]
|
|
365
|
+
r"""List of DNS names to resolve"""
|
|
327
366
|
scrape_protocol: NotRequired[ScrapeProtocolProtocol]
|
|
328
367
|
r"""Protocol to use when collecting metrics"""
|
|
329
368
|
scrape_path: NotRequired[str]
|
|
330
369
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
331
|
-
use_public_ip: NotRequired[bool]
|
|
332
|
-
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
333
|
-
scrape_port: NotRequired[float]
|
|
334
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
335
|
-
search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
|
|
336
|
-
r"""EC2 Instance Search Filter"""
|
|
337
370
|
aws_authentication_method: NotRequired[
|
|
338
371
|
InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
339
372
|
]
|
|
340
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
|
+
use_public_ip: NotRequired[bool]
|
|
378
|
+
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
379
|
+
search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
|
|
380
|
+
r"""EC2 Instance Search Filter"""
|
|
341
381
|
aws_secret_key: NotRequired[str]
|
|
342
382
|
region: NotRequired[str]
|
|
343
383
|
r"""Region where the EC2 is located"""
|
|
@@ -445,9 +485,6 @@ class InputEdgePrometheus(BaseModel):
|
|
|
445
485
|
|
|
446
486
|
targets: Optional[List[Target]] = None
|
|
447
487
|
|
|
448
|
-
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
449
|
-
r"""List of DNS names to resolve"""
|
|
450
|
-
|
|
451
488
|
record_type: Annotated[
|
|
452
489
|
Annotated[
|
|
453
490
|
Optional[InputEdgePrometheusRecordType],
|
|
@@ -457,6 +494,12 @@ class InputEdgePrometheus(BaseModel):
|
|
|
457
494
|
] = InputEdgePrometheusRecordType.SRV
|
|
458
495
|
r"""DNS Record type to resolve"""
|
|
459
496
|
|
|
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
|
+
|
|
460
503
|
scrape_protocol: Annotated[
|
|
461
504
|
Annotated[
|
|
462
505
|
Optional[ScrapeProtocolProtocol], PlainValidator(validate_open_enum(False))
|
|
@@ -470,18 +513,6 @@ class InputEdgePrometheus(BaseModel):
|
|
|
470
513
|
)
|
|
471
514
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
472
515
|
|
|
473
|
-
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
474
|
-
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
475
|
-
|
|
476
|
-
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
477
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
478
|
-
|
|
479
|
-
search_filter: Annotated[
|
|
480
|
-
Optional[List[InputEdgePrometheusSearchFilter]],
|
|
481
|
-
pydantic.Field(alias="searchFilter"),
|
|
482
|
-
] = None
|
|
483
|
-
r"""EC2 Instance Search Filter"""
|
|
484
|
-
|
|
485
516
|
aws_authentication_method: Annotated[
|
|
486
517
|
Annotated[
|
|
487
518
|
Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
@@ -491,6 +522,20 @@ class InputEdgePrometheus(BaseModel):
|
|
|
491
522
|
] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
492
523
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
493
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
|
+
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
531
|
+
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
532
|
+
|
|
533
|
+
search_filter: Annotated[
|
|
534
|
+
Optional[List[InputEdgePrometheusSearchFilter]],
|
|
535
|
+
pydantic.Field(alias="searchFilter"),
|
|
536
|
+
] = None
|
|
537
|
+
r"""EC2 Instance Search Filter"""
|
|
538
|
+
|
|
494
539
|
aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
|
|
495
540
|
None
|
|
496
541
|
)
|
|
@@ -574,3 +619,59 @@ class InputEdgePrometheus(BaseModel):
|
|
|
574
619
|
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
575
620
|
] = None
|
|
576
621
|
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,13 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, 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
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
11
|
+
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
13
|
|
|
13
14
|
|
|
@@ -106,6 +107,24 @@ class InputElasticPq(BaseModel):
|
|
|
106
107
|
Optional[InputElasticPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
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
|
+
|
|
109
128
|
|
|
110
129
|
class InputElasticMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
TL_SV1 = "TLSv1"
|
|
@@ -123,6 +142,12 @@ class InputElasticMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
142
|
|
|
124
143
|
class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
144
|
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"""
|
|
126
151
|
certificate_name: NotRequired[str]
|
|
127
152
|
r"""The name of the predefined certificate"""
|
|
128
153
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +158,6 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
158
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
159
|
ca_path: NotRequired[str]
|
|
135
160
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
-
request_cert: NotRequired[bool]
|
|
137
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
-
reject_unauthorized: NotRequired[Any]
|
|
139
|
-
common_name_regex: NotRequired[Any]
|
|
140
161
|
min_version: NotRequired[InputElasticMinimumTLSVersion]
|
|
141
162
|
max_version: NotRequired[InputElasticMaximumTLSVersion]
|
|
142
163
|
|
|
@@ -144,6 +165,19 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
165
|
class InputElasticTLSSettingsServerSide(BaseModel):
|
|
145
166
|
disabled: Optional[bool] = True
|
|
146
167
|
|
|
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
|
+
|
|
147
181
|
certificate_name: Annotated[
|
|
148
182
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
183
|
] = None
|
|
@@ -161,17 +195,6 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
161
195
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
196
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
197
|
|
|
164
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
-
|
|
167
|
-
reject_unauthorized: Annotated[
|
|
168
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
-
] = None
|
|
170
|
-
|
|
171
|
-
common_name_regex: Annotated[
|
|
172
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
-
] = None
|
|
174
|
-
|
|
175
198
|
min_version: Annotated[
|
|
176
199
|
Annotated[
|
|
177
200
|
Optional[InputElasticMinimumTLSVersion],
|
|
@@ -188,6 +211,24 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
188
211
|
pydantic.Field(alias="maxVersion"),
|
|
189
212
|
] = None
|
|
190
213
|
|
|
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
|
+
|
|
191
232
|
|
|
192
233
|
class InputElasticAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
193
234
|
# None
|
|
@@ -246,6 +287,12 @@ class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
246
287
|
class InputElasticProxyModeTypedDict(TypedDict):
|
|
247
288
|
enabled: NotRequired[bool]
|
|
248
289
|
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"""
|
|
249
296
|
url: NotRequired[str]
|
|
250
297
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
251
298
|
reject_unauthorized: NotRequired[bool]
|
|
@@ -254,14 +301,30 @@ class InputElasticProxyModeTypedDict(TypedDict):
|
|
|
254
301
|
r"""List of headers to remove from the request to proxy"""
|
|
255
302
|
timeout_sec: NotRequired[float]
|
|
256
303
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
257
|
-
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
258
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
259
304
|
|
|
260
305
|
|
|
261
306
|
class InputElasticProxyMode(BaseModel):
|
|
262
307
|
enabled: Optional[bool] = False
|
|
263
308
|
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."""
|
|
264
309
|
|
|
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
|
+
|
|
265
328
|
url: Optional[str] = None
|
|
266
329
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
267
330
|
|
|
@@ -278,14 +341,14 @@ class InputElasticProxyMode(BaseModel):
|
|
|
278
341
|
timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 60
|
|
279
342
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
280
343
|
|
|
281
|
-
auth_type
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
344
|
+
@field_serializer("auth_type")
|
|
345
|
+
def serialize_auth_type(self, value):
|
|
346
|
+
if isinstance(value, str):
|
|
347
|
+
try:
|
|
348
|
+
return models.InputElasticAuthenticationMethod(value)
|
|
349
|
+
except ValueError:
|
|
350
|
+
return value
|
|
351
|
+
return value
|
|
289
352
|
|
|
290
353
|
|
|
291
354
|
class InputElasticTypedDict(TypedDict):
|
|
@@ -516,3 +579,21 @@ class InputElastic(BaseModel):
|
|
|
516
579
|
"}"
|
|
517
580
|
)
|
|
518
581
|
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
|