cribl-control-plane 0.2.1rc11__py3-none-any.whl → 0.4.0a12__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 (136) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/acl.py +6 -4
  3. cribl_control_plane/basesdk.py +6 -0
  4. cribl_control_plane/branches.py +8 -4
  5. cribl_control_plane/commits.py +42 -28
  6. cribl_control_plane/commits_files.py +12 -8
  7. cribl_control_plane/configs_versions.py +10 -4
  8. cribl_control_plane/destinations.py +30 -20
  9. cribl_control_plane/destinations_pq.py +12 -8
  10. cribl_control_plane/groups_sdk.py +60 -24
  11. cribl_control_plane/health.py +2 -0
  12. cribl_control_plane/hectokens.py +32 -8
  13. cribl_control_plane/lakedatasets.py +86 -20
  14. cribl_control_plane/models/__init__.py +568 -214
  15. cribl_control_plane/models/addhectokenrequest.py +7 -1
  16. cribl_control_plane/models/createconfiggroupbyproductop.py +20 -1
  17. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +19 -1
  18. cribl_control_plane/models/createinputhectokenbyidop.py +20 -1
  19. cribl_control_plane/models/{countedlistgitdiffresult.py → createinputop.py} +9 -5
  20. cribl_control_plane/models/{countedlistgitshowresult.py → createoutputop.py} +9 -5
  21. cribl_control_plane/models/createoutputtestbyidop.py +20 -1
  22. cribl_control_plane/models/{countedlistpackinstallinfo.py → createpacksop.py} +6 -2
  23. cribl_control_plane/models/createpipelineop.py +24 -0
  24. cribl_control_plane/models/createroutesappendbyidop.py +20 -2
  25. cribl_control_plane/models/createversioncommitop.py +19 -1
  26. cribl_control_plane/models/{countedliststring.py → createversionpushop.py} +6 -2
  27. cribl_control_plane/models/createversionrevertop.py +19 -1
  28. cribl_control_plane/models/createversionundoop.py +18 -1
  29. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +20 -1
  30. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +20 -1
  31. cribl_control_plane/models/deleteinputbyidop.py +20 -1
  32. cribl_control_plane/models/deleteoutputbyidop.py +20 -1
  33. cribl_control_plane/models/deleteoutputpqbyidop.py +19 -1
  34. cribl_control_plane/models/deletepacksbyidop.py +20 -1
  35. cribl_control_plane/models/deletepipelinebyidop.py +20 -1
  36. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +19 -1
  37. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +19 -1
  38. cribl_control_plane/models/getconfiggroupbyproductandidop.py +19 -1
  39. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +19 -1
  40. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +20 -1
  41. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +79 -2
  42. cribl_control_plane/models/getinputbyidop.py +20 -1
  43. cribl_control_plane/models/getmasterworkerentryop.py +18 -1
  44. cribl_control_plane/models/getoutputbyidop.py +20 -1
  45. cribl_control_plane/models/getoutputpqbyidop.py +20 -1
  46. cribl_control_plane/models/getoutputsamplesbyidop.py +20 -1
  47. cribl_control_plane/models/getpacksbyidop.py +20 -1
  48. cribl_control_plane/models/getpacksop.py +19 -1
  49. cribl_control_plane/models/getpipelinebyidop.py +20 -1
  50. cribl_control_plane/models/getroutesbyidop.py +20 -1
  51. cribl_control_plane/models/getsummaryop.py +19 -1
  52. cribl_control_plane/models/{countedlistbranchinfo.py → getversionbranchop.py} +6 -2
  53. cribl_control_plane/models/getversioncountop.py +19 -1
  54. cribl_control_plane/models/getversiondiffop.py +19 -1
  55. cribl_control_plane/models/getversionfilesop.py +19 -1
  56. cribl_control_plane/models/{countedlistgitinfo.py → getversioninfoop.py} +6 -2
  57. cribl_control_plane/models/getversionop.py +19 -1
  58. cribl_control_plane/models/getversionshowop.py +19 -1
  59. cribl_control_plane/models/getversionstatusop.py +19 -1
  60. cribl_control_plane/models/input.py +18 -15
  61. cribl_control_plane/models/inputcloudflarehec.py +513 -0
  62. cribl_control_plane/models/inputfile.py +7 -0
  63. cribl_control_plane/models/listconfiggroupbyproductop.py +19 -1
  64. cribl_control_plane/models/{countedlistinput.py → listinputop.py} +6 -2
  65. cribl_control_plane/models/listmasterworkerentryop.py +19 -1
  66. cribl_control_plane/models/{countedlistoutput.py → listoutputop.py} +6 -2
  67. cribl_control_plane/models/{countedlistpipeline.py → listpipelineop.py} +6 -2
  68. cribl_control_plane/models/{countedlistroutes.py → listroutesop.py} +6 -2
  69. cribl_control_plane/models/output.py +23 -17
  70. cribl_control_plane/models/outputazureblob.py +14 -0
  71. cribl_control_plane/models/outputazuredataexplorer.py +7 -0
  72. cribl_control_plane/models/outputchronicle.py +5 -0
  73. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  74. cribl_control_plane/models/outputcribllake.py +14 -0
  75. cribl_control_plane/models/outputdatabricks.py +19 -0
  76. cribl_control_plane/models/outputdls3.py +14 -0
  77. cribl_control_plane/models/outputexabeam.py +7 -0
  78. cribl_control_plane/models/outputfilesystem.py +14 -0
  79. cribl_control_plane/models/outputgooglecloudstorage.py +14 -0
  80. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  81. cribl_control_plane/models/outputminio.py +19 -4
  82. cribl_control_plane/models/outputnetflow.py +7 -0
  83. cribl_control_plane/models/outputs3.py +14 -0
  84. cribl_control_plane/models/outputsecuritylake.py +14 -0
  85. cribl_control_plane/models/outputsyslog.py +7 -0
  86. cribl_control_plane/models/runnablejobcollection.py +0 -8
  87. cribl_control_plane/models/runnablejobexecutor.py +0 -4
  88. cribl_control_plane/models/runnablejobscheduledsearch.py +0 -4
  89. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -1
  90. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +20 -1
  91. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +20 -1
  92. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  93. cribl_control_plane/models/updateinputbyidop.py +19 -1
  94. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +20 -1
  95. cribl_control_plane/models/updateoutputbyidop.py +19 -1
  96. cribl_control_plane/models/updatepacksbyidop.py +20 -1
  97. cribl_control_plane/models/updatepipelinebyidop.py +19 -1
  98. cribl_control_plane/models/updateroutesbyidop.py +19 -1
  99. cribl_control_plane/nodes.py +16 -8
  100. cribl_control_plane/packs.py +32 -20
  101. cribl_control_plane/pipelines.py +30 -20
  102. cribl_control_plane/routes_sdk.py +28 -16
  103. cribl_control_plane/samples.py +12 -8
  104. cribl_control_plane/sources.py +30 -20
  105. cribl_control_plane/statuses.py +6 -4
  106. cribl_control_plane/summaries.py +6 -8
  107. cribl_control_plane/teams.py +6 -4
  108. cribl_control_plane/tokens.py +2 -0
  109. cribl_control_plane/utils/forms.py +21 -10
  110. cribl_control_plane/utils/queryparams.py +14 -2
  111. cribl_control_plane/utils/retries.py +69 -5
  112. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  113. cribl_control_plane/versions_configs.py +6 -4
  114. {cribl_control_plane-0.2.1rc11.dist-info → cribl_control_plane-0.4.0a12.dist-info}/METADATA +28 -36
  115. {cribl_control_plane-0.2.1rc11.dist-info → cribl_control_plane-0.4.0a12.dist-info}/RECORD +117 -131
  116. cribl_control_plane-0.4.0a12.dist-info/licenses/LICENSE +201 -0
  117. cribl_control_plane/models/countedlistconfiggroup.py +0 -20
  118. cribl_control_plane/models/countedlistcribllakedataset.py +0 -20
  119. cribl_control_plane/models/countedlistdistributedsummary.py +0 -20
  120. cribl_control_plane/models/countedlistgitcommitsummary.py +0 -20
  121. cribl_control_plane/models/countedlistgitcountresult.py +0 -20
  122. cribl_control_plane/models/countedlistgitfilesresponse.py +0 -20
  123. cribl_control_plane/models/countedlistgitlogresult.py +0 -20
  124. cribl_control_plane/models/countedlistgitrevertresult.py +0 -20
  125. cribl_control_plane/models/countedlistgitstatusresult.py +0 -20
  126. cribl_control_plane/models/countedlistinputsplunkhec.py +0 -20
  127. cribl_control_plane/models/countedlistjobinfo.py +0 -20
  128. cribl_control_plane/models/countedlistmasterworkerentry.py +0 -20
  129. cribl_control_plane/models/countedlistnumber.py +0 -19
  130. cribl_control_plane/models/countedlistobject.py +0 -19
  131. cribl_control_plane/models/countedlistoutputsamplesresponse.py +0 -20
  132. cribl_control_plane/models/countedlistoutputtestresponse.py +0 -20
  133. cribl_control_plane/models/countedlistpackinfo.py +0 -20
  134. cribl_control_plane/models/countedlistteamaccesscontrollist.py +0 -20
  135. cribl_control_plane/models/countedlistuseraccesscontrollist.py +0 -20
  136. {cribl_control_plane-0.2.1rc11.dist-info → cribl_control_plane-0.4.0a12.dist-info}/WHEEL +0 -0
