archil-openapi 0.0.2__tar.gz → 0.0.3__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 (138) hide show
  1. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/PKG-INFO +1 -1
  2. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/pyproject.toml +1 -1
  3. archil_openapi-0.0.3/src/archil_openapi/api/disks/create_share_url.py +208 -0
  4. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/__init__.py +6 -0
  5. archil_openapi-0.0.3/src/archil_openapi/models/api_response_share_url.py +73 -0
  6. archil_openapi-0.0.3/src/archil_openapi/models/api_response_share_url_data.py +67 -0
  7. archil_openapi-0.0.3/src/archil_openapi/models/create_share_url_request.py +70 -0
  8. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/LICENSE +0 -0
  9. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/README.md +0 -0
  10. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/__init__.py +0 -0
  11. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/__init__.py +0 -0
  12. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/activity/__init__.py +0 -0
  13. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/activity/list_activity.py +0 -0
  14. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/api_tokens/__init__.py +0 -0
  15. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/api_tokens/create_api_token.py +0 -0
  16. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/api_tokens/delete_api_token.py +0 -0
  17. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/api_tokens/list_api_tokens.py +0 -0
  18. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_configuration/__init__.py +0 -0
  19. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_configuration/get_allowed_i_ps.py +0 -0
  20. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_configuration/list_delegations.py +0 -0
  21. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_configuration/revoke_delegation.py +0 -0
  22. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_configuration/set_allowed_i_ps.py +0 -0
  23. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_users/__init__.py +0 -0
  24. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_users/add_disk_user.py +0 -0
  25. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disk_users/remove_disk_user.py +0 -0
  26. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/__init__.py +0 -0
  27. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/create_disk.py +0 -0
  28. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/delete_disk.py +0 -0
  29. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/exec_.py +0 -0
  30. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/exec_disk.py +0 -0
  31. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/get_disk.py +0 -0
  32. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/grep_disk.py +0 -0
  33. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/disks/list_disks.py +0 -0
  34. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/__init__.py +0 -0
  35. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/cancel_sandbox_exec.py +0 -0
  36. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/create_sandbox.py +0 -0
  37. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/delete_sandbox.py +0 -0
  38. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/exec_in_sandbox.py +0 -0
  39. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/get_sandbox.py +0 -0
  40. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/get_sandbox_exec.py +0 -0
  41. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/list_sandbox_execs.py +0 -0
  42. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/list_sandboxes.py +0 -0
  43. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/pause_sandbox.py +0 -0
  44. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/resume_sandbox.py +0 -0
  45. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/start_sandbox.py +0 -0
  46. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/api/sandboxes/stop_sandbox.py +0 -0
  47. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/client.py +0 -0
  48. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/errors.py +0 -0
  49. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/activity_event.py +0 -0
  50. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/activity_event_details.py +0 -0
  51. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/activity_event_level.py +0 -0
  52. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_activity_list.py +0 -0
  53. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_allowed_i_ps.py +0 -0
  54. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_allowed_i_ps_data.py +0 -0
  55. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_authorized_user.py +0 -0
  56. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_create_disk.py +0 -0
  57. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_create_disk_data.py +0 -0
  58. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_delegations.py +0 -0
  59. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_delegations_data.py +0 -0
  60. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_disk.py +0 -0
  61. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_disk_list.py +0 -0
  62. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_empty.py +0 -0
  63. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_exec.py +0 -0
  64. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_exec_disk.py +0 -0
  65. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_grep_disk.py +0 -0
  66. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_message.py +0 -0
  67. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_message_data.py +0 -0
  68. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_sandbox.py +0 -0
  69. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_sandbox_exec.py +0 -0
  70. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_sandbox_exec_list.py +0 -0
  71. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_sandbox_exec_list_data.py +0 -0
  72. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_sandbox_list.py +0 -0
  73. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_sandbox_list_data.py +0 -0
  74. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_token_created.py +0 -0
  75. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_token_created_data.py +0 -0
  76. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_token_list.py +0 -0
  77. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_response_token_list_data.py +0 -0
  78. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/api_token_response.py +0 -0
  79. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/authorized_user.py +0 -0
  80. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/authorized_user_status.py +0 -0
  81. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/authorized_user_type.py +0 -0
  82. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/aws_sts_user.py +0 -0
  83. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/aws_sts_user_type.py +0 -0
  84. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/azure_blob_storage.py +0 -0
  85. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/azure_blob_storage_type.py +0 -0
  86. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/cloudflare_r2.py +0 -0
  87. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/cloudflare_r2_type.py +0 -0
  88. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/connected_client.py +0 -0
  89. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/create_api_token_request.py +0 -0
  90. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/create_disk_request.py +0 -0
  91. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/create_sandbox_request.py +0 -0
  92. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/create_sandbox_request_env.py +0 -0
  93. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/delegation_entry.py +0 -0
  94. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/disk_metrics.py +0 -0
  95. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/disk_response.py +0 -0
  96. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/disk_response_capabilities_item.py +0 -0
  97. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/disk_response_status.py +0 -0
  98. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/error_response.py +0 -0
  99. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/exec_disk_request.py +0 -0
  100. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/exec_disk_result.py +0 -0
  101. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/exec_mount.py +0 -0
  102. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/exec_request.py +0 -0
  103. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/exec_request_disks.py +0 -0
  104. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/exec_timing.py +0 -0
  105. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/google_cloud_storage.py +0 -0
  106. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/google_cloud_storage_type.py +0 -0
  107. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/grep_disk_request.py +0 -0
  108. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/grep_disk_result.py +0 -0
  109. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/grep_match.py +0 -0
  110. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/grep_stopped_reason.py +0 -0
  111. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/list_activity_level_item.py +0 -0
  112. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/mount_config_response.py +0 -0
  113. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/mount_response.py +0 -0
  114. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/mount_response_access_mode.py +0 -0
  115. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/mount_response_authorization_type.py +0 -0
  116. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/mount_response_connection_status.py +0 -0
  117. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/mount_response_type.py +0 -0
  118. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/remove_disk_user_user_type.py +0 -0
  119. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/revoke_delegation_request.py +0 -0
  120. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/s3.py +0 -0
  121. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/s3_compatible.py +0 -0
  122. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/s3_compatible_type.py +0 -0
  123. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/s3_type.py +0 -0
  124. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox.py +0 -0
  125. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_endpoint.py +0 -0
  126. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_exec.py +0 -0
  127. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_exec_request.py +0 -0
  128. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_exec_request_env.py +0 -0
  129. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_exec_state.py +0 -0
  130. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_platform.py +0 -0
  131. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_port_mapping.py +0 -0
  132. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_port_mapping_protocol.py +0 -0
  133. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/sandbox_state.py +0 -0
  134. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/set_allowed_i_ps_body.py +0 -0
  135. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/token_user.py +0 -0
  136. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/models/token_user_type.py +0 -0
  137. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/py.typed +0 -0
  138. {archil_openapi-0.0.2 → archil_openapi-0.0.3}/src/archil_openapi/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: archil-openapi
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: Generated low-level Python client for the Archil control plane API
5
5
  Keywords: archil,openapi
