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.

Files changed (158) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/lakedatasets.py +28 -0
  4. cribl_control_plane/models/__init__.py +124 -5
  5. cribl_control_plane/models/cacheconnection.py +20 -0
  6. cribl_control_plane/models/configgroup.py +20 -1
  7. cribl_control_plane/models/configgroupcloud.py +11 -1
  8. cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
  9. cribl_control_plane/models/cribllakedataset.py +15 -1
  10. cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
  11. cribl_control_plane/models/datasetmetadata.py +11 -1
  12. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  13. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  15. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  17. cribl_control_plane/models/getsummaryop.py +11 -0
  18. cribl_control_plane/models/groupcreaterequest.py +20 -1
  19. cribl_control_plane/models/hbcriblinfo.py +11 -1
  20. cribl_control_plane/models/healthserverstatus.py +20 -1
  21. cribl_control_plane/models/input.py +15 -15
  22. cribl_control_plane/models/inputappscope.py +76 -17
  23. cribl_control_plane/models/inputazureblob.py +29 -1
  24. cribl_control_plane/models/inputcollection.py +20 -1
  25. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  26. cribl_control_plane/models/inputcribl.py +20 -1
  27. cribl_control_plane/models/inputcriblhttp.py +58 -17
  28. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  29. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  30. cribl_control_plane/models/inputcribltcp.py +58 -17
  31. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  32. cribl_control_plane/models/inputdatadogagent.py +58 -17
  33. cribl_control_plane/models/inputdatagen.py +20 -1
  34. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  35. cribl_control_plane/models/inputelastic.py +108 -27
  36. cribl_control_plane/models/inputeventhub.py +176 -1
  37. cribl_control_plane/models/inputexec.py +29 -1
  38. cribl_control_plane/models/inputfile.py +40 -7
  39. cribl_control_plane/models/inputfirehose.py +58 -17
  40. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  41. cribl_control_plane/models/inputgrafana.py +149 -32
  42. cribl_control_plane/models/inputhttp.py +58 -17
  43. cribl_control_plane/models/inputhttpraw.py +58 -17
  44. cribl_control_plane/models/inputjournalfiles.py +20 -1
  45. cribl_control_plane/models/inputkafka.py +182 -1
  46. cribl_control_plane/models/inputkinesis.py +65 -1
  47. cribl_control_plane/models/inputkubeevents.py +20 -1
  48. cribl_control_plane/models/inputkubelogs.py +29 -1
  49. cribl_control_plane/models/inputkubemetrics.py +29 -1
  50. cribl_control_plane/models/inputloki.py +67 -17
  51. cribl_control_plane/models/inputmetrics.py +58 -17
  52. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  53. cribl_control_plane/models/inputmsk.py +74 -1
  54. cribl_control_plane/models/inputnetflow.py +20 -1
  55. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  56. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  57. cribl_control_plane/models/inputoffice365service.py +56 -1
  58. cribl_control_plane/models/inputopentelemetry.py +84 -16
  59. cribl_control_plane/models/inputprometheus.py +131 -37
  60. cribl_control_plane/models/inputprometheusrw.py +67 -17
  61. cribl_control_plane/models/inputrawudp.py +20 -1
  62. cribl_control_plane/models/inputs3.py +38 -1
  63. cribl_control_plane/models/inputs3inventory.py +47 -1
  64. cribl_control_plane/models/inputsecuritylake.py +47 -1
  65. cribl_control_plane/models/inputsnmp.py +29 -1
  66. cribl_control_plane/models/inputsplunk.py +76 -17
  67. cribl_control_plane/models/inputsplunkhec.py +66 -16
  68. cribl_control_plane/models/inputsplunksearch.py +56 -1
  69. cribl_control_plane/models/inputsqs.py +47 -1
  70. cribl_control_plane/models/inputsyslog.py +113 -32
  71. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  72. cribl_control_plane/models/inputsystemstate.py +29 -1
  73. cribl_control_plane/models/inputtcp.py +77 -17
  74. cribl_control_plane/models/inputtcpjson.py +67 -17
  75. cribl_control_plane/models/inputwef.py +65 -1
  76. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  77. cribl_control_plane/models/inputwineventlogs.py +52 -1
  78. cribl_control_plane/models/inputwiz.py +38 -1
  79. cribl_control_plane/models/inputwizwebhook.py +58 -17
  80. cribl_control_plane/models/inputzscalerhec.py +66 -16
  81. cribl_control_plane/models/jobinfo.py +10 -4
  82. cribl_control_plane/models/jobstatus.py +34 -3
  83. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  84. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  85. cribl_control_plane/models/masterworkerentry.py +11 -1
  86. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  87. cribl_control_plane/models/output.py +21 -21
  88. cribl_control_plane/models/outputazureblob.py +90 -1
  89. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  90. cribl_control_plane/models/outputazureeventhub.py +267 -22
  91. cribl_control_plane/models/outputazurelogs.py +105 -22
  92. cribl_control_plane/models/outputchronicle.py +105 -22
  93. cribl_control_plane/models/outputclickhouse.py +141 -22
  94. cribl_control_plane/models/outputcloudwatch.py +96 -22
  95. cribl_control_plane/models/outputconfluentcloud.py +292 -23
  96. cribl_control_plane/models/outputcriblhttp.py +123 -22
  97. cribl_control_plane/models/outputcribllake.py +76 -1
  98. cribl_control_plane/models/outputcribltcp.py +123 -22
  99. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  100. cribl_control_plane/models/outputdatabricks.py +76 -5
  101. cribl_control_plane/models/outputdatadog.py +132 -22
  102. cribl_control_plane/models/outputdataset.py +123 -22
  103. cribl_control_plane/models/outputdiskspool.py +11 -1
  104. cribl_control_plane/models/outputdls3.py +117 -1
  105. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  106. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  107. cribl_control_plane/models/outputelastic.py +148 -22
  108. cribl_control_plane/models/outputelasticcloud.py +130 -22
  109. cribl_control_plane/models/outputexabeam.py +47 -1
  110. cribl_control_plane/models/outputfilesystem.py +72 -1
  111. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  112. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  113. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  114. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  115. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  116. cribl_control_plane/models/outputgraphite.py +96 -22
  117. cribl_control_plane/models/outputhoneycomb.py +105 -22
  118. cribl_control_plane/models/outputhumiohec.py +114 -22
  119. cribl_control_plane/models/outputinfluxdb.py +114 -22
  120. cribl_control_plane/models/outputkafka.py +283 -20
  121. cribl_control_plane/models/outputkinesis.py +121 -22
  122. cribl_control_plane/models/outputloki.py +112 -20
  123. cribl_control_plane/models/outputminio.py +117 -1
  124. cribl_control_plane/models/outputmsk.py +175 -20
  125. cribl_control_plane/models/outputnewrelic.py +123 -22
  126. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  127. cribl_control_plane/models/outputopentelemetry.py +159 -22
  128. cribl_control_plane/models/outputprometheus.py +105 -22
  129. cribl_control_plane/models/outputring.py +29 -1
  130. cribl_control_plane/models/outputs3.py +117 -1
  131. cribl_control_plane/models/outputsecuritylake.py +85 -1
  132. cribl_control_plane/models/outputsentinel.py +123 -22
  133. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  134. cribl_control_plane/models/outputservicenow.py +150 -22
  135. cribl_control_plane/models/outputsignalfx.py +105 -22
  136. cribl_control_plane/models/outputsns.py +103 -20
  137. cribl_control_plane/models/outputsplunk.py +141 -22
  138. cribl_control_plane/models/outputsplunkhec.py +198 -22
  139. cribl_control_plane/models/outputsplunklb.py +170 -22
  140. cribl_control_plane/models/outputsqs.py +112 -20
  141. cribl_control_plane/models/outputstatsd.py +96 -22
  142. cribl_control_plane/models/outputstatsdext.py +96 -22
  143. cribl_control_plane/models/outputsumologic.py +105 -22
  144. cribl_control_plane/models/outputsyslog.py +238 -99
  145. cribl_control_plane/models/outputtcpjson.py +132 -22
  146. cribl_control_plane/models/outputwavefront.py +105 -22
  147. cribl_control_plane/models/outputwebhook.py +141 -22
  148. cribl_control_plane/models/outputxsiam.py +103 -20
  149. cribl_control_plane/models/resourcepolicy.py +11 -0
  150. cribl_control_plane/models/runnablejobcollection.py +68 -9
  151. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  155. cribl_control_plane/sdk.py +2 -2
  156. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
  157. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
  158. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
