|
20 | 20 | devbox_write_file_params, |
21 | 21 | devbox_upload_file_params, |
22 | 22 | devbox_execute_sync_params, |
| 23 | + devbox_download_file_params, |
23 | 24 | devbox_execute_async_params, |
24 | 25 | devbox_read_file_contents_params, |
25 | 26 | ) |
|
41 | 42 | ) |
42 | 43 | from ..._resource import SyncAPIResource, AsyncAPIResource |
43 | 44 | from ..._response import ( |
| 45 | + BinaryAPIResponse, |
| 46 | + AsyncBinaryAPIResponse, |
| 47 | + StreamedBinaryAPIResponse, |
| 48 | + AsyncStreamedBinaryAPIResponse, |
44 | 49 | to_raw_response_wrapper, |
45 | 50 | to_streamed_response_wrapper, |
46 | 51 | async_to_raw_response_wrapper, |
| 52 | + to_custom_raw_response_wrapper, |
47 | 53 | async_to_streamed_response_wrapper, |
| 54 | + to_custom_streamed_response_wrapper, |
| 55 | + async_to_custom_raw_response_wrapper, |
| 56 | + async_to_custom_streamed_response_wrapper, |
48 | 57 | ) |
49 | 58 | from ..._base_client import make_request_options |
50 | 59 | from ...types.devbox_view import DevboxView |
@@ -291,6 +300,44 @@ def create_ssh_key( |
291 | 300 | cast_to=DevboxCreateSSHKeyResponse, |
292 | 301 | ) |
293 | 302 |
|
| 303 | + def download_file( |
| 304 | + self, |
| 305 | + id: str, |
| 306 | + *, |
| 307 | + path: str, |
| 308 | + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. |
| 309 | + # The extra values given here take precedence over values defined on the client or passed to this method. |
| 310 | + extra_headers: Headers | None = None, |
| 311 | + extra_query: Query | None = None, |
| 312 | + extra_body: Body | None = None, |
| 313 | + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, |
| 314 | + ) -> BinaryAPIResponse: |
| 315 | + """ |
| 316 | + Download file contents to a file at path on the Devbox. |
| 317 | +
|
| 318 | + Args: |
| 319 | + path: The path on the devbox to read the file |
| 320 | +
|
| 321 | + extra_headers: Send extra headers |
| 322 | +
|
| 323 | + extra_query: Add additional query parameters to the request |
| 324 | +
|
| 325 | + extra_body: Add additional JSON properties to the request |
| 326 | +
|
| 327 | + timeout: Override the client-level default timeout for this request, in seconds |
| 328 | + """ |
| 329 | + if not id: |
| 330 | + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") |
| 331 | + extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})} |
| 332 | + return self._post( |
| 333 | + f"/v1/devboxes/{id}/download_file", |
| 334 | + body=maybe_transform({"path": path}, devbox_download_file_params.DevboxDownloadFileParams), |
| 335 | + options=make_request_options( |
| 336 | + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout |
| 337 | + ), |
| 338 | + cast_to=BinaryAPIResponse, |
| 339 | + ) |
| 340 | + |
294 | 341 | def execute_async( |
295 | 342 | self, |
296 | 343 | id: str, |
@@ -786,6 +833,44 @@ async def create_ssh_key( |
786 | 833 | cast_to=DevboxCreateSSHKeyResponse, |
787 | 834 | ) |
788 | 835 |
|
| 836 | + async def download_file( |
| 837 | + self, |
| 838 | + id: str, |
| 839 | + *, |
| 840 | + path: str, |
| 841 | + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. |
| 842 | + # The extra values given here take precedence over values defined on the client or passed to this method. |
| 843 | + extra_headers: Headers | None = None, |
| 844 | + extra_query: Query | None = None, |
| 845 | + extra_body: Body | None = None, |
| 846 | + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, |
| 847 | + ) -> AsyncBinaryAPIResponse: |
| 848 | + """ |
| 849 | + Download file contents to a file at path on the Devbox. |
| 850 | +
|
| 851 | + Args: |
| 852 | + path: The path on the devbox to read the file |
| 853 | +
|
| 854 | + extra_headers: Send extra headers |
| 855 | +
|
| 856 | + extra_query: Add additional query parameters to the request |
| 857 | +
|
| 858 | + extra_body: Add additional JSON properties to the request |
| 859 | +
|
| 860 | + timeout: Override the client-level default timeout for this request, in seconds |
| 861 | + """ |
| 862 | + if not id: |
| 863 | + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") |
| 864 | + extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})} |
| 865 | + return await self._post( |
| 866 | + f"/v1/devboxes/{id}/download_file", |
| 867 | + body=await async_maybe_transform({"path": path}, devbox_download_file_params.DevboxDownloadFileParams), |
| 868 | + options=make_request_options( |
| 869 | + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout |
| 870 | + ), |
| 871 | + cast_to=AsyncBinaryAPIResponse, |
| 872 | + ) |
| 873 | + |
789 | 874 | async def execute_async( |
790 | 875 | self, |
791 | 876 | id: str, |
@@ -1063,6 +1148,10 @@ def __init__(self, devboxes: DevboxesResource) -> None: |
1063 | 1148 | self.create_ssh_key = to_raw_response_wrapper( |
1064 | 1149 | devboxes.create_ssh_key, |
1065 | 1150 | ) |
| 1151 | + self.download_file = to_custom_raw_response_wrapper( |
| 1152 | + devboxes.download_file, |
| 1153 | + BinaryAPIResponse, |
| 1154 | + ) |
1066 | 1155 | self.execute_async = to_raw_response_wrapper( |
1067 | 1156 | devboxes.execute_async, |
1068 | 1157 | ) |
@@ -1107,6 +1196,10 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None: |
1107 | 1196 | self.create_ssh_key = async_to_raw_response_wrapper( |
1108 | 1197 | devboxes.create_ssh_key, |
1109 | 1198 | ) |
| 1199 | + self.download_file = async_to_custom_raw_response_wrapper( |
| 1200 | + devboxes.download_file, |
| 1201 | + AsyncBinaryAPIResponse, |
| 1202 | + ) |
1110 | 1203 | self.execute_async = async_to_raw_response_wrapper( |
1111 | 1204 | devboxes.execute_async, |
1112 | 1205 | ) |
@@ -1151,6 +1244,10 @@ def __init__(self, devboxes: DevboxesResource) -> None: |
1151 | 1244 | self.create_ssh_key = to_streamed_response_wrapper( |
1152 | 1245 | devboxes.create_ssh_key, |
1153 | 1246 | ) |
| 1247 | + self.download_file = to_custom_streamed_response_wrapper( |
| 1248 | + devboxes.download_file, |
| 1249 | + StreamedBinaryAPIResponse, |
| 1250 | + ) |
1154 | 1251 | self.execute_async = to_streamed_response_wrapper( |
1155 | 1252 | devboxes.execute_async, |
1156 | 1253 | ) |
@@ -1195,6 +1292,10 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None: |
1195 | 1292 | self.create_ssh_key = async_to_streamed_response_wrapper( |
1196 | 1293 | devboxes.create_ssh_key, |
1197 | 1294 | ) |
| 1295 | + self.download_file = async_to_custom_streamed_response_wrapper( |
| 1296 | + devboxes.download_file, |
| 1297 | + AsyncStreamedBinaryAPIResponse, |
| 1298 | + ) |
1198 | 1299 | self.execute_async = async_to_streamed_response_wrapper( |
1199 | 1300 | devboxes.execute_async, |
1200 | 1301 | ) |
|
0 commit comments