@@ -247,6 +247,39 @@ def execute_sync(
247247 cast_to = DevboxExecutionDetailView ,
248248 )
249249
250+ def read_file (
251+ self ,
252+ id : str ,
253+ * ,
254+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
255+ # The extra values given here take precedence over values defined on the client or passed to this method.
256+ extra_headers : Headers | None = None ,
257+ extra_query : Query | None = None ,
258+ extra_body : Body | None = None ,
259+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
260+ ) -> DevboxExecutionDetailView :
261+ """
262+ Read file contents from a file on given Devbox.
263+
264+ Args:
265+ extra_headers: Send extra headers
266+
267+ extra_query: Add additional query parameters to the request
268+
269+ extra_body: Add additional JSON properties to the request
270+
271+ timeout: Override the client-level default timeout for this request, in seconds
272+ """
273+ if not id :
274+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
275+ return self ._post (
276+ f"/v1/devboxes/{ id } /read_file" ,
277+ options = make_request_options (
278+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
279+ ),
280+ cast_to = DevboxExecutionDetailView ,
281+ )
282+
250283 def shutdown (
251284 self ,
252285 id : str ,
@@ -281,6 +314,39 @@ def shutdown(
281314 cast_to = DevboxView ,
282315 )
283316
317+ def write_file (
318+ self ,
319+ id : str ,
320+ * ,
321+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
322+ # The extra values given here take precedence over values defined on the client or passed to this method.
323+ extra_headers : Headers | None = None ,
324+ extra_query : Query | None = None ,
325+ extra_body : Body | None = None ,
326+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
327+ ) -> DevboxExecutionDetailView :
328+ """
329+ Write contents to a file at path on the Devbox.
330+
331+ Args:
332+ extra_headers: Send extra headers
333+
334+ extra_query: Add additional query parameters to the request
335+
336+ extra_body: Add additional JSON properties to the request
337+
338+ timeout: Override the client-level default timeout for this request, in seconds
339+ """
340+ if not id :
341+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
342+ return self ._post (
343+ f"/v1/devboxes/{ id } /write_file" ,
344+ options = make_request_options (
345+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
346+ ),
347+ cast_to = DevboxExecutionDetailView ,
348+ )
349+
284350
285351class AsyncDevboxesResource (AsyncAPIResource ):
286352 @cached_property
@@ -493,6 +559,39 @@ async def execute_sync(
493559 cast_to = DevboxExecutionDetailView ,
494560 )
495561
562+ async def read_file (
563+ self ,
564+ id : str ,
565+ * ,
566+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
567+ # The extra values given here take precedence over values defined on the client or passed to this method.
568+ extra_headers : Headers | None = None ,
569+ extra_query : Query | None = None ,
570+ extra_body : Body | None = None ,
571+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
572+ ) -> DevboxExecutionDetailView :
573+ """
574+ Read file contents from a file on given Devbox.
575+
576+ Args:
577+ extra_headers: Send extra headers
578+
579+ extra_query: Add additional query parameters to the request
580+
581+ extra_body: Add additional JSON properties to the request
582+
583+ timeout: Override the client-level default timeout for this request, in seconds
584+ """
585+ if not id :
586+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
587+ return await self ._post (
588+ f"/v1/devboxes/{ id } /read_file" ,
589+ options = make_request_options (
590+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
591+ ),
592+ cast_to = DevboxExecutionDetailView ,
593+ )
594+
496595 async def shutdown (
497596 self ,
498597 id : str ,
@@ -527,6 +626,39 @@ async def shutdown(
527626 cast_to = DevboxView ,
528627 )
529628
629+ async def write_file (
630+ self ,
631+ id : str ,
632+ * ,
633+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
634+ # The extra values given here take precedence over values defined on the client or passed to this method.
635+ extra_headers : Headers | None = None ,
636+ extra_query : Query | None = None ,
637+ extra_body : Body | None = None ,
638+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
639+ ) -> DevboxExecutionDetailView :
640+ """
641+ Write contents to a file at path on the Devbox.
642+
643+ Args:
644+ extra_headers: Send extra headers
645+
646+ extra_query: Add additional query parameters to the request
647+
648+ extra_body: Add additional JSON properties to the request
649+
650+ timeout: Override the client-level default timeout for this request, in seconds
651+ """
652+ if not id :
653+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
654+ return await self ._post (
655+ f"/v1/devboxes/{ id } /write_file" ,
656+ options = make_request_options (
657+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
658+ ),
659+ cast_to = DevboxExecutionDetailView ,
660+ )
661+
530662
531663class DevboxesResourceWithRawResponse :
532664 def __init__ (self , devboxes : DevboxesResource ) -> None :
@@ -544,9 +676,15 @@ def __init__(self, devboxes: DevboxesResource) -> None:
544676 self .execute_sync = to_raw_response_wrapper (
545677 devboxes .execute_sync ,
546678 )
679+ self .read_file = to_raw_response_wrapper (
680+ devboxes .read_file ,
681+ )
547682 self .shutdown = to_raw_response_wrapper (
548683 devboxes .shutdown ,
549684 )
685+ self .write_file = to_raw_response_wrapper (
686+ devboxes .write_file ,
687+ )
550688
551689 @cached_property
552690 def logs (self ) -> LogsResourceWithRawResponse :
@@ -569,9 +707,15 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
569707 self .execute_sync = async_to_raw_response_wrapper (
570708 devboxes .execute_sync ,
571709 )
710+ self .read_file = async_to_raw_response_wrapper (
711+ devboxes .read_file ,
712+ )
572713 self .shutdown = async_to_raw_response_wrapper (
573714 devboxes .shutdown ,
574715 )
716+ self .write_file = async_to_raw_response_wrapper (
717+ devboxes .write_file ,
718+ )
575719
576720 @cached_property
577721 def logs (self ) -> AsyncLogsResourceWithRawResponse :
@@ -594,9 +738,15 @@ def __init__(self, devboxes: DevboxesResource) -> None:
594738 self .execute_sync = to_streamed_response_wrapper (
595739 devboxes .execute_sync ,
596740 )
741+ self .read_file = to_streamed_response_wrapper (
742+ devboxes .read_file ,
743+ )
597744 self .shutdown = to_streamed_response_wrapper (
598745 devboxes .shutdown ,
599746 )
747+ self .write_file = to_streamed_response_wrapper (
748+ devboxes .write_file ,
749+ )
600750
601751 @cached_property
602752 def logs (self ) -> LogsResourceWithStreamingResponse :
@@ -619,9 +769,15 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
619769 self .execute_sync = async_to_streamed_response_wrapper (
620770 devboxes .execute_sync ,
621771 )
772+ self .read_file = async_to_streamed_response_wrapper (
773+ devboxes .read_file ,
774+ )
622775 self .shutdown = async_to_streamed_response_wrapper (
623776 devboxes .shutdown ,
624777 )
778+ self .write_file = async_to_streamed_response_wrapper (
779+ devboxes .write_file ,
780+ )
625781
626782 @cached_property
627783 def logs (self ) -> AsyncLogsResourceWithStreamingResponse :
0 commit comments