@@ -20,7 +20,7 @@ class Teams(BaseSDK):
20
20
  server_url: Optional[str] = None,
21
21
  timeout_ms: Optional[int] = None,
22
22
  http_headers: Optional[Mapping[str, str]] = None,
23
- ) -> models.CountedListTeamAccessControlList:
23
+ ) -> models.GetConfigGroupACLTeamsByProductAndIDResponse:
24
24
  r"""Get the Access Control List for teams with permissions on a Worker Group or Edge Fleet for the specified Cribl product
25
25
 
26
26
  Get the Access Control List (ACL) for teams that have permissions on a Worker Group or Edge Fleet for the specified Cribl product.
@@ -62,6 +62,7 @@ class Teams(BaseSDK):
62
62
  accept_header_value="application/json",
63
63
  http_headers=http_headers,
64
64
  security=self.sdk_configuration.security,
65
+ allow_empty_value=None,
65
66
  timeout_ms=timeout_ms,
66
67
  )
67
68
 
@@ -91,7 +92,7 @@ class Teams(BaseSDK):
91
92
  response_data: Any = None
92
93
  if utils.match_response(http_res, "200", "application/json"):
93
94
  return unmarshal_json_response(
94
- models.CountedListTeamAccessControlList, http_res
95
+ models.GetConfigGroupACLTeamsByProductAndIDResponse, http_res
95
96
  )
96
97
  if utils.match_response(http_res, "500", "application/json"):
97
98
  response_data = unmarshal_json_response(errors.ErrorData, http_res)
@@ -115,7 +116,7 @@ class Teams(BaseSDK):
115
116
  server_url: Optional[str] = None,
116
117
  timeout_ms: Optional[int] = None,
117
118
  http_headers: Optional[Mapping[str, str]] = None,
118
- ) -> models.CountedListTeamAccessControlList:
119
+ ) -> models.GetConfigGroupACLTeamsByProductAndIDResponse:
119
120
  r"""Get the Access Control List for teams with permissions on a Worker Group or Edge Fleet for the specified Cribl product
120
121
 
121
122
  Get the Access Control List (ACL) for teams that have permissions on a Worker Group or Edge Fleet for the specified Cribl product.
@@ -157,6 +158,7 @@ class Teams(BaseSDK):
157
158
  accept_header_value="application/json",
158
159
  http_headers=http_headers,
159
160
  security=self.sdk_configuration.security,
161
+ allow_empty_value=None,
160
162
  timeout_ms=timeout_ms,
161
163
  )
162
164
 
@@ -186,7 +188,7 @@ class Teams(BaseSDK):
186
188
  response_data: Any = None
187
189
  if utils.match_response(http_res, "200", "application/json"):
188
190
  return unmarshal_json_response(
189
- models.CountedListTeamAccessControlList, http_res
191
+ models.GetConfigGroupACLTeamsByProductAndIDResponse, http_res
190
192
  )
191
193
  if utils.match_response(http_res, "500", "application/json"):
192
194
  response_data = unmarshal_json_response(errors.ErrorData, http_res)
@@ -60,6 +60,7 @@ class Tokens(BaseSDK):
60
60
  get_serialized_body=lambda: utils.serialize_request_body(
61
61
  request, False, False, "json", models.LoginInfo
62
62
  ),
63
+ allow_empty_value=None,
63
64
  timeout_ms=timeout_ms,
64
65
  )
65
66
 
@@ -150,6 +151,7 @@ class Tokens(BaseSDK):
150
151
  get_serialized_body=lambda: utils.serialize_request_body(
151
152
  request, False, False, "json", models.LoginInfo
152
153
  ),
154
+ allow_empty_value=None,
153
155
  timeout_ms=timeout_ms,
154
156
  )
155
157
 
@@ -142,16 +142,21 @@ def serialize_multipart_form(
142
142
  if field_metadata.file:
143
143
  if isinstance(val, List):
144
144
  # Handle array of files
145
+ array_field_name = f_name + "[]"
145
146
  for file_obj in val:
146
147
  if not _is_set(file_obj):
147
148
  continue
148
-
149
- file_name, content, content_type = _extract_file_properties(file_obj)
149
+
150
+ file_name, content, content_type = _extract_file_properties(
151
+ file_obj
152
+ )
150
153
 
151
154
  if content_type is not None:
152
- files.append((f_name + "[]", (file_name, content, content_type)))
155
+ files.append(
156
+ (array_field_name, (file_name, content, content_type))
157
+ )
153
158
  else:
154
- files.append((f_name + "[]", (file_name, content)))
159
+ files.append((array_field_name, (file_name, content)))
155
160
  else:
156
161
  # Handle single file
157
162
  file_name, content, content_type = _extract_file_properties(val)
@@ -161,11 +166,16 @@ def serialize_multipart_form(
161
166
  else:
162
167
  files.append((f_name, (file_name, content)))
163
168
  elif field_metadata.json:
164
- files.append((f_name, (
165
- None,
166
- marshal_json(val, request_field_types[name]),
167
- "application/json",
168
- )))
169
+ files.append(
170
+ (
171
+ f_name,
172
+ (
173
+ None,
174
+ marshal_json(val, request_field_types[name]),
175
+ "application/json",
176
+ ),
177
+ )
178
+ )
169
179
  else:
170
180
  if isinstance(val, List):
171
181
  values = []
@@ -175,7 +185,8 @@ def serialize_multipart_form(
175
185
  continue
176
186
  values.append(_val_to_string(value))
177
187
 
178
- form[f_name + "[]"] = values
188
+ array_field_name = f_name + "[]"
189
+ form[array_field_name] = values
179
190
  else:
180
191
  form[f_name] = _val_to_string(val)
181
192
  return media_type, form, files
@@ -27,12 +27,13 @@ from .forms import _populate_form
27
27
  def get_query_params(
28
28
  query_params: Any,
29
29
  gbls: Optional[Any] = None,
30
+ allow_empty_value: Optional[List[str]] = None,
30
31
  ) -> Dict[str, List[str]]:
31
32
  params: Dict[str, List[str]] = {}
32
33
 
33
- globals_already_populated = _populate_query_params(query_params, gbls, params, [])
34
+ globals_already_populated = _populate_query_params(query_params, gbls, params, [], allow_empty_value)
34
35
  if _is_set(gbls):
35
- _populate_query_params(gbls, None, params, globals_already_populated)
36
+ _populate_query_params(gbls, None, params, globals_already_populated, allow_empty_value)
36
37
 
37
38
  return params
38
39
 
@@ -42,6 +43,7 @@ def _populate_query_params(
42
43
  gbls: Any,
43
44
  query_param_values: Dict[str, List[str]],
44
45
  skip_fields: List[str],
46
+ allow_empty_value: Optional[List[str]] = None,
45
47
  ) -> List[str]:
46
48
  globals_already_populated: List[str] = []
47
49
 
@@ -69,6 +71,16 @@ def _populate_query_params(
69
71
  globals_already_populated.append(name)
70
72
 
71
73
  f_name = field.alias if field.alias is not None else name
74
+
75
+ allow_empty_set = set(allow_empty_value or [])
76
+ should_include_empty = f_name in allow_empty_set and (
77
+ value is None or value == [] or value == ""
78
+ )
79
+
80
+ if should_include_empty:
81
+ query_param_values[f_name] = [""]
82
+ continue
83
+
72
84
  serialization = metadata.serialization
73
85
  if serialization is not None:
74
86
  serialized_parms = _get_serialized_params(
@@ -3,7 +3,9 @@
3
3
  import asyncio
4
4
  import random
5
5
  import time
6
- from typing import List
6
+ from datetime import datetime
7
+ from email.utils import parsedate_to_datetime
8
+ from typing import List, Optional
7
9
 
8
10
  import httpx
9
11
 
@@ -51,9 +53,11 @@ class Retries:
51
53
 
52
54
  class TemporaryError(Exception):
53
55
  response: httpx.Response
56
+ retry_after: Optional[int]
54
57
 
55
58
  def __init__(self, response: httpx.Response):
56
59
  self.response = response
60
+ self.retry_after = _parse_retry_after_header(response)
57
61
 
58
62
 
59
63
  class PermanentError(Exception):
@@ -63,6 +67,62 @@ class PermanentError(Exception):
63
67
  self.inner = inner
64
68
 
65
69
 
70
+ def _parse_retry_after_header(response: httpx.Response) -> Optional[int]:
71
+ """Parse Retry-After header from response.
72
+
73
+ Returns:
74
+ Retry interval in milliseconds, or None if header is missing or invalid.
75
+ """
76
+ retry_after_header = response.headers.get("retry-after")
77
+ if not retry_after_header:
78
+ return None
79
+
80
+ try:
81
+ seconds = float(retry_after_header)
82
+ return round(seconds * 1000)
83
+ except ValueError:
84
+ pass
85
+
86
+ try:
87
+ retry_date = parsedate_to_datetime(retry_after_header)
88
+ delta = (retry_date - datetime.now(retry_date.tzinfo)).total_seconds()
89
+ return round(max(0, delta) * 1000)
90
+ except (ValueError, TypeError):
91
+ pass
92
+
93
+ return None
94
+
95
+
96
+ def _get_sleep_interval(
97
+ exception: Exception,
98
+ initial_interval: int,
99
+ max_interval: int,
100
+ exponent: float,
101
+ retries: int,
102
+ ) -> float:
103
+ """Get sleep interval for retry with exponential backoff.
104
+
105
+ Args:
106
+ exception: The exception that triggered the retry.
107
+ initial_interval: Initial retry interval in milliseconds.
108
+ max_interval: Maximum retry interval in milliseconds.
109
+ exponent: Base for exponential backoff calculation.
110
+ retries: Current retry attempt count.
111
+
112
+ Returns:
113
+ Sleep interval in seconds.
114
+ """
115
+ if (
116
+ isinstance(exception, TemporaryError)
117
+ and exception.retry_after is not None
118
+ and exception.retry_after > 0
119
+ ):
120
+ return exception.retry_after / 1000
121
+
122
+ sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
123
+ return min(sleep, max_interval / 1000)
124
+
125
+
66
126
  def retry(func, retries: Retries):
67
127
  if retries.config.strategy == "backoff":
68
128
 
@@ -183,8 +243,10 @@ def retry_with_backoff(
183
243
  return exception.response
184
244
 
185
245
  raise
186
- sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
187
- sleep = min(sleep, max_interval / 1000)
246
+
247
+ sleep = _get_sleep_interval(
248
+ exception, initial_interval, max_interval, exponent, retries
249
+ )
188
250
  time.sleep(sleep)
189
251
  retries += 1
190
252
 
@@ -211,7 +273,9 @@ async def retry_with_backoff_async(
211
273
  return exception.response
212
274
 
213
275
  raise
214
- sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
215
- sleep = min(sleep, max_interval / 1000)
276
+
277
+ sleep = _get_sleep_interval(
278
+ exception, initial_interval, max_interval, exponent, retries
279
+ )
216
280
  await asyncio.sleep(sleep)
217
281
  retries += 1
@@ -1,12 +1,26 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
- from typing import Any, Optional
3
+ from typing import Any, Optional, Type, TypeVar, overload
4
4
 
5
5
  import httpx
6
6
 
7
7
  from .serializers import unmarshal_json
8
8
  from cribl_control_plane import errors
9
9
 
10
+ T = TypeVar("T")
11
+
12
+
13
+ @overload
14
+ def unmarshal_json_response(
15
+ typ: Type[T], http_res: httpx.Response, body: Optional[str] = None
16
+ ) -> T: ...
17
+
18
+
19
+ @overload
20
+ def unmarshal_json_response(
21
+ typ: Any, http_res: httpx.Response, body: Optional[str] = None
22
+ ) -> Any: ...
23
+
10
24
 
11
25
  def unmarshal_json_response(
12
26
  typ: Any, http_res: httpx.Response, body: Optional[str] = None
@@ -17,7 +17,7 @@ class VersionsConfigs(BaseSDK):
17
17
  server_url: Optional[str] = None,
18
18
  timeout_ms: Optional[int] = None,
19
19
  http_headers: Optional[Mapping[str, str]] = None,
20
- ) -> models.CountedListGitInfo:
20
+ ) -> models.GetVersionInfoResponse:
21
21
  r"""Get the configuration and status for the Git integration
22
22
 
23
23
  Get the configuration and versioning status for the Git integration for the Cribl configuration.
@@ -49,6 +49,7 @@ class VersionsConfigs(BaseSDK):
49
49
  accept_header_value="application/json",
50
50
  http_headers=http_headers,
51
51
  security=self.sdk_configuration.security,
52
+ allow_empty_value=None,
52
53
  timeout_ms=timeout_ms,
53
54
  )
54
55
 
@@ -77,7 +78,7 @@ class VersionsConfigs(BaseSDK):
77
78
 
78
79
  response_data: Any = None
79
80
  if utils.match_response(http_res, "200", "application/json"):
80
- return unmarshal_json_response(models.CountedListGitInfo, http_res)
81
+ return unmarshal_json_response(models.GetVersionInfoResponse, http_res)
81
82
  if utils.match_response(http_res, "500", "application/json"):
82
83
  response_data = unmarshal_json_response(errors.ErrorData, http_res)
83
84
  raise errors.Error(response_data, http_res)
@@ -97,7 +98,7 @@ class VersionsConfigs(BaseSDK):
97
98
  server_url: Optional[str] = None,
98
99
  timeout_ms: Optional[int] = None,
99
100
  http_headers: Optional[Mapping[str, str]] = None,
100
- ) -> models.CountedListGitInfo:
101
+ ) -> models.GetVersionInfoResponse:
101
102
  r"""Get the configuration and status for the Git integration
102
103
 
103
104
  Get the configuration and versioning status for the Git integration for the Cribl configuration.
@@ -129,6 +130,7 @@ class VersionsConfigs(BaseSDK):
129
130
  accept_header_value="application/json",
130
131
  http_headers=http_headers,
131
132
  security=self.sdk_configuration.security,
133
+ allow_empty_value=None,
132
134
  timeout_ms=timeout_ms,
133
135
  )
134
136
 
@@ -157,7 +159,7 @@ class VersionsConfigs(BaseSDK):
157
159
 
158
160
  response_data: Any = None
159
161
  if utils.match_response(http_res, "200", "application/json"):
160
- return unmarshal_json_response(models.CountedListGitInfo, http_res)
162
+ return unmarshal_json_response(models.GetVersionInfoResponse, http_res)
161
163
  if utils.match_response(http_res, "500", "application/json"):
162
164
  response_data = unmarshal_json_response(errors.ErrorData, http_res)
163
165
  raise errors.Error(response_data, http_res)
@@ -1,7 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cribl-control-plane
3
- Version: 0.2.1rc11
3
+ Version: 0.4.0a12
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
+ License-File: LICENSE
5
6
  Author: Speakeasy
6
7
  Requires-Python: >=3.9.2
7
8
  Classifier: Programming Language :: Python :: 3
@@ -17,20 +18,11 @@ Project-URL: Repository, https://github.com/criblio/cribl_control_plane_sdk_pyth
17
18
  Description-Content-Type: text/markdown
18
19
 
19
20
  # cribl_control_plane_sdk_python
21
+ <!-- Start Summary [summary] -->
22
+ ## Summary
20
23
 
21
- The Cribl Python SDK for the control plane provides operational control over Cribl resources and helps streamline the process of integrating with Cribl.
22
-
23
- In addition to the usage examples in this repository, the Cribl documentation includes [code examples for common use cases](https://docs.cribl.io/cribl-as-code/code-examples).
24
-
25
- Complementary API reference documentation is available at https://docs.cribl.io/cribl-as-code/api-reference. Product documentation is available at https://docs.cribl.io.
26
-
27
- > [!IMPORTANT]
28
- > **Preview Feature**
29
- > The Cribl SDKs are Preview features that are still being developed. We do not recommend using them in a production environment, because the features might not be fully tested or optimized for performance, and related documentation could be incomplete.
30
- >
31
- > Please continue to submit feedback through normal Cribl support channels, but assistance might be limited while the features remain in Preview.
32
-
33
- <!-- No Summary [summary] -->
24
+ Cribl API Reference: This API Reference lists available REST endpoints, along with their supported operations for accessing, creating, updating, or deleting resources. See our complementary product documentation at [docs.cribl.io](http://docs.cribl.io).
25
+ <!-- End Summary [summary] -->
34
26
 
35
27
  <!-- Start Table of Contents [toc] -->
36
28
  ## Table of Contents
@@ -325,11 +317,11 @@ with CriblControlPlane(
325
317
  <details open>
326
318
  <summary>Available methods</summary>
327
319
 
328
- #### [auth.tokens](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/tokens/README.md)
320
+ ### [Auth.Tokens](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/tokens/README.md)
329
321
 
330
322
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/tokens/README.md#get) - Log in and fetch an authentication token
331
323
 
332
- ### [destinations](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinations/README.md)
324
+ ### [Destinations](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinations/README.md)
333
325
 
334
326
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinations/README.md#list) - List all Destinations
335
327
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinations/README.md#create) - Create a Destination
@@ -337,17 +329,17 @@ with CriblControlPlane(
337
329
  * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinations/README.md#update) - Update a Destination
338
330
  * [delete](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinations/README.md#delete) - Delete a Destination
339
331
 
340
- #### [destinations.pq](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinationspq/README.md)
332
+ #### [Destinations.Pq](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinationspq/README.md)
341
333
 
342
334
  * [clear](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinationspq/README.md#clear) - Clear the persistent queue for a Destination
343
335
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/destinationspq/README.md#get) - Get information about the latest job to clear the persistent queue for a Destination
344
336
 
345
- #### [destinations.samples](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/samples/README.md)
337
+ #### [Destinations.Samples](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/samples/README.md)
346
338
 
347
339
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/samples/README.md#get) - Get sample event data for a Destination
348
340
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/samples/README.md#create) - Send sample event data to a Destination
349
341
 
350
- ### [groups](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/groupssdk/README.md)
342
+ ### [Groups](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/groupssdk/README.md)
351
343
 
352
344
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/groupssdk/README.md#list) - List all Worker Groups or Edge Fleets for the specified Cribl product
353
345
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/groupssdk/README.md#create) - Create a Worker Group or Edge Fleet for the specified Cribl product
@@ -356,23 +348,23 @@ with CriblControlPlane(
356
348
  * [delete](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/groupssdk/README.md#delete) - Delete a Worker Group or Edge Fleet
357
349
  * [deploy](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/groupssdk/README.md#deploy) - Deploy commits to a Worker Group or Edge Fleet
358
350
 
359
- #### [groups.acl](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/acl/README.md)
351
+ #### [Groups.Acl](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/acl/README.md)
360
352
 
361
353
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/acl/README.md#get) - Get the Access Control List for a Worker Group or Edge Fleet
362
354
 
363
- #### [groups.acl.teams](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/teams/README.md)
355
+ ##### [Groups.Acl.Teams](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/teams/README.md)
364
356
 
365
357
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/teams/README.md#get) - Get the Access Control List for teams with permissions on a Worker Group or Edge Fleet for the specified Cribl product
366
358
 
367
- #### [groups.configs.versions](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/configsversions/README.md)
359
+ #### [Groups.Configs.Versions](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/configsversions/README.md)
368
360
 
369
361
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/configsversions/README.md#get) - Get the configuration version for a Worker Group or Edge Fleet
370
362
 
371
- ### [health](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/health/README.md)
363
+ ### [Health](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/health/README.md)
372
364
 
373
365
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/health/README.md#get) - Retrieve health status of the server
374
366
 
375
- ### [lake_datasets](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/lakedatasets/README.md)
367
+ ### [LakeDatasets](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/lakedatasets/README.md)
376
368
 
377
369
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/lakedatasets/README.md#create) - Create a Lake Dataset
378
370
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/lakedatasets/README.md#list) - List all Lake Datasets
@@ -380,16 +372,16 @@ with CriblControlPlane(
380
372
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/lakedatasets/README.md#get) - Get a Lake Dataset
381
373
  * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/lakedatasets/README.md#update) - Update a Lake Dataset
382
374
 
383
- ### [nodes](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/nodes/README.md)
375
+ ### [Nodes](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/nodes/README.md)
384
376
 
385
377
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/nodes/README.md#list) - Get detailed metadata for Worker and Edge Nodes
386
378
  * [count](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/nodes/README.md#count) - Get a count of Worker and Edge Nodes
387
379
 
388
- #### [nodes.summaries](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/summaries/README.md)
380
+ #### [Nodes.Summaries](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/summaries/README.md)
389
381
 
390
382
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/summaries/README.md#get) - Get a summary of the Distributed deployment
391
383
 
392
- ### [packs](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md)
384
+ ### [Packs](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md)
393
385
 
394
386
  * [install](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#install) - Install a Pack
395
387
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#list) - List all Packs
@@ -398,7 +390,7 @@ with CriblControlPlane(
398
390
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#get) - Get a Pack
399
391
  * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#update) - Upgrade a Pack
400
392
 
401
- ### [pipelines](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/pipelines/README.md)
393
+ ### [Pipelines](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/pipelines/README.md)
402
394
 
403
395
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/pipelines/README.md#list) - List all Pipelines
404
396
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/pipelines/README.md#create) - Create a Pipeline
@@ -406,14 +398,14 @@ with CriblControlPlane(
406
398
  * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/pipelines/README.md#update) - Update a Pipeline
407
399
  * [delete](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/pipelines/README.md#delete) - Delete a Pipeline
408
400
 
409
- ### [routes](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md)
401
+ ### [Routes](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md)
410
402
 
411
403
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#list) - List all Routes
412
404
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#get) - Get a Routing table
413
405
  * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#update) - Update a Route
414
406
  * [append](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#append) - Add a Route to the end of the Routing table
415
407
 
416
- ### [sources](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/sources/README.md)
408
+ ### [Sources](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/sources/README.md)
417
409
 
418
410
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/sources/README.md#list) - List all Sources
419
411
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/sources/README.md#create) - Create a Source
@@ -421,17 +413,17 @@ with CriblControlPlane(
421
413
  * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/sources/README.md#update) - Update a Source
422
414
  * [delete](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/sources/README.md#delete) - Delete a Source
423
415
 
424
- #### [sources.hec_tokens](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/hectokens/README.md)
416
+ #### [Sources.HecTokens](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/hectokens/README.md)
425
417
 
426
418
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/hectokens/README.md#create) - Add an HEC token and optional metadata to a Splunk HEC Source
427
419
  * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/hectokens/README.md#update) - Update metadata for an HEC token for a Splunk HEC Source
428
420
 
429
- #### [versions.branches](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/branches/README.md)
421
+ ### [Versions.Branches](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/branches/README.md)
430
422
 
431
423
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/branches/README.md#list) - List all branches in the Git repository used for Cribl configuration
432
424
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/branches/README.md#get) - Get the name of the Git branch that the Cribl configuration is checked out to
433
425
 
434
- #### [versions.commits](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md)
426
+ ### [Versions.Commits](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md)
435
427
 
436
428
  * [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md#create) - Create a new commit for pending changes to the Cribl configuration
437
429
  * [diff](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md#diff) - Get the diff for a commit
@@ -441,16 +433,16 @@ with CriblControlPlane(
441
433
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md#get) - Get the diff and log message for a commit
442
434
  * [undo](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md#undo) - Discard uncommitted (staged) changes
443
435
 
444
- #### [versions.commits.files](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commitsfiles/README.md)
436
+ #### [Versions.Commits.Files](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commitsfiles/README.md)
445
437
 
446
438
  * [count](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commitsfiles/README.md#count) - Get a count of files that changed since a commit
447
439
  * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commitsfiles/README.md#list) - Get the names and statuses of files that changed since a commit
448
440
 
449
- #### [versions.configs](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/versionsconfigs/README.md)
441
+ ### [Versions.Configs](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/versionsconfigs/README.md)
450
442
 
451
443
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/versionsconfigs/README.md#get) - Get the configuration and status for the Git integration
452
444
 
453
- #### [versions.statuses](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/statuses/README.md)
445
+ ### [Versions.Statuses](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/statuses/README.md)
454
446
 
455
447
  * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/statuses/README.md#get) - Get the status of the current working tree
456
448