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.

Files changed (98) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/models/__init__.py +3 -99
  4. cribl_control_plane/models/createconfiggroupbyproductop.py +2 -2
  5. cribl_control_plane/models/input.py +14 -14
  6. cribl_control_plane/models/inputappscope.py +16 -20
  7. cribl_control_plane/models/inputconfluentcloud.py +0 -110
  8. cribl_control_plane/models/inputcriblhttp.py +16 -20
  9. cribl_control_plane/models/inputcribllakehttp.py +16 -20
  10. cribl_control_plane/models/inputcribltcp.py +16 -20
  11. cribl_control_plane/models/inputdatadogagent.py +16 -20
  12. cribl_control_plane/models/inputedgeprometheus.py +36 -44
  13. cribl_control_plane/models/inputelastic.py +27 -44
  14. cribl_control_plane/models/inputeventhub.py +0 -118
  15. cribl_control_plane/models/inputfirehose.py +16 -20
  16. cribl_control_plane/models/inputgrafana.py +31 -39
  17. cribl_control_plane/models/inputhttp.py +16 -20
  18. cribl_control_plane/models/inputhttpraw.py +16 -20
  19. cribl_control_plane/models/inputkafka.py +0 -108
  20. cribl_control_plane/models/inputloki.py +16 -20
  21. cribl_control_plane/models/inputmetrics.py +16 -20
  22. cribl_control_plane/models/inputmodeldriventelemetry.py +16 -20
  23. cribl_control_plane/models/inputopentelemetry.py +15 -19
  24. cribl_control_plane/models/inputprometheus.py +36 -44
  25. cribl_control_plane/models/inputprometheusrw.py +16 -20
  26. cribl_control_plane/models/inputsplunk.py +16 -20
  27. cribl_control_plane/models/inputsplunkhec.py +15 -19
  28. cribl_control_plane/models/inputsyslog.py +31 -39
  29. cribl_control_plane/models/inputsystemmetrics.py +10 -20
  30. cribl_control_plane/models/inputtcp.py +16 -30
  31. cribl_control_plane/models/inputtcpjson.py +16 -20
  32. cribl_control_plane/models/inputwindowsmetrics.py +10 -20
  33. cribl_control_plane/models/inputwineventlogs.py +0 -14
  34. cribl_control_plane/models/inputwizwebhook.py +16 -20
  35. cribl_control_plane/models/inputzscalerhec.py +15 -19
  36. cribl_control_plane/models/output.py +22 -22
  37. cribl_control_plane/models/outputazureblob.py +0 -7
  38. cribl_control_plane/models/outputazuredataexplorer.py +93 -283
  39. cribl_control_plane/models/outputazureeventhub.py +21 -169
  40. cribl_control_plane/models/outputazurelogs.py +21 -49
  41. cribl_control_plane/models/outputchronicle.py +21 -49
  42. cribl_control_plane/models/outputclickhouse.py +21 -49
  43. cribl_control_plane/models/outputcloudwatch.py +21 -49
  44. cribl_control_plane/models/outputconfluentcloud.py +22 -167
  45. cribl_control_plane/models/outputcriblhttp.py +21 -49
  46. cribl_control_plane/models/outputcribltcp.py +21 -49
  47. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +22 -50
  48. cribl_control_plane/models/outputdatabricks.py +0 -7
  49. cribl_control_plane/models/outputdatadog.py +21 -49
  50. cribl_control_plane/models/outputdataset.py +21 -49
  51. cribl_control_plane/models/outputdls3.py +0 -7
  52. cribl_control_plane/models/outputdynatracehttp.py +21 -49
  53. cribl_control_plane/models/outputdynatraceotlp.py +21 -49
  54. cribl_control_plane/models/outputelastic.py +21 -74
  55. cribl_control_plane/models/outputelasticcloud.py +21 -74
  56. cribl_control_plane/models/outputfilesystem.py +0 -7
  57. cribl_control_plane/models/outputgooglechronicle.py +22 -65
  58. cribl_control_plane/models/outputgooglecloudlogging.py +22 -50
  59. cribl_control_plane/models/outputgooglecloudstorage.py +0 -7
  60. cribl_control_plane/models/outputgooglepubsub.py +21 -49
  61. cribl_control_plane/models/outputgrafanacloud.py +42 -98
  62. cribl_control_plane/models/outputgraphite.py +21 -49
  63. cribl_control_plane/models/outputhoneycomb.py +21 -49
  64. cribl_control_plane/models/outputhumiohec.py +21 -49
  65. cribl_control_plane/models/outputinfluxdb.py +21 -49
  66. cribl_control_plane/models/outputkafka.py +19 -162
  67. cribl_control_plane/models/outputkinesis.py +21 -56
  68. cribl_control_plane/models/outputloki.py +19 -47
  69. cribl_control_plane/models/outputminio.py +0 -7
  70. cribl_control_plane/models/outputmsk.py +19 -54
  71. cribl_control_plane/models/outputnewrelic.py +21 -49
  72. cribl_control_plane/models/outputnewrelicevents.py +22 -50
  73. cribl_control_plane/models/outputopentelemetry.py +21 -49
  74. cribl_control_plane/models/outputprometheus.py +21 -49
  75. cribl_control_plane/models/outputs3.py +0 -7
  76. cribl_control_plane/models/outputsentinel.py +21 -49
  77. cribl_control_plane/models/outputsentineloneaisiem.py +22 -50
  78. cribl_control_plane/models/outputservicenow.py +21 -49
  79. cribl_control_plane/models/outputsignalfx.py +21 -49
  80. cribl_control_plane/models/outputsns.py +19 -47
  81. cribl_control_plane/models/outputsplunk.py +21 -49
  82. cribl_control_plane/models/outputsplunkhec.py +21 -49
  83. cribl_control_plane/models/outputsplunklb.py +21 -49
  84. cribl_control_plane/models/outputsqs.py +19 -47
  85. cribl_control_plane/models/outputstatsd.py +21 -49
  86. cribl_control_plane/models/outputstatsdext.py +21 -49
  87. cribl_control_plane/models/outputsumologic.py +21 -49
  88. cribl_control_plane/models/outputsyslog.py +99 -129
  89. cribl_control_plane/models/outputtcpjson.py +21 -49
  90. cribl_control_plane/models/outputwavefront.py +21 -49
  91. cribl_control_plane/models/outputwebhook.py +21 -49
  92. cribl_control_plane/models/outputxsiam.py +19 -47
  93. cribl_control_plane/models/runnablejobcollection.py +8 -12
  94. cribl_control_plane/models/runnablejobexecutor.py +8 -12
  95. cribl_control_plane/models/runnablejobscheduledsearch.py +8 -12
  96. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.dist-info}/METADATA +1 -1
  97. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.dist-info}/RECORD +98 -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
  )