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,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
@@ -35,6 +36,15 @@ class OutputAzureEventhubRecordDataFormat(str, Enum, metaclass=utils.OpenEnumMet
35
36
  RAW = "raw"
36
37
 
37
38
 
39
+ class OutputAzureEventhubAuthTypeAuthenticationMethod(
40
+ str, Enum, metaclass=utils.OpenEnumMeta
41
+ ):
42
+ r"""Enter password directly, or select a stored secret"""
43
+
44
+ MANUAL = "manual"
45
+ SECRET = "secret"
46
+
47
+
38
48
  class OutputAzureEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
39
49
  # PLAIN
40
50
  PLAIN = "plain"
@@ -42,11 +52,59 @@ class OutputAzureEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
42
52
  OAUTHBEARER = "oauthbearer"
43
53
 
44
54
 
55
+ class OutputAzureEventhubClientSecretAuthTypeAuthenticationMethod(
56
+ str, Enum, metaclass=utils.OpenEnumMeta
57
+ ):
58
+ MANUAL = "manual"
59
+ SECRET = "secret"
60
+ CERTIFICATE = "certificate"
61
+
62
+
63
+ class OutputAzureEventhubMicrosoftEntraIDAuthenticationEndpoint(
64
+ str, Enum, metaclass=utils.OpenEnumMeta
65
+ ):
66
+ r"""Endpoint used to acquire authentication tokens from Azure"""
67
+
68
+ HTTPS_LOGIN_MICROSOFTONLINE_COM = "https://login.microsoftonline.com"
69
+ HTTPS_LOGIN_MICROSOFTONLINE_US = "https://login.microsoftonline.us"
70
+ HTTPS_LOGIN_PARTNER_MICROSOFTONLINE_CN = "https://login.partner.microsoftonline.cn"
71
+
72
+
45
73
  class OutputAzureEventhubAuthenticationTypedDict(TypedDict):
46
74
  r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
47
75
 
48
76
  disabled: NotRequired[bool]
77
+ auth_type: NotRequired[OutputAzureEventhubAuthTypeAuthenticationMethod]
78
+ r"""Enter password directly, or select a stored secret"""
79
+ password: NotRequired[str]
80
+ r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
81
+ text_secret: NotRequired[str]
82
+ r"""Select or create a stored text secret"""
49
83
  mechanism: NotRequired[OutputAzureEventhubSASLMechanism]
84
+ username: NotRequired[str]
85
+ r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
86
+ client_secret_auth_type: NotRequired[
87
+ OutputAzureEventhubClientSecretAuthTypeAuthenticationMethod
88
+ ]
89
+ client_secret: NotRequired[str]
90
+ r"""client_secret to pass in the OAuth request parameter"""
91
+ client_text_secret: NotRequired[str]
92
+ r"""Select or create a stored text secret"""
93
+ certificate_name: NotRequired[str]
94
+ r"""Select or create a stored certificate"""
95
+ cert_path: NotRequired[str]
96
+ priv_key_path: NotRequired[str]
97
+ passphrase: NotRequired[str]
98
+ oauth_endpoint: NotRequired[
99
+ OutputAzureEventhubMicrosoftEntraIDAuthenticationEndpoint
100
+ ]
101
+ r"""Endpoint used to acquire authentication tokens from Azure"""
102
+ client_id: NotRequired[str]
103
+ r"""client_id to pass in the OAuth request parameter"""
104
+ tenant_id: NotRequired[str]
105
+ r"""Directory ID (tenant identifier) in Azure Active Directory"""
106
+ scope: NotRequired[str]
107
+ r"""Scope to pass in the OAuth request parameter"""
50
108
 
51
109
 
52
110
  class OutputAzureEventhubAuthentication(BaseModel):
@@ -54,11 +112,116 @@ class OutputAzureEventhubAuthentication(BaseModel):
54
112
 
55
113
  disabled: Optional[bool] = False
56
114
 
115
+ auth_type: Annotated[
116
+ Annotated[
117
+ Optional[OutputAzureEventhubAuthTypeAuthenticationMethod],
118
+ PlainValidator(validate_open_enum(False)),
119
+ ],
120
+ pydantic.Field(alias="authType"),
121
+ ] = OutputAzureEventhubAuthTypeAuthenticationMethod.MANUAL
122
+ r"""Enter password directly, or select a stored secret"""
123
+
124
+ password: Optional[str] = None
125
+ r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
126
+
127
+ text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
128
+ r"""Select or create a stored text secret"""
129
+
57
130
  mechanism: Annotated[
58
131
  Optional[OutputAzureEventhubSASLMechanism],
59
132
  PlainValidator(validate_open_enum(False)),
60
133
  ] = OutputAzureEventhubSASLMechanism.PLAIN
61
134
 
135
+ username: Optional[str] = "$ConnectionString"
136
+ r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
137
+
138
+ client_secret_auth_type: Annotated[
139
+ Annotated[
140
+ Optional[OutputAzureEventhubClientSecretAuthTypeAuthenticationMethod],
141
+ PlainValidator(validate_open_enum(False)),
142
+ ],
143
+ pydantic.Field(alias="clientSecretAuthType"),
144
+ ] = OutputAzureEventhubClientSecretAuthTypeAuthenticationMethod.MANUAL
145
+
146
+ client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None
147
+ r"""client_secret to pass in the OAuth request parameter"""
148
+
149
+ client_text_secret: Annotated[
150
+ Optional[str], pydantic.Field(alias="clientTextSecret")
151
+ ] = None
152
+ r"""Select or create a stored text secret"""
153
+
154
+ certificate_name: Annotated[
155
+ Optional[str], pydantic.Field(alias="certificateName")
156
+ ] = None
157
+ r"""Select or create a stored certificate"""
158
+
159
+ cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
160
+
161
+ priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
162
+
163
+ passphrase: Optional[str] = None
164
+
165
+ oauth_endpoint: Annotated[
166
+ Annotated[
167
+ Optional[OutputAzureEventhubMicrosoftEntraIDAuthenticationEndpoint],
168
+ PlainValidator(validate_open_enum(False)),
169
+ ],
170
+ pydantic.Field(alias="oauthEndpoint"),
171
+ ] = OutputAzureEventhubMicrosoftEntraIDAuthenticationEndpoint.HTTPS_LOGIN_MICROSOFTONLINE_COM
172
+ r"""Endpoint used to acquire authentication tokens from Azure"""
173
+
174
+ client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
175
+ r"""client_id to pass in the OAuth request parameter"""
176
+
177
+ tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None
178
+ r"""Directory ID (tenant identifier) in Azure Active Directory"""
179
+
180
+ scope: Optional[str] = None
181
+ r"""Scope to pass in the OAuth request parameter"""
182
+
183
+ @field_serializer("auth_type")
184
+ def serialize_auth_type(self, value):
185
+ if isinstance(value, str):
186
+ try:
187
+ return models.OutputAzureEventhubAuthTypeAuthenticationMethod(value)
188
+ except ValueError:
189
+ return value
190
+ return value
191
+
192
+ @field_serializer("mechanism")
193
+ def serialize_mechanism(self, value):
194
+ if isinstance(value, str):
195
+ try:
196
+ return models.OutputAzureEventhubSASLMechanism(value)
197
+ except ValueError:
198
+ return value
199
+ return value
200
+
201
+ @field_serializer("client_secret_auth_type")
202
+ def serialize_client_secret_auth_type(self, value):
203
+ if isinstance(value, str):
204
+ try:
205
+ return (
206
+ models.OutputAzureEventhubClientSecretAuthTypeAuthenticationMethod(
207
+ value
208
+ )
209
+ )
210
+ except ValueError:
211
+ return value
212
+ return value
213
+
214
+ @field_serializer("oauth_endpoint")
215
+ def serialize_oauth_endpoint(self, value):
216
+ if isinstance(value, str):
217
+ try:
218
+ return models.OutputAzureEventhubMicrosoftEntraIDAuthenticationEndpoint(
219
+ value
220
+ )
221
+ except ValueError:
222
+ return value
223
+ return value
224
+
62
225
 
63
226
  class OutputAzureEventhubTLSSettingsClientSideTypedDict(TypedDict):
64
227
  disabled: NotRequired[bool]
@@ -86,6 +249,17 @@ class OutputAzureEventhubBackpressureBehavior(str, Enum, metaclass=utils.OpenEnu
86
249
  QUEUE = "queue"
87
250
 
88
251
 
252
+ class OutputAzureEventhubMode(str, Enum, metaclass=utils.OpenEnumMeta):
253
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
254
+
255
+ # Error
256
+ ERROR = "error"
257
+ # Backpressure
258
+ ALWAYS = "always"
259
+ # Always On
260
+ BACKPRESSURE = "backpressure"
261
+
262
+
89
263
  class OutputAzureEventhubCompression(str, Enum, metaclass=utils.OpenEnumMeta):
90
264
  r"""Codec to use to compress the persisted data"""
91
265
 
@@ -104,17 +278,6 @@ class OutputAzureEventhubQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMe
104
278
  DROP = "drop"
105
279
 
106
280
 
107
- class OutputAzureEventhubMode(str, Enum, metaclass=utils.OpenEnumMeta):
108
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
109
-
110
- # Error
111
- ERROR = "error"
112
- # Backpressure
113
- BACKPRESSURE = "backpressure"
114
- # Always On
115
- ALWAYS = "always"
116
-
117
-
118
281
  class OutputAzureEventhubPqControlsTypedDict(TypedDict):
119
282
  pass
120
283
 
@@ -171,6 +334,16 @@ class OutputAzureEventhubTypedDict(TypedDict):
171
334
  on_backpressure: NotRequired[OutputAzureEventhubBackpressureBehavior]
172
335
  r"""How to handle events when all receivers are exerting backpressure"""
173
336
  description: NotRequired[str]
337
+ pq_strict_ordering: NotRequired[bool]
338
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
339
+ pq_rate_per_sec: NotRequired[float]
340
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
341
+ pq_mode: NotRequired[OutputAzureEventhubMode]
342
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
343
+ pq_max_buffer_size: NotRequired[float]
344
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
345
+ pq_max_backpressure_sec: NotRequired[float]
346
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
174
347
  pq_max_file_size: NotRequired[str]
175
348
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
176
349
  pq_max_size: NotRequired[str]
@@ -181,8 +354,6 @@ class OutputAzureEventhubTypedDict(TypedDict):
181
354
  r"""Codec to use to compress the persisted data"""
182
355
  pq_on_backpressure: NotRequired[OutputAzureEventhubQueueFullBehavior]
183
356
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
184
- pq_mode: NotRequired[OutputAzureEventhubMode]
185
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
186
357
  pq_controls: NotRequired[OutputAzureEventhubPqControlsTypedDict]
187
358
 
188
359
 
@@ -292,6 +463,34 @@ class OutputAzureEventhub(BaseModel):
292
463
 
293
464
  description: Optional[str] = None
294
465
 
466
+ pq_strict_ordering: Annotated[
467
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
468
+ ] = True
469
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
470
+
471
+ pq_rate_per_sec: Annotated[
472
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
473
+ ] = 0
474
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
475
+
476
+ pq_mode: Annotated[
477
+ Annotated[
478
+ Optional[OutputAzureEventhubMode], PlainValidator(validate_open_enum(False))
479
+ ],
480
+ pydantic.Field(alias="pqMode"),
481
+ ] = OutputAzureEventhubMode.ERROR
482
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
483
+
484
+ pq_max_buffer_size: Annotated[
485
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
486
+ ] = 42
487
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
488
+
489
+ pq_max_backpressure_sec: Annotated[
490
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
491
+ ] = 30
492
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
493
+
295
494
  pq_max_file_size: Annotated[
296
495
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
297
496
  ] = "1 MB"
@@ -323,14 +522,60 @@ class OutputAzureEventhub(BaseModel):
323
522
  ] = OutputAzureEventhubQueueFullBehavior.BLOCK
324
523
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
325
524
 
326
- pq_mode: Annotated[
327
- Annotated[
328
- Optional[OutputAzureEventhubMode], PlainValidator(validate_open_enum(False))
329
- ],
330
- pydantic.Field(alias="pqMode"),
331
- ] = OutputAzureEventhubMode.ERROR
332
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
333
-
334
525
  pq_controls: Annotated[
335
526
  Optional[OutputAzureEventhubPqControls], pydantic.Field(alias="pqControls")
336
527
  ] = None
528
+
529
+ @field_serializer("ack")
530
+ def serialize_ack(self, value):
531
+ if isinstance(value, str):
532
+ try:
533
+ return models.OutputAzureEventhubAcknowledgments(value)
534
+ except ValueError:
535
+ return value
536
+ return value
537
+
538
+ @field_serializer("format_")
539
+ def serialize_format_(self, value):
540
+ if isinstance(value, str):
541
+ try:
542
+ return models.OutputAzureEventhubRecordDataFormat(value)
543
+ except ValueError:
544
+ return value
545
+ return value
546
+
547
+ @field_serializer("on_backpressure")
548
+ def serialize_on_backpressure(self, value):
549
+ if isinstance(value, str):
550
+ try:
551
+ return models.OutputAzureEventhubBackpressureBehavior(value)
552
+ except ValueError:
553
+ return value
554
+ return value
555
+
556
+ @field_serializer("pq_mode")
557
+ def serialize_pq_mode(self, value):
558
+ if isinstance(value, str):
559
+ try:
560
+ return models.OutputAzureEventhubMode(value)
561
+ except ValueError:
562
+ return value
563
+ return value
564
+
565
+ @field_serializer("pq_compress")
566
+ def serialize_pq_compress(self, value):
567
+ if isinstance(value, str):
568
+ try:
569
+ return models.OutputAzureEventhubCompression(value)
570
+ except ValueError:
571
+ return value
572
+ return value
573
+
574
+ @field_serializer("pq_on_backpressure")
575
+ def serialize_pq_on_backpressure(self, value):
576
+ if isinstance(value, str):
577
+ try:
578
+ return models.OutputAzureEventhubQueueFullBehavior(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
@@ -109,6 +110,17 @@ class OutputAzureLogsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMet
109
110
  SECRET = "secret"
110
111
 
111
112
 
113
+ class OutputAzureLogsMode(str, Enum, metaclass=utils.OpenEnumMeta):
114
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
115
+
116
+ # Error
117
+ ERROR = "error"
118
+ # Backpressure
119
+ ALWAYS = "always"
120
+ # Always On
121
+ BACKPRESSURE = "backpressure"
122
+
123
+
112
124
  class OutputAzureLogsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
113
125
  r"""Codec to use to compress the persisted data"""
114
126
 
@@ -127,17 +139,6 @@ class OutputAzureLogsQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
127
139
  DROP = "drop"
128
140
 
129
141
 
130
- class OutputAzureLogsMode(str, Enum, metaclass=utils.OpenEnumMeta):
131
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
132
-
133
- # Error
134
- ERROR = "error"
135
- # Backpressure
136
- BACKPRESSURE = "backpressure"
137
- # Always On
138
- ALWAYS = "always"
139
-
140
-
141
142
  class OutputAzureLogsPqControlsTypedDict(TypedDict):
142
143
  pass
143
144
 
@@ -200,6 +201,16 @@ class OutputAzureLogsTypedDict(TypedDict):
200
201
  auth_type: NotRequired[OutputAzureLogsAuthenticationMethod]
201
202
  r"""Enter workspace ID and workspace key directly, or select a stored secret"""
202
203
  description: NotRequired[str]
204
+ pq_strict_ordering: NotRequired[bool]
205
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
206
+ pq_rate_per_sec: NotRequired[float]
207
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
208
+ pq_mode: NotRequired[OutputAzureLogsMode]
209
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
210
+ pq_max_buffer_size: NotRequired[float]
211
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
212
+ pq_max_backpressure_sec: NotRequired[float]
213
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
203
214
  pq_max_file_size: NotRequired[str]
204
215
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
205
216
  pq_max_size: NotRequired[str]
@@ -210,8 +221,6 @@ class OutputAzureLogsTypedDict(TypedDict):
210
221
  r"""Codec to use to compress the persisted data"""
211
222
  pq_on_backpressure: NotRequired[OutputAzureLogsQueueFullBehavior]
212
223
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
213
- pq_mode: NotRequired[OutputAzureLogsMode]
214
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
215
224
  pq_controls: NotRequired[OutputAzureLogsPqControlsTypedDict]
216
225
  workspace_id: NotRequired[str]
217
226
  r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings."""
@@ -344,6 +353,34 @@ class OutputAzureLogs(BaseModel):
344
353
 
345
354
  description: Optional[str] = None
346
355
 
356
+ pq_strict_ordering: Annotated[
357
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
358
+ ] = True
359
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
360
+
361
+ pq_rate_per_sec: Annotated[
362
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
363
+ ] = 0
364
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
365
+
366
+ pq_mode: Annotated[
367
+ Annotated[
368
+ Optional[OutputAzureLogsMode], PlainValidator(validate_open_enum(False))
369
+ ],
370
+ pydantic.Field(alias="pqMode"),
371
+ ] = OutputAzureLogsMode.ERROR
372
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
373
+
374
+ pq_max_buffer_size: Annotated[
375
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
376
+ ] = 42
377
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
378
+
379
+ pq_max_backpressure_sec: Annotated[
380
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
381
+ ] = 30
382
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
383
+
347
384
  pq_max_file_size: Annotated[
348
385
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
349
386
  ] = "1 MB"
@@ -375,14 +412,6 @@ class OutputAzureLogs(BaseModel):
375
412
  ] = OutputAzureLogsQueueFullBehavior.BLOCK
376
413
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
377
414
 
378
- pq_mode: Annotated[
379
- Annotated[
380
- Optional[OutputAzureLogsMode], PlainValidator(validate_open_enum(False))
381
- ],
382
- pydantic.Field(alias="pqMode"),
383
- ] = OutputAzureLogsMode.ERROR
384
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
385
-
386
415
  pq_controls: Annotated[
387
416
  Optional[OutputAzureLogsPqControls], pydantic.Field(alias="pqControls")
388
417
  ] = None
@@ -397,3 +426,57 @@ class OutputAzureLogs(BaseModel):
397
426
  None
398
427
  )
399
428
  r"""Select or create a stored secret that references your access key and secret key"""
429
+
430
+ @field_serializer("failed_request_logging_mode")
431
+ def serialize_failed_request_logging_mode(self, value):
432
+ if isinstance(value, str):
433
+ try:
434
+ return models.OutputAzureLogsFailedRequestLoggingMode(value)
435
+ except ValueError:
436
+ return value
437
+ return value
438
+
439
+ @field_serializer("on_backpressure")
440
+ def serialize_on_backpressure(self, value):
441
+ if isinstance(value, str):
442
+ try:
443
+ return models.OutputAzureLogsBackpressureBehavior(value)
444
+ except ValueError:
445
+ return value
446
+ return value
447
+
448
+ @field_serializer("auth_type")
449
+ def serialize_auth_type(self, value):
450
+ if isinstance(value, str):
451
+ try:
452
+ return models.OutputAzureLogsAuthenticationMethod(value)
453
+ except ValueError:
454
+ return value
455
+ return value
456
+
457
+ @field_serializer("pq_mode")
458
+ def serialize_pq_mode(self, value):
459
+ if isinstance(value, str):
460
+ try:
461
+ return models.OutputAzureLogsMode(value)
462
+ except ValueError:
463
+ return value
464
+ return value
465
+
466
+ @field_serializer("pq_compress")
467
+ def serialize_pq_compress(self, value):
468
+ if isinstance(value, str):
469
+ try:
470
+ return models.OutputAzureLogsCompression(value)
471
+ except ValueError:
472
+ return value
473
+ return value
474
+
475
+ @field_serializer("pq_on_backpressure")
476
+ def serialize_pq_on_backpressure(self, value):
477
+ if isinstance(value, str):
478
+ try:
479
+ return models.OutputAzureLogsQueueFullBehavior(value)
480
+ except ValueError:
481
+ return value
482
+ return value