runloop-api-client 0.6.0__tar.gz → 0.7.0__tar.gz

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.
Files changed (140) hide show
  1. runloop_api_client-0.7.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/CHANGELOG.md +8 -0
  3. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/api.md +1 -1
  5. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/devboxes.py +9 -0
  8. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/__init__.py +1 -0
  9. runloop_api_client-0.7.0/src/runloop_api_client/types/devbox_create_tunnel_params.py +12 -0
  10. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/test_devboxes.py +16 -8
  11. runloop_api_client-0.6.0/.release-please-manifest.json +0 -3
  12. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/.gitignore +0 -0
  13. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/CONTRIBUTING.md +0 -0
  14. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/LICENSE +0 -0
  15. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/README.md +0 -0
  16. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/SECURITY.md +0 -0
  17. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/bin/check-release-environment +0 -0
  18. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/bin/publish-pypi +0 -0
  19. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/examples/.keep +0 -0
  20. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/mypy.ini +0 -0
  21. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/noxfile.py +0 -0
  22. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/release-please-config.json +0 -0
  23. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/requirements-dev.lock +0 -0
  24. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/requirements.lock +0 -0
  25. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop/lib/.keep +0 -0
  26. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/__init__.py +0 -0
  27. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_base_client.py +0 -0
  28. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_client.py +0 -0
  29. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_compat.py +0 -0
  30. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_constants.py +0 -0
  31. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_exceptions.py +0 -0
  32. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_files.py +0 -0
  33. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_models.py +0 -0
  34. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_qs.py +0 -0
  35. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_resource.py +0 -0
  36. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_response.py +0 -0
  37. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_streaming.py +0 -0
  38. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_types.py +0 -0
  39. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  40. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  41. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  42. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  43. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  44. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  45. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  46. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  47. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  48. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/lib/.keep +0 -0
  49. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/py.typed +0 -0
  50. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/__init__.py +0 -0
  51. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  52. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  53. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  54. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  55. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/__init__.py +0 -0
  56. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/functions.py +0 -0
  57. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/invocations.py +0 -0
  58. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/__init__.py +0 -0
  59. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/logs.py +0 -0
  60. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/projects.py +0 -0
  61. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  62. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  63. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  64. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  65. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  66. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  67. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  68. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  69. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  70. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/code_mount_parameters.py +0 -0
  71. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/code_mount_parameters_param.py +0 -0
  72. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  73. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  74. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  75. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_disk_snapshots_params.py +0 -0
  76. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_disk_snapshots_response.py +0 -0
  77. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  78. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  79. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  80. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  81. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  82. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  83. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  84. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  85. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  86. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  87. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  88. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  89. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  90. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  91. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_write_file_params.py +0 -0
  92. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  93. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  94. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  95. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  96. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  97. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  98. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
  99. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
  100. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_list_view.py +0 -0
  101. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/__init__.py +0 -0
  102. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/function_invocation_list_view.py +0 -0
  103. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/invocation_list_params.py +0 -0
  104. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/project_list_view.py +0 -0
  105. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/projects/__init__.py +0 -0
  106. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/resource_size.py +0 -0
  107. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  108. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/function_invocation_execution_detail_view.py +0 -0
  109. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  110. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/project_logs_view.py +0 -0
  111. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/resource_size.py +0 -0
  112. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  113. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  114. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/__init__.py +0 -0
  115. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/__init__.py +0 -0
  116. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/__init__.py +0 -0
  117. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  118. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  119. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/functions/__init__.py +0 -0
  120. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/functions/test_invocations.py +0 -0
  121. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/__init__.py +0 -0
  122. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/test_logs.py +0 -0
  123. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/test_blueprints.py +0 -0
  124. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/test_functions.py +0 -0
  125. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/api_resources/test_projects.py +0 -0
  126. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/conftest.py +0 -0
  127. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/sample_file.txt +0 -0
  128. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_client.py +0 -0
  129. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_deepcopy.py +0 -0
  130. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_extract_files.py +0 -0
  131. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_files.py +0 -0
  132. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_models.py +0 -0
  133. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_qs.py +0 -0
  134. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_required_args.py +0 -0
  135. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_response.py +0 -0
  136. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_streaming.py +0 -0
  137. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_transform.py +0 -0
  138. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_utils/test_proxy.py +0 -0
  139. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/test_utils/test_typing.py +0 -0
  140. {runloop_api_client-0.6.0 → runloop_api_client-0.7.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.7.0"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 (2024-10-24)
4
+
5
+ Full Changelog: [v0.6.0...v0.7.0](https://github.com/runloopai/api-client-python/compare/v0.6.0...v0.7.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([#236](https://github.com/runloopai/api-client-python/issues/236)) ([912af5f](https://github.com/runloopai/api-client-python/commit/912af5fa9dfa10f999727d912cd06483ce197a68))
10
+
3
11
  ## 0.6.0 (2024-10-23)
4
12
 
5
13
  Full Changelog: [v0.5.0...v0.6.0](https://github.com/runloopai/api-client-python/compare/v0.5.0...v0.6.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.6.0
3
+ Version: 0.7.0
4
4
  Summary: The official Python library for the runloop API
5
5
  Project-URL: Homepage, https://github.com/runloopai/api-client-python
6
6
  Project-URL: Repository, https://github.com/runloopai/api-client-python
@@ -64,7 +64,7 @@ Methods:
64
64
  - <code title="get /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
65
65
  - <code title="get /v1/devboxes">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">list</a>(\*\*<a href="src/runloop_api_client/types/devbox_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_list_view.py">DevboxListView</a></code>
66
66
  - <code title="post /v1/devboxes/{id}/create_ssh_key">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_ssh_key</a>(id) -> <a href="./src/runloop_api_client/types/devbox_create_ssh_key_response.py">DevboxCreateSSHKeyResponse</a></code>
67
- - <code title="post /v1/devboxes/{id}/create_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_tunnel</a>(id) -> <a href="./src/runloop_api_client/types/devbox_tunnel_view.py">DevboxTunnelView</a></code>
67
+ - <code title="post /v1/devboxes/{id}/create_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_create_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_tunnel_view.py">DevboxTunnelView</a></code>
68
68
  - <code title="get /v1/devboxes/disk_snapshots">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">disk_snapshots</a>(\*\*<a href="src/runloop_api_client/types/devbox_disk_snapshots_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_list_view.py">DevboxSnapshotListView</a></code>
69
69
  - <code title="post /v1/devboxes/{id}/download_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">download_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_download_file_params.py">params</a>) -> BinaryAPIResponse</code>
70
70
  - <code title="post /v1/devboxes/{id}/execute_async">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute_async</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.6.0"
3
+ version = "0.7.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "0.6.0" # x-release-please-version
4
+ __version__ = "0.7.0" # x-release-please-version
@@ -20,6 +20,7 @@ from ...types import (
20
20
  devbox_write_file_params,
21
21
  devbox_upload_file_params,
22
22
  devbox_execute_sync_params,
23
+ devbox_create_tunnel_params,
23
24
  devbox_download_file_params,
24
25
  devbox_execute_async_params,
25
26
  devbox_snapshot_disk_params,
@@ -314,6 +315,7 @@ class DevboxesResource(SyncAPIResource):
314
315
  self,
315
316
  id: str,
316
317
  *,
318
+ port: int,
317
319
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
318
320
  # The extra values given here take precedence over values defined on the client or passed to this method.
319
321
  extra_headers: Headers | None = None,
@@ -325,6 +327,8 @@ class DevboxesResource(SyncAPIResource):
325
327
  Create a tunnel to an available port on the Devbox.
326
328
 
327
329
  Args:
330
+ port: Devbox port that tunnel will expose.
331
+
328
332
  extra_headers: Send extra headers
329
333
 
330
334
  extra_query: Add additional query parameters to the request
@@ -337,6 +341,7 @@ class DevboxesResource(SyncAPIResource):
337
341
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
338
342
  return self._post(
339
343
  f"/v1/devboxes/{id}/create_tunnel",
344
+ body=maybe_transform({"port": port}, devbox_create_tunnel_params.DevboxCreateTunnelParams),
340
345
  options=make_request_options(
341
346
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
342
347
  ),
@@ -1043,6 +1048,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1043
1048
  self,
1044
1049
  id: str,
1045
1050
  *,
1051
+ port: int,
1046
1052
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1047
1053
  # The extra values given here take precedence over values defined on the client or passed to this method.
1048
1054
  extra_headers: Headers | None = None,
@@ -1054,6 +1060,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
1054
1060
  Create a tunnel to an available port on the Devbox.
1055
1061
 
1056
1062
  Args:
1063
+ port: Devbox port that tunnel will expose.
1064
+
1057
1065
  extra_headers: Send extra headers
1058
1066
 
1059
1067
  extra_query: Add additional query parameters to the request
@@ -1066,6 +1074,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1066
1074
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1067
1075
  return await self._post(
1068
1076
  f"/v1/devboxes/{id}/create_tunnel",
1077
+ body=await async_maybe_transform({"port": port}, devbox_create_tunnel_params.DevboxCreateTunnelParams),
1069
1078
  options=make_request_options(
1070
1079
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1071
1080
  ),
@@ -29,6 +29,7 @@ from .devbox_upload_file_params import DevboxUploadFileParams as DevboxUploadFil
29
29
  from .blueprint_build_parameters import BlueprintBuildParameters as BlueprintBuildParameters
30
30
  from .devbox_execute_sync_params import DevboxExecuteSyncParams as DevboxExecuteSyncParams
31
31
  from .code_mount_parameters_param import CodeMountParametersParam as CodeMountParametersParam
32
+ from .devbox_create_tunnel_params import DevboxCreateTunnelParams as DevboxCreateTunnelParams
32
33
  from .devbox_download_file_params import DevboxDownloadFileParams as DevboxDownloadFileParams
33
34
  from .devbox_execute_async_params import DevboxExecuteAsyncParams as DevboxExecuteAsyncParams
34
35
  from .devbox_snapshot_disk_params import DevboxSnapshotDiskParams as DevboxSnapshotDiskParams
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["DevboxCreateTunnelParams"]
8
+
9
+
10
+ class DevboxCreateTunnelParams(TypedDict, total=False):
11
+ port: Required[int]
12
+ """Devbox port that tunnel will expose."""
@@ -214,14 +214,16 @@ class TestDevboxes:
214
214
  @parametrize
215
215
  def test_method_create_tunnel(self, client: Runloop) -> None:
216
216
  devbox = client.devboxes.create_tunnel(
217
- "id",
217
+ id="id",
218
+ port=0,
218
219
  )
219
220
  assert_matches_type(DevboxTunnelView, devbox, path=["response"])
220
221
 
221
222
  @parametrize
222
223
  def test_raw_response_create_tunnel(self, client: Runloop) -> None:
223
224
  response = client.devboxes.with_raw_response.create_tunnel(
224
- "id",
225
+ id="id",
226
+ port=0,
225
227
  )
226
228
 
227
229
  assert response.is_closed is True
@@ -232,7 +234,8 @@ class TestDevboxes:
232
234
  @parametrize
233
235
  def test_streaming_response_create_tunnel(self, client: Runloop) -> None:
234
236
  with client.devboxes.with_streaming_response.create_tunnel(
235
- "id",
237
+ id="id",
238
+ port=0,
236
239
  ) as response:
237
240
  assert not response.is_closed
238
241
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -246,7 +249,8 @@ class TestDevboxes:
246
249
  def test_path_params_create_tunnel(self, client: Runloop) -> None:
247
250
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
248
251
  client.devboxes.with_raw_response.create_tunnel(
249
- "",
252
+ id="",
253
+ port=0,
250
254
  )
251
255
 
252
256
  @parametrize
@@ -922,14 +926,16 @@ class TestAsyncDevboxes:
922
926
  @parametrize
923
927
  async def test_method_create_tunnel(self, async_client: AsyncRunloop) -> None:
924
928
  devbox = await async_client.devboxes.create_tunnel(
925
- "id",
929
+ id="id",
930
+ port=0,
926
931
  )
927
932
  assert_matches_type(DevboxTunnelView, devbox, path=["response"])
928
933
 
929
934
  @parametrize
930
935
  async def test_raw_response_create_tunnel(self, async_client: AsyncRunloop) -> None:
931
936
  response = await async_client.devboxes.with_raw_response.create_tunnel(
932
- "id",
937
+ id="id",
938
+ port=0,
933
939
  )
934
940
 
935
941
  assert response.is_closed is True
@@ -940,7 +946,8 @@ class TestAsyncDevboxes:
940
946
  @parametrize
941
947
  async def test_streaming_response_create_tunnel(self, async_client: AsyncRunloop) -> None:
942
948
  async with async_client.devboxes.with_streaming_response.create_tunnel(
943
- "id",
949
+ id="id",
950
+ port=0,
944
951
  ) as response:
945
952
  assert not response.is_closed
946
953
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -954,7 +961,8 @@ class TestAsyncDevboxes:
954
961
  async def test_path_params_create_tunnel(self, async_client: AsyncRunloop) -> None:
955
962
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
956
963
  await async_client.devboxes.with_raw_response.create_tunnel(
957
- "",
964
+ id="",
965
+ port=0,
958
966
  )
959
967
 
960
968
  @parametrize
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.6.0"
3
- }