gcore 0.4.0__py3-none-any.whl → 0.5.0__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 gcore might be problematic. Click here for more details.

Files changed (125) hide show
  1. gcore/_base_client.py +9 -2
  2. gcore/_client.py +9 -0
  3. gcore/_constants.py +2 -2
  4. gcore/_models.py +8 -5
  5. gcore/_version.py +1 -1
  6. gcore/pagination.py +192 -1
  7. gcore/resources/__init__.py +14 -0
  8. gcore/resources/cloud/baremetal/servers.py +2 -2
  9. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +2 -2
  10. gcore/resources/cloud/inference/deployments/deployments.py +66 -33
  11. gcore/resources/cloud/inference/deployments/logs.py +7 -7
  12. gcore/resources/cloud/inference/inference.py +5 -5
  13. gcore/resources/cloud/inference/models.py +16 -15
  14. gcore/resources/cloud/inference/registry_credentials.py +16 -16
  15. gcore/resources/cloud/inference/secrets.py +4 -5
  16. gcore/resources/cloud/instances/instances.py +2 -2
  17. gcore/resources/cloud/secrets.py +14 -224
  18. gcore/resources/cloud/tasks.py +30 -28
  19. gcore/resources/fastedge/__init__.py +103 -0
  20. gcore/resources/fastedge/apps/__init__.py +33 -0
  21. gcore/resources/fastedge/apps/apps.py +932 -0
  22. gcore/resources/fastedge/apps/logs.py +248 -0
  23. gcore/resources/fastedge/binaries.py +286 -0
  24. gcore/resources/fastedge/fastedge.py +327 -0
  25. gcore/resources/fastedge/kv_stores.py +523 -0
  26. gcore/resources/fastedge/secrets.py +687 -0
  27. gcore/resources/fastedge/statistics.py +347 -0
  28. gcore/resources/fastedge/templates.py +652 -0
  29. gcore/types/cloud/__init__.py +2 -28
  30. gcore/types/cloud/baremetal/server_create_params.py +1 -1
  31. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +1 -1
  32. gcore/types/cloud/inference/__init__.py +12 -8
  33. gcore/types/cloud/inference/deployment_create_params.py +224 -7
  34. gcore/types/cloud/inference/deployment_update_params.py +24 -3
  35. gcore/types/cloud/inference/deployments/__init__.py +1 -0
  36. gcore/types/cloud/inference/{inference_log.py → deployments/inference_deployment_log.py} +3 -3
  37. gcore/types/cloud/inference/inference_deployment.py +266 -0
  38. gcore/types/cloud/inference/{inference_apikey_secret.py → inference_deployment_api_key.py} +2 -2
  39. gcore/types/cloud/inference/{mlcatalog_model_card.py → inference_model.py} +2 -2
  40. gcore/types/cloud/inference/{inference_registry_credential.py → inference_registry_credentials.py} +2 -2
  41. gcore/types/cloud/inference/{inference_registry_credential_full.py → inference_registry_credentials_create.py} +2 -2
  42. gcore/types/cloud/inference/inference_secret.py +10 -3
  43. gcore/types/cloud/inference/model_list_params.py +2 -4
  44. gcore/types/cloud/{container_probe.py → inference/probe.py} +9 -9
  45. gcore/types/cloud/{container_probe_config.py → inference/probe_config.py} +5 -5
  46. gcore/types/cloud/{container_probe_exec.py → inference/probe_exec.py} +3 -3
  47. gcore/types/cloud/{container_probe_http_get.py → inference/probe_http_get.py} +3 -3
  48. gcore/types/cloud/{container_probe_tcp_socket.py → inference/probe_tcp_socket.py} +3 -3
  49. gcore/types/cloud/inference/secret_create_params.py +10 -4
  50. gcore/types/cloud/inference/secret_replace_params.py +10 -4
  51. gcore/types/cloud/{region_capacity.py → inference_region_capacity.py} +10 -3
  52. gcore/types/cloud/{region_capacity_list.py → inference_region_capacity_list.py} +4 -4
  53. gcore/types/cloud/instance_create_params.py +1 -1
  54. gcore/types/cloud/task_list_params.py +15 -14
  55. gcore/types/fastedge/__init__.py +48 -0
  56. gcore/types/fastedge/app.py +81 -0
  57. gcore/types/fastedge/app_create_params.py +56 -0
  58. gcore/types/fastedge/app_list_params.py +50 -0
  59. gcore/types/fastedge/app_param.py +56 -0
  60. gcore/types/fastedge/app_replace_params.py +17 -0
  61. gcore/types/fastedge/app_short.py +60 -0
  62. gcore/types/fastedge/app_update_params.py +56 -0
  63. gcore/types/fastedge/apps/__init__.py +6 -0
  64. gcore/types/fastedge/apps/log.py +28 -0
  65. gcore/types/fastedge/apps/log_list_params.py +37 -0
  66. gcore/types/fastedge/binary.py +40 -0
  67. gcore/types/fastedge/binary_list_response.py +12 -0
  68. gcore/types/fastedge/binary_short.py +32 -0
  69. gcore/types/fastedge/call_status.py +24 -0
  70. gcore/types/fastedge/client.py +57 -0
  71. gcore/types/fastedge/duration_stats.py +30 -0
  72. gcore/types/fastedge/kv_store.py +33 -0
  73. gcore/types/fastedge/kv_store_create_params.py +23 -0
  74. gcore/types/fastedge/kv_store_get_response.py +10 -0
  75. gcore/types/fastedge/kv_store_list_params.py +12 -0
  76. gcore/types/fastedge/kv_store_list_response.py +15 -0
  77. gcore/types/fastedge/kv_store_replace_params.py +23 -0
  78. gcore/types/fastedge/kv_store_short.py +19 -0
  79. gcore/types/fastedge/kv_store_stats.py +26 -0
  80. gcore/types/fastedge/secret.py +29 -0
  81. gcore/types/fastedge/secret_create_params.py +27 -0
  82. gcore/types/fastedge/secret_create_response.py +12 -0
  83. gcore/types/fastedge/secret_delete_params.py +12 -0
  84. gcore/types/fastedge/secret_list_params.py +15 -0
  85. gcore/types/{cloud → fastedge}/secret_list_response.py +2 -6
  86. gcore/types/fastedge/secret_replace_params.py +27 -0
  87. gcore/types/fastedge/secret_short.py +21 -0
  88. gcore/types/fastedge/secret_update_params.py +27 -0
  89. gcore/types/fastedge/statistic_get_call_series_params.py +28 -0
  90. gcore/types/fastedge/statistic_get_call_series_response.py +12 -0
  91. gcore/types/fastedge/statistic_get_duration_series_params.py +28 -0
  92. gcore/types/fastedge/statistic_get_duration_series_response.py +12 -0
  93. gcore/types/fastedge/template.py +31 -0
  94. gcore/types/fastedge/template_create_params.py +30 -0
  95. gcore/types/fastedge/template_delete_params.py +12 -0
  96. gcore/types/fastedge/template_list_params.py +25 -0
  97. gcore/types/fastedge/template_parameter.py +22 -0
  98. gcore/types/fastedge/template_parameter_param.py +21 -0
  99. gcore/types/fastedge/template_replace_params.py +30 -0
  100. gcore/types/fastedge/template_short.py +27 -0
  101. {gcore-0.4.0.dist-info → gcore-0.5.0.dist-info}/METADATA +7 -5
  102. {gcore-0.4.0.dist-info → gcore-0.5.0.dist-info}/RECORD +104 -69
  103. gcore/types/cloud/aws_iam_data.py +0 -13
  104. gcore/types/cloud/aws_iam_data_param.py +0 -15
  105. gcore/types/cloud/capacity.py +0 -13
  106. gcore/types/cloud/container_probe_config_create_param.py +0 -17
  107. gcore/types/cloud/container_probe_create_param.py +0 -38
  108. gcore/types/cloud/container_probe_exec_create_param.py +0 -13
  109. gcore/types/cloud/container_probe_http_get_create_param.py +0 -25
  110. gcore/types/cloud/container_probe_tcp_socket_create_param.py +0 -12
  111. gcore/types/cloud/container_scale.py +0 -25
  112. gcore/types/cloud/container_scale_trigger_rate.py +0 -13
  113. gcore/types/cloud/container_scale_trigger_sqs.py +0 -33
  114. gcore/types/cloud/container_scale_trigger_threshold.py +0 -10
  115. gcore/types/cloud/container_scale_triggers.py +0 -36
  116. gcore/types/cloud/deploy_status.py +0 -13
  117. gcore/types/cloud/inference/container.py +0 -26
  118. gcore/types/cloud/inference/inference.py +0 -95
  119. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +0 -7
  120. gcore/types/cloud/inference_probes.py +0 -19
  121. gcore/types/cloud/ingress_opts_out.py +0 -16
  122. gcore/types/cloud/ingress_opts_param.py +0 -18
  123. gcore/types/cloud/secret_create_params.py +0 -66
  124. {gcore-0.4.0.dist-info → gcore-0.5.0.dist-info}/WHEEL +0 -0
  125. {gcore-0.4.0.dist-info → gcore-0.5.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,652 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
11
+ from ..._utils import maybe_transform, async_maybe_transform
12
+ from ..._compat import cached_property
13
+ from ..._resource import SyncAPIResource, AsyncAPIResource
14
+ from ..._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from ...pagination import SyncOffsetPageFastedgeTemplates, AsyncOffsetPageFastedgeTemplates
21
+ from ..._base_client import AsyncPaginator, make_request_options
22
+ from ...types.fastedge import (
23
+ template_list_params,
24
+ template_create_params,
25
+ template_delete_params,
26
+ template_replace_params,
27
+ )
28
+ from ...types.fastedge.template import Template
29
+ from ...types.fastedge.template_short import TemplateShort
30
+ from ...types.fastedge.template_parameter_param import TemplateParameterParam
31
+
32
+ __all__ = ["TemplatesResource", "AsyncTemplatesResource"]
33
+
34
+
35
+ class TemplatesResource(SyncAPIResource):
36
+ @cached_property
37
+ def with_raw_response(self) -> TemplatesResourceWithRawResponse:
38
+ """
39
+ This property can be used as a prefix for any HTTP method call to return
40
+ the raw response object instead of the parsed content.
41
+
42
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
43
+ """
44
+ return TemplatesResourceWithRawResponse(self)
45
+
46
+ @cached_property
47
+ def with_streaming_response(self) -> TemplatesResourceWithStreamingResponse:
48
+ """
49
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
50
+
51
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
52
+ """
53
+ return TemplatesResourceWithStreamingResponse(self)
54
+
55
+ def create(
56
+ self,
57
+ *,
58
+ binary_id: int,
59
+ name: str,
60
+ owned: bool,
61
+ params: Iterable[TemplateParameterParam],
62
+ long_descr: str | NotGiven = NOT_GIVEN,
63
+ short_descr: str | NotGiven = NOT_GIVEN,
64
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
65
+ # The extra values given here take precedence over values defined on the client or passed to this method.
66
+ extra_headers: Headers | None = None,
67
+ extra_query: Query | None = None,
68
+ extra_body: Body | None = None,
69
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
70
+ ) -> TemplateShort:
71
+ """
72
+ Add template
73
+
74
+ Args:
75
+ binary_id: Binary ID
76
+
77
+ name: Name of the template
78
+
79
+ owned: Is the template owned by user?
80
+
81
+ params: Parameters
82
+
83
+ long_descr: Long description of the template
84
+
85
+ short_descr: Short description of the template
86
+
87
+ extra_headers: Send extra headers
88
+
89
+ extra_query: Add additional query parameters to the request
90
+
91
+ extra_body: Add additional JSON properties to the request
92
+
93
+ timeout: Override the client-level default timeout for this request, in seconds
94
+ """
95
+ return self._post(
96
+ "/fastedge/v1/template",
97
+ body=maybe_transform(
98
+ {
99
+ "binary_id": binary_id,
100
+ "name": name,
101
+ "owned": owned,
102
+ "params": params,
103
+ "long_descr": long_descr,
104
+ "short_descr": short_descr,
105
+ },
106
+ template_create_params.TemplateCreateParams,
107
+ ),
108
+ options=make_request_options(
109
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
110
+ ),
111
+ cast_to=TemplateShort,
112
+ )
113
+
114
+ def list(
115
+ self,
116
+ *,
117
+ api_type: Literal["wasi-http", "proxy-wasm"] | NotGiven = NOT_GIVEN,
118
+ limit: int | NotGiven = NOT_GIVEN,
119
+ offset: int | NotGiven = NOT_GIVEN,
120
+ only_mine: bool | NotGiven = NOT_GIVEN,
121
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
122
+ # The extra values given here take precedence over values defined on the client or passed to this method.
123
+ extra_headers: Headers | None = None,
124
+ extra_query: Query | None = None,
125
+ extra_body: Body | None = None,
126
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
127
+ ) -> SyncOffsetPageFastedgeTemplates[TemplateShort]:
128
+ """
129
+ List app templates
130
+
131
+ Args:
132
+ api_type:
133
+ API type:
134
+ wasi-http - WASI with HTTP entry point
135
+ proxy-wasm - Proxy-Wasm app, callable from CDN
136
+
137
+ limit: Limit for pagination
138
+
139
+ offset: Offset for pagination
140
+
141
+ only_mine: Only my templates
142
+
143
+ extra_headers: Send extra headers
144
+
145
+ extra_query: Add additional query parameters to the request
146
+
147
+ extra_body: Add additional JSON properties to the request
148
+
149
+ timeout: Override the client-level default timeout for this request, in seconds
150
+ """
151
+ return self._get_api_list(
152
+ "/fastedge/v1/template",
153
+ page=SyncOffsetPageFastedgeTemplates[TemplateShort],
154
+ options=make_request_options(
155
+ extra_headers=extra_headers,
156
+ extra_query=extra_query,
157
+ extra_body=extra_body,
158
+ timeout=timeout,
159
+ query=maybe_transform(
160
+ {
161
+ "api_type": api_type,
162
+ "limit": limit,
163
+ "offset": offset,
164
+ "only_mine": only_mine,
165
+ },
166
+ template_list_params.TemplateListParams,
167
+ ),
168
+ ),
169
+ model=TemplateShort,
170
+ )
171
+
172
+ def delete(
173
+ self,
174
+ id: int,
175
+ *,
176
+ force: bool | NotGiven = NOT_GIVEN,
177
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
178
+ # The extra values given here take precedence over values defined on the client or passed to this method.
179
+ extra_headers: Headers | None = None,
180
+ extra_query: Query | None = None,
181
+ extra_body: Body | None = None,
182
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
183
+ ) -> None:
184
+ """
185
+ Delete template
186
+
187
+ Args:
188
+ force: Force template deletion even if it is shared to groups
189
+
190
+ extra_headers: Send extra headers
191
+
192
+ extra_query: Add additional query parameters to the request
193
+
194
+ extra_body: Add additional JSON properties to the request
195
+
196
+ timeout: Override the client-level default timeout for this request, in seconds
197
+ """
198
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
199
+ return self._delete(
200
+ f"/fastedge/v1/template/{id}",
201
+ options=make_request_options(
202
+ extra_headers=extra_headers,
203
+ extra_query=extra_query,
204
+ extra_body=extra_body,
205
+ timeout=timeout,
206
+ query=maybe_transform({"force": force}, template_delete_params.TemplateDeleteParams),
207
+ ),
208
+ cast_to=NoneType,
209
+ )
210
+
211
+ def get(
212
+ self,
213
+ id: int,
214
+ *,
215
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
216
+ # The extra values given here take precedence over values defined on the client or passed to this method.
217
+ extra_headers: Headers | None = None,
218
+ extra_query: Query | None = None,
219
+ extra_body: Body | None = None,
220
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
221
+ ) -> Template:
222
+ """
223
+ Get template details
224
+
225
+ Args:
226
+ extra_headers: Send extra headers
227
+
228
+ extra_query: Add additional query parameters to the request
229
+
230
+ extra_body: Add additional JSON properties to the request
231
+
232
+ timeout: Override the client-level default timeout for this request, in seconds
233
+ """
234
+ return self._get(
235
+ f"/fastedge/v1/template/{id}",
236
+ options=make_request_options(
237
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
238
+ ),
239
+ cast_to=Template,
240
+ )
241
+
242
+ def replace(
243
+ self,
244
+ id: int,
245
+ *,
246
+ binary_id: int,
247
+ name: str,
248
+ owned: bool,
249
+ params: Iterable[TemplateParameterParam],
250
+ long_descr: str | NotGiven = NOT_GIVEN,
251
+ short_descr: str | NotGiven = NOT_GIVEN,
252
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
253
+ # The extra values given here take precedence over values defined on the client or passed to this method.
254
+ extra_headers: Headers | None = None,
255
+ extra_query: Query | None = None,
256
+ extra_body: Body | None = None,
257
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
258
+ ) -> TemplateShort:
259
+ """
260
+ Update template
261
+
262
+ Args:
263
+ binary_id: Binary ID
264
+
265
+ name: Name of the template
266
+
267
+ owned: Is the template owned by user?
268
+
269
+ params: Parameters
270
+
271
+ long_descr: Long description of the template
272
+
273
+ short_descr: Short description of the template
274
+
275
+ extra_headers: Send extra headers
276
+
277
+ extra_query: Add additional query parameters to the request
278
+
279
+ extra_body: Add additional JSON properties to the request
280
+
281
+ timeout: Override the client-level default timeout for this request, in seconds
282
+ """
283
+ return self._put(
284
+ f"/fastedge/v1/template/{id}",
285
+ body=maybe_transform(
286
+ {
287
+ "binary_id": binary_id,
288
+ "name": name,
289
+ "owned": owned,
290
+ "params": params,
291
+ "long_descr": long_descr,
292
+ "short_descr": short_descr,
293
+ },
294
+ template_replace_params.TemplateReplaceParams,
295
+ ),
296
+ options=make_request_options(
297
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
298
+ ),
299
+ cast_to=TemplateShort,
300
+ )
301
+
302
+
303
+ class AsyncTemplatesResource(AsyncAPIResource):
304
+ @cached_property
305
+ def with_raw_response(self) -> AsyncTemplatesResourceWithRawResponse:
306
+ """
307
+ This property can be used as a prefix for any HTTP method call to return
308
+ the raw response object instead of the parsed content.
309
+
310
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
311
+ """
312
+ return AsyncTemplatesResourceWithRawResponse(self)
313
+
314
+ @cached_property
315
+ def with_streaming_response(self) -> AsyncTemplatesResourceWithStreamingResponse:
316
+ """
317
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
318
+
319
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
320
+ """
321
+ return AsyncTemplatesResourceWithStreamingResponse(self)
322
+
323
+ async def create(
324
+ self,
325
+ *,
326
+ binary_id: int,
327
+ name: str,
328
+ owned: bool,
329
+ params: Iterable[TemplateParameterParam],
330
+ long_descr: str | NotGiven = NOT_GIVEN,
331
+ short_descr: str | NotGiven = NOT_GIVEN,
332
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
333
+ # The extra values given here take precedence over values defined on the client or passed to this method.
334
+ extra_headers: Headers | None = None,
335
+ extra_query: Query | None = None,
336
+ extra_body: Body | None = None,
337
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
338
+ ) -> TemplateShort:
339
+ """
340
+ Add template
341
+
342
+ Args:
343
+ binary_id: Binary ID
344
+
345
+ name: Name of the template
346
+
347
+ owned: Is the template owned by user?
348
+
349
+ params: Parameters
350
+
351
+ long_descr: Long description of the template
352
+
353
+ short_descr: Short description of the template
354
+
355
+ extra_headers: Send extra headers
356
+
357
+ extra_query: Add additional query parameters to the request
358
+
359
+ extra_body: Add additional JSON properties to the request
360
+
361
+ timeout: Override the client-level default timeout for this request, in seconds
362
+ """
363
+ return await self._post(
364
+ "/fastedge/v1/template",
365
+ body=await async_maybe_transform(
366
+ {
367
+ "binary_id": binary_id,
368
+ "name": name,
369
+ "owned": owned,
370
+ "params": params,
371
+ "long_descr": long_descr,
372
+ "short_descr": short_descr,
373
+ },
374
+ template_create_params.TemplateCreateParams,
375
+ ),
376
+ options=make_request_options(
377
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
378
+ ),
379
+ cast_to=TemplateShort,
380
+ )
381
+
382
+ def list(
383
+ self,
384
+ *,
385
+ api_type: Literal["wasi-http", "proxy-wasm"] | NotGiven = NOT_GIVEN,
386
+ limit: int | NotGiven = NOT_GIVEN,
387
+ offset: int | NotGiven = NOT_GIVEN,
388
+ only_mine: bool | NotGiven = NOT_GIVEN,
389
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
390
+ # The extra values given here take precedence over values defined on the client or passed to this method.
391
+ extra_headers: Headers | None = None,
392
+ extra_query: Query | None = None,
393
+ extra_body: Body | None = None,
394
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
395
+ ) -> AsyncPaginator[TemplateShort, AsyncOffsetPageFastedgeTemplates[TemplateShort]]:
396
+ """
397
+ List app templates
398
+
399
+ Args:
400
+ api_type:
401
+ API type:
402
+ wasi-http - WASI with HTTP entry point
403
+ proxy-wasm - Proxy-Wasm app, callable from CDN
404
+
405
+ limit: Limit for pagination
406
+
407
+ offset: Offset for pagination
408
+
409
+ only_mine: Only my templates
410
+
411
+ extra_headers: Send extra headers
412
+
413
+ extra_query: Add additional query parameters to the request
414
+
415
+ extra_body: Add additional JSON properties to the request
416
+
417
+ timeout: Override the client-level default timeout for this request, in seconds
418
+ """
419
+ return self._get_api_list(
420
+ "/fastedge/v1/template",
421
+ page=AsyncOffsetPageFastedgeTemplates[TemplateShort],
422
+ options=make_request_options(
423
+ extra_headers=extra_headers,
424
+ extra_query=extra_query,
425
+ extra_body=extra_body,
426
+ timeout=timeout,
427
+ query=maybe_transform(
428
+ {
429
+ "api_type": api_type,
430
+ "limit": limit,
431
+ "offset": offset,
432
+ "only_mine": only_mine,
433
+ },
434
+ template_list_params.TemplateListParams,
435
+ ),
436
+ ),
437
+ model=TemplateShort,
438
+ )
439
+
440
+ async def delete(
441
+ self,
442
+ id: int,
443
+ *,
444
+ force: bool | NotGiven = NOT_GIVEN,
445
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
446
+ # The extra values given here take precedence over values defined on the client or passed to this method.
447
+ extra_headers: Headers | None = None,
448
+ extra_query: Query | None = None,
449
+ extra_body: Body | None = None,
450
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
451
+ ) -> None:
452
+ """
453
+ Delete template
454
+
455
+ Args:
456
+ force: Force template deletion even if it is shared to groups
457
+
458
+ extra_headers: Send extra headers
459
+
460
+ extra_query: Add additional query parameters to the request
461
+
462
+ extra_body: Add additional JSON properties to the request
463
+
464
+ timeout: Override the client-level default timeout for this request, in seconds
465
+ """
466
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
467
+ return await self._delete(
468
+ f"/fastedge/v1/template/{id}",
469
+ options=make_request_options(
470
+ extra_headers=extra_headers,
471
+ extra_query=extra_query,
472
+ extra_body=extra_body,
473
+ timeout=timeout,
474
+ query=await async_maybe_transform({"force": force}, template_delete_params.TemplateDeleteParams),
475
+ ),
476
+ cast_to=NoneType,
477
+ )
478
+
479
+ async def get(
480
+ self,
481
+ id: int,
482
+ *,
483
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
484
+ # The extra values given here take precedence over values defined on the client or passed to this method.
485
+ extra_headers: Headers | None = None,
486
+ extra_query: Query | None = None,
487
+ extra_body: Body | None = None,
488
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
489
+ ) -> Template:
490
+ """
491
+ Get template details
492
+
493
+ Args:
494
+ extra_headers: Send extra headers
495
+
496
+ extra_query: Add additional query parameters to the request
497
+
498
+ extra_body: Add additional JSON properties to the request
499
+
500
+ timeout: Override the client-level default timeout for this request, in seconds
501
+ """
502
+ return await self._get(
503
+ f"/fastedge/v1/template/{id}",
504
+ options=make_request_options(
505
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
506
+ ),
507
+ cast_to=Template,
508
+ )
509
+
510
+ async def replace(
511
+ self,
512
+ id: int,
513
+ *,
514
+ binary_id: int,
515
+ name: str,
516
+ owned: bool,
517
+ params: Iterable[TemplateParameterParam],
518
+ long_descr: str | NotGiven = NOT_GIVEN,
519
+ short_descr: str | NotGiven = NOT_GIVEN,
520
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
521
+ # The extra values given here take precedence over values defined on the client or passed to this method.
522
+ extra_headers: Headers | None = None,
523
+ extra_query: Query | None = None,
524
+ extra_body: Body | None = None,
525
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
526
+ ) -> TemplateShort:
527
+ """
528
+ Update template
529
+
530
+ Args:
531
+ binary_id: Binary ID
532
+
533
+ name: Name of the template
534
+
535
+ owned: Is the template owned by user?
536
+
537
+ params: Parameters
538
+
539
+ long_descr: Long description of the template
540
+
541
+ short_descr: Short description of the template
542
+
543
+ extra_headers: Send extra headers
544
+
545
+ extra_query: Add additional query parameters to the request
546
+
547
+ extra_body: Add additional JSON properties to the request
548
+
549
+ timeout: Override the client-level default timeout for this request, in seconds
550
+ """
551
+ return await self._put(
552
+ f"/fastedge/v1/template/{id}",
553
+ body=await async_maybe_transform(
554
+ {
555
+ "binary_id": binary_id,
556
+ "name": name,
557
+ "owned": owned,
558
+ "params": params,
559
+ "long_descr": long_descr,
560
+ "short_descr": short_descr,
561
+ },
562
+ template_replace_params.TemplateReplaceParams,
563
+ ),
564
+ options=make_request_options(
565
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
566
+ ),
567
+ cast_to=TemplateShort,
568
+ )
569
+
570
+
571
+ class TemplatesResourceWithRawResponse:
572
+ def __init__(self, templates: TemplatesResource) -> None:
573
+ self._templates = templates
574
+
575
+ self.create = to_raw_response_wrapper(
576
+ templates.create,
577
+ )
578
+ self.list = to_raw_response_wrapper(
579
+ templates.list,
580
+ )
581
+ self.delete = to_raw_response_wrapper(
582
+ templates.delete,
583
+ )
584
+ self.get = to_raw_response_wrapper(
585
+ templates.get,
586
+ )
587
+ self.replace = to_raw_response_wrapper(
588
+ templates.replace,
589
+ )
590
+
591
+
592
+ class AsyncTemplatesResourceWithRawResponse:
593
+ def __init__(self, templates: AsyncTemplatesResource) -> None:
594
+ self._templates = templates
595
+
596
+ self.create = async_to_raw_response_wrapper(
597
+ templates.create,
598
+ )
599
+ self.list = async_to_raw_response_wrapper(
600
+ templates.list,
601
+ )
602
+ self.delete = async_to_raw_response_wrapper(
603
+ templates.delete,
604
+ )
605
+ self.get = async_to_raw_response_wrapper(
606
+ templates.get,
607
+ )
608
+ self.replace = async_to_raw_response_wrapper(
609
+ templates.replace,
610
+ )
611
+
612
+
613
+ class TemplatesResourceWithStreamingResponse:
614
+ def __init__(self, templates: TemplatesResource) -> None:
615
+ self._templates = templates
616
+
617
+ self.create = to_streamed_response_wrapper(
618
+ templates.create,
619
+ )
620
+ self.list = to_streamed_response_wrapper(
621
+ templates.list,
622
+ )
623
+ self.delete = to_streamed_response_wrapper(
624
+ templates.delete,
625
+ )
626
+ self.get = to_streamed_response_wrapper(
627
+ templates.get,
628
+ )
629
+ self.replace = to_streamed_response_wrapper(
630
+ templates.replace,
631
+ )
632
+
633
+
634
+ class AsyncTemplatesResourceWithStreamingResponse:
635
+ def __init__(self, templates: AsyncTemplatesResource) -> None:
636
+ self._templates = templates
637
+
638
+ self.create = async_to_streamed_response_wrapper(
639
+ templates.create,
640
+ )
641
+ self.list = async_to_streamed_response_wrapper(
642
+ templates.list,
643
+ )
644
+ self.delete = async_to_streamed_response_wrapper(
645
+ templates.delete,
646
+ )
647
+ self.get = async_to_streamed_response_wrapper(
648
+ templates.get,
649
+ )
650
+ self.replace = async_to_streamed_response_wrapper(
651
+ templates.replace,
652
+ )