cribl-control-plane 0.0.15__py3-none-any.whl → 0.0.17__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 (144) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/{outputs.py → destinations.py} +69 -71
  3. cribl_control_plane/errors/healthstatus_error.py +2 -8
  4. cribl_control_plane/models/__init__.py +5347 -115
  5. cribl_control_plane/models/createinputop.py +18216 -2
  6. cribl_control_plane/models/createoutputop.py +18417 -4
  7. cribl_control_plane/models/createoutputtestbyidop.py +2 -2
  8. cribl_control_plane/models/deleteoutputbyidop.py +2 -2
  9. cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
  10. cribl_control_plane/models/getoutputbyidop.py +2 -2
  11. cribl_control_plane/models/getoutputpqbyidop.py +2 -2
  12. cribl_control_plane/models/getoutputsamplesbyidop.py +2 -2
  13. cribl_control_plane/models/healthstatus.py +4 -7
  14. cribl_control_plane/models/inputappscope.py +16 -36
  15. cribl_control_plane/models/inputazureblob.py +8 -19
  16. cribl_control_plane/models/inputcollection.py +6 -15
  17. cribl_control_plane/models/inputconfluentcloud.py +22 -45
  18. cribl_control_plane/models/inputcribl.py +6 -13
  19. cribl_control_plane/models/inputcriblhttp.py +12 -27
  20. cribl_control_plane/models/inputcribllakehttp.py +14 -26
  21. cribl_control_plane/models/inputcriblmetrics.py +6 -14
  22. cribl_control_plane/models/inputcribltcp.py +12 -27
  23. cribl_control_plane/models/inputcrowdstrike.py +12 -28
  24. cribl_control_plane/models/inputdatadogagent.py +12 -28
  25. cribl_control_plane/models/inputdatagen.py +6 -13
  26. cribl_control_plane/models/inputedgeprometheus.py +33 -64
  27. cribl_control_plane/models/inputelastic.py +18 -44
  28. cribl_control_plane/models/inputeventhub.py +10 -19
  29. cribl_control_plane/models/inputexec.py +8 -16
  30. cribl_control_plane/models/inputfile.py +8 -17
  31. cribl_control_plane/models/inputfirehose.py +12 -27
  32. cribl_control_plane/models/inputgooglepubsub.py +10 -23
  33. cribl_control_plane/models/inputgrafana_union.py +39 -81
  34. cribl_control_plane/models/inputhttp.py +12 -27
  35. cribl_control_plane/models/inputhttpraw.py +12 -27
  36. cribl_control_plane/models/inputjournalfiles.py +8 -16
  37. cribl_control_plane/models/inputkafka.py +18 -45
  38. cribl_control_plane/models/inputkinesis.py +18 -42
  39. cribl_control_plane/models/inputkubeevents.py +6 -13
  40. cribl_control_plane/models/inputkubelogs.py +10 -18
  41. cribl_control_plane/models/inputkubemetrics.py +10 -18
  42. cribl_control_plane/models/inputloki.py +14 -33
  43. cribl_control_plane/models/inputmetrics.py +10 -25
  44. cribl_control_plane/models/inputmodeldriventelemetry.py +14 -33
  45. cribl_control_plane/models/inputmsk.py +20 -52
  46. cribl_control_plane/models/inputnetflow.py +8 -15
  47. cribl_control_plane/models/inputoffice365mgmt.py +18 -37
  48. cribl_control_plane/models/inputoffice365msgtrace.py +20 -41
  49. cribl_control_plane/models/inputoffice365service.py +20 -41
  50. cribl_control_plane/models/inputopentelemetry.py +20 -42
  51. cribl_control_plane/models/inputprometheus.py +22 -54
  52. cribl_control_plane/models/inputprometheusrw.py +14 -34
  53. cribl_control_plane/models/inputrawudp.py +8 -15
  54. cribl_control_plane/models/inputs3.py +10 -23
  55. cribl_control_plane/models/inputs3inventory.py +12 -28
  56. cribl_control_plane/models/inputsecuritylake.py +12 -29
  57. cribl_control_plane/models/inputsnmp.py +10 -20
  58. cribl_control_plane/models/inputsplunk.py +16 -37
  59. cribl_control_plane/models/inputsplunkhec.py +14 -33
  60. cribl_control_plane/models/inputsplunksearch.py +18 -37
  61. cribl_control_plane/models/inputsqs.py +14 -31
  62. cribl_control_plane/models/inputsyslog_union.py +29 -53
  63. cribl_control_plane/models/inputsystemmetrics.py +26 -50
  64. cribl_control_plane/models/inputsystemstate.py +10 -18
  65. cribl_control_plane/models/inputtcp.py +14 -33
  66. cribl_control_plane/models/inputtcpjson.py +14 -33
  67. cribl_control_plane/models/inputwef.py +22 -45
  68. cribl_control_plane/models/inputwindowsmetrics.py +26 -46
  69. cribl_control_plane/models/inputwineventlogs.py +12 -22
  70. cribl_control_plane/models/inputwiz.py +12 -25
  71. cribl_control_plane/models/inputzscalerhec.py +14 -33
  72. cribl_control_plane/models/listoutputop.py +2 -2
  73. cribl_control_plane/models/output.py +3 -6
  74. cribl_control_plane/models/outputazureblob.py +20 -52
  75. cribl_control_plane/models/outputazuredataexplorer.py +30 -77
  76. cribl_control_plane/models/outputazureeventhub.py +20 -44
  77. cribl_control_plane/models/outputazurelogs.py +14 -37
  78. cribl_control_plane/models/outputclickhouse.py +22 -59
  79. cribl_control_plane/models/outputcloudwatch.py +12 -33
  80. cribl_control_plane/models/outputconfluentcloud.py +32 -75
  81. cribl_control_plane/models/outputcriblhttp.py +18 -46
  82. cribl_control_plane/models/outputcribllake.py +18 -48
  83. cribl_control_plane/models/outputcribltcp.py +20 -47
  84. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
  85. cribl_control_plane/models/outputdatadog.py +22 -50
  86. cribl_control_plane/models/outputdataset.py +20 -48
  87. cribl_control_plane/models/outputdefault.py +2 -5
  88. cribl_control_plane/models/outputdevnull.py +2 -5
  89. cribl_control_plane/models/outputdiskspool.py +4 -9
  90. cribl_control_plane/models/outputdls3.py +26 -72
  91. cribl_control_plane/models/outputdynatracehttp.py +22 -57
  92. cribl_control_plane/models/outputdynatraceotlp.py +24 -59
  93. cribl_control_plane/models/outputelastic.py +20 -45
  94. cribl_control_plane/models/outputelasticcloud.py +14 -40
  95. cribl_control_plane/models/outputexabeam.py +12 -33
  96. cribl_control_plane/models/outputfilesystem.py +16 -41
  97. cribl_control_plane/models/outputgooglechronicle.py +18 -54
  98. cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
  99. cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
  100. cribl_control_plane/models/outputgooglepubsub.py +16 -39
  101. cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
  102. cribl_control_plane/models/outputgraphite.py +16 -35
  103. cribl_control_plane/models/outputhoneycomb.py +14 -37
  104. cribl_control_plane/models/outputhumiohec.py +18 -47
  105. cribl_control_plane/models/outputinfluxdb.py +18 -44
  106. cribl_control_plane/models/outputkafka.py +28 -73
  107. cribl_control_plane/models/outputkinesis.py +18 -44
  108. cribl_control_plane/models/outputloki.py +18 -43
  109. cribl_control_plane/models/outputminio.py +26 -69
  110. cribl_control_plane/models/outputmsk.py +30 -81
  111. cribl_control_plane/models/outputnetflow.py +2 -5
  112. cribl_control_plane/models/outputnewrelic.py +20 -45
  113. cribl_control_plane/models/outputnewrelicevents.py +16 -45
  114. cribl_control_plane/models/outputopentelemetry.py +28 -69
  115. cribl_control_plane/models/outputprometheus.py +14 -37
  116. cribl_control_plane/models/outputring.py +10 -21
  117. cribl_control_plane/models/outputrouter.py +2 -5
  118. cribl_control_plane/models/outputs3.py +28 -72
  119. cribl_control_plane/models/outputsecuritylake.py +20 -56
  120. cribl_control_plane/models/outputsentinel.py +20 -49
  121. cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
  122. cribl_control_plane/models/outputservicenow.py +26 -64
  123. cribl_control_plane/models/outputsignalfx.py +16 -39
  124. cribl_control_plane/models/outputsnmp.py +2 -5
  125. cribl_control_plane/models/outputsns.py +16 -40
  126. cribl_control_plane/models/outputsplunk.py +26 -64
  127. cribl_control_plane/models/outputsplunkhec.py +14 -37
  128. cribl_control_plane/models/outputsplunklb.py +36 -83
  129. cribl_control_plane/models/outputsqs.py +18 -45
  130. cribl_control_plane/models/outputstatsd.py +16 -34
  131. cribl_control_plane/models/outputstatsdext.py +14 -33
  132. cribl_control_plane/models/outputsumologic.py +14 -37
  133. cribl_control_plane/models/outputsyslog.py +26 -60
  134. cribl_control_plane/models/outputtcpjson.py +22 -54
  135. cribl_control_plane/models/outputwavefront.py +14 -37
  136. cribl_control_plane/models/outputwebhook.py +24 -60
  137. cribl_control_plane/models/outputxsiam.py +16 -37
  138. cribl_control_plane/models/updateoutputbyidop.py +4 -4
  139. cribl_control_plane/sdk.py +3 -5
  140. cribl_control_plane/sources.py +8 -10
  141. {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/METADATA +13 -13
  142. cribl_control_plane-0.0.17.dist-info/RECORD +215 -0
  143. cribl_control_plane-0.0.15.dist-info/RECORD +0 -215
  144. {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/WHEEL +0 -0
@@ -1,17 +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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class InputOffice365MgmtType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputOffice365MgmtType(str, Enum):
15
12
  OFFICE365_MGMT = "office365_mgmt"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputOffice365MgmtConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputOffice365MgmtMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputOffice365MgmtMode(str, Enum):
30
27
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
28
 
32
29
  SMART = "smart"
33
30
  ALWAYS = "always"
34
31
 
35
32
 
36
- class InputOffice365MgmtCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputOffice365MgmtCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputOffice365MgmtPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputOffice365MgmtPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputOffice365MgmtMode], PlainValidator(validate_open_enum(False))
63
- ] = InputOffice365MgmtMode.ALWAYS
58
+ mode: Optional[InputOffice365MgmtMode] = InputOffice365MgmtMode.ALWAYS
64
59
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
60
 