@@ -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 Any, List, Optional
11
+ from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
12
13
 
13
14
 
@@ -106,6 +107,24 @@ class InputTcpjsonPq(BaseModel):
106
107
  Optional[InputTcpjsonPqControls], 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.InputTcpjsonMode(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.InputTcpjsonCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputTcpjsonMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputTcpjsonMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputTcpjsonTLSSettingsServerSideTypedDict(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 InputTcpjsonTLSSettingsServerSideTypedDict(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[InputTcpjsonMinimumTLSVersion]
141
162
  max_version: NotRequired[InputTcpjsonMaximumTLSVersion]
142
163
 
@@ -144,6 +165,19 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
144
165
  class InputTcpjsonTLSSettingsServerSide(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 InputTcpjsonTLSSettingsServerSide(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[InputTcpjsonMinimumTLSVersion],
@@ -188,6 +211,24 @@ class InputTcpjsonTLSSettingsServerSide(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.InputTcpjsonMinimumTLSVersion(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.InputTcpjsonMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputTcpjsonMetadatumTypedDict(TypedDict):
193
234
  name: str
@@ -349,3 +390,12 @@ class InputTcpjson(BaseModel):
349
390
 
350
391
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
351
392
  r"""Select or create a stored text secret"""
393
+
394
+ @field_serializer("auth_type")
395
+ def serialize_auth_type(self, value):
396
+ if isinstance(value, str):
397
+ try:
398
+ return models.InputTcpjsonAuthenticationMethod(value)
399
+ except ValueError:
400
+ return value
401
+ return value
@@ -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 Any, List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputWefPq(BaseModel):
106
107
  Optional[InputWefPqControls], 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.InputWefMode(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.InputWefCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputWefAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""How to authenticate incoming client connections"""
@@ -221,6 +240,24 @@ class MTLSSettings(BaseModel):
221
240
  ] = False
222
241
  r"""If enabled, checks will fail on any OCSP error. Otherwise, checks will fail only when a certificate is revoked, ignoring other errors."""
223
242
 
243
+ @field_serializer("min_version")
244
+ def serialize_min_version(self, value):
245
+ if isinstance(value, str):
246
+ try:
247
+ return models.InputWefMinimumTLSVersion(value)
248
+ except ValueError:
249
+ return value
250
+ return value
251
+
252
+ @field_serializer("max_version")
253
+ def serialize_max_version(self, value):
254
+ if isinstance(value, str):
255
+ try:
256
+ return models.InputWefMaximumTLSVersion(value)
257
+ except ValueError:
258
+ return value
259
+ return value
260
+
224
261
 
225
262
  class InputWefFormat(str, Enum, metaclass=utils.OpenEnumMeta):
226
263
  r"""Content format in which the endpoint should deliver events"""
@@ -321,6 +358,24 @@ class Subscription(BaseModel):
321
358
  metadata: Optional[List[SubscriptionMetadatum]] = None
322
359
  r"""Fields to add to events ingested under this subscription"""
323
360
 
361
+ @field_serializer("content_format")
362
+ def serialize_content_format(self, value):
363
+ if isinstance(value, str):
364
+ try:
365
+ return models.InputWefFormat(value)
366
+ except ValueError:
367
+ return value
368
+ return value
369
+
370
+ @field_serializer("query_selector")
371
+ def serialize_query_selector(self, value):
372
+ if isinstance(value, str):
373
+ try:
374
+ return models.QueryBuilderMode(value)
375
+ except ValueError:
376
+ return value
377
+ return value
378
+
324
379
 
325
380
  class InputWefMetadatumTypedDict(TypedDict):
326
381
  name: str
@@ -515,3 +570,12 @@ class InputWef(BaseModel):
515
570
  Optional[bool], pydantic.Field(alias="logFingerprintMismatch")
516
571
  ] = False
517
572
  r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder."""
573
+
574
+ @field_serializer("auth_method")
575
+ def serialize_auth_method(self, value):
576
+ if isinstance(value, str):
577
+ try:
578
+ return models.InputWefAuthenticationMethod(value)
579
+ except ValueError:
580
+ return value
581
+ return value
@@ -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 InputWindowsMetricsPq(BaseModel):
107
108
  Optional[InputWindowsMetricsPqControls], 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.InputWindowsMetricsPqMode(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.InputWindowsMetricsCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  r"""Select level of detail for host metrics"""
@@ -151,6 +170,15 @@ class InputWindowsMetricsSystem(BaseModel):
151
170
  detail: Optional[bool] = False
152
171
  r"""Generate metrics for all system information"""
153
172
 
173
+ @field_serializer("mode")
174
+ def serialize_mode(self, value):
175
+ if isinstance(value, str):
176
+ try:
177
+ return models.InputWindowsMetricsSystemMode(value)
178
+ except ValueError:
179
+ return value
180
+ return value
181
+
154
182
 
155
183
  class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
156
184
  r"""Select the level of details for CPU metrics"""
@@ -191,6 +219,15 @@ class InputWindowsMetricsCPU(BaseModel):
191
219
  time: Optional[bool] = False
192
220
  r"""Generate raw, monotonic CPU time counters"""
193
221
 
222
+ @field_serializer("mode")
223
+ def serialize_mode(self, value):
224
+ if isinstance(value, str):
225
+ try:
226
+ return models.InputWindowsMetricsCPUMode(value)
227
+ except ValueError:
228
+ return value
229
+ return value
230
+
194
231
 
195
232
  class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
196
233
  r"""Select the level of details for memory metrics"""
@@ -222,6 +259,15 @@ class InputWindowsMetricsMemory(BaseModel):
222
259
  detail: Optional[bool] = False
223
260
  r"""Generate metrics for all memory states"""
224
261
 
262
+ @field_serializer("mode")
263
+ def serialize_mode(self, value):
264
+ if isinstance(value, str):
265
+ try:
266
+ return models.InputWindowsMetricsMemoryMode(value)
267
+ except ValueError:
268
+ return value
269
+ return value
270
+
225
271
 
226
272
  class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
227
273
  r"""Select the level of details for network metrics"""
@@ -239,12 +285,14 @@ class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
239
285
  class InputWindowsMetricsNetworkTypedDict(TypedDict):
240
286
  mode: NotRequired[InputWindowsMetricsNetworkMode]
241
287
  r"""Select the level of details for network metrics"""
288
+ detail: NotRequired[bool]
289
+ r"""Generate full network metrics"""
290
+ protocols: NotRequired[bool]
291
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
242
292
  devices: NotRequired[List[str]]
243
293
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
244
294
  per_interface: NotRequired[bool]
245
295
  r"""Generate separate metrics for each interface"""
246
- detail: NotRequired[bool]
247
- r"""Generate full network metrics"""
248
296
 
249
297
 
250
298
  class InputWindowsMetricsNetwork(BaseModel):
@@ -254,6 +302,12 @@ class InputWindowsMetricsNetwork(BaseModel):
254
302
  ] = InputWindowsMetricsNetworkMode.BASIC
255
303
  r"""Select the level of details for network metrics"""
256
304
 
305
+ detail: Optional[bool] = False
306
+ r"""Generate full network metrics"""
307
+
308
+ protocols: Optional[bool] = False
309
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
310
+
257
311
  devices: Optional[List[str]] = None
258
312
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
259
313
 
@@ -262,8 +316,14 @@ class InputWindowsMetricsNetwork(BaseModel):
262
316
  )
263
317
  r"""Generate separate metrics for each interface"""
264
318
 
265
- detail: Optional[bool] = False
266
- r"""Generate full network metrics"""
319
+ @field_serializer("mode")
320
+ def serialize_mode(self, value):
321
+ if isinstance(value, str):
322
+ try:
323
+ return models.InputWindowsMetricsNetworkMode(value)
324
+ except ValueError:
325
+ return value
326
+ return value
267
327
 
268
328
 
269
329
  class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
@@ -282,10 +342,12 @@ class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
282
342
  class InputWindowsMetricsDiskTypedDict(TypedDict):
283
343
  mode: NotRequired[InputWindowsMetricsDiskMode]
284
344
  r"""Select the level of details for disk metrics"""
285
- volumes: NotRequired[List[str]]
286
- r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
287
345
  per_volume: NotRequired[bool]
288
346
  r"""Generate separate metrics for each volume"""
347
+ detail: NotRequired[bool]
348
+ r"""Generate full disk metrics"""
349
+ volumes: NotRequired[List[str]]
350
+ r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
289
351
 
290
352
 
291
353
  class InputWindowsMetricsDisk(BaseModel):
@@ -294,11 +356,23 @@ class InputWindowsMetricsDisk(BaseModel):
294
356
  ] = InputWindowsMetricsDiskMode.BASIC
295
357
  r"""Select the level of details for disk metrics"""
296
358
 
359
+ per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
360
+ r"""Generate separate metrics for each volume"""
361
+
362
+ detail: Optional[bool] = False
363
+ r"""Generate full disk metrics"""
364
+
297
365
  volumes: Optional[List[str]] = None
298
366
  r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
299
367
 
300
- per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
301
- r"""Generate separate metrics for each volume"""
368
+ @field_serializer("mode")
369
+ def serialize_mode(self, value):
370
+ if isinstance(value, str):
371
+ try:
372
+ return models.InputWindowsMetricsDiskMode(value)
373
+ except ValueError:
374
+ return value
375
+ return value
302
376
 
303
377
 
304
378
  class InputWindowsMetricsCustomTypedDict(TypedDict):
@@ -335,6 +409,15 @@ class InputWindowsMetricsHost(BaseModel):
335
409
 
336
410
  custom: Optional[InputWindowsMetricsCustom] = None
337
411
 
412
+ @field_serializer("mode")
413
+ def serialize_mode(self, value):
414
+ if isinstance(value, str):
415
+ try:
416
+ return models.InputWindowsMetricsHostMode(value)
417
+ except ValueError:
418
+ return value
419
+ return value
420
+
338
421
 
339
422
  class InputWindowsMetricsSetTypedDict(TypedDict):
340
423
  name: str
@@ -417,6 +500,15 @@ class InputWindowsMetricsPersistence(BaseModel):
417
500
  )
418
501
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/windows_metrics"""
419
502
 
503
+ @field_serializer("compress")
504
+ def serialize_compress(self, value):
505
+ if isinstance(value, str):
506
+ try:
507
+ return models.InputWindowsMetricsDataCompressionFormat(value)
508
+ except ValueError:
509
+ return value
510
+ return value
511
+
420
512
 
421
513
  class InputWindowsMetricsTypedDict(TypedDict):
422
514
  type: InputWindowsMetricsType
@@ -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 InputWinEventLogsPq(BaseModel):
107
108
  Optional[InputWinEventLogsPqControls], 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.InputWinEventLogsMode(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.InputWinEventLogsCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class ReadMode(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  r"""Read all stored and future event logs, or only future events"""
@@ -174,6 +193,10 @@ class InputWinEventLogsTypedDict(TypedDict):
174
193
  max_event_bytes: NotRequired[float]
175
194
  r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
176
195
  description: NotRequired[str]
196
+ disable_json_rendering: NotRequired[bool]
197
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
198
+ disable_xml_rendering: NotRequired[bool]
199
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
177
200
 
178
201
 
179
202
  class InputWinEventLogs(BaseModel):
@@ -241,3 +264,31 @@ class InputWinEventLogs(BaseModel):
241
264
  r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
242
265
 
243
266
  description: Optional[str] = None
267
+
268
+ disable_json_rendering: Annotated[
269
+ Optional[bool], pydantic.Field(alias="disableJsonRendering")
270
+ ] = False
271
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
272
+
273
+ disable_xml_rendering: Annotated[
274
+ Optional[bool], pydantic.Field(alias="disableXmlRendering")
275
+ ] = True
276
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
277
+
278
+ @field_serializer("read_mode")
279
+ def serialize_read_mode(self, value):
280
+ if isinstance(value, str):
281
+ try:
282
+ return models.ReadMode(value)
283
+ except ValueError:
284
+ return value
285
+ return value
286
+
287
+ @field_serializer("event_format")
288
+ def serialize_event_format(self, value):
289
+ if isinstance(value, str):
290
+ try:
291
+ return models.EventFormat(value)
292
+ except ValueError:
293
+ return value
294
+ return value
@@ -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
@@ -106,6 +107,24 @@ class InputWizPq(BaseModel):
106
107
  Optional[InputWizPqControls], 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.InputWizMode(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.InputWizCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputWizContentConfigTypedDict(TypedDict):
111
130
  content_type: str
@@ -201,6 +220,15 @@ class InputWizRetryRules(BaseModel):
201
220
  ] = False
202
221
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
203
222
 
223
+ @field_serializer("type")
224
+ def serialize_type(self, value):
225
+ if isinstance(value, str):
226
+ try:
227
+ return models.InputWizRetryType(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
204
232
 
205
233
  class InputWizAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
206
234
  r"""Enter client secret directly, or select a stored secret"""
@@ -352,3 +380,12 @@ class InputWiz(BaseModel):
352
380
 
353
381
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
354
382
  r"""Select or create a stored text secret"""
383
+
384
+ @field_serializer("auth_type")
385
+ def serialize_auth_type(self, value):
386
+ if isinstance(value, str):
387
+ try:
388
+ return models.InputWizAuthenticationMethod(value)
389
+ except ValueError:
390
+ return value
391
+ return value