cribl-control-plane 0.1.0b2__py3-none-any.whl → 0.1.1rc2__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 (148) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +91 -41
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/errors/apierror.py +1 -1
  4. cribl_control_plane/errors/criblcontrolplaneerror.py +1 -1
  5. cribl_control_plane/errors/error.py +1 -1
  6. cribl_control_plane/errors/healthstatus_error.py +1 -1
  7. cribl_control_plane/errors/no_response_error.py +1 -1
  8. cribl_control_plane/errors/responsevalidationerror.py +1 -1
  9. cribl_control_plane/httpclient.py +0 -1
  10. cribl_control_plane/lakedatasets.py +12 -12
  11. cribl_control_plane/models/__init__.py +89 -7
  12. cribl_control_plane/models/createversionundoop.py +3 -3
  13. cribl_control_plane/models/cribllakedatasetupdate.py +81 -0
  14. cribl_control_plane/models/distributedsummary.py +6 -0
  15. cribl_control_plane/models/gitinfo.py +14 -3
  16. cribl_control_plane/models/input.py +65 -63
  17. cribl_control_plane/models/inputappscope.py +4 -0
  18. cribl_control_plane/models/inputazureblob.py +4 -0
  19. cribl_control_plane/models/inputcollection.py +4 -0
  20. cribl_control_plane/models/inputconfluentcloud.py +8 -0
  21. cribl_control_plane/models/inputcribl.py +4 -0
  22. cribl_control_plane/models/inputcriblhttp.py +4 -0
  23. cribl_control_plane/models/inputcribllakehttp.py +4 -0
  24. cribl_control_plane/models/inputcriblmetrics.py +4 -0
  25. cribl_control_plane/models/inputcribltcp.py +4 -0
  26. cribl_control_plane/models/inputcrowdstrike.py +7 -0
  27. cribl_control_plane/models/inputdatadogagent.py +4 -0
  28. cribl_control_plane/models/inputdatagen.py +4 -0
  29. cribl_control_plane/models/inputedgeprometheus.py +12 -0
  30. cribl_control_plane/models/inputelastic.py +11 -0
  31. cribl_control_plane/models/inputeventhub.py +6 -0
  32. cribl_control_plane/models/inputexec.py +4 -0
  33. cribl_control_plane/models/inputfile.py +6 -0
  34. cribl_control_plane/models/inputfirehose.py +4 -0
  35. cribl_control_plane/models/inputgooglepubsub.py +7 -0
  36. cribl_control_plane/models/inputgrafana.py +8 -0
  37. cribl_control_plane/models/inputhttp.py +4 -0
  38. cribl_control_plane/models/inputhttpraw.py +4 -0
  39. cribl_control_plane/models/inputjournalfiles.py +4 -0
  40. cribl_control_plane/models/inputkafka.py +8 -0
  41. cribl_control_plane/models/inputkinesis.py +15 -0
  42. cribl_control_plane/models/inputkubeevents.py +4 -0
  43. cribl_control_plane/models/inputkubelogs.py +4 -0
  44. cribl_control_plane/models/inputkubemetrics.py +4 -0
  45. cribl_control_plane/models/inputloki.py +4 -0
  46. cribl_control_plane/models/inputmetrics.py +4 -0
  47. cribl_control_plane/models/inputmodeldriventelemetry.py +4 -0
  48. cribl_control_plane/models/inputmsk.py +7 -0
  49. cribl_control_plane/models/inputnetflow.py +4 -0
  50. cribl_control_plane/models/inputoffice365mgmt.py +11 -0
  51. cribl_control_plane/models/inputoffice365msgtrace.py +11 -0
  52. cribl_control_plane/models/inputoffice365service.py +11 -0
  53. cribl_control_plane/models/inputopentelemetry.py +8 -0
  54. cribl_control_plane/models/inputprometheus.py +10 -0
  55. cribl_control_plane/models/inputprometheusrw.py +4 -0
  56. cribl_control_plane/models/inputrawudp.py +4 -0
  57. cribl_control_plane/models/inputs3.py +7 -0
  58. cribl_control_plane/models/inputs3inventory.py +7 -0
  59. cribl_control_plane/models/inputsecuritylake.py +7 -0
  60. cribl_control_plane/models/inputsnmp.py +11 -0
  61. cribl_control_plane/models/inputsplunk.py +9 -0
  62. cribl_control_plane/models/inputsplunkhec.py +4 -0
  63. cribl_control_plane/models/inputsplunksearch.py +7 -0
  64. cribl_control_plane/models/inputsqs.py +17 -10
  65. cribl_control_plane/models/inputsyslog.py +8 -0
  66. cribl_control_plane/models/inputsystemmetrics.py +32 -0
  67. cribl_control_plane/models/inputsystemstate.py +4 -0
  68. cribl_control_plane/models/inputtcp.py +4 -0
  69. cribl_control_plane/models/inputtcpjson.py +4 -0
  70. cribl_control_plane/models/inputwef.py +6 -0
  71. cribl_control_plane/models/inputwindowsmetrics.py +28 -0
  72. cribl_control_plane/models/inputwineventlogs.py +8 -0
  73. cribl_control_plane/models/inputwiz.py +7 -0
  74. cribl_control_plane/models/inputwizwebhook.py +4 -0
  75. cribl_control_plane/models/inputzscalerhec.py +4 -0
  76. cribl_control_plane/models/jobinfo.py +4 -1
  77. cribl_control_plane/models/nodeprovidedinfo.py +4 -1
  78. cribl_control_plane/models/output.py +74 -69
  79. cribl_control_plane/models/outputazureblob.py +20 -0
  80. cribl_control_plane/models/outputazuredataexplorer.py +28 -0
  81. cribl_control_plane/models/outputazureeventhub.py +17 -0
  82. cribl_control_plane/models/outputazurelogs.py +13 -0
  83. cribl_control_plane/models/outputchronicle.py +444 -0
  84. cribl_control_plane/models/outputclickhouse.py +17 -0
  85. cribl_control_plane/models/outputcloudwatch.py +13 -0
  86. cribl_control_plane/models/outputconfluentcloud.py +24 -0
  87. cribl_control_plane/models/outputcriblhttp.py +15 -0
  88. cribl_control_plane/models/outputcribllake.py +21 -0
  89. cribl_control_plane/models/outputcribltcp.py +12 -0
  90. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +15 -0
  91. cribl_control_plane/models/outputdatabricks.py +9 -0
  92. cribl_control_plane/models/outputdatadog.py +30 -0
  93. cribl_control_plane/models/outputdataset.py +23 -0
  94. cribl_control_plane/models/outputdls3.py +35 -0
  95. cribl_control_plane/models/outputdynatracehttp.py +22 -0
  96. cribl_control_plane/models/outputdynatraceotlp.py +22 -0
  97. cribl_control_plane/models/outputelastic.py +18 -0
  98. cribl_control_plane/models/outputelasticcloud.py +13 -0
  99. cribl_control_plane/models/outputexabeam.py +14 -0
  100. cribl_control_plane/models/outputfilesystem.py +15 -0
  101. cribl_control_plane/models/outputgooglechronicle.py +26 -4
  102. cribl_control_plane/models/outputgooglecloudlogging.py +28 -4
  103. cribl_control_plane/models/outputgooglecloudstorage.py +28 -0
  104. cribl_control_plane/models/outputgooglepubsub.py +13 -0
  105. cribl_control_plane/models/outputgrafanacloud.py +50 -0
  106. cribl_control_plane/models/outputgraphite.py +12 -0
  107. cribl_control_plane/models/outputhoneycomb.py +13 -0
  108. cribl_control_plane/models/outputhumiohec.py +15 -0
  109. cribl_control_plane/models/outputinfluxdb.py +19 -0
  110. cribl_control_plane/models/outputkafka.py +24 -0
  111. cribl_control_plane/models/outputkinesis.py +15 -0
  112. cribl_control_plane/models/outputloki.py +20 -0
  113. cribl_control_plane/models/outputminio.py +28 -0
  114. cribl_control_plane/models/outputmsk.py +23 -0
  115. cribl_control_plane/models/outputnewrelic.py +16 -0
  116. cribl_control_plane/models/outputnewrelicevents.py +16 -0
  117. cribl_control_plane/models/outputopentelemetry.py +22 -0
  118. cribl_control_plane/models/outputprometheus.py +13 -0
  119. cribl_control_plane/models/outputring.py +2 -0
  120. cribl_control_plane/models/outputs3.py +35 -0
  121. cribl_control_plane/models/outputsecuritylake.py +29 -0
  122. cribl_control_plane/models/outputsentinel.py +15 -0
  123. cribl_control_plane/models/outputsentineloneaisiem.py +13 -0
  124. cribl_control_plane/models/outputservicenow.py +21 -0
  125. cribl_control_plane/models/outputsignalfx.py +13 -0
  126. cribl_control_plane/models/outputsns.py +13 -0
  127. cribl_control_plane/models/outputsplunk.py +15 -0
  128. cribl_control_plane/models/outputsplunkhec.py +13 -0
  129. cribl_control_plane/models/outputsplunklb.py +15 -0
  130. cribl_control_plane/models/outputsqs.py +23 -10
  131. cribl_control_plane/models/outputstatsd.py +12 -0
  132. cribl_control_plane/models/outputstatsdext.py +12 -0
  133. cribl_control_plane/models/outputsumologic.py +15 -0
  134. cribl_control_plane/models/outputsyslog.py +24 -0
  135. cribl_control_plane/models/outputtcpjson.py +12 -0
  136. cribl_control_plane/models/outputwavefront.py +13 -0
  137. cribl_control_plane/models/outputwebhook.py +23 -0
  138. cribl_control_plane/models/outputxsiam.py +13 -0
  139. cribl_control_plane/models/packinfo.py +6 -3
  140. cribl_control_plane/models/packinstallinfo.py +6 -3
  141. cribl_control_plane/models/runnablejobcollection.py +4 -0
  142. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
  143. cribl_control_plane/models/updatepacksop.py +27 -0
  144. cribl_control_plane/models/uploadpackresponse.py +13 -0
  145. cribl_control_plane/packs.py +196 -1
  146. {cribl_control_plane-0.1.0b2.dist-info → cribl_control_plane-0.1.1rc2.dist-info}/METADATA +47 -13
  147. {cribl_control_plane-0.1.0b2.dist-info → cribl_control_plane-0.1.1rc2.dist-info}/RECORD +148 -144
  148. {cribl_control_plane-0.1.0b2.dist-info → cribl_control_plane-0.1.1rc2.dist-info}/WHEEL +0 -0