66
61
  max_buffer_size: Annotated[
@@ -84,14 +79,13 @@ class InputOffice365MgmtPq(BaseModel):
84
79
  path: Optional[str] = "$CRIBL_HOME/state/queues"
85
80
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
81
 
87
- compress: Annotated[
88
- Optional[InputOffice365MgmtCompression],
89
- PlainValidator(validate_open_enum(False)),
90
- ] = InputOffice365MgmtCompression.NONE
82
+ compress: Optional[InputOffice365MgmtCompression] = (
83
+ InputOffice365MgmtCompression.NONE
84
+ )
91
85
  r"""Codec to use to compress the persisted data"""
92
86
 
93
87
 
94
- class InputOffice365MgmtSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
88
+ class InputOffice365MgmtSubscriptionPlan(str, Enum):
95
89
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
96
90
 
97
91
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -113,7 +107,7 @@ class InputOffice365MgmtMetadatum(BaseModel):
113
107
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
114
108
 
115
109
 
116
- class InputOffice365MgmtLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
110
+ class InputOffice365MgmtLogLevel(str, Enum):
117
111
  r"""Collector runtime Log Level"""
118
112
 
119
113
  ERROR = "error"
@@ -143,18 +137,14 @@ class InputOffice365MgmtContentConfig(BaseModel):
143
137
  interval: Optional[float] = None
144
138
 
145
139
  log_level: Annotated[
146
- Annotated[
147
- Optional[InputOffice365MgmtLogLevel],
148
- PlainValidator(validate_open_enum(False)),
149
- ],
150
- pydantic.Field(alias="logLevel"),
140
+ Optional[InputOffice365MgmtLogLevel], pydantic.Field(alias="logLevel")
151
141
  ] = None
152
142
  r"""Collector runtime Log Level"""
153
143
 
154
144
  enabled: Optional[bool] = None
155
145
 
156
146
 
157
- class InputOffice365MgmtRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
147
+ class InputOffice365MgmtRetryType(str, Enum):
158
148
  r"""The algorithm to use when performing HTTP retries"""
159
149
 
160
150
  NONE = "none"
@@ -182,9 +172,7 @@ class InputOffice365MgmtRetryRulesTypedDict(TypedDict):
182
172
 
183
173
 
184
174
  class InputOffice365MgmtRetryRules(BaseModel):
185
- type: Annotated[
186
- Optional[InputOffice365MgmtRetryType], PlainValidator(validate_open_enum(False))
187
- ] = InputOffice365MgmtRetryType.BACKOFF
175
+ type: Optional[InputOffice365MgmtRetryType] = InputOffice365MgmtRetryType.BACKOFF
188
176
  r"""The algorithm to use when performing HTTP retries"""
189
177
 
190
178
  interval: Optional[float] = 1000
@@ -215,7 +203,7 @@ class InputOffice365MgmtRetryRules(BaseModel):
215
203
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
216
204
 
217
205
 
218
- class InputOffice365MgmtAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
206
+ class InputOffice365MgmtAuthenticationMethod(str, Enum):
219
207
  r"""Enter client secret directly, or select a stored secret"""
220
208
 
221
209
  MANUAL = "manual"
@@ -223,13 +211,13 @@ class InputOffice365MgmtAuthenticationMethod(str, Enum, metaclass=utils.OpenEnum
223
211
 
224
212
 
225
213
  class InputOffice365MgmtTypedDict(TypedDict):
226
- type: InputOffice365MgmtType
227
214
  tenant_id: str
228
215
  r"""Office 365 Azure Tenant ID"""
229
216
  app_id: str
230
217
  r"""Office 365 Azure Application ID"""
231
218
  id: NotRequired[str]
232
219
  r"""Unique ID for this input"""
220
+ type: NotRequired[InputOffice365MgmtType]
233
221
  disabled: NotRequired[bool]
234
222
  pipeline: NotRequired[str]
235
223
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -277,8 +265,6 @@ class InputOffice365MgmtTypedDict(TypedDict):
277
265
 
278
266
 
279
267
  class InputOffice365Mgmt(BaseModel):
280
- type: Annotated[InputOffice365MgmtType, PlainValidator(validate_open_enum(False))]
281
-
282
268
  tenant_id: Annotated[str, pydantic.Field(alias="tenantId")]
283
269
  r"""Office 365 Azure Tenant ID"""
284
270
 
@@ -288,6 +274,8 @@ class InputOffice365Mgmt(BaseModel):
288
274
  id: Optional[str] = None
289
275
  r"""Unique ID for this input"""
290
276
 
277
+ type: Optional[InputOffice365MgmtType] = None
278
+
291
279
  disabled: Optional[bool] = False
292
280
 
293
281
  pipeline: Optional[str] = None
@@ -313,11 +301,7 @@ class InputOffice365Mgmt(BaseModel):
313
301
  pq: Optional[InputOffice365MgmtPq] = None
314
302
 
315
303
  plan_type: Annotated[
316
- Annotated[
317
- Optional[InputOffice365MgmtSubscriptionPlan],
318
- PlainValidator(validate_open_enum(False)),
319
- ],
320
- pydantic.Field(alias="planType"),
304
+ Optional[InputOffice365MgmtSubscriptionPlan], pydantic.Field(alias="planType")
321
305
  ] = InputOffice365MgmtSubscriptionPlan.ENTERPRISE_GCC
322
306
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
323
307
 
@@ -367,10 +351,7 @@ class InputOffice365Mgmt(BaseModel):
367
351
  ] = None
368
352
 
369
353
  auth_type: Annotated[
370
- Annotated[
371
- Optional[InputOffice365MgmtAuthenticationMethod],
372
- PlainValidator(validate_open_enum(False)),
373
- ],
354
+ Optional[InputOffice365MgmtAuthenticationMethod],
374
355
  pydantic.Field(alias="authType"),
375
356
  ] = InputOffice365MgmtAuthenticationMethod.MANUAL
376
357
  r"""Enter client secret directly, or select a stored secret"""
@@ -1,17 +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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class InputOffice365MsgTraceType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputOffice365MsgTraceType(str, Enum):
15
12
  OFFICE365_MSG_TRACE = "office365_msg_trace"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputOffice365MsgTraceConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputOffice365MsgTraceMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputOffice365MsgTraceMode(str, Enum):
30
27
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
28
 
32
29
  SMART = "smart"
33
30
  ALWAYS = "always"
34
31
 
35
32
 
36
- class InputOffice365MsgTraceCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputOffice365MsgTraceCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputOffice365MsgTracePqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputOffice365MsgTracePq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputOffice365MsgTraceMode], PlainValidator(validate_open_enum(False))
63
- ] = InputOffice365MsgTraceMode.ALWAYS
58
+ mode: Optional[InputOffice365MsgTraceMode] = InputOffice365MsgTraceMode.ALWAYS
64
59
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
60
 
