cribl-control-plane 0.2.1rc4__py3-none-any.whl → 0.2.1rc6__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 +3 -3
- cribl_control_plane/groups_sdk.py +2 -2
- cribl_control_plane/models/__init__.py +3 -99
- cribl_control_plane/models/createconfiggroupbyproductop.py +2 -2
- cribl_control_plane/models/input.py +14 -14
- cribl_control_plane/models/inputappscope.py +16 -20
- cribl_control_plane/models/inputconfluentcloud.py +0 -110
- cribl_control_plane/models/inputcriblhttp.py +16 -20
- cribl_control_plane/models/inputcribllakehttp.py +16 -20
- cribl_control_plane/models/inputcribltcp.py +16 -20
- cribl_control_plane/models/inputdatadogagent.py +16 -20
- cribl_control_plane/models/inputedgeprometheus.py +36 -44
- cribl_control_plane/models/inputelastic.py +27 -44
- cribl_control_plane/models/inputeventhub.py +0 -118
- cribl_control_plane/models/inputfirehose.py +16 -20
- cribl_control_plane/models/inputgrafana.py +31 -39
- cribl_control_plane/models/inputhttp.py +16 -20
- cribl_control_plane/models/inputhttpraw.py +16 -20
- cribl_control_plane/models/inputkafka.py +0 -108
- cribl_control_plane/models/inputloki.py +16 -20
- cribl_control_plane/models/inputmetrics.py +16 -20
- cribl_control_plane/models/inputmodeldriventelemetry.py +16 -20
- cribl_control_plane/models/inputopentelemetry.py +15 -19
- cribl_control_plane/models/inputprometheus.py +36 -44
- cribl_control_plane/models/inputprometheusrw.py +16 -20
- cribl_control_plane/models/inputsplunk.py +16 -20
- cribl_control_plane/models/inputsplunkhec.py +15 -19
- cribl_control_plane/models/inputsyslog.py +31 -39
- cribl_control_plane/models/inputsystemmetrics.py +10 -20
- cribl_control_plane/models/inputtcp.py +16 -30
- cribl_control_plane/models/inputtcpjson.py +16 -20
- cribl_control_plane/models/inputwindowsmetrics.py +10 -20
- cribl_control_plane/models/inputwineventlogs.py +0 -14
- cribl_control_plane/models/inputwizwebhook.py +16 -20
- cribl_control_plane/models/inputzscalerhec.py +15 -19
- cribl_control_plane/models/output.py +22 -22
- cribl_control_plane/models/outputazureblob.py +0 -7
- cribl_control_plane/models/outputazuredataexplorer.py +93 -283
- cribl_control_plane/models/outputazureeventhub.py +21 -169
- cribl_control_plane/models/outputazurelogs.py +21 -49
- cribl_control_plane/models/outputchronicle.py +21 -49
- cribl_control_plane/models/outputclickhouse.py +21 -49
- cribl_control_plane/models/outputcloudwatch.py +21 -49
- cribl_control_plane/models/outputconfluentcloud.py +22 -167
- cribl_control_plane/models/outputcriblhttp.py +21 -49
- cribl_control_plane/models/outputcribltcp.py +21 -49
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +22 -50
- cribl_control_plane/models/outputdatabricks.py +0 -7
- cribl_control_plane/models/outputdatadog.py +21 -49
- cribl_control_plane/models/outputdataset.py +21 -49
- cribl_control_plane/models/outputdls3.py +0 -7
- cribl_control_plane/models/outputdynatracehttp.py +21 -49
- cribl_control_plane/models/outputdynatraceotlp.py +21 -49
- cribl_control_plane/models/outputelastic.py +21 -74
- cribl_control_plane/models/outputelasticcloud.py +21 -74
- cribl_control_plane/models/outputfilesystem.py +0 -7
- cribl_control_plane/models/outputgooglechronicle.py +22 -65
- cribl_control_plane/models/outputgooglecloudlogging.py +22 -50
- cribl_control_plane/models/outputgooglecloudstorage.py +0 -7
- cribl_control_plane/models/outputgooglepubsub.py +21 -49
- cribl_control_plane/models/outputgrafanacloud.py +42 -98
- cribl_control_plane/models/outputgraphite.py +21 -49
- cribl_control_plane/models/outputhoneycomb.py +21 -49
- cribl_control_plane/models/outputhumiohec.py +21 -49
- cribl_control_plane/models/outputinfluxdb.py +21 -49
- cribl_control_plane/models/outputkafka.py +19 -162
- cribl_control_plane/models/outputkinesis.py +21 -56
- cribl_control_plane/models/outputloki.py +19 -47
- cribl_control_plane/models/outputminio.py +0 -7
- cribl_control_plane/models/outputmsk.py +19 -54
- cribl_control_plane/models/outputnewrelic.py +21 -49
- cribl_control_plane/models/outputnewrelicevents.py +22 -50
- cribl_control_plane/models/outputopentelemetry.py +21 -49
- cribl_control_plane/models/outputprometheus.py +21 -49
- cribl_control_plane/models/outputs3.py +0 -7
- cribl_control_plane/models/outputsentinel.py +21 -49
- cribl_control_plane/models/outputsentineloneaisiem.py +22 -50
- cribl_control_plane/models/outputservicenow.py +21 -49
- cribl_control_plane/models/outputsignalfx.py +21 -49
- cribl_control_plane/models/outputsns.py +19 -47
- cribl_control_plane/models/outputsplunk.py +21 -49
- cribl_control_plane/models/outputsplunkhec.py +21 -49
- cribl_control_plane/models/outputsplunklb.py +21 -49
- cribl_control_plane/models/outputsqs.py +19 -47
- cribl_control_plane/models/outputstatsd.py +21 -49
- cribl_control_plane/models/outputstatsdext.py +21 -49
- cribl_control_plane/models/outputsumologic.py +21 -49
- cribl_control_plane/models/outputsyslog.py +99 -129
- cribl_control_plane/models/outputtcpjson.py +21 -49
- cribl_control_plane/models/outputwavefront.py +21 -49
- cribl_control_plane/models/outputwebhook.py +21 -49
- cribl_control_plane/models/outputxsiam.py +19 -47
- cribl_control_plane/models/runnablejobcollection.py +8 -12
- cribl_control_plane/models/runnablejobexecutor.py +8 -12
- cribl_control_plane/models/runnablejobscheduledsearch.py +8 -12
- {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.dist-info}/METADATA +1 -1
- {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.dist-info}/RECORD +98 -98
- {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.dist-info}/WHEEL +0 -0
|
@@ -341,13 +341,6 @@ class InputConfluentCloudKafkaSchemaRegistryAuthentication(BaseModel):
|
|
|
341
341
|
tls: Optional[InputConfluentCloudKafkaSchemaRegistryTLSSettingsClientSide] = None
|
|
342
342
|
|
|
343
343
|
|
|
344
|
-
class InputConfluentCloudAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
345
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
346
|
-
|
|
347
|
-
MANUAL = "manual"
|
|
348
|
-
SECRET = "secret"
|
|
349
|
-
|
|
350
|
-
|
|
351
344
|
class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
352
345
|
# PLAIN
|
|
353
346
|
PLAIN = "plain"
|
|
@@ -359,58 +352,13 @@ class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
359
352
|
KERBEROS = "kerberos"
|
|
360
353
|
|
|
361
354
|
|
|
362
|
-
class InputConfluentCloudOauthParamTypedDict(TypedDict):
|
|
363
|
-
name: str
|
|
364
|
-
value: str
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
class InputConfluentCloudOauthParam(BaseModel):
|
|
368
|
-
name: str
|
|
369
|
-
|
|
370
|
-
value: str
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
class InputConfluentCloudSaslExtensionTypedDict(TypedDict):
|
|
374
|
-
name: str
|
|
375
|
-
value: str
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
class InputConfluentCloudSaslExtension(BaseModel):
|
|
379
|
-
name: str
|
|
380
|
-
|
|
381
|
-
value: str
|
|
382
|
-
|
|
383
|
-
|
|
384
355
|
class InputConfluentCloudAuthenticationTypedDict(TypedDict):
|
|
385
356
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
386
357
|
|
|
387
358
|
disabled: NotRequired[bool]
|
|
388
|
-
username: NotRequired[str]
|
|
389
|
-
password: NotRequired[str]
|
|
390
|
-
auth_type: NotRequired[InputConfluentCloudAuthenticationMethod]
|
|
391
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
392
|
-
credentials_secret: NotRequired[str]
|
|
393
|
-
r"""Select or create a secret that references your credentials"""
|
|
394
359
|
mechanism: NotRequired[InputConfluentCloudSASLMechanism]
|
|
395
|
-
keytab_location: NotRequired[str]
|
|
396
|
-
r"""Location of keytab file for authentication principal"""
|
|
397
|
-
principal: NotRequired[str]
|
|
398
|
-
r"""Authentication principal, such as `kafka_user@example.com`"""
|
|
399
|
-
broker_service_class: NotRequired[str]
|
|
400
|
-
r"""Kerberos service class for Kafka brokers, such as `kafka`"""
|
|
401
360
|
oauth_enabled: NotRequired[bool]
|
|
402
361
|
r"""Enable OAuth authentication"""
|
|
403
|
-
token_url: NotRequired[str]
|
|
404
|
-
r"""URL of the token endpoint to use for OAuth authentication"""
|
|
405
|
-
client_id: NotRequired[str]
|
|
406
|
-
r"""Client ID to use for OAuth authentication"""
|
|
407
|
-
oauth_secret_type: NotRequired[str]
|
|
408
|
-
client_text_secret: NotRequired[str]
|
|
409
|
-
r"""Select or create a stored text secret"""
|
|
410
|
-
oauth_params: NotRequired[List[InputConfluentCloudOauthParamTypedDict]]
|
|
411
|
-
r"""Additional fields to send to the token endpoint, such as scope or audience"""
|
|
412
|
-
sasl_extensions: NotRequired[List[InputConfluentCloudSaslExtensionTypedDict]]
|
|
413
|
-
r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
|
|
414
362
|
|
|
415
363
|
|
|
416
364
|
class InputConfluentCloudAuthentication(BaseModel):
|
|
@@ -418,74 +366,16 @@ class InputConfluentCloudAuthentication(BaseModel):
|
|
|
418
366
|
|
|
419
367
|
disabled: Optional[bool] = True
|
|
420
368
|
|
|
421
|
-
username: Optional[str] = None
|
|
422
|
-
|
|
423
|
-
password: Optional[str] = None
|
|
424
|
-
|
|
425
|
-
auth_type: Annotated[
|
|
426
|
-
Annotated[
|
|
427
|
-
Optional[InputConfluentCloudAuthenticationMethod],
|
|
428
|
-
PlainValidator(validate_open_enum(False)),
|
|
429
|
-
],
|
|
430
|
-
pydantic.Field(alias="authType"),
|
|
431
|
-
] = InputConfluentCloudAuthenticationMethod.MANUAL
|
|
432
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
433
|
-
|
|
434
|
-
credentials_secret: Annotated[
|
|
435
|
-
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
436
|
-
] = None
|
|
437
|
-
r"""Select or create a secret that references your credentials"""
|
|
438
|
-
|
|
439
369
|
mechanism: Annotated[
|
|
440
370
|
Optional[InputConfluentCloudSASLMechanism],
|
|
441
371
|
PlainValidator(validate_open_enum(False)),
|
|
442
372
|
] = InputConfluentCloudSASLMechanism.PLAIN
|
|
443
373
|
|
|
444
|
-
keytab_location: Annotated[
|
|
445
|
-
Optional[str], pydantic.Field(alias="keytabLocation")
|
|
446
|
-
] = None
|
|
447
|
-
r"""Location of keytab file for authentication principal"""
|
|
448
|
-
|
|
449
|
-
principal: Optional[str] = None
|
|
450
|
-
r"""Authentication principal, such as `kafka_user@example.com`"""
|
|
451
|
-
|
|
452
|
-
broker_service_class: Annotated[
|
|
453
|
-
Optional[str], pydantic.Field(alias="brokerServiceClass")
|
|
454
|
-
] = None
|
|
455
|
-
r"""Kerberos service class for Kafka brokers, such as `kafka`"""
|
|
456
|
-
|
|
457
374
|
oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
|
|
458
375
|
False
|
|
459
376
|
)
|
|
460
377
|
r"""Enable OAuth authentication"""
|
|
461
378
|
|
|
462
|
-
token_url: Annotated[Optional[str], pydantic.Field(alias="tokenUrl")] = None
|
|
463
|
-
r"""URL of the token endpoint to use for OAuth authentication"""
|
|
464
|
-
|
|
465
|
-
client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
|
|
466
|
-
r"""Client ID to use for OAuth authentication"""
|
|
467
|
-
|
|
468
|
-
oauth_secret_type: Annotated[
|
|
469
|
-
Optional[str], pydantic.Field(alias="oauthSecretType")
|
|
470
|
-
] = "secret"
|
|
471
|
-
|
|
472
|
-
client_text_secret: Annotated[
|
|
473
|
-
Optional[str], pydantic.Field(alias="clientTextSecret")
|
|
474
|
-
] = None
|
|
475
|
-
r"""Select or create a stored text secret"""
|
|
476
|
-
|
|
477
|
-
oauth_params: Annotated[
|
|
478
|
-
Optional[List[InputConfluentCloudOauthParam]],
|
|
479
|
-
pydantic.Field(alias="oauthParams"),
|
|
480
|
-
] = None
|
|
481
|
-
r"""Additional fields to send to the token endpoint, such as scope or audience"""
|
|
482
|
-
|
|
483
|
-
sasl_extensions: Annotated[
|
|
484
|
-
Optional[List[InputConfluentCloudSaslExtension]],
|
|
485
|
-
pydantic.Field(alias="saslExtensions"),
|
|
486
|
-
] = None
|
|
487
|
-
r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
|
|
488
|
-
|
|
489
379
|
|
|
490
380
|
class InputConfluentCloudMetadatumTypedDict(TypedDict):
|
|
491
381
|
name: str
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,12 +123,6 @@ class InputCriblHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
-
request_cert: NotRequired[bool]
|
|
127
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
-
reject_unauthorized: NotRequired[bool]
|
|
129
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
-
common_name_regex: NotRequired[str]
|
|
131
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
132
126
|
certificate_name: NotRequired[str]
|
|
133
127
|
r"""The name of the predefined certificate"""
|
|
134
128
|
priv_key_path: NotRequired[str]
|
|
@@ -139,6 +133,10 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
139
133
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
140
134
|
ca_path: NotRequired[str]
|
|
141
135
|
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]
|
|
142
140
|
min_version: NotRequired[InputCriblHTTPMinimumTLSVersion]
|
|
143
141
|
max_version: NotRequired[InputCriblHTTPMaximumTLSVersion]
|
|
144
142
|
|
|
@@ -146,19 +144,6 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
146
144
|
class InputCriblHTTPTLSSettingsServerSide(BaseModel):
|
|
147
145
|
disabled: Optional[bool] = True
|
|
148
146
|
|
|
149
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
-
|
|
152
|
-
reject_unauthorized: Annotated[
|
|
153
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
-
] = True
|
|
155
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
-
|
|
157
|
-
common_name_regex: Annotated[
|
|
158
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
-
] = "/.*/"
|
|
160
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
-
|
|
162
147
|
certificate_name: Annotated[
|
|
163
148
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
164
149
|
] = None
|
|
@@ -176,6 +161,17 @@ class InputCriblHTTPTLSSettingsServerSide(BaseModel):
|
|
|
176
161
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
177
162
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
178
163
|
|
|
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
|
+
|
|
179
175
|
min_version: Annotated[
|
|
180
176
|
Annotated[
|
|
181
177
|
Optional[InputCriblHTTPMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -124,12 +124,6 @@ class InputCriblLakeHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
124
124
|
|
|
125
125
|
class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
126
126
|
disabled: NotRequired[bool]
|
|
127
|
-
request_cert: NotRequired[bool]
|
|
128
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
129
|
-
reject_unauthorized: NotRequired[bool]
|
|
130
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
131
|
-
common_name_regex: NotRequired[str]
|
|
132
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
133
127
|
certificate_name: NotRequired[str]
|
|
134
128
|
r"""The name of the predefined certificate"""
|
|
135
129
|
priv_key_path: NotRequired[str]
|
|
@@ -140,6 +134,10 @@ class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
140
134
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
141
135
|
ca_path: NotRequired[str]
|
|
142
136
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
137
|
+
request_cert: NotRequired[bool]
|
|
138
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
139
|
+
reject_unauthorized: NotRequired[Any]
|
|
140
|
+
common_name_regex: NotRequired[Any]
|
|
143
141
|
min_version: NotRequired[InputCriblLakeHTTPMinimumTLSVersion]
|
|
144
142
|
max_version: NotRequired[InputCriblLakeHTTPMaximumTLSVersion]
|
|
145
143
|
|
|
@@ -147,19 +145,6 @@ class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
147
145
|
class InputCriblLakeHTTPTLSSettingsServerSide(BaseModel):
|
|
148
146
|
disabled: Optional[bool] = True
|
|
149
147
|
|
|
150
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
151
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
152
|
-
|
|
153
|
-
reject_unauthorized: Annotated[
|
|
154
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
155
|
-
] = True
|
|
156
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
157
|
-
|
|
158
|
-
common_name_regex: Annotated[
|
|
159
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
160
|
-
] = "/.*/"
|
|
161
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
162
|
-
|
|
163
148
|
certificate_name: Annotated[
|
|
164
149
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
165
150
|
] = None
|
|
@@ -177,6 +162,17 @@ class InputCriblLakeHTTPTLSSettingsServerSide(BaseModel):
|
|
|
177
162
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
178
163
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
179
164
|
|
|
165
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
166
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
167
|
+
|
|
168
|
+
reject_unauthorized: Annotated[
|
|
169
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
170
|
+
] = None
|
|
171
|
+
|
|
172
|
+
common_name_regex: Annotated[
|
|
173
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
174
|
+
] = None
|
|
175
|
+
|
|
180
176
|
min_version: Annotated[
|
|
181
177
|
Annotated[
|
|
182
178
|
Optional[InputCriblLakeHTTPMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,12 +123,6 @@ class InputCriblTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
-
request_cert: NotRequired[bool]
|
|
127
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
-
reject_unauthorized: NotRequired[bool]
|
|
129
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
-
common_name_regex: NotRequired[str]
|
|
131
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
132
126
|
certificate_name: NotRequired[str]
|
|
133
127
|
r"""The name of the predefined certificate"""
|
|
134
128
|
priv_key_path: NotRequired[str]
|
|
@@ -139,6 +133,10 @@ class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
139
133
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
140
134
|
ca_path: NotRequired[str]
|
|
141
135
|
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]
|
|
142
140
|
min_version: NotRequired[InputCriblTCPMinimumTLSVersion]
|
|
143
141
|
max_version: NotRequired[InputCriblTCPMaximumTLSVersion]
|
|
144
142
|
|
|
@@ -146,19 +144,6 @@ class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
146
144
|
class InputCriblTCPTLSSettingsServerSide(BaseModel):
|
|
147
145
|
disabled: Optional[bool] = True
|
|
148
146
|
|
|
149
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
-
|
|
152
|
-
reject_unauthorized: Annotated[
|
|
153
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
-
] = True
|
|
155
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
-
|
|
157
|
-
common_name_regex: Annotated[
|
|
158
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
-
] = "/.*/"
|
|
160
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
-
|
|
162
147
|
certificate_name: Annotated[
|
|
163
148
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
164
149
|
] = None
|
|
@@ -176,6 +161,17 @@ class InputCriblTCPTLSSettingsServerSide(BaseModel):
|
|
|
176
161
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
177
162
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
178
163
|
|
|
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
|
+
|
|
179
175
|
min_version: Annotated[
|
|
180
176
|
Annotated[
|
|
181
177
|
Optional[InputCriblTCPMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -124,12 +124,6 @@ class InputDatadogAgentMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta
|
|
|
124
124
|
|
|
125
125
|
class InputDatadogAgentTLSSettingsServerSideTypedDict(TypedDict):
|
|
126
126
|
disabled: NotRequired[bool]
|
|
127
|
-
request_cert: NotRequired[bool]
|
|
128
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
129
|
-
reject_unauthorized: NotRequired[bool]
|
|
130
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
131
|
-
common_name_regex: NotRequired[str]
|
|
132
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
133
127
|
certificate_name: NotRequired[str]
|
|
134
128
|
r"""The name of the predefined certificate"""
|
|
135
129
|
priv_key_path: NotRequired[str]
|
|
@@ -140,6 +134,10 @@ class InputDatadogAgentTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
140
134
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
141
135
|
ca_path: NotRequired[str]
|
|
142
136
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
137
|
+
request_cert: NotRequired[bool]
|
|
138
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
139
|
+
reject_unauthorized: NotRequired[Any]
|
|
140
|
+
common_name_regex: NotRequired[Any]
|
|
143
141
|
min_version: NotRequired[InputDatadogAgentMinimumTLSVersion]
|
|
144
142
|
max_version: NotRequired[InputDatadogAgentMaximumTLSVersion]
|
|
145
143
|
|
|
@@ -147,19 +145,6 @@ class InputDatadogAgentTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
147
145
|
class InputDatadogAgentTLSSettingsServerSide(BaseModel):
|
|
148
146
|
disabled: Optional[bool] = True
|
|
149
147
|
|
|
150
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
151
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
152
|
-
|
|
153
|
-
reject_unauthorized: Annotated[
|
|
154
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
155
|
-
] = True
|
|
156
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
157
|
-
|
|
158
|
-
common_name_regex: Annotated[
|
|
159
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
160
|
-
] = "/.*/"
|
|
161
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
162
|
-
|
|
163
148
|
certificate_name: Annotated[
|
|
164
149
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
165
150
|
] = None
|
|
@@ -177,6 +162,17 @@ class InputDatadogAgentTLSSettingsServerSide(BaseModel):
|
|
|
177
162
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
178
163
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
179
164
|
|
|
165
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
166
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
167
|
+
|
|
168
|
+
reject_unauthorized: Annotated[
|
|
169
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
170
|
+
] = None
|
|
171
|
+
|
|
172
|
+
common_name_regex: Annotated[
|
|
173
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
174
|
+
] = None
|
|
175
|
+
|
|
180
176
|
min_version: Annotated[
|
|
181
177
|
Annotated[
|
|
182
178
|
Optional[InputDatadogAgentMinimumTLSVersion],
|
|
@@ -237,19 +237,6 @@ class ScrapeProtocolProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
237
237
|
HTTPS = "https"
|
|
238
238
|
|
|
239
239
|
|
|
240
|
-
class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
241
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
242
|
-
):
|
|
243
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
244
|
-
|
|
245
|
-
# Auto
|
|
246
|
-
AUTO = "auto"
|
|
247
|
-
# Manual
|
|
248
|
-
MANUAL = "manual"
|
|
249
|
-
# Secret Key pair
|
|
250
|
-
SECRET = "secret"
|
|
251
|
-
|
|
252
|
-
|
|
253
240
|
class InputEdgePrometheusSearchFilterTypedDict(TypedDict):
|
|
254
241
|
name: str
|
|
255
242
|
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"""
|
|
@@ -265,6 +252,19 @@ class InputEdgePrometheusSearchFilter(BaseModel):
|
|
|
265
252
|
r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
|
|
266
253
|
|
|
267
254
|
|
|
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
268
|
class InputEdgePrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
269
269
|
r"""Signature version to use for signing EC2 requests"""
|
|
270
270
|
|
|
@@ -320,27 +320,24 @@ class InputEdgePrometheusTypedDict(TypedDict):
|
|
|
320
320
|
r"""Enter credentials directly, or select a stored secret"""
|
|
321
321
|
description: NotRequired[str]
|
|
322
322
|
targets: NotRequired[List[TargetTypedDict]]
|
|
323
|
-
record_type: NotRequired[InputEdgePrometheusRecordType]
|
|
324
|
-
r"""DNS Record type to resolve"""
|
|
325
|
-
scrape_port: NotRequired[float]
|
|
326
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
327
323
|
name_list: NotRequired[List[str]]
|
|
328
324
|
r"""List of DNS names to resolve"""
|
|
325
|
+
record_type: NotRequired[InputEdgePrometheusRecordType]
|
|
326
|
+
r"""DNS Record type to resolve"""
|
|
329
327
|
scrape_protocol: NotRequired[ScrapeProtocolProtocol]
|
|
330
328
|
r"""Protocol to use when collecting metrics"""
|
|
331
329
|
scrape_path: NotRequired[str]
|
|
332
330
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
333
|
-
aws_authentication_method: NotRequired[
|
|
334
|
-
InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
335
|
-
]
|
|
336
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
337
|
-
aws_api_key: NotRequired[str]
|
|
338
|
-
aws_secret: NotRequired[str]
|
|
339
|
-
r"""Select or create a stored secret that references your access key and secret key"""
|
|
340
331
|
use_public_ip: NotRequired[bool]
|
|
341
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."""
|
|
342
335
|
search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
|
|
343
336
|
r"""EC2 Instance Search Filter"""
|
|
337
|
+
aws_authentication_method: NotRequired[
|
|
338
|
+
InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
339
|
+
]
|
|
340
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
344
341
|
aws_secret_key: NotRequired[str]
|
|
345
342
|
region: NotRequired[str]
|
|
346
343
|
r"""Region where the EC2 is located"""
|
|
@@ -448,6 +445,9 @@ class InputEdgePrometheus(BaseModel):
|
|
|
448
445
|
|
|
449
446
|
targets: Optional[List[Target]] = None
|
|
450
447
|
|
|
448
|
+
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
449
|
+
r"""List of DNS names to resolve"""
|
|
450
|
+
|
|
451
451
|
record_type: Annotated[
|
|
452
452
|
Annotated[
|
|
453
453
|
Optional[InputEdgePrometheusRecordType],
|
|
@@ -457,12 +457,6 @@ class InputEdgePrometheus(BaseModel):
|
|
|
457
457
|
] = InputEdgePrometheusRecordType.SRV
|
|
458
458
|
r"""DNS Record type to resolve"""
|
|
459
459
|
|
|
460
|
-
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
461
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
462
|
-
|
|
463
|
-
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
464
|
-
r"""List of DNS names to resolve"""
|
|
465
|
-
|
|
466
460
|
scrape_protocol: Annotated[
|
|
467
461
|
Annotated[
|
|
468
462
|
Optional[ScrapeProtocolProtocol], PlainValidator(validate_open_enum(False))
|
|
@@ -476,29 +470,27 @@ class InputEdgePrometheus(BaseModel):
|
|
|
476
470
|
)
|
|
477
471
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
478
472
|
|
|
479
|
-
aws_authentication_method: Annotated[
|
|
480
|
-
Annotated[
|
|
481
|
-
Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
482
|
-
PlainValidator(validate_open_enum(False)),
|
|
483
|
-
],
|
|
484
|
-
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
485
|
-
] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
486
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
487
|
-
|
|
488
|
-
aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
|
|
489
|
-
|
|
490
|
-
aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
|
|
491
|
-
r"""Select or create a stored secret that references your access key and secret key"""
|
|
492
|
-
|
|
493
473
|
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
494
474
|
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
495
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
|
+
|
|
496
479
|
search_filter: Annotated[
|
|
497
480
|
Optional[List[InputEdgePrometheusSearchFilter]],
|
|
498
481
|
pydantic.Field(alias="searchFilter"),
|
|
499
482
|
] = None
|
|
500
483
|
r"""EC2 Instance Search Filter"""
|
|
501
484
|
|
|
485
|
+
aws_authentication_method: Annotated[
|
|
486
|
+
Annotated[
|
|
487
|
+
Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
488
|
+
PlainValidator(validate_open_enum(False)),
|
|
489
|
+
],
|
|
490
|
+
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
491
|
+
] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
492
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
493
|
+
|
|
502
494
|
aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
|
|
503
495
|
None
|
|
504
496
|
)
|