cribl-control-plane 0.2.1rc6__py3-none-any.whl → 0.2.1rc7__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 (154) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/models/__init__.py +114 -4
  4. cribl_control_plane/models/cacheconnection.py +20 -0
  5. cribl_control_plane/models/configgroup.py +20 -1
  6. cribl_control_plane/models/configgroupcloud.py +11 -1
  7. cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
  8. cribl_control_plane/models/cribllakedataset.py +11 -1
  9. cribl_control_plane/models/cribllakedatasetupdate.py +11 -1
  10. cribl_control_plane/models/datasetmetadata.py +11 -1
  11. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  12. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  13. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  15. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getsummaryop.py +11 -0
  17. cribl_control_plane/models/groupcreaterequest.py +20 -1
  18. cribl_control_plane/models/hbcriblinfo.py +11 -1
  19. cribl_control_plane/models/healthserverstatus.py +20 -1
  20. cribl_control_plane/models/input.py +15 -15
  21. cribl_control_plane/models/inputappscope.py +76 -17
  22. cribl_control_plane/models/inputazureblob.py +29 -1
  23. cribl_control_plane/models/inputcollection.py +20 -1
  24. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  25. cribl_control_plane/models/inputcribl.py +20 -1
  26. cribl_control_plane/models/inputcriblhttp.py +58 -17
  27. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  28. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  29. cribl_control_plane/models/inputcribltcp.py +58 -17
  30. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  31. cribl_control_plane/models/inputdatadogagent.py +58 -17
  32. cribl_control_plane/models/inputdatagen.py +20 -1
  33. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  34. cribl_control_plane/models/inputelastic.py +108 -27
  35. cribl_control_plane/models/inputeventhub.py +176 -1
  36. cribl_control_plane/models/inputexec.py +29 -1
  37. cribl_control_plane/models/inputfile.py +36 -3
  38. cribl_control_plane/models/inputfirehose.py +58 -17
  39. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  40. cribl_control_plane/models/inputgrafana.py +149 -32
  41. cribl_control_plane/models/inputhttp.py +58 -17
  42. cribl_control_plane/models/inputhttpraw.py +58 -17
  43. cribl_control_plane/models/inputjournalfiles.py +20 -1
  44. cribl_control_plane/models/inputkafka.py +182 -1
  45. cribl_control_plane/models/inputkinesis.py +65 -1
  46. cribl_control_plane/models/inputkubeevents.py +20 -1
  47. cribl_control_plane/models/inputkubelogs.py +29 -1
  48. cribl_control_plane/models/inputkubemetrics.py +29 -1
  49. cribl_control_plane/models/inputloki.py +67 -17
  50. cribl_control_plane/models/inputmetrics.py +58 -17
  51. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  52. cribl_control_plane/models/inputmsk.py +74 -1
  53. cribl_control_plane/models/inputnetflow.py +20 -1
  54. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  55. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  56. cribl_control_plane/models/inputoffice365service.py +56 -1
  57. cribl_control_plane/models/inputopentelemetry.py +84 -16
  58. cribl_control_plane/models/inputprometheus.py +131 -37
  59. cribl_control_plane/models/inputprometheusrw.py +67 -17
  60. cribl_control_plane/models/inputrawudp.py +20 -1
  61. cribl_control_plane/models/inputs3.py +38 -1
  62. cribl_control_plane/models/inputs3inventory.py +47 -1
  63. cribl_control_plane/models/inputsecuritylake.py +47 -1
  64. cribl_control_plane/models/inputsnmp.py +29 -1
  65. cribl_control_plane/models/inputsplunk.py +76 -17
  66. cribl_control_plane/models/inputsplunkhec.py +66 -16
  67. cribl_control_plane/models/inputsplunksearch.py +56 -1
  68. cribl_control_plane/models/inputsqs.py +47 -1
  69. cribl_control_plane/models/inputsyslog.py +113 -32
  70. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  71. cribl_control_plane/models/inputsystemstate.py +29 -1
  72. cribl_control_plane/models/inputtcp.py +77 -17
  73. cribl_control_plane/models/inputtcpjson.py +67 -17
  74. cribl_control_plane/models/inputwef.py +65 -1
  75. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  76. cribl_control_plane/models/inputwineventlogs.py +52 -1
  77. cribl_control_plane/models/inputwiz.py +38 -1
  78. cribl_control_plane/models/inputwizwebhook.py +58 -17
  79. cribl_control_plane/models/inputzscalerhec.py +66 -16
  80. cribl_control_plane/models/jobstatus.py +34 -3
  81. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  82. cribl_control_plane/models/masterworkerentry.py +11 -1
  83. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  84. cribl_control_plane/models/output.py +21 -21
  85. cribl_control_plane/models/outputazureblob.py +90 -1
  86. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  87. cribl_control_plane/models/outputazureeventhub.py +267 -22
  88. cribl_control_plane/models/outputazurelogs.py +105 -22
  89. cribl_control_plane/models/outputchronicle.py +105 -22
  90. cribl_control_plane/models/outputclickhouse.py +141 -22
  91. cribl_control_plane/models/outputcloudwatch.py +96 -22
  92. cribl_control_plane/models/outputconfluentcloud.py +290 -23
  93. cribl_control_plane/models/outputcriblhttp.py +123 -22
  94. cribl_control_plane/models/outputcribllake.py +76 -1
  95. cribl_control_plane/models/outputcribltcp.py +123 -22
  96. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  97. cribl_control_plane/models/outputdatabricks.py +72 -1
  98. cribl_control_plane/models/outputdatadog.py +132 -22
  99. cribl_control_plane/models/outputdataset.py +123 -22
  100. cribl_control_plane/models/outputdiskspool.py +11 -1
  101. cribl_control_plane/models/outputdls3.py +117 -1
  102. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  103. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  104. cribl_control_plane/models/outputelastic.py +148 -22
  105. cribl_control_plane/models/outputelasticcloud.py +130 -22
  106. cribl_control_plane/models/outputexabeam.py +47 -1
  107. cribl_control_plane/models/outputfilesystem.py +72 -1
  108. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  109. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  110. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  111. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  112. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  113. cribl_control_plane/models/outputgraphite.py +96 -22
  114. cribl_control_plane/models/outputhoneycomb.py +105 -22
  115. cribl_control_plane/models/outputhumiohec.py +114 -22
  116. cribl_control_plane/models/outputinfluxdb.py +114 -22
  117. cribl_control_plane/models/outputkafka.py +281 -20
  118. cribl_control_plane/models/outputkinesis.py +121 -22
  119. cribl_control_plane/models/outputloki.py +112 -20
  120. cribl_control_plane/models/outputminio.py +117 -1
  121. cribl_control_plane/models/outputmsk.py +173 -20
  122. cribl_control_plane/models/outputnewrelic.py +123 -22
  123. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  124. cribl_control_plane/models/outputopentelemetry.py +159 -22
  125. cribl_control_plane/models/outputprometheus.py +105 -22
  126. cribl_control_plane/models/outputring.py +29 -1
  127. cribl_control_plane/models/outputs3.py +117 -1
  128. cribl_control_plane/models/outputsecuritylake.py +85 -1
  129. cribl_control_plane/models/outputsentinel.py +123 -22
  130. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  131. cribl_control_plane/models/outputservicenow.py +150 -22
  132. cribl_control_plane/models/outputsignalfx.py +105 -22
  133. cribl_control_plane/models/outputsns.py +103 -20
  134. cribl_control_plane/models/outputsplunk.py +141 -22
  135. cribl_control_plane/models/outputsplunkhec.py +198 -22
  136. cribl_control_plane/models/outputsplunklb.py +170 -22
  137. cribl_control_plane/models/outputsqs.py +112 -20
  138. cribl_control_plane/models/outputstatsd.py +96 -22
  139. cribl_control_plane/models/outputstatsdext.py +96 -22
  140. cribl_control_plane/models/outputsumologic.py +105 -22
  141. cribl_control_plane/models/outputsyslog.py +238 -99
  142. cribl_control_plane/models/outputtcpjson.py +132 -22
  143. cribl_control_plane/models/outputwavefront.py +105 -22
  144. cribl_control_plane/models/outputwebhook.py +141 -22
  145. cribl_control_plane/models/outputxsiam.py +103 -20
  146. cribl_control_plane/models/resourcepolicy.py +11 -0
  147. cribl_control_plane/models/runnablejobcollection.py +68 -9
  148. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  149. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  150. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  151. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  152. {cribl_control_plane-0.2.1rc6.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/METADATA +1 -1
  153. {cribl_control_plane-0.2.1rc6.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/RECORD +154 -154
  154. {cribl_control_plane-0.2.1rc6.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/WHEEL +0 -0
@@ -1,11 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from cribl_control_plane import utils
4
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,33 @@ class InputEventhubPq(BaseModel):
106
107
  Optional[InputEventhubPqControls], 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.InputEventhubMode(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.InputEventhubCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class InputEventhubAuthTypeAuthenticationMethod(
130
+ str, Enum, metaclass=utils.OpenEnumMeta
131
+ ):
132
+ r"""Enter password directly, or select a stored secret"""
133
+
134
+ MANUAL = "manual"
135
+ SECRET = "secret"
136
+
109
137
 
110
138
  class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
111
139
  # PLAIN
@@ -114,11 +142,57 @@ class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
114
142
  OAUTHBEARER = "oauthbearer"
115
143
 
116
144
 
145
+ class InputEventhubClientSecretAuthTypeAuthenticationMethod(
146
+ str, Enum, metaclass=utils.OpenEnumMeta
147
+ ):
148
+ MANUAL = "manual"
149
+ SECRET = "secret"
150
+ CERTIFICATE = "certificate"
151
+
152
+
153
+ class InputEventhubMicrosoftEntraIDAuthenticationEndpoint(
154
+ str, Enum, metaclass=utils.OpenEnumMeta
155
+ ):
156
+ r"""Endpoint used to acquire authentication tokens from Azure"""
157
+
158
+ HTTPS_LOGIN_MICROSOFTONLINE_COM = "https://login.microsoftonline.com"
159
+ HTTPS_LOGIN_MICROSOFTONLINE_US = "https://login.microsoftonline.us"
160
+ HTTPS_LOGIN_PARTNER_MICROSOFTONLINE_CN = "https://login.partner.microsoftonline.cn"
161
+
162
+
117
163
  class InputEventhubAuthenticationTypedDict(TypedDict):
118
164
  r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
119
165
 
120
166
  disabled: NotRequired[bool]
167
+ auth_type: NotRequired[InputEventhubAuthTypeAuthenticationMethod]
168
+ r"""Enter password directly, or select a stored secret"""
169
+ password: NotRequired[str]
170
+ r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
171
+ text_secret: NotRequired[str]
172
+ r"""Select or create a stored text secret"""
121
173
  mechanism: NotRequired[InputEventhubSASLMechanism]
174
+ username: NotRequired[str]
175
+ r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
176
+ client_secret_auth_type: NotRequired[
177
+ InputEventhubClientSecretAuthTypeAuthenticationMethod
178
+ ]
179
+ client_secret: NotRequired[str]
180
+ r"""client_secret to pass in the OAuth request parameter"""
181
+ client_text_secret: NotRequired[str]
182
+ r"""Select or create a stored text secret"""
183
+ certificate_name: NotRequired[str]
184
+ r"""Select or create a stored certificate"""
185
+ cert_path: NotRequired[str]
186
+ priv_key_path: NotRequired[str]
187
+ passphrase: NotRequired[str]
188
+ oauth_endpoint: NotRequired[InputEventhubMicrosoftEntraIDAuthenticationEndpoint]
189
+ r"""Endpoint used to acquire authentication tokens from Azure"""
190
+ client_id: NotRequired[str]
191
+ r"""client_id to pass in the OAuth request parameter"""
192
+ tenant_id: NotRequired[str]
193
+ r"""Directory ID (tenant identifier) in Azure Active Directory"""
194
+ scope: NotRequired[str]
195
+ r"""Scope to pass in the OAuth request parameter"""
122
196
 
123
197
 
124
198
  class InputEventhubAuthentication(BaseModel):
@@ -126,10 +200,111 @@ class InputEventhubAuthentication(BaseModel):
126
200
 
127
201
  disabled: Optional[bool] = False
128
202
 
203
+ auth_type: Annotated[
204
+ Annotated[
205
+ Optional[InputEventhubAuthTypeAuthenticationMethod],
206
+ PlainValidator(validate_open_enum(False)),
207
+ ],
208
+ pydantic.Field(alias="authType"),
209
+ ] = InputEventhubAuthTypeAuthenticationMethod.MANUAL
210
+ r"""Enter password directly, or select a stored secret"""
211
+
212
+ password: Optional[str] = None
213
+ r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
214
+
215
+ text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
216
+ r"""Select or create a stored text secret"""
217
+
129
218
  mechanism: Annotated[
130
219
  Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
131
220
  ] = InputEventhubSASLMechanism.PLAIN
132
221
 
222
+ username: Optional[str] = "$ConnectionString"
223
+ r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
224
+
225
+ client_secret_auth_type: Annotated[
226
+ Annotated[
227
+ Optional[InputEventhubClientSecretAuthTypeAuthenticationMethod],
228
+ PlainValidator(validate_open_enum(False)),
229
+ ],
230
+ pydantic.Field(alias="clientSecretAuthType"),
231
+ ] = InputEventhubClientSecretAuthTypeAuthenticationMethod.MANUAL
232
+
233
+ client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None
234
+ r"""client_secret to pass in the OAuth request parameter"""
235
+
236
+ client_text_secret: Annotated[
237
+ Optional[str], pydantic.Field(alias="clientTextSecret")
238
+ ] = None
239
+ r"""Select or create a stored text secret"""
240
+
241
+ certificate_name: Annotated[
242
+ Optional[str], pydantic.Field(alias="certificateName")
243
+ ] = None
244
+ r"""Select or create a stored certificate"""
245
+
246
+ cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
247
+
248
+ priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
249
+
250
+ passphrase: Optional[str] = None
251
+
252
+ oauth_endpoint: Annotated[
253
+ Annotated[
254
+ Optional[InputEventhubMicrosoftEntraIDAuthenticationEndpoint],
255
+ PlainValidator(validate_open_enum(False)),
256
+ ],
257
+ pydantic.Field(alias="oauthEndpoint"),
258
+ ] = InputEventhubMicrosoftEntraIDAuthenticationEndpoint.HTTPS_LOGIN_MICROSOFTONLINE_COM
259
+ r"""Endpoint used to acquire authentication tokens from Azure"""
260
+
261
+ client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
262
+ r"""client_id to pass in the OAuth request parameter"""
263
+
264
+ tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None
265
+ r"""Directory ID (tenant identifier) in Azure Active Directory"""
266
+
267
+ scope: Optional[str] = None
268
+ r"""Scope to pass in the OAuth request parameter"""
269
+
270
+ @field_serializer("auth_type")
271
+ def serialize_auth_type(self, value):
272
+ if isinstance(value, str):
273
+ try:
274
+ return models.InputEventhubAuthTypeAuthenticationMethod(value)
275
+ except ValueError:
276
+ return value
277
+ return value
278
+
279
+ @field_serializer("mechanism")
280
+ def serialize_mechanism(self, value):
281
+ if isinstance(value, str):
282
+ try:
283
+ return models.InputEventhubSASLMechanism(value)
284
+ except ValueError:
285
+ return value
286
+ return value
287
+
288
+ @field_serializer("client_secret_auth_type")
289
+ def serialize_client_secret_auth_type(self, value):
290
+ if isinstance(value, str):
291
+ try:
292
+ return models.InputEventhubClientSecretAuthTypeAuthenticationMethod(
293
+ value
294
+ )
295
+ except ValueError:
296
+ return value
297
+ return value
298
+
299
+ @field_serializer("oauth_endpoint")
300
+ def serialize_oauth_endpoint(self, value):
301
+ if isinstance(value, str):
302
+ try:
303
+ return models.InputEventhubMicrosoftEntraIDAuthenticationEndpoint(value)
304
+ except ValueError:
305
+ return value
306
+ return value
307
+
133
308
 
134
309
  class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
135
310
  disabled: NotRequired[bool]
@@ -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 InputExecPq(BaseModel):
106
107
  Optional[InputExecPqControls], 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.InputExecMode(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.InputExecCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class ScheduleType(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
@@ -228,3 +247,12 @@ class InputExec(BaseModel):
228
247
  "* * * * *"
229
248
  )
230
249
  r"""Cron schedule to execute the command on."""
250
+
251
+ @field_serializer("schedule_type")
252
+ def serialize_schedule_type(self, value):
253
+ if isinstance(value, str):
254
+ try:
255
+ return models.ScheduleType(value)
256
+ except ValueError:
257
+ return value
258
+ 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 InputFilePq(BaseModel):
106
107
  Optional[InputFilePqControls], 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.InputFilePqMode(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.InputFileCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputFileMode(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""Choose how to discover files to monitor"""
@@ -157,8 +176,10 @@ class InputFileTypedDict(TypedDict):
157
176
  r"""Read only new entries at the end of all files discovered at next startup. @{product} will then read newly discovered files from the head. Disable this to resume reading all files from head."""
158
177
  idle_timeout: NotRequired[float]
159
178
  r"""Time, in seconds, before an idle file is closed"""
179
+ min_age_dur: NotRequired[str]
180
+ r"""The minimum age of files to monitor. Format examples: 30s, 15m, 1h. Age is relative to file modification time. Leave empty to apply no age filters."""
160
181
  max_age_dur: NotRequired[str]
161
- r"""The maximum age of files to monitor. Format examples: 60s, 4h, 3d, 1w. Age is relative to file modification time. Leave empty to apply no age filters."""
182
+ r"""The maximum age of event timestamps to collect. Format examples: 60s, 4h, 3d, 1w. Can be used in conjuction with \"Check file modification times\". Leave empty to apply no age filters."""
162
183
  check_file_mod_time: NotRequired[bool]
163
184
  r"""Skip files with modification times earlier than the maximum age duration"""
164
185
  force_text: NotRequired[bool]
@@ -230,8 +251,11 @@ class InputFile(BaseModel):
230
251
  idle_timeout: Annotated[Optional[float], pydantic.Field(alias="idleTimeout")] = 300
231
252
  r"""Time, in seconds, before an idle file is closed"""
232
253
 
254
+ min_age_dur: Annotated[Optional[str], pydantic.Field(alias="minAgeDur")] = None
255
+ r"""The minimum age of files to monitor. Format examples: 30s, 15m, 1h. Age is relative to file modification time. Leave empty to apply no age filters."""
256
+
233
257
  max_age_dur: Annotated[Optional[str], pydantic.Field(alias="maxAgeDur")] = None
234
- r"""The maximum age of files to monitor. Format examples: 60s, 4h, 3d, 1w. Age is relative to file modification time. Leave empty to apply no age filters."""
258
+ r"""The maximum age of event timestamps to collect. Format examples: 60s, 4h, 3d, 1w. Can be used in conjuction with \"Check file modification times\". Leave empty to apply no age filters."""
235
259
 
236
260
  check_file_mod_time: Annotated[
237
261
  Optional[bool], pydantic.Field(alias="checkFileModTime")
@@ -276,3 +300,12 @@ class InputFile(BaseModel):
276
300
  Optional[bool], pydantic.Field(alias="includeUnidentifiableBinary")
277
301
  ] = False
278
302
  r"""Stream binary files as Base64-encoded chunks."""
303
+
304
+ @field_serializer("mode")
305
+ def serialize_mode(self, value):
306
+ if isinstance(value, str):
307
+ try:
308
+ return models.InputFileMode(value)
309
+ except ValueError:
310
+ return value
311
+ return value
@@ -1,13 +1,14 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from cribl_control_plane import utils
4
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
- from typing import 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 InputFirehosePq(BaseModel):
106
107
  Optional[InputFirehosePqControls], 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.InputFirehoseMode(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.InputFirehoseCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputFirehoseMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputFirehoseMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputFirehoseTLSSettingsServerSideTypedDict(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 InputFirehoseTLSSettingsServerSideTypedDict(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[InputFirehoseMinimumTLSVersion]
141
162
  max_version: NotRequired[InputFirehoseMaximumTLSVersion]
142
163
 
@@ -144,6 +165,19 @@ class InputFirehoseTLSSettingsServerSideTypedDict(TypedDict):
144
165
  class InputFirehoseTLSSettingsServerSide(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 InputFirehoseTLSSettingsServerSide(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[InputFirehoseMinimumTLSVersion],
@@ -188,6 +211,24 @@ class InputFirehoseTLSSettingsServerSide(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.InputFirehoseMinimumTLSVersion(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.InputFirehoseMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputFirehoseMetadatumTypedDict(TypedDict):
193
234
  name: str
@@ -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 InputGooglePubsubPq(BaseModel):
107
108
  Optional[InputGooglePubsubPqControls], 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.InputGooglePubsubMode(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.InputGooglePubsubCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class InputGooglePubsubGoogleAuthenticationMethod(
112
131
  str, Enum, metaclass=utils.OpenEnumMeta
@@ -272,3 +291,12 @@ class InputGooglePubsub(BaseModel):
272
291
  Optional[bool], pydantic.Field(alias="orderedDelivery")
273
292
  ] = False
274
293
  r"""Receive events in the order they were added to the queue. The process sending events must have ordering enabled."""
294
+
295
+ @field_serializer("google_auth_method")
296
+ def serialize_google_auth_method(self, value):
297
+ if isinstance(value, str):
298
+ try:
299
+ return models.InputGooglePubsubGoogleAuthenticationMethod(value)
300
+ except ValueError:
301
+ return value
302
+ return value