66
61
  max_buffer_size: Annotated[
@@ -84,16 +79,13 @@ class InputOffice365MsgTracePq(BaseModel):
84
79
  path: Optional[str] = "$CRIBL_HOME/state/queues"
85
80
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
81
 
87
- compress: Annotated[
88
- Optional[InputOffice365MsgTraceCompression],
89
- PlainValidator(validate_open_enum(False)),
90
- ] = InputOffice365MsgTraceCompression.NONE
82
+ compress: Optional[InputOffice365MsgTraceCompression] = (
83
+ InputOffice365MsgTraceCompression.NONE
84
+ )
91
85
  r"""Codec to use to compress the persisted data"""
92
86
 
93
87
 
94
- class InputOffice365MsgTraceAuthenticationMethod(
95
- str, Enum, metaclass=utils.OpenEnumMeta
96
- ):
88
+ class InputOffice365MsgTraceAuthenticationMethod(str, Enum):
97
89
  r"""Select authentication method."""
98
90
 
99
91
  MANUAL = "manual"
@@ -103,7 +95,7 @@ class InputOffice365MsgTraceAuthenticationMethod(
103
95
  OAUTH_CERT = "oauthCert"
104
96
 
105
97
 
106
- class InputOffice365MsgTraceLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
98
+ class InputOffice365MsgTraceLogLevel(str, Enum):
107
99
  r"""Log Level (verbosity) for collection runtime behavior."""
108
100
 
109
101
  ERROR = "error"
@@ -126,7 +118,7 @@ class InputOffice365MsgTraceMetadatum(BaseModel):
126
118
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
127
119
 
128
120
 
129
- class InputOffice365MsgTraceRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
121
+ class InputOffice365MsgTraceRetryType(str, Enum):
130
122
  r"""The algorithm to use when performing HTTP retries"""
131
123
 
132
124
  NONE = "none"
@@ -154,10 +146,9 @@ class InputOffice365MsgTraceRetryRulesTypedDict(TypedDict):
154
146
 
155
147
 
156
148
  class InputOffice365MsgTraceRetryRules(BaseModel):
157
- type: Annotated[
158
- Optional[InputOffice365MsgTraceRetryType],
159
- PlainValidator(validate_open_enum(False)),
160
- ] = InputOffice365MsgTraceRetryType.BACKOFF
149
+ type: Optional[InputOffice365MsgTraceRetryType] = (
150
+ InputOffice365MsgTraceRetryType.BACKOFF
151
+ )
161
152
  r"""The algorithm to use when performing HTTP retries"""
162
153
 
163
154
  interval: Optional[float] = 1000
@@ -188,7 +179,7 @@ class InputOffice365MsgTraceRetryRules(BaseModel):
188
179
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
189
180
 
190
181
 
191
- class InputOffice365MsgTraceSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
182
+ class InputOffice365MsgTraceSubscriptionPlan(str, Enum):
192
183
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
193
184
 
194
185
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -225,9 +216,9 @@ class CertOptions(BaseModel):
225
216
 
226
217
 
227
218
  class InputOffice365MsgTraceTypedDict(TypedDict):
228
- type: InputOffice365MsgTraceType
229
219
  id: NotRequired[str]
230
220
  r"""Unique ID for this input"""
221
+ type: NotRequired[InputOffice365MsgTraceType]
231
222
  disabled: NotRequired[bool]
232
223
  pipeline: NotRequired[str]
233
224
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -298,13 +289,11 @@ class InputOffice365MsgTraceTypedDict(TypedDict):
298
289
 
299
290
 
300
291
  class InputOffice365MsgTrace(BaseModel):
301
- type: Annotated[
302
- InputOffice365MsgTraceType, PlainValidator(validate_open_enum(False))
303
- ]
304
-
305
292
  id: Optional[str] = None
306
293
  r"""Unique ID for this input"""
307
294
 
295
+ type: Optional[InputOffice365MsgTraceType] = None
296
+
308
297
  disabled: Optional[bool] = False
309
298
 
310
299
  pipeline: Optional[str] = None
@@ -352,10 +341,7 @@ class InputOffice365MsgTrace(BaseModel):
352
341
  r"""Disables time filtering of events when a date range is specified."""
353
342
 
354
343
  auth_type: Annotated[
355
- Annotated[
356
- Optional[InputOffice365MsgTraceAuthenticationMethod],
357
- PlainValidator(validate_open_enum(False)),
358
- ],
344
+ Optional[InputOffice365MsgTraceAuthenticationMethod],
359
345
  pydantic.Field(alias="authType"),
360
346
  ] = InputOffice365MsgTraceAuthenticationMethod.OAUTH
361
347
  r"""Select authentication method."""
@@ -371,11 +357,7 @@ class InputOffice365MsgTrace(BaseModel):
371
357
  r"""Maximum number of times a task can be rescheduled"""
372
358
 
373
359
  log_level: Annotated[
374
- Annotated[
375
- Optional[InputOffice365MsgTraceLogLevel],
376
- PlainValidator(validate_open_enum(False)),
377
- ],
378
- pydantic.Field(alias="logLevel"),
360
+ Optional[InputOffice365MsgTraceLogLevel], pydantic.Field(alias="logLevel")
379
361
  ] = InputOffice365MsgTraceLogLevel.INFO
380
362
  r"""Log Level (verbosity) for collection runtime behavior."""
381
363
 
@@ -433,10 +415,7 @@ class InputOffice365MsgTrace(BaseModel):
433
415
  r"""Resource to pass in the OAuth request parameter."""
434
416
 
435
417
  plan_type: Annotated[
436
- Annotated[
437
- Optional[InputOffice365MsgTraceSubscriptionPlan],
438
- PlainValidator(validate_open_enum(False)),
439
- ],
418
+ Optional[InputOffice365MsgTraceSubscriptionPlan],
440
419
  pydantic.Field(alias="planType"),
441
420
  ] = InputOffice365MsgTraceSubscriptionPlan.ENTERPRISE_GCC
442
421
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
@@ -1,17 +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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class InputOffice365ServiceType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputOffice365ServiceType(str, Enum):
15
12
  OFFICE365_SERVICE = "office365_service"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputOffice365ServiceConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputOffice365ServiceMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputOffice365ServiceMode(str, Enum):
30
27
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
28
 
32
29
  SMART = "smart"
33
30
  ALWAYS = "always"
34
31
 
35
32
 
36
- class InputOffice365ServiceCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputOffice365ServiceCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputOffice365ServicePqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputOffice365ServicePq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputOffice365ServiceMode], PlainValidator(validate_open_enum(False))
63
- ] = InputOffice365ServiceMode.ALWAYS
58
+ mode: Optional[InputOffice365ServiceMode] = InputOffice365ServiceMode.ALWAYS
64
59
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
60
 
66
61
  max_buffer_size: Annotated[
@@ -84,14 +79,13 @@ class InputOffice365ServicePq(BaseModel):
84
79
  path: Optional[str] = "$CRIBL_HOME/state/queues"
85
80
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
81
 
87
- compress: Annotated[
88
- Optional[InputOffice365ServiceCompression],
89
- PlainValidator(validate_open_enum(False)),
90
- ] = InputOffice365ServiceCompression.NONE
82
+ compress: Optional[InputOffice365ServiceCompression] = (
83
+ InputOffice365ServiceCompression.NONE
84
+ )
91
85
  r"""Codec to use to compress the persisted data"""
92
86
 
93
87
 
94
- class InputOffice365ServiceSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
88
+ class InputOffice365ServiceSubscriptionPlan(str, Enum):
95
89
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
96
90
 
97
91
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -113,7 +107,7 @@ class InputOffice365ServiceMetadatum(BaseModel):
113
107
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
114
108
 
115
109
 
116
- class InputOffice365ServiceLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
110
+ class InputOffice365ServiceLogLevel(str, Enum):
117
111
  r"""Collector runtime Log Level"""
118
112
 
119
113
  ERROR = "error"
@@ -143,18 +137,14 @@ class InputOffice365ServiceContentConfig(BaseModel):
143
137
  interval: Optional[float] = None
144
138
 
145
139
  log_level: Annotated[
146
- Annotated[
147
- Optional[InputOffice365ServiceLogLevel],
148
- PlainValidator(validate_open_enum(False)),
149
- ],
150
- pydantic.Field(alias="logLevel"),
140
+ Optional[InputOffice365ServiceLogLevel], pydantic.Field(alias="logLevel")
151
141
  ] = None
152
142
  r"""Collector runtime Log Level"""
153
143
 
154
144
  enabled: Optional[bool] = None
155
145
 
156
146
 
157
- class InputOffice365ServiceRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
147
+ class InputOffice365ServiceRetryType(str, Enum):
158
148
  r"""The algorithm to use when performing HTTP retries"""
159
149
 
160
150
  NONE = "none"
@@ -182,10 +172,9 @@ class InputOffice365ServiceRetryRulesTypedDict(TypedDict):
182
172
 
183
173
 
184
174
  class InputOffice365ServiceRetryRules(BaseModel):
185
- type: Annotated[
186
- Optional[InputOffice365ServiceRetryType],
187
- PlainValidator(validate_open_enum(False)),
188
- ] = InputOffice365ServiceRetryType.BACKOFF
175
+ type: Optional[InputOffice365ServiceRetryType] = (
176
+ InputOffice365ServiceRetryType.BACKOFF
177
+ )
189
178
  r"""The algorithm to use when performing HTTP retries"""
190
179
 
191
180
  interval: Optional[float] = 1000
@@ -216,9 +205,7 @@ class InputOffice365ServiceRetryRules(BaseModel):
216
205
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
217
206
 
218
207
 
219
- class InputOffice365ServiceAuthenticationMethod(
220
- str, Enum, metaclass=utils.OpenEnumMeta
221
- ):
208
+ class InputOffice365ServiceAuthenticationMethod(str, Enum):
222
209
  r"""Enter client secret directly, or select a stored secret"""
223
210
 
224
211
  MANUAL = "manual"
@@ -226,13 +213,13 @@ class InputOffice365ServiceAuthenticationMethod(
226
213
 
227
214
 
228
215
  class InputOffice365ServiceTypedDict(TypedDict):
229
- type: InputOffice365ServiceType
230
216
  tenant_id: str
231
217
  r"""Office 365 Azure Tenant ID"""
232
218
  app_id: str
233
219
  r"""Office 365 Azure Application ID"""
234
220
  id: NotRequired[str]
235
221
  r"""Unique ID for this input"""
222
+ type: NotRequired[InputOffice365ServiceType]
236
223
  disabled: NotRequired[bool]
237
224
  pipeline: NotRequired[str]
238
225
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -276,10 +263,6 @@ class InputOffice365ServiceTypedDict(TypedDict):
276
263
 
277
264
 
278
265
  class InputOffice365Service(BaseModel):
279
- type: Annotated[
280
- InputOffice365ServiceType, PlainValidator(validate_open_enum(False))
281
- ]
282
-
283
266
  tenant_id: Annotated[str, pydantic.Field(alias="tenantId")]
284
267
  r"""Office 365 Azure Tenant ID"""
285
268
 
@@ -289,6 +272,8 @@ class InputOffice365Service(BaseModel):
289
272
  id: Optional[str] = None
290
273
  r"""Unique ID for this input"""
291
274
 
275
+ type: Optional[InputOffice365ServiceType] = None
276
+
292
277
  disabled: Optional[bool] = False
293
278
 
294
279
  pipeline: Optional[str] = None
@@ -314,10 +299,7 @@ class InputOffice365Service(BaseModel):
314
299
  pq: Optional[InputOffice365ServicePq] = None
315
300
 
316
301
  plan_type: Annotated[
317
- Annotated[
318
- Optional[InputOffice365ServiceSubscriptionPlan],
319
- PlainValidator(validate_open_enum(False)),
320
- ],
302
+ Optional[InputOffice365ServiceSubscriptionPlan],
321
303
  pydantic.Field(alias="planType"),
322
304
  ] = InputOffice365ServiceSubscriptionPlan.ENTERPRISE_GCC
323
305
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
@@ -360,10 +342,7 @@ class InputOffice365Service(BaseModel):
360
342
  ] = None
361
343
 
362
344
  auth_type: Annotated[
363
- Annotated[
364
- Optional[InputOffice365ServiceAuthenticationMethod],
365
- PlainValidator(validate_open_enum(False)),
366
- ],
345
+ Optional[InputOffice365ServiceAuthenticationMethod],
367
346
  pydantic.Field(alias="authType"),
368
347
  ] = InputOffice365ServiceAuthenticationMethod.MANUAL
369
348
  r"""Enter client secret directly, or select a stored secret"""