@@ -21,6 +21,7 @@ class Credentials:
21
21
  client_id: str
22
22
  client_secret: str
23
23
  token_url: str
24
+ scopes: Optional[List[str]]
24
25
  additional_properties: Dict[str, str]
25
26
 
26
27
  def __init__(
@@ -28,25 +29,27 @@ class Credentials:
28
29
  client_id: str,
29
30
  client_secret: str,
30
31
  token_url: str,
32
+ scopes: Optional[List[str]],
31
33
  additional_properties: Optional[Dict[str, str]] = None,
32
34
  ):
33
35
  self.client_id = client_id
34
36
  self.client_secret = client_secret
35
37
  self.token_url = token_url
38
+ self.scopes = scopes
36
39
  self.additional_properties = additional_properties or {}
37
40
 
38
41
 
39
42
  class Session:
40
43
  credentials: Credentials
41
44
  token: str
42
- scopes: Optional[List[str]] = None
45
+ scopes: List[str]
43
46
  expires_at: Optional[int] = None
44
47
 
45
48
  def __init__(
46
49
  self,
47
50
  credentials: Credentials,
48
51
  token: str,
49
- scopes: Optional[List[str]] = None,
52
+ scopes: List[str],
50
53
  expires_at: Optional[int] = None,
51
54
  ):
52
55
  self.credentials = credentials
@@ -57,7 +60,7 @@ class Session:
57
60
 
58
61
  class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
59
62
  client: HttpClient
60
- sessions: Dict[str, Session] = {}
63
+ sessions: Dict[str, Dict[str, Session]] = {}
61
64
 
62
65
  def sdk_init(self, config: SDKConfiguration) -> SDKConfiguration:
63
66
  if config.client is None:
@@ -69,8 +72,7 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
69
72
  def before_request(
70
73
  self, hook_ctx: BeforeRequestContext, request: httpx.Request
71
74
  ) -> httpx.Request:
72
- if hook_ctx.oauth2_scopes is None:
73
- # OAuth2 not in use
75
+ if self.is_hook_disabled(hook_ctx):
74
76
  return request
75
77
 
76
78
  credentials = self.get_credentials(hook_ctx)
@@ -81,22 +83,24 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
81
83
  credentials.client_id, credentials.client_secret
82
84
  )
83
85
 
84
- if (
85
- session_key not in self.sessions
86
- or not self.has_required_scopes(
87
- self.sessions[session_key].scopes, hook_ctx.oauth2_scopes
88
- )
89
- or self.has_token_expired(self.sessions[session_key].expires_at)
90
- ):
91
- sess = self.do_token_request(
86
+ scopes = self.get_required_scopes(credentials, hook_ctx)
87
+ session = self.get_existing_session(session_key, scopes)
88
+
89
+ if session is None:
90
+ # Create new session
91
+ session = self.do_token_request(
92
92
  hook_ctx,
93
93
  credentials,
94
- self.get_scopes(hook_ctx.oauth2_scopes, self.sessions.get(session_key)),
94
+ scopes,
95
95
  )
96
96
 
97
- self.sessions[session_key] = sess
97
+ if session_key not in self.sessions:
98
+ self.sessions[session_key] = {}
99
+
100
+ scope_key = self.get_scope_key(scopes)
101
+ self.sessions[session_key][scope_key] = session
98
102
 
99
- request.headers["Authorization"] = f"Bearer {self.sessions[session_key].token}"
103
+ request.headers["Authorization"] = f"Bearer {session.token}"
100
104
 
101
105
  return request
102
106
 
@@ -106,8 +110,7 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
106
110
  response: Optional[httpx.Response],
107
111
  error: Optional[Exception],
108
112
  ) -> Union[Tuple[Optional[httpx.Response], Optional[Exception]], Exception]:
109
- if hook_ctx.oauth2_scopes is None:
110
- # OAuth2 not in use
113
+ if self.is_hook_disabled(hook_ctx):
111
114
  return (response, error)
112
115
 
113
116
  # We don't want to refresh the token if the error is not related to the token
@@ -122,12 +125,15 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
122
125
  session_key = self.get_session_key(
123
126
  credentials.client_id, credentials.client_secret
124
127
  )
125
-
126
- if session_key in self.sessions:
127
- del self.sessions[session_key]
128
+ scopes = self.get_required_scopes(credentials, hook_ctx)
129
+ scope_key = self.get_scope_key(scopes)
130
+ self.remove_session(session_key, scope_key)
128
131
 
129
132
  return (response, error)
130
133
 
134
+ def is_hook_disabled(self, hook_ctx: HookContext) -> bool:
135
+ return hook_ctx.oauth2_scopes is None
136
+
131
137
  def get_credentials(self, hook_ctx: HookContext) -> Optional[Credentials]:
132
138
  source = hook_ctx.security_source
133
139
 
@@ -145,21 +151,19 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
145
151
  # Extract additional properties from security object
146
152
  additional_properties = {}
147
153
  for key, value in dict(security.client_oauth).items():
148
- if key not in ["client_id", "client_secret", "token_url"]:
154
+ if key not in ["client_id", "client_secret", "token_url", "scopes"]:
149
155
  additional_properties[key] = value
150
156
 
151
157
  return Credentials(
152
158
  client_id=security.client_oauth.client_id,
153
159
  client_secret=security.client_oauth.client_secret,
154
160
  token_url=security.client_oauth.token_url,
161
+ scopes=None,
155
162
  additional_properties=additional_properties,
156
163
  )
157
164
 
158
165
  def do_token_request(
159
- self,
160
- hook_ctx: HookContext,
161
- credentials: Credentials,
162
- scopes: Optional[List[str]],
166
+ self, hook_ctx: HookContext, credentials: Credentials, scopes: List[str]
163
167
  ) -> Session:
164
168
  payload = {
165
169
  "grant_type": "client_credentials",
@@ -167,7 +171,7 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
167
171
  "client_secret": credentials.client_secret,
168
172
  }
169
173
 
170
- if scopes is not None and len(scopes) > 0:
174
+ if len(scopes) > 0:
171
175
  payload["scope"] = " ".join(scopes)
172
176
 
173
177
  # Add additional properties to payload
@@ -203,24 +207,70 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
203
207
  )
204
208
 
205
209
  def get_session_key(self, client_id: str, client_secret: str) -> str:
210
+ """Generate a consistent session key for the given client ID and secret."""
206
211
  return hashlib.md5(f"{client_id}:{client_secret}".encode()).hexdigest()
207
212
 
213
+ def get_required_scopes(
214
+ self, credentials: Credentials, hook_ctx: HookContext
215
+ ) -> List[str]:
216
+ """Return the list of scopes that need to be requested."""
217
+ if credentials.scopes is not None:
218
+ return credentials.scopes
219
+ return hook_ctx.oauth2_scopes or []
220
+
221
+ def get_scope_key(self, scopes: List[str]) -> str:
222
+ """Generate a consistent scope key for the given scopes."""
223
+ if not scopes:
224
+ return ""
225
+
226
+ sorted_scopes = sorted(scopes)
227
+ return "&".join(sorted_scopes)
228
+
229
+ def remove_session(self, client_key: str, scope_key: str) -> None:
230
+ """Remove a session and clean up empty client session maps."""
231
+ if client_key in self.sessions and scope_key in self.sessions[client_key]:
232
+ del self.sessions[client_key][scope_key]
233
+
234
+ # Clean up empty client sessions
235
+ if not self.sessions[client_key]:
236
+ del self.sessions[client_key]
237
+
238
+ def get_existing_session(
239
+ self, client_key: str, required_scopes: List[str]
240
+ ) -> Optional[Session]:
241
+ """Find the best session for the required scopes."""
242
+ if client_key not in self.sessions:
243
+ return None
244
+
245
+ client_sessions = self.sessions[client_key]
246
+ scope_key = self.get_scope_key(required_scopes)
247
+
248
+ if scope_key in client_sessions:
249
+ exact_match = client_sessions[scope_key]
250
+ if self.has_token_expired(exact_match.expires_at):
251
+ self.remove_session(client_key, scope_key)
252
+ else:
253
+ return exact_match
254
+
255
+ # If no exact match was found, look for a superset match
256
+ for key, session in client_sessions.items():
257
+ if self.has_token_expired(session.expires_at):
258
+ self.remove_session(client_key, key)
259
+ elif self.has_required_scopes(session.scopes, required_scopes):
260
+ return session
261
+
262
+ return None
263
+
208
264
  def has_required_scopes(
209
- self, scopes: Optional[List[str]], required_scopes: List[str]
265
+ self, scopes: List[str], required_scopes: List[str]
210
266
  ) -> bool:
211
- if scopes is None:
212
- return False
213
-
267
+ """Check if all required scopes are present in the given scopes."""
214
268
  return all(scope in scopes for scope in required_scopes)
215
269
 
216
- def get_scopes(
217
- self, required_scopes: List[str], sess: Optional[Session]
218
- ) -> List[str]:
219
- scopes = required_scopes.copy()
220
- if sess is not None and sess.scopes is not None:
221
- scopes.extend(sess.scopes)
222
- scopes = list(set(scopes))
223
- return scopes
224
-
225
270
  def has_token_expired(self, expires_at: Optional[int]) -> bool:
226
- return expires_at is None or time.time() + 60 >= expires_at
271
+ """
272
+ Check if the token has expired.
273
+ If no expires_in field was returned by the authorization server, the token is considered to never expire.
274
+ A 60-second buffer is applied to refresh tokens before they actually expire.
275
+ """
276
+ return expires_at is not None and time.time() + 60 >= expires_at
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "cribl-control-plane"
6
- __version__: str = "0.1.0b2"
7
- __openapi_doc_version__: str = "4.15.0-alpha.1759327501989-3e9845e9"
8
- __gen_version__: str = "2.716.16"
9
- __user_agent__: str = "speakeasy-sdk/python 0.1.0b2 2.716.16 4.15.0-alpha.1759327501989-3e9845e9 cribl-control-plane"
6
+ __version__: str = "0.1.1rc2"
7
+ __openapi_doc_version__: str = "4.15.0-alpha.1760451417353-c4fefd9b"
8
+ __gen_version__: str = "2.723.11"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.1.1rc2 2.723.11 4.15.0-alpha.1760451417353-c4fefd9b cribl-control-plane"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -9,7 +9,7 @@ from cribl_control_plane.errors import CriblControlPlaneError
9
9
  MAX_MESSAGE_LEN = 10_000
10
10
 
11
11
 
12
- @dataclass(frozen=True)
12
+ @dataclass(unsafe_hash=True)
13
13
  class APIError(CriblControlPlaneError):
14
14
  """The fallback error class if no more specific error class is matched."""
15
15
 
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  from dataclasses import dataclass, field
6
6
 
7
7
 
8
- @dataclass(frozen=True)
8
+ @dataclass(unsafe_hash=True)
9
9
  class CriblControlPlaneError(Exception):
10
10
  """The base class for all HTTP error responses."""
11
11
 
@@ -13,7 +13,7 @@ class ErrorData(BaseModel):
13
13
  r"""Error message"""
14
14
 
15
15
 
16
- @dataclass(frozen=True)
16
+ @dataclass(unsafe_hash=True)
17
17
  class Error(CriblControlPlaneError):
18
18
  data: ErrorData = field(hash=False)
19
19
 
@@ -25,7 +25,7 @@ class HealthStatusErrorData(BaseModel):
25
25
  ] = None
26
26
 
27
27
 
28
- @dataclass(frozen=True)
28
+ @dataclass(unsafe_hash=True)
29
29
  class HealthStatusError(CriblControlPlaneError):
30
30
  data: HealthStatusErrorData = field(hash=False)
31
31
 
@@ -3,7 +3,7 @@
3
3
  from dataclasses import dataclass
4
4
 
5
5
 
6
- @dataclass(frozen=True)
6
+ @dataclass(unsafe_hash=True)
7
7
  class NoResponseError(Exception):
8
8
  """Error raised when no HTTP response is received from the server."""
9
9
 
@@ -7,7 +7,7 @@ from dataclasses import dataclass
7
7
  from cribl_control_plane.errors import CriblControlPlaneError
8
8
 
9
9
 
10
- @dataclass(frozen=True)
10
+ @dataclass(unsafe_hash=True)
11
11
  class ResponseValidationError(CriblControlPlaneError):
12
12
  """Error raised when there is a type mismatch between the response data and the expected Pydantic model."""
13
13
 
@@ -107,7 +107,6 @@ def close_clients(
107
107
  # to them from the owning SDK instance and they can be reaped.
108
108
  owner.client = None
109
109
  owner.async_client = None
110
-
111
110
  if sync_client is not None and not sync_client_supplied:
112
111
  try:
113
112
  sync_client.close()
@@ -849,7 +849,6 @@ class LakeDatasets(BaseSDK):
849
849
  *,
850
850
  lake_id: str,
851
851
  id_param: str,
852
- id: str,
853
852
  accelerated_fields: Optional[List[str]] = None,
854
853
  bucket_name: Optional[str] = None,
855
854
  cache_connection: Optional[
@@ -857,8 +856,9 @@ class LakeDatasets(BaseSDK):
857
856
  ] = None,
858
857
  deletion_started_at: Optional[float] = None,
859
858
  description: Optional[str] = None,
860
- format_: Optional[models.CriblLakeDatasetFormat] = None,
859
+ format_: Optional[models.CriblLakeDatasetUpdateFormat] = None,
861
860
  http_da_used: Optional[bool] = None,
861
+ id: Optional[str] = None,
862
862
  retention_period_in_days: Optional[float] = None,
863
863
  search_config: Optional[
864
864
  Union[
@@ -878,7 +878,6 @@ class LakeDatasets(BaseSDK):
878
878
 
879
879
  :param lake_id: The <code>id</code> of the Lake that contains the Lake Dataset to update.
880
880
  :param id_param: The <code>id</code> of the Lake Dataset to update.
881
- :param id:
882
881
  :param accelerated_fields:
883
882
  :param bucket_name:
884
883
  :param cache_connection:
@@ -886,6 +885,7 @@ class LakeDatasets(BaseSDK):
886
885
  :param description:
887
886
  :param format_:
888
887
  :param http_da_used:
888
+ :param id:
889
889
  :param retention_period_in_days:
890
890
  :param search_config:
891
891
  :param storage_location_id:
@@ -908,7 +908,7 @@ class LakeDatasets(BaseSDK):
908
908
  request = models.UpdateCriblLakeDatasetByLakeIDAndIDRequest(
909
909
  lake_id=lake_id,
910
910
  id_param=id_param,
911
- cribl_lake_dataset=models.CriblLakeDataset(
911
+ cribl_lake_dataset_update=models.CriblLakeDatasetUpdate(
912
912
  accelerated_fields=accelerated_fields,
913
913
  bucket_name=bucket_name,
914
914
  cache_connection=utils.get_pydantic_model(
@@ -942,11 +942,11 @@ class LakeDatasets(BaseSDK):
942
942
  http_headers=http_headers,
943
943
  security=self.sdk_configuration.security,
944
944
  get_serialized_body=lambda: utils.serialize_request_body(
945
- request.cribl_lake_dataset,
945
+ request.cribl_lake_dataset_update,
946
946
  False,
947
947
  False,
948
948
  "json",
949
- models.CriblLakeDataset,
949
+ models.CriblLakeDatasetUpdate,
950
950
  ),
951
951
  timeout_ms=timeout_ms,
952
952
  )
@@ -996,7 +996,6 @@ class LakeDatasets(BaseSDK):
996
996
  *,
997
997
  lake_id: str,
998
998
  id_param: str,
999
- id: str,
1000
999
  accelerated_fields: Optional[List[str]] = None,
1001
1000
  bucket_name: Optional[str] = None,
1002
1001
  cache_connection: Optional[
@@ -1004,8 +1003,9 @@ class LakeDatasets(BaseSDK):
1004
1003
  ] = None,
1005
1004
  deletion_started_at: Optional[float] = None,
1006
1005
  description: Optional[str] = None,
1007
- format_: Optional[models.CriblLakeDatasetFormat] = None,
1006
+ format_: Optional[models.CriblLakeDatasetUpdateFormat] = None,
1008
1007
  http_da_used: Optional[bool] = None,
1008
+ id: Optional[str] = None,
1009
1009
  retention_period_in_days: Optional[float] = None,
1010
1010
  search_config: Optional[
1011
1011
  Union[
@@ -1025,7 +1025,6 @@ class LakeDatasets(BaseSDK):
1025
1025
 
1026
1026
  :param lake_id: The <code>id</code> of the Lake that contains the Lake Dataset to update.
1027
1027
  :param id_param: The <code>id</code> of the Lake Dataset to update.
1028
- :param id:
1029
1028
  :param accelerated_fields:
1030
1029
  :param bucket_name:
1031
1030
  :param cache_connection:
@@ -1033,6 +1032,7 @@ class LakeDatasets(BaseSDK):
1033
1032
  :param description:
1034
1033
  :param format_:
1035
1034
  :param http_da_used:
1035
+ :param id:
1036
1036
  :param retention_period_in_days:
1037
1037
  :param search_config:
1038
1038
  :param storage_location_id:
@@ -1055,7 +1055,7 @@ class LakeDatasets(BaseSDK):
1055
1055
  request = models.UpdateCriblLakeDatasetByLakeIDAndIDRequest(
1056
1056
  lake_id=lake_id,
1057
1057
  id_param=id_param,
1058
- cribl_lake_dataset=models.CriblLakeDataset(
1058
+ cribl_lake_dataset_update=models.CriblLakeDatasetUpdate(
1059
1059
  accelerated_fields=accelerated_fields,
1060
1060
  bucket_name=bucket_name,
1061
1061
  cache_connection=utils.get_pydantic_model(
@@ -1089,11 +1089,11 @@ class LakeDatasets(BaseSDK):
1089
1089
  http_headers=http_headers,
1090
1090
  security=self.sdk_configuration.security,
1091
1091
  get_serialized_body=lambda: utils.serialize_request_body(
1092
- request.cribl_lake_dataset,
1092
+ request.cribl_lake_dataset_update,
1093
1093
  False,
1094
1094
  False,
1095
1095
  "json",
1096
- models.CriblLakeDataset,
1096
+ models.CriblLakeDatasetUpdate,
1097
1097
  ),
1098
1098
  timeout_ms=timeout_ms,
1099
1099
  )
@@ -98,6 +98,11 @@ if TYPE_CHECKING:
98
98
  CriblLakeDatasetFormat,
99
99
  CriblLakeDatasetTypedDict,
100
100
  )
101
+ from .cribllakedatasetupdate import (
102
+ CriblLakeDatasetUpdate,
103
+ CriblLakeDatasetUpdateFormat,
104
+ CriblLakeDatasetUpdateTypedDict,
105
+ )
101
106
  from .currentbranchresult import CurrentBranchResult, CurrentBranchResultTypedDict
102
107
  from .datasetmetadata import DatasetMetadata, DatasetMetadataTypedDict, ScanMode
103
108
  from .datasetmetadataruninfo import (
@@ -336,7 +341,7 @@ if TYPE_CHECKING:
336
341
  from .gitdiffresult import GitDiffResult, GitDiffResultTypedDict
337
342
  from .gitfile import GitFile, GitFileTypedDict
338
343
  from .gitfilesresponse import GitFilesResponse, GitFilesResponseTypedDict
339
- from .gitinfo import GitInfo, GitInfoTypedDict, Remote, RemoteTypedDict
344
+ from .gitinfo import GitInfo, GitInfoTypedDict, Remote, RemoteEnum, RemoteTypedDict
340
345
  from .gitlogresult import GitLogResult, GitLogResultTypedDict
341
346
  from .gitrevertparams import GitRevertParams, GitRevertParamsTypedDict
342
347
  from .gitrevertresult import (
@@ -1921,6 +1926,27 @@ if TYPE_CHECKING:
1921
1926
  OutputAzureLogsType,
1922
1927
  OutputAzureLogsTypedDict,
1923
1928
  )
1929
+ from .outputchronicle import (
1930
+ OutputChronicle,
1931
+ OutputChronicleAuthenticationMethod,
1932
+ OutputChronicleBackpressureBehavior,
1933
+ OutputChronicleCompression,
1934
+ OutputChronicleCustomLabel,
1935
+ OutputChronicleCustomLabelTypedDict,
1936
+ OutputChronicleExtraHTTPHeader,
1937
+ OutputChronicleExtraHTTPHeaderTypedDict,
1938
+ OutputChronicleFailedRequestLoggingMode,
1939
+ OutputChronicleMode,
1940
+ OutputChroniclePqControls,
1941
+ OutputChroniclePqControlsTypedDict,
1942
+ OutputChronicleQueueFullBehavior,
1943
+ OutputChronicleResponseRetrySetting,
1944
+ OutputChronicleResponseRetrySettingTypedDict,
1945
+ OutputChronicleTimeoutRetrySettings,
1946
+ OutputChronicleTimeoutRetrySettingsTypedDict,
1947
+ OutputChronicleType,
1948
+ OutputChronicleTypedDict,
1949
+ )
1924
1950
  from .outputclickhouse import (
1925
1951
  ColumnMapping,
1926
1952
  ColumnMappingTypedDict,
@@ -2272,8 +2298,6 @@ if TYPE_CHECKING:
2272
2298
  OutputFilesystemTypedDict,
2273
2299
  )
2274
2300
  from .outputgooglechronicle import (
2275
- CustomLabel,
2276
- CustomLabelTypedDict,
2277
2301
  ExtraLogType,
2278
2302
  ExtraLogTypeTypedDict,
2279
2303
  OutputGoogleChronicle,
@@ -2281,6 +2305,8 @@ if TYPE_CHECKING:
2281
2305
  OutputGoogleChronicleAuthenticationMethod,
2282
2306
  OutputGoogleChronicleBackpressureBehavior,
2283
2307
  OutputGoogleChronicleCompression,
2308
+ OutputGoogleChronicleCustomLabel,
2309
+ OutputGoogleChronicleCustomLabelTypedDict,
2284
2310
  OutputGoogleChronicleExtraHTTPHeader,
2285
2311
  OutputGoogleChronicleExtraHTTPHeaderTypedDict,
2286
2312
  OutputGoogleChronicleFailedRequestLoggingMode,
@@ -3269,6 +3295,7 @@ if TYPE_CHECKING:
3269
3295
  UpdatePacksByIDResponse,
3270
3296
  UpdatePacksByIDResponseTypedDict,
3271
3297
  )
3298
+ from .updatepacksop import UpdatePacksRequest, UpdatePacksRequestTypedDict
3272
3299
  from .updatepipelinebyidop import (
3273
3300
  UpdatePipelineByIDRequest,
3274
3301
  UpdatePipelineByIDRequestTypedDict,
@@ -3281,6 +3308,7 @@ if TYPE_CHECKING:
3281
3308
  UpdateRoutesByIDResponse,
3282
3309
  UpdateRoutesByIDResponseTypedDict,
3283
3310
  )
3311
+ from .uploadpackresponse import UploadPackResponse, UploadPackResponseTypedDict
3284
3312
  from .useraccesscontrollist import (
3285
3313
  UserAccessControlList,
3286
3314
  UserAccessControlListTypedDict,
@@ -3396,10 +3424,11 @@ __all__ = [
3396
3424
  "CriblLakeDataset",
3397
3425
  "CriblLakeDatasetFormat",
3398
3426
  "CriblLakeDatasetTypedDict",
3427
+ "CriblLakeDatasetUpdate",
3428
+ "CriblLakeDatasetUpdateFormat",
3429
+ "CriblLakeDatasetUpdateTypedDict",
3399
3430
  "CurrentBranchResult",
3400
3431
  "CurrentBranchResultTypedDict",
3401
- "CustomLabel",
3402
- "CustomLabelTypedDict",
3403
3432
  "DNS",
3404
3433
  "DNSTypedDict",
3405
3434
  "DataSetSite",
@@ -4993,6 +5022,25 @@ __all__ = [
4993
5022
  "OutputAzureLogsTimeoutRetrySettingsTypedDict",
4994
5023
  "OutputAzureLogsType",
4995
5024
  "OutputAzureLogsTypedDict",
5025
+ "OutputChronicle",
5026
+ "OutputChronicleAuthenticationMethod",
5027
+ "OutputChronicleBackpressureBehavior",
5028
+ "OutputChronicleCompression",
5029
+ "OutputChronicleCustomLabel",
5030
+ "OutputChronicleCustomLabelTypedDict",
5031
+ "OutputChronicleExtraHTTPHeader",
5032
+ "OutputChronicleExtraHTTPHeaderTypedDict",
5033
+ "OutputChronicleFailedRequestLoggingMode",
5034
+ "OutputChronicleMode",
5035
+ "OutputChroniclePqControls",
5036
+ "OutputChroniclePqControlsTypedDict",
5037
+ "OutputChronicleQueueFullBehavior",
5038
+ "OutputChronicleResponseRetrySetting",
5039
+ "OutputChronicleResponseRetrySettingTypedDict",
5040
+ "OutputChronicleTimeoutRetrySettings",
5041
+ "OutputChronicleTimeoutRetrySettingsTypedDict",
5042
+ "OutputChronicleType",
5043
+ "OutputChronicleTypedDict",
4996
5044
  "OutputClickHouse",
4997
5045
  "OutputClickHouseAuthenticationType",
4998
5046
  "OutputClickHouseBackpressureBehavior",
@@ -5304,6 +5352,8 @@ __all__ = [
5304
5352
  "OutputGoogleChronicleAuthenticationMethod",
5305
5353
  "OutputGoogleChronicleBackpressureBehavior",
5306
5354
  "OutputGoogleChronicleCompression",
5355
+ "OutputGoogleChronicleCustomLabel",
5356
+ "OutputGoogleChronicleCustomLabelTypedDict",
5307
5357
  "OutputGoogleChronicleExtraHTTPHeader",
5308
5358
  "OutputGoogleChronicleExtraHTTPHeaderTypedDict",
5309
5359
  "OutputGoogleChronicleFailedRequestLoggingMode",
@@ -6063,6 +6113,7 @@ __all__ = [
6063
6113
  "RbacResource",
6064
6114
  "ReadMode",
6065
6115
  "Remote",
6116
+ "RemoteEnum",
6066
6117
  "RemoteTypedDict",
6067
6118
  "Renamed",
6068
6119
  "RenamedTypedDict",
@@ -6199,6 +6250,8 @@ __all__ = [
6199
6250
  "UpdatePacksByIDRequestTypedDict",
6200
6251
  "UpdatePacksByIDResponse",
6201
6252
  "UpdatePacksByIDResponseTypedDict",
6253
+ "UpdatePacksRequest",
6254
+ "UpdatePacksRequestTypedDict",
6202
6255
  "UpdatePipelineByIDRequest",
6203
6256
  "UpdatePipelineByIDRequestTypedDict",
6204
6257
  "UpdatePipelineByIDResponse",
@@ -6207,6 +6260,8 @@ __all__ = [
6207
6260
  "UpdateRoutesByIDRequestTypedDict",
6208
6261
  "UpdateRoutesByIDResponse",
6209
6262
  "UpdateRoutesByIDResponseTypedDict",
6263
+ "UploadPackResponse",
6264
+ "UploadPackResponseTypedDict",
6210
6265
  "UserAccessControlList",
6211
6266
  "UserAccessControlListTypedDict",
6212
6267
  "UsersAndGroups",
@@ -6292,6 +6347,9 @@ _dynamic_imports: dict[str, str] = {
6292
6347
  "CriblLakeDataset": ".cribllakedataset",
6293
6348
  "CriblLakeDatasetFormat": ".cribllakedataset",
6294
6349
  "CriblLakeDatasetTypedDict": ".cribllakedataset",
6350
+ "CriblLakeDatasetUpdate": ".cribllakedatasetupdate",
6351
+ "CriblLakeDatasetUpdateFormat": ".cribllakedatasetupdate",
6352
+ "CriblLakeDatasetUpdateTypedDict": ".cribllakedatasetupdate",
6295
6353
  "CurrentBranchResult": ".currentbranchresult",
6296
6354
  "CurrentBranchResultTypedDict": ".currentbranchresult",
6297
6355
  "DatasetMetadata": ".datasetmetadata",
@@ -6472,6 +6530,7 @@ _dynamic_imports: dict[str, str] = {
6472
6530
  "GitInfo": ".gitinfo",
6473
6531
  "GitInfoTypedDict": ".gitinfo",
6474
6532
  "Remote": ".gitinfo",
6533
+ "RemoteEnum": ".gitinfo",
6475
6534
  "RemoteTypedDict": ".gitinfo",
6476
6535
  "GitLogResult": ".gitlogresult",
6477
6536
  "GitLogResultTypedDict": ".gitlogresult",
@@ -7931,6 +7990,25 @@ _dynamic_imports: dict[str, str] = {
7931
7990
  "OutputAzureLogsTimeoutRetrySettingsTypedDict": ".outputazurelogs",
7932
7991
  "OutputAzureLogsType": ".outputazurelogs",
7933
7992
  "OutputAzureLogsTypedDict": ".outputazurelogs",
7993
+ "OutputChronicle": ".outputchronicle",
7994
+ "OutputChronicleAuthenticationMethod": ".outputchronicle",
7995
+ "OutputChronicleBackpressureBehavior": ".outputchronicle",
7996
+ "OutputChronicleCompression": ".outputchronicle",
7997
+ "OutputChronicleCustomLabel": ".outputchronicle",
7998
+ "OutputChronicleCustomLabelTypedDict": ".outputchronicle",
7999
+ "OutputChronicleExtraHTTPHeader": ".outputchronicle",
8000
+ "OutputChronicleExtraHTTPHeaderTypedDict": ".outputchronicle",
8001
+ "OutputChronicleFailedRequestLoggingMode": ".outputchronicle",
8002
+ "OutputChronicleMode": ".outputchronicle",
8003
+ "OutputChroniclePqControls": ".outputchronicle",
8004
+ "OutputChroniclePqControlsTypedDict": ".outputchronicle",
8005
+ "OutputChronicleQueueFullBehavior": ".outputchronicle",
8006
+ "OutputChronicleResponseRetrySetting": ".outputchronicle",
8007
+ "OutputChronicleResponseRetrySettingTypedDict": ".outputchronicle",
8008
+ "OutputChronicleTimeoutRetrySettings": ".outputchronicle",
8009
+ "OutputChronicleTimeoutRetrySettingsTypedDict": ".outputchronicle",
8010
+ "OutputChronicleType": ".outputchronicle",
8011
+ "OutputChronicleTypedDict": ".outputchronicle",
7934
8012
  "ColumnMapping": ".outputclickhouse",
7935
8013
  "ColumnMappingTypedDict": ".outputclickhouse",
7936
8014
  "MappingType": ".outputclickhouse",
@@ -8249,8 +8327,6 @@ _dynamic_imports: dict[str, str] = {
8249
8327
  "OutputFilesystemParquetVersion": ".outputfilesystem",
8250
8328
  "OutputFilesystemType": ".outputfilesystem",
8251
8329
  "OutputFilesystemTypedDict": ".outputfilesystem",
8252
- "CustomLabel": ".outputgooglechronicle",
8253
- "CustomLabelTypedDict": ".outputgooglechronicle",
8254
8330
  "ExtraLogType": ".outputgooglechronicle",
8255
8331
  "ExtraLogTypeTypedDict": ".outputgooglechronicle",
8256
8332
  "OutputGoogleChronicle": ".outputgooglechronicle",
@@ -8258,6 +8334,8 @@ _dynamic_imports: dict[str, str] = {
8258
8334
  "OutputGoogleChronicleAuthenticationMethod": ".outputgooglechronicle",
8259
8335
  "OutputGoogleChronicleBackpressureBehavior": ".outputgooglechronicle",
8260
8336
  "OutputGoogleChronicleCompression": ".outputgooglechronicle",
8337
+ "OutputGoogleChronicleCustomLabel": ".outputgooglechronicle",
8338
+ "OutputGoogleChronicleCustomLabelTypedDict": ".outputgooglechronicle",
8261
8339
  "OutputGoogleChronicleExtraHTTPHeader": ".outputgooglechronicle",
8262
8340
  "OutputGoogleChronicleExtraHTTPHeaderTypedDict": ".outputgooglechronicle",
8263
8341
  "OutputGoogleChronicleFailedRequestLoggingMode": ".outputgooglechronicle",
@@ -9136,6 +9214,8 @@ _dynamic_imports: dict[str, str] = {
9136
9214
  "UpdatePacksByIDRequestTypedDict": ".updatepacksbyidop",
9137
9215
  "UpdatePacksByIDResponse": ".updatepacksbyidop",
9138
9216
  "UpdatePacksByIDResponseTypedDict": ".updatepacksbyidop",
9217
+ "UpdatePacksRequest": ".updatepacksop",
9218
+ "UpdatePacksRequestTypedDict": ".updatepacksop",
9139
9219
  "UpdatePipelineByIDRequest": ".updatepipelinebyidop",
9140
9220
  "UpdatePipelineByIDRequestTypedDict": ".updatepipelinebyidop",
9141
9221
  "UpdatePipelineByIDResponse": ".updatepipelinebyidop",
@@ -9144,6 +9224,8 @@ _dynamic_imports: dict[str, str] = {
9144
9224
  "UpdateRoutesByIDRequestTypedDict": ".updateroutesbyidop",
9145
9225
  "UpdateRoutesByIDResponse": ".updateroutesbyidop",
9146
9226
  "UpdateRoutesByIDResponseTypedDict": ".updateroutesbyidop",
9227
+ "UploadPackResponse": ".uploadpackresponse",
9228
+ "UploadPackResponseTypedDict": ".uploadpackresponse",
9147
9229
  "UserAccessControlList": ".useraccesscontrollist",
9148
9230
  "UserAccessControlListTypedDict": ".useraccesscontrollist",
9149
9231
  "WorkerTypes": ".workertypes",