6
6
  Author: Archil, Inc.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "archil-openapi"
3
- version = "0.0.2"
3
+ version = "0.0.3"
4
4
  description = "Generated low-level Python client for the Archil control plane API"
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -0,0 +1,208 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.api_response_share_url import ApiResponseShareUrl
9
+ from ...models.create_share_url_request import CreateShareUrlRequest
10
+ from ...models.error_response import ErrorResponse
11
+ from ...types import Response
12
+
13
+
14
+ def _get_kwargs(
15
+ id: str,
16
+ *,
17
+ body: CreateShareUrlRequest,
18
+ ) -> dict[str, Any]:
19
+ headers: dict[str, Any] = {}
20
+
21
+ _kwargs: dict[str, Any] = {
22
+ "method": "post",
23
+ "url": "/api/disks/{id}/share".format(
24
+ id=id,
25
+ ),
26
+ }
27
+
28
+ _kwargs["json"] = body.to_dict()
29
+
30
+ headers["Content-Type"] = "application/json"
31
+
32
+ _kwargs["headers"] = headers
33
+ return _kwargs
34
+
35
+
36
+ def _parse_response(
37
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
38
+ ) -> Optional[Union[ApiResponseShareUrl, ErrorResponse]]:
39
+ if response.status_code == 200:
40
+ response_200 = ApiResponseShareUrl.from_dict(response.json())
41
+
42
+ return response_200
43
+
44
+ if response.status_code == 400:
45
+ response_400 = ErrorResponse.from_dict(response.json())
46
+
47
+ return response_400
48
+
49
+ if response.status_code == 401:
50
+ response_401 = ErrorResponse.from_dict(response.json())
51
+
52
+ return response_401
53
+
54
+ if response.status_code == 404:
55
+ response_404 = ErrorResponse.from_dict(response.json())
56
+
57
+ return response_404
58
+
59
+ if response.status_code == 500:
60
+ response_500 = ErrorResponse.from_dict(response.json())
61
+
62
+ return response_500
63
+
64
+ if client.raise_on_unexpected_status:
65
+ raise errors.UnexpectedStatus(response.status_code, response.content)
66
+ else:
67
+ return None
68
+
69
+
70
+ def _build_response(
71
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
72
+ ) -> Response[Union[ApiResponseShareUrl, ErrorResponse]]:
73
+ return Response(
74
+ status_code=HTTPStatus(response.status_code),
75
+ content=response.content,
76
+ headers=response.headers,
77
+ parsed=_parse_response(client=client, response=response),
78
+ )
79
+
80
+
81
+ def sync_detailed(
82
+ id: str,
83
+ *,
84
+ client: Union[AuthenticatedClient, Client],
85
+ body: CreateShareUrlRequest,
86
+ ) -> Response[Union[ApiResponseShareUrl, ErrorResponse]]:
87
+ """Create a share URL for a file
88
+
89
+ Creates a signed, time-limited URL for downloading a file without
90
+ authentication. The URL expires after 24 hours by default.
91
+
92
+ Args:
93
+ id (str): Example: dsk-0123456789abcdef.
94
+ body (CreateShareUrlRequest):
95
+
96
+ Raises:
97
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
98
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
99
+
100
+ Returns:
101
+ Response[Union[ApiResponseShareUrl, ErrorResponse]]
102
+ """
103
+
104
+ kwargs = _get_kwargs(
105
+ id=id,
106
+ body=body,
107
+ )
108
+
109
+ response = client.get_httpx_client().request(
110
+ **kwargs,
111
+ )
112
+
113
+ return _build_response(client=client, response=response)
114
+
115
+
116
+ def sync(
117
+ id: str,
118
+ *,
119
+ client: Union[AuthenticatedClient, Client],
120
+ body: CreateShareUrlRequest,
121
+ ) -> Optional[Union[ApiResponseShareUrl, ErrorResponse]]:
122
+ """Create a share URL for a file
123
+
124
+ Creates a signed, time-limited URL for downloading a file without
125
+ authentication. The URL expires after 24 hours by default.
126
+
127
+ Args:
128
+ id (str): Example: dsk-0123456789abcdef.
129
+ body (CreateShareUrlRequest):
130
+
131
+ Raises:
132
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
133
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
134
+
135
+ Returns:
136
+ Union[ApiResponseShareUrl, ErrorResponse]
137
+ """
138
+
139
+ return sync_detailed(
140
+ id=id,
141
+ client=client,
142
+ body=body,
143
+ ).parsed
144
+
145
+
146
+ async def asyncio_detailed(
147
+ id: str,
148
+ *,
149
+ client: Union[AuthenticatedClient, Client],
150
+ body: CreateShareUrlRequest,
151
+ ) -> Response[Union[ApiResponseShareUrl, ErrorResponse]]:
152
+ """Create a share URL for a file
153
+
154
+ Creates a signed, time-limited URL for downloading a file without
155
+ authentication. The URL expires after 24 hours by default.
156
+
157
+ Args:
158
+ id (str): Example: dsk-0123456789abcdef.
159
+ body (CreateShareUrlRequest):
160
+
161
+ Raises:
162
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
163
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
164
+
165
+ Returns:
166
+ Response[Union[ApiResponseShareUrl, ErrorResponse]]
167
+ """
168
+
169
+ kwargs = _get_kwargs(
170
+ id=id,
171
+ body=body,
172
+ )
173
+
174
+ response = await client.get_async_httpx_client().request(**kwargs)
175
+
176
+ return _build_response(client=client, response=response)
177
+
178
+
179
+ async def asyncio(
180
+ id: str,
181
+ *,
182
+ client: Union[AuthenticatedClient, Client],
183
+ body: CreateShareUrlRequest,
184
+ ) -> Optional[Union[ApiResponseShareUrl, ErrorResponse]]:
185
+ """Create a share URL for a file
186
+
187
+ Creates a signed, time-limited URL for downloading a file without
188
+ authentication. The URL expires after 24 hours by default.
189
+
190
+ Args:
191
+ id (str): Example: dsk-0123456789abcdef.
192
+ body (CreateShareUrlRequest):
193
+
194
+ Raises:
195
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
196
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
197
+
198
+ Returns:
199
+ Union[ApiResponseShareUrl, ErrorResponse]
200
+ """
201
+
202
+ return (
203
+ await asyncio_detailed(
204
+ id=id,
205
+ client=client,
206
+ body=body,
207
+ )
208
+ ).parsed
@@ -25,6 +25,8 @@ from .api_response_sandbox_exec_list import ApiResponseSandboxExecList
25
25
  from .api_response_sandbox_exec_list_data import ApiResponseSandboxExecListData
26
26
  from .api_response_sandbox_list import ApiResponseSandboxList
27
27
  from .api_response_sandbox_list_data import ApiResponseSandboxListData
28
+ from .api_response_share_url import ApiResponseShareUrl
29
+ from .api_response_share_url_data import ApiResponseShareUrlData
28
30
  from .api_response_token_created import ApiResponseTokenCreated
29
31
  from .api_response_token_created_data import ApiResponseTokenCreatedData
30
32
  from .api_response_token_list import ApiResponseTokenList
@@ -44,6 +46,7 @@ from .create_api_token_request import CreateApiTokenRequest
44
46
  from .create_disk_request import CreateDiskRequest
45
47
  from .create_sandbox_request import CreateSandboxRequest
46
48
  from .create_sandbox_request_env import CreateSandboxRequestEnv
49
+ from .create_share_url_request import CreateShareUrlRequest
47
50
  from .delegation_entry import DelegationEntry
48
51
  from .disk_metrics import DiskMetrics
49
52
  from .disk_response import DiskResponse
@@ -115,6 +118,8 @@ __all__ = (
115
118
  "ApiResponseSandboxExecListData",
116
119
  "ApiResponseSandboxList",
117
120
  "ApiResponseSandboxListData",
121
+ "ApiResponseShareUrl",
122
+ "ApiResponseShareUrlData",
118
123
  "ApiResponseTokenCreated",
119
124
  "ApiResponseTokenCreatedData",
120
125
  "ApiResponseTokenList",
@@ -134,6 +139,7 @@ __all__ = (
134
139
  "CreateDiskRequest",
135
140
  "CreateSandboxRequest",
136
141
  "CreateSandboxRequestEnv",
142
+ "CreateShareUrlRequest",
137
143
  "DelegationEntry",
138
144
  "DiskMetrics",
139
145
  "DiskResponse",
@@ -0,0 +1,73 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.api_response_share_url_data import ApiResponseShareUrlData
9
+
10
+
11
+ T = TypeVar("T", bound="ApiResponseShareUrl")
12
+
13
+
14
+ @_attrs_define
15
+ class ApiResponseShareUrl:
16
+ """
17
+ Attributes:
18
+ success (bool): Example: True.
19
+ data (ApiResponseShareUrlData):
20
+ """
21
+
22
+ success: bool
23
+ data: "ApiResponseShareUrlData"
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ success = self.success
28
+
29
+ data = self.data.to_dict()
30
+
31
+ field_dict: dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update(
34
+ {
35
+ "success": success,
36
+ "data": data,
37
+ }
38
+ )
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
44
+ from ..models.api_response_share_url_data import ApiResponseShareUrlData
45
+
46
+ d = dict(src_dict)
47
+ success = d.pop("success")
48
+
49
+ data = ApiResponseShareUrlData.from_dict(d.pop("data"))
50
+
51
+ api_response_share_url = cls(
52
+ success=success,
53
+ data=data,
54
+ )
55
+
56
+ api_response_share_url.additional_properties = d
57
+ return api_response_share_url
58
+
59
+ @property
60
+ def additional_keys(self) -> list[str]:
61
+ return list(self.additional_properties.keys())
62
+
63
+ def __getitem__(self, key: str) -> Any:
64
+ return self.additional_properties[key]
65
+
66
+ def __setitem__(self, key: str, value: Any) -> None:
67
+ self.additional_properties[key] = value
68
+
69
+ def __delitem__(self, key: str) -> None:
70
+ del self.additional_properties[key]
71
+
72
+ def __contains__(self, key: str) -> bool:
73
+ return key in self.additional_properties
@@ -0,0 +1,67 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="ApiResponseShareUrlData")
8
+
9
+
10
+ @_attrs_define
11
+ class ApiResponseShareUrlData:
12
+ """
13
+ Attributes:
14
+ url (str):
15
+ expires_in (int): URL lifetime in seconds.
16
+ """
17
+
18
+ url: str
19
+ expires_in: int
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ url = self.url
24
+
25
+ expires_in = self.expires_in
26
+
27
+ field_dict: dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "url": url,
32
+ "expiresIn": expires_in,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
+ d = dict(src_dict)
41
+ url = d.pop("url")
42
+
43
+ expires_in = d.pop("expiresIn")
44
+
45
+ api_response_share_url_data = cls(
46
+ url=url,
47
+ expires_in=expires_in,
48
+ )
49
+
50
+ api_response_share_url_data.additional_properties = d
51
+ return api_response_share_url_data
52
+
53
+ @property
54
+ def additional_keys(self) -> list[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties
@@ -0,0 +1,70 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="CreateShareUrlRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class CreateShareUrlRequest:
14
+ """
15
+ Attributes:
16
+ key (str): File key within the disk.
17
+ expires_in (Union[Unset, int]): URL lifetime in seconds. Defaults to 86400 (24 hours).
18
+ """
19
+
20
+ key: str
21
+ expires_in: Union[Unset, int] = UNSET
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ key = self.key
26
+
27
+ expires_in = self.expires_in
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "key": key,
34
+ }
35
+ )
36
+ if expires_in is not UNSET:
37
+ field_dict["expiresIn"] = expires_in
38
+
39
+ return field_dict
40
+
41
+ @classmethod
42
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
43
+ d = dict(src_dict)
44
+ key = d.pop("key")
45
+
46
+ expires_in = d.pop("expiresIn", UNSET)
47
+
48
+ create_share_url_request = cls(
49
+ key=key,
50
+ expires_in=expires_in,
51
+ )
52
+
53
+ create_share_url_request.additional_properties = d
54
+ return create_share_url_request
55
+
56
+ @property
57
+ def additional_keys(self) -> list[str]:
58
+ return list(self.additional_properties.keys())
59
+
60
+ def __getitem__(self, key: str) -> Any:
61
+ return self.additional_properties[key]
62
+
63
+ def __setitem__(self, key: str, value: Any) -> None:
64
+ self.additional_properties[key] = value
65
+
66
+ def __delitem__(self, key: str) -> None:
67
+ del self.additional_properties[key]
68
+
69
+ def __contains__(self, key: str) -> bool:
70
+ return key in self.additional_properties
File without changes
File without changes