thestage 0.5.46__py3-none-any.whl → 0.5.49__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.
Files changed (179) hide show
  1. thestage/.env +5 -0
  2. thestage/__init__.py +3 -3
  3. thestage/__main__.py +9 -9
  4. thestage/cli_command.py +56 -0
  5. thestage/cli_command_helper.py +51 -0
  6. thestage/color_scheme/color_scheme.py +7 -7
  7. thestage/config/__init__.py +18 -18
  8. thestage/config/config_storage.py +5 -0
  9. thestage/config/env_base.py +7 -7
  10. thestage/controllers/__init__.py +0 -0
  11. thestage/controllers/base_controller.py +67 -63
  12. thestage/controllers/config_controller.py +137 -145
  13. thestage/controllers/container_controller.py +389 -425
  14. thestage/controllers/instance_controller.py +183 -200
  15. thestage/controllers/project_controller.py +802 -872
  16. thestage/controllers/utils_controller.py +32 -28
  17. thestage/debug_main.dist.py +28 -28
  18. thestage/entities/__init__.py +0 -0
  19. thestage/entities/container.py +17 -22
  20. thestage/entities/enums/__init__.py +0 -0
  21. thestage/entities/enums/order_direction_type.py +6 -6
  22. thestage/entities/enums/shell_type.py +7 -7
  23. thestage/entities/enums/tail_output_type.py +6 -6
  24. thestage/entities/enums/yes_no_response.py +7 -7
  25. thestage/entities/file_item.py +27 -27
  26. thestage/entities/project_inference_simulator.py +18 -18
  27. thestage/entities/project_inference_simulator_model.py +16 -16
  28. thestage/entities/project_task.py +19 -19
  29. thestage/entities/rented_instance.py +19 -24
  30. thestage/entities/self_hosted_instance.py +18 -20
  31. thestage/exceptions/__init__.py +0 -0
  32. thestage/exceptions/auth_exception.py +6 -6
  33. thestage/exceptions/base_exception.py +13 -13
  34. thestage/exceptions/business_logic_exception.py +6 -6
  35. thestage/exceptions/config_exception.py +6 -6
  36. thestage/exceptions/file_system_exception.py +6 -6
  37. thestage/exceptions/git_access_exception.py +17 -17
  38. thestage/exceptions/remote_server_exception.py +24 -24
  39. thestage/git/ProgressPrinter.py +22 -22
  40. thestage/helpers/__init__.py +0 -0
  41. thestage/helpers/error_handler.py +115 -115
  42. thestage/helpers/exception_hook.py +14 -0
  43. thestage/helpers/logger/__init__.py +0 -0
  44. thestage/helpers/logger/app_logger.py +50 -51
  45. thestage/helpers/ssh_util.py +38 -38
  46. thestage/i18n/en_GB/messages.po +947 -947
  47. thestage/i18n/translation.py +9 -9
  48. thestage/main.py +36 -24
  49. thestage/services/.env +6 -6
  50. thestage/services/__init__.py +0 -0
  51. thestage/services/abstract_mapper.py +9 -9
  52. thestage/services/abstract_service.py +87 -127
  53. thestage/services/app_config_service.py +52 -51
  54. thestage/services/clients/__init__.py +0 -0
  55. thestage/services/clients/git/__init__.py +0 -0
  56. thestage/services/clients/git/git_client.py +433 -331
  57. thestage/services/clients/thestage_api/__init__.py +0 -0
  58. thestage/services/clients/thestage_api/api_client.py +718 -734
  59. thestage/services/clients/thestage_api/core/api_client_core.py +108 -25
  60. thestage/services/clients/thestage_api/core/http_client_exception.py +12 -12
  61. thestage/services/clients/thestage_api/dtos/__init__.py +0 -0
  62. thestage/services/clients/thestage_api/dtos/base_response.py +13 -13
  63. thestage/services/clients/thestage_api/dtos/cloud_provider_region.py +19 -19
  64. thestage/services/clients/thestage_api/dtos/container_param_request.py +11 -11
  65. thestage/services/clients/thestage_api/dtos/container_response.py +67 -67
  66. thestage/services/clients/thestage_api/dtos/docker_container_assigned_device.py +10 -10
  67. thestage/services/clients/thestage_api/dtos/docker_container_controller/docker_container_list_request.py +13 -13
  68. thestage/services/clients/thestage_api/dtos/docker_container_controller/docker_container_list_response.py +13 -13
  69. thestage/services/clients/thestage_api/dtos/docker_container_mapping.py +10 -10
  70. thestage/services/clients/thestage_api/dtos/entity_filter_request.py +14 -14
  71. thestage/services/clients/thestage_api/dtos/enums/__init__.py +0 -0
  72. thestage/services/clients/thestage_api/dtos/enums/container_pending_action.py +10 -10
  73. thestage/services/clients/thestage_api/dtos/enums/container_status.py +17 -17
  74. thestage/services/clients/thestage_api/dtos/enums/cpu_type.py +8 -8
  75. thestage/services/clients/thestage_api/dtos/enums/currency_type.py +10 -10
  76. thestage/services/clients/thestage_api/dtos/enums/daemon_status.py +9 -9
  77. thestage/services/clients/thestage_api/dtos/enums/disk_type.py +7 -7
  78. thestage/services/clients/thestage_api/dtos/enums/drive_type.py +7 -7
  79. thestage/services/clients/thestage_api/dtos/enums/gpu_name.py +8 -8
  80. thestage/services/clients/thestage_api/dtos/enums/inference_model_status.py +9 -9
  81. thestage/services/clients/thestage_api/dtos/enums/inference_simulator_status.py +15 -15
  82. thestage/services/clients/thestage_api/dtos/enums/instance_rented_status.py +17 -17
  83. thestage/services/clients/thestage_api/dtos/enums/instance_type.py +7 -7
  84. thestage/services/clients/thestage_api/dtos/enums/location_region.py +11 -11
  85. thestage/services/clients/thestage_api/dtos/enums/power_status.py +10 -10
  86. thestage/services/clients/thestage_api/dtos/enums/provider_name.py +11 -11
  87. thestage/services/clients/thestage_api/dtos/enums/selfhosted_status.py +10 -10
  88. thestage/services/clients/thestage_api/dtos/enums/task_execution_status.py +12 -12
  89. thestage/services/clients/thestage_api/dtos/enums/task_status.py +12 -12
  90. thestage/services/clients/thestage_api/dtos/frontend_status.py +10 -10
  91. thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_instance_request.py +13 -13
  92. thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_instance_response.py +13 -13
  93. thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_sagemaker_request.py +12 -12
  94. thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_sagemaker_response.py +12 -12
  95. thestage/services/clients/thestage_api/dtos/inference_controller/get_inference_simulator_request.py +10 -10
  96. thestage/services/clients/thestage_api/dtos/inference_controller/get_inference_simulator_response.py +13 -13
  97. thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_list_for_project_request.py +14 -14
  98. thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_list_for_project_response.py +12 -12
  99. thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_model_list_for_project_request.py +12 -12
  100. thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_model_list_for_project_response.py +13 -13
  101. thestage/services/clients/thestage_api/dtos/inference_simulator_model_response.py +11 -11
  102. thestage/services/clients/thestage_api/dtos/inference_simulator_response.py +11 -11
  103. thestage/services/clients/thestage_api/dtos/installed_service.py +17 -17
  104. thestage/services/clients/thestage_api/dtos/instance_detected_gpus.py +20 -20
  105. thestage/services/clients/thestage_api/dtos/instance_rented_response.py +71 -71
  106. thestage/services/clients/thestage_api/dtos/logging_controller/docker_container_log_stream_request.py +7 -7
  107. thestage/services/clients/thestage_api/dtos/logging_controller/log_polling_request.py +13 -13
  108. thestage/services/clients/thestage_api/dtos/logging_controller/log_polling_response.py +14 -14
  109. thestage/services/clients/thestage_api/dtos/logging_controller/task_log_stream_request.py +7 -7
  110. thestage/services/clients/thestage_api/dtos/logging_controller/user_logs_query_request.py +21 -21
  111. thestage/services/clients/thestage_api/dtos/logging_controller/user_logs_query_response.py +14 -14
  112. thestage/services/clients/thestage_api/dtos/paginated_entity_list.py +11 -11
  113. thestage/services/clients/thestage_api/dtos/pagination_data.py +10 -10
  114. thestage/services/clients/thestage_api/dtos/price_definition.py +14 -14
  115. thestage/services/clients/thestage_api/dtos/project_controller/project_get_deploy_ssh_key_request.py +7 -7
  116. thestage/services/clients/thestage_api/dtos/project_controller/project_get_deploy_ssh_key_response.py +10 -10
  117. thestage/services/clients/thestage_api/dtos/project_controller/project_push_inference_simulator_model_request.py +8 -8
  118. thestage/services/clients/thestage_api/dtos/project_controller/project_push_inference_simulator_model_response.py +6 -6
  119. thestage/services/clients/thestage_api/dtos/project_controller/project_run_task_request.py +15 -15
  120. thestage/services/clients/thestage_api/dtos/project_controller/project_run_task_response.py +10 -10
  121. thestage/services/clients/thestage_api/dtos/project_controller/project_start_inference_simulator_request.py +13 -14
  122. thestage/services/clients/thestage_api/dtos/project_controller/project_start_inference_simulator_response.py +10 -10
  123. thestage/services/clients/thestage_api/dtos/project_response.py +32 -32
  124. thestage/services/clients/thestage_api/dtos/selfhosted_instance_response.py +56 -56
  125. thestage/services/clients/thestage_api/dtos/sftp_path_helper.py +13 -13
  126. thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_key_to_user_request.py +8 -8
  127. thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_key_to_user_response.py +11 -11
  128. thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_public_key_to_instance_request.py +8 -8
  129. thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_public_key_to_instance_response.py +11 -11
  130. thestage/services/clients/thestage_api/dtos/ssh_key_controller/is_user_has_public_ssh_key_request.py +7 -7
  131. thestage/services/clients/thestage_api/dtos/ssh_key_controller/is_user_has_public_ssh_key_response.py +12 -12
  132. thestage/services/clients/thestage_api/dtos/task_controller/task_list_for_project_request.py +10 -10
  133. thestage/services/clients/thestage_api/dtos/task_controller/task_list_for_project_response.py +12 -12
  134. thestage/services/clients/thestage_api/dtos/task_controller/task_status_localized_map_response.py +9 -9
  135. thestage/services/clients/thestage_api/dtos/task_controller/task_view_response.py +12 -12
  136. thestage/services/clients/thestage_api/dtos/user_controller/user_profile.py +12 -12
  137. thestage/services/clients/thestage_api/dtos/validate_token_response.py +11 -0
  138. thestage/services/config_provider/__init__.py +0 -0
  139. thestage/services/config_provider/config_provider.py +237 -209
  140. thestage/services/connect/connect_service.py +196 -207
  141. thestage/services/connect/dto/remote_server_config.py +9 -9
  142. thestage/services/container/__init__.py +0 -0
  143. thestage/services/container/container_service.py +374 -391
  144. thestage/services/container/mapper/__init__.py +0 -0
  145. thestage/services/container/mapper/container_mapper.py +30 -30
  146. thestage/services/core_files/config_entity.py +26 -20
  147. thestage/services/filesystem_service.py +133 -133
  148. thestage/services/instance/__init__.py +0 -0
  149. thestage/services/instance/instance_service.py +303 -317
  150. thestage/services/instance/mapper/__init__.py +0 -0
  151. thestage/services/instance/mapper/instance_mapper.py +24 -24
  152. thestage/services/instance/mapper/selfhosted_mapper.py +33 -33
  153. thestage/services/logging/byte_print_style.py +5 -5
  154. thestage/services/logging/dto/log_message.py +15 -15
  155. thestage/services/logging/dto/log_type.py +6 -6
  156. thestage/services/logging/exception/log_polling_exception.py +6 -6
  157. thestage/services/logging/logging_constants.py +3 -3
  158. thestage/services/logging/logging_service.py +367 -395
  159. thestage/services/project/__init__.py +0 -0
  160. thestage/services/project/dto/inference_simulator_dto.py +22 -22
  161. thestage/services/project/dto/inference_simulator_model_dto.py +20 -20
  162. thestage/services/project/dto/project_config.py +14 -14
  163. thestage/services/project/mapper/__init__.py +0 -0
  164. thestage/services/project/mapper/project_inference_simulator_mapper.py +21 -21
  165. thestage/services/project/mapper/project_inference_simulator_model_mapper.py +21 -21
  166. thestage/services/project/mapper/project_task_mapper.py +22 -22
  167. thestage/services/project/project_service.py +1260 -1280
  168. thestage/services/remote_server_service.py +609 -610
  169. thestage/services/service_factory.py +97 -103
  170. thestage/services/task/dto/task_dto.py +40 -40
  171. thestage/services/validation_service.py +61 -56
  172. {thestage-0.5.46.dist-info → thestage-0.5.49.dist-info}/LICENSE.txt +12 -12
  173. {thestage-0.5.46.dist-info → thestage-0.5.49.dist-info}/METADATA +3 -4
  174. thestage-0.5.49.dist-info/RECORD +176 -0
  175. {thestage-0.5.46.dist-info → thestage-0.5.49.dist-info}/WHEEL +1 -1
  176. thestage/exceptions/http_error_exception.py +0 -12
  177. thestage/services/clients/thestage_api/core/api_client_abstract.py +0 -91
  178. thestage-0.5.46.dist-info/RECORD +0 -172
  179. {thestage-0.5.46.dist-info → thestage-0.5.49.dist-info}/entry_points.txt +0 -0
@@ -1,10 +1,10 @@
1
- from pydantic import Field, ConfigDict
2
-
3
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
4
- from thestage.services.project.dto.inference_simulator_dto import InferenceSimulatorDto
5
-
6
-
7
- class ProjectStartInferenceSimulatorResponse(TheStageBaseResponse):
8
- model_config = ConfigDict(use_enum_values=True)
9
-
10
- inferenceSimulator: InferenceSimulatorDto = Field(None, alias='inferenceSimulator')
1
+ from pydantic import Field, ConfigDict
2
+
3
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
4
+ from thestage.services.project.dto.inference_simulator_dto import InferenceSimulatorDto
5
+
6
+
7
+ class ProjectStartInferenceSimulatorResponse(TheStageBaseResponse):
8
+ model_config = ConfigDict(use_enum_values=True)
9
+
10
+ inferenceSimulator: InferenceSimulatorDto = Field(None, alias='inferenceSimulator')
@@ -1,32 +1,32 @@
1
- from typing import Optional, List
2
-
3
- from pydantic import Field, BaseModel, ConfigDict
4
-
5
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
- from thestage.services.clients.thestage_api.dtos.selfhosted_instance_response import SelfHostedInstanceDto
7
- from thestage.services.clients.thestage_api.dtos.instance_rented_response import InstanceRentedDto
8
-
9
-
10
- class ProjectDto(BaseModel):
11
- model_config = ConfigDict(use_enum_values=True)
12
-
13
- id: Optional[int] = Field(None, alias='id')
14
- client_id: Optional[int] = Field(None, alias='сlientId')
15
- ssh_key_deploy_id: Optional[int] = Field(None, alias='sshKeyDeployId')
16
- name: Optional[str] = Field(None, alias='name')
17
- slug: Optional[str] = Field(None, alias='slug')
18
- description: Optional[str] = Field(None, alias='description')
19
- github_username: Optional[str] = Field(None, alias='githubCollaboratorUsername')
20
- last_commit_hash: Optional[str] = Field(None, alias='lastCommitHash')
21
- last_commit_description: Optional[str] = Field(None, alias='lastCommitDescription')
22
- git_repository_url: Optional[str] = Field(None, alias='gitRepositoryUrl')
23
- git_repository_name: Optional[str] = Field(None, alias='gitRepositoryName')
24
- task_count: Optional[int] = Field(None, alias='taskCount')
25
- favourite_task_count: Optional[int] = Field(None, alias='favouriteTaskCount')
26
- last_task_run_date: Optional[str] = Field(None, alias='lastTaskRunDate')
27
- created_at: Optional[str] = Field(None, alias='createdAt')
28
- updated_at: Optional[str] = Field(None, alias='updatedAt')
29
-
30
-
31
- class ProjectViewResponse(TheStageBaseResponse):
32
- project: Optional[ProjectDto] = Field(None, alias='project')
1
+ from typing import Optional, List
2
+
3
+ from pydantic import Field, BaseModel, ConfigDict
4
+
5
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
+ from thestage.services.clients.thestage_api.dtos.selfhosted_instance_response import SelfHostedInstanceDto
7
+ from thestage.services.clients.thestage_api.dtos.instance_rented_response import InstanceRentedDto
8
+
9
+
10
+ class ProjectDto(BaseModel):
11
+ model_config = ConfigDict(use_enum_values=True)
12
+
13
+ id: Optional[int] = Field(None, alias='id')
14
+ client_id: Optional[int] = Field(None, alias='сlientId')
15
+ ssh_key_deploy_id: Optional[int] = Field(None, alias='sshKeyDeployId')
16
+ name: Optional[str] = Field(None, alias='name')
17
+ slug: Optional[str] = Field(None, alias='slug')
18
+ description: Optional[str] = Field(None, alias='description')
19
+ github_username: Optional[str] = Field(None, alias='githubCollaboratorUsername')
20
+ last_commit_hash: Optional[str] = Field(None, alias='lastCommitHash')
21
+ last_commit_description: Optional[str] = Field(None, alias='lastCommitDescription')
22
+ git_repository_url: Optional[str] = Field(None, alias='gitRepositoryUrl')
23
+ git_repository_name: Optional[str] = Field(None, alias='gitRepositoryName')
24
+ task_count: Optional[int] = Field(None, alias='taskCount')
25
+ favourite_task_count: Optional[int] = Field(None, alias='favouriteTaskCount')
26
+ last_task_run_date: Optional[str] = Field(None, alias='lastTaskRunDate')
27
+ created_at: Optional[str] = Field(None, alias='createdAt')
28
+ updated_at: Optional[str] = Field(None, alias='updatedAt')
29
+
30
+
31
+ class ProjectViewResponse(TheStageBaseResponse):
32
+ project: Optional[ProjectDto] = Field(None, alias='project')
@@ -1,56 +1,56 @@
1
- from datetime import datetime
2
- from typing import Optional, List, Dict
3
-
4
- from pydantic import Field, BaseModel, ConfigDict
5
-
6
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBasePaginatedResponse
7
- from thestage.services.clients.thestage_api.dtos.frontend_status import FrontendStatusDto
8
- from thestage.services.clients.thestage_api.dtos.paginated_entity_list import PaginatedEntityList
9
- from thestage.services.clients.thestage_api.dtos.pagination_data import PaginationData
10
- from thestage.services.clients.thestage_api.dtos.instance_detected_gpus import InstanceDetectedGpusDto
11
- from thestage.services.clients.thestage_api.dtos.enums.instance_type import InstanceTypeEnumDto
12
- from thestage.services.clients.thestage_api.dtos.enums.selfhosted_status import SelfhostedBusinessStatus
13
- from thestage.services.clients.thestage_api.dtos.enums.cpu_type import InstanceCpuType
14
-
15
-
16
- class SelfHostedInstanceDto(BaseModel):
17
- model_config = ConfigDict(use_enum_values=True)
18
-
19
- instance_type: Optional[InstanceTypeEnumDto] = Field(InstanceTypeEnumDto.UNKNOWN, alias='instanceType')
20
- id: Optional[int] = Field(None, alias='id')
21
- ram_size_gb: Optional[int] = Field(None, alias='ramSizeGb')
22
- client_id: Optional[int] = Field(None, alias='clientId')
23
- slug: Optional[str] = Field(None, alias='slug')
24
- title: Optional[str] = Field(None, alias='title')
25
- cpu_type: Optional[InstanceCpuType] = Field(InstanceCpuType.UNKNOWN, alias='cpuType')
26
- cpu_name: Optional[str] = Field(None, alias='cpuName')
27
- cpu_cores: Optional[int] = Field(None, alias='cpuCores')
28
- gpu_count: Optional[int] = Field(None, alias='gpuCount')
29
- detected_gpus: Optional[InstanceDetectedGpusDto] = Field(None, alias='detectedGpus')
30
- hardware_profile_id: Optional[str] = Field(None, alias='hardwareProfileId')
31
- disk_size_gb: Optional[int] = Field(None, alias='diskSizeGb')
32
-
33
- frontend_status: Optional[FrontendStatusDto] = Field(None, alias='frontendStatus')
34
- business_status: SelfhostedBusinessStatus = Field(SelfhostedBusinessStatus.UNKNOWN, alias='businessStatus')
35
-
36
- updated_at: Optional[datetime] = Field(None, alias='updatedAt')
37
- created_at: Optional[datetime] = Field(None, alias='createdAt')
38
- ip_address: Optional[str] = Field(None, alias='ipAddress')
39
- # not present now
40
- host_username: Optional[str] = Field(None, alias='hostUsername')
41
-
42
-
43
- class SelfHostedInstanceListResponse(TheStageBasePaginatedResponse):
44
- paginated_list: Optional[PaginatedEntityList[SelfHostedInstanceDto]] = Field(None, alias='selfHostedInstanceList')
45
-
46
-
47
- class SelfHostedRentedItemResponse(TheStageBasePaginatedResponse):
48
- model_config = ConfigDict(use_enum_values=True)
49
-
50
- selfhosted_instance: Optional[SelfHostedInstanceDto] = Field(None, alias='selfhostedInstance')
51
-
52
-
53
- class SelfHostedRentedRentedBusinessStatusMapperResponse(TheStageBasePaginatedResponse):
54
- model_config = ConfigDict(use_enum_values=True)
55
-
56
- selfhosted_instance_business_status_map: Dict[str, str] = Field(default=dict, alias='selfhostedInstanceBusinessStatusMap')
1
+ from datetime import datetime
2
+ from typing import Optional, List, Dict
3
+
4
+ from pydantic import Field, BaseModel, ConfigDict
5
+
6
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBasePaginatedResponse
7
+ from thestage.services.clients.thestage_api.dtos.frontend_status import FrontendStatusDto
8
+ from thestage.services.clients.thestage_api.dtos.paginated_entity_list import PaginatedEntityList
9
+ from thestage.services.clients.thestage_api.dtos.pagination_data import PaginationData
10
+ from thestage.services.clients.thestage_api.dtos.instance_detected_gpus import InstanceDetectedGpusDto
11
+ from thestage.services.clients.thestage_api.dtos.enums.instance_type import InstanceTypeEnumDto
12
+ from thestage.services.clients.thestage_api.dtos.enums.selfhosted_status import SelfhostedBusinessStatus
13
+ from thestage.services.clients.thestage_api.dtos.enums.cpu_type import InstanceCpuType
14
+
15
+
16
+ class SelfHostedInstanceDto(BaseModel):
17
+ model_config = ConfigDict(use_enum_values=True)
18
+
19
+ instance_type: Optional[InstanceTypeEnumDto] = Field(InstanceTypeEnumDto.UNKNOWN, alias='instanceType')
20
+ id: Optional[int] = Field(None, alias='id')
21
+ ram_size_gb: Optional[int] = Field(None, alias='ramSizeGb')
22
+ client_id: Optional[int] = Field(None, alias='clientId')
23
+ slug: Optional[str] = Field(None, alias='slug')
24
+ title: Optional[str] = Field(None, alias='title')
25
+ cpu_type: Optional[InstanceCpuType] = Field(InstanceCpuType.UNKNOWN, alias='cpuType')
26
+ cpu_name: Optional[str] = Field(None, alias='cpuName')
27
+ cpu_cores: Optional[int] = Field(None, alias='cpuCores')
28
+ gpu_count: Optional[int] = Field(None, alias='gpuCount')
29
+ detected_gpus: Optional[InstanceDetectedGpusDto] = Field(None, alias='detectedGpus')
30
+ hardware_profile_id: Optional[str] = Field(None, alias='hardwareProfileId')
31
+ disk_size_gb: Optional[int] = Field(None, alias='diskSizeGb')
32
+
33
+ frontend_status: Optional[FrontendStatusDto] = Field(None, alias='frontendStatus')
34
+ business_status: SelfhostedBusinessStatus = Field(SelfhostedBusinessStatus.UNKNOWN, alias='businessStatus')
35
+
36
+ updated_at: Optional[datetime] = Field(None, alias='updatedAt')
37
+ created_at: Optional[datetime] = Field(None, alias='createdAt')
38
+ ip_address: Optional[str] = Field(None, alias='ipAddress')
39
+ # not present now
40
+ host_username: Optional[str] = Field(None, alias='hostUsername')
41
+
42
+
43
+ class SelfHostedInstanceListResponse(TheStageBasePaginatedResponse):
44
+ paginated_list: Optional[PaginatedEntityList[SelfHostedInstanceDto]] = Field(None, alias='selfHostedInstanceList')
45
+
46
+
47
+ class SelfHostedRentedItemResponse(TheStageBasePaginatedResponse):
48
+ model_config = ConfigDict(use_enum_values=True)
49
+
50
+ selfhosted_instance: Optional[SelfHostedInstanceDto] = Field(None, alias='selfhostedInstance')
51
+
52
+
53
+ class SelfHostedRentedRentedBusinessStatusMapperResponse(TheStageBasePaginatedResponse):
54
+ model_config = ConfigDict(use_enum_values=True)
55
+
56
+ selfhosted_instance_business_status_map: Dict[str, str] = Field(default={}, alias='selfhostedInstanceBusinessStatusMap')
@@ -1,13 +1,13 @@
1
- from typing import Optional, List
2
-
3
- from pydantic import Field
4
-
5
- from thestage.entities.file_item import FileItemEntity
6
-
7
-
8
- class SftpFileItemEntity(FileItemEntity):
9
-
10
- instance_path: Optional[str] = Field(None)
11
- container_path: Optional[str] = Field(None)
12
- children: List['SftpFileItemEntity'] = Field(default=[])
13
- dest_path: Optional[str] = Field(None)
1
+ from typing import Optional, List
2
+
3
+ from pydantic import Field
4
+
5
+ from thestage.entities.file_item import FileItemEntity
6
+
7
+
8
+ class SftpFileItemEntity(FileItemEntity):
9
+
10
+ instance_path: Optional[str] = Field(None)
11
+ container_path: Optional[str] = Field(None)
12
+ children: List['SftpFileItemEntity'] = Field(default=[])
13
+ dest_path: Optional[str] = Field(None)
@@ -1,8 +1,8 @@
1
- from pydantic import Field, ConfigDict, BaseModel
2
-
3
-
4
- class AddSshKeyToUserRequest(BaseModel):
5
- model_config = ConfigDict(use_enum_values=True)
6
-
7
- sshKey: str = Field(None, alias='sshKey')
8
- note: str = Field(None, alias='note')
1
+ from pydantic import Field, ConfigDict, BaseModel
2
+
3
+
4
+ class AddSshKeyToUserRequest(BaseModel):
5
+ model_config = ConfigDict(use_enum_values=True)
6
+
7
+ sshKey: str = Field(None, alias='sshKey')
8
+ note: str = Field(None, alias='note')
@@ -1,12 +1,12 @@
1
- from typing import Optional
2
-
3
- from pydantic import Field, ConfigDict
4
-
5
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
- from thestage.services.task.dto.task_dto import TaskDto
7
-
8
-
9
- class AddSshKeyToUserResponse(TheStageBaseResponse):
10
- model_config = ConfigDict(use_enum_values=True)
11
-
1
+ from typing import Optional
2
+
3
+ from pydantic import Field, ConfigDict
4
+
5
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
+ from thestage.services.task.dto.task_dto import TaskDto
7
+
8
+
9
+ class AddSshKeyToUserResponse(TheStageBaseResponse):
10
+ model_config = ConfigDict(use_enum_values=True)
11
+
12
12
  sshKeyPairId: Optional[int] = Field(None, alias='sshKeyPairId')
@@ -1,8 +1,8 @@
1
- from pydantic import Field, ConfigDict, BaseModel
2
-
3
-
4
- class AddSshPublicKeyToInstanceRequest(BaseModel):
5
- model_config = ConfigDict(use_enum_values=True)
6
-
7
- instanceRentedId: int = Field(None, alias='instanceRentedId')
8
- sshPublicKeyId: int = Field(None, alias='sshPublicKeyId')
1
+ from pydantic import Field, ConfigDict, BaseModel
2
+
3
+
4
+ class AddSshPublicKeyToInstanceRequest(BaseModel):
5
+ model_config = ConfigDict(use_enum_values=True)
6
+
7
+ instanceRentedId: int = Field(None, alias='instanceRentedId')
8
+ sshPublicKeyId: int = Field(None, alias='sshPublicKeyId')
@@ -1,11 +1,11 @@
1
- from typing import Optional
2
-
3
- from pydantic import Field, ConfigDict
4
-
5
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
- from thestage.services.task.dto.task_dto import TaskDto
7
-
8
-
9
- class AddSshPublicKeyToInstanceResponse(TheStageBaseResponse):
10
- model_config = ConfigDict(use_enum_values=True)
11
-
1
+ from typing import Optional
2
+
3
+ from pydantic import Field, ConfigDict
4
+
5
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
+ from thestage.services.task.dto.task_dto import TaskDto
7
+
8
+
9
+ class AddSshPublicKeyToInstanceResponse(TheStageBaseResponse):
10
+ model_config = ConfigDict(use_enum_values=True)
11
+
@@ -1,7 +1,7 @@
1
- from pydantic import Field, ConfigDict, BaseModel
2
-
3
-
4
- class IsUserHasSshPublicKeyRequest(BaseModel):
5
- model_config = ConfigDict(use_enum_values=True)
6
-
7
- sshKey: str = Field(None, alias='sshKey')
1
+ from pydantic import Field, ConfigDict, BaseModel
2
+
3
+
4
+ class IsUserHasSshPublicKeyRequest(BaseModel):
5
+ model_config = ConfigDict(use_enum_values=True)
6
+
7
+ sshKey: str = Field(None, alias='sshKey')
@@ -1,12 +1,12 @@
1
- from typing import Optional
2
-
3
- from pydantic import Field, ConfigDict, BaseModel
4
-
5
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
-
7
-
8
- class IsUserHasSshPublicKeyResponse(TheStageBaseResponse):
9
- model_config = ConfigDict(use_enum_values=True)
10
-
11
- isUserHasPublicKey: bool = Field(None, alias='isUserHasPublicKey')
12
- sshKeyPairId: Optional[int] = Field(None, alias='sshKeyPairId')
1
+ from typing import Optional
2
+
3
+ from pydantic import Field, ConfigDict, BaseModel
4
+
5
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
+
7
+
8
+ class IsUserHasSshPublicKeyResponse(TheStageBaseResponse):
9
+ model_config = ConfigDict(use_enum_values=True)
10
+
11
+ isUserHasPublicKey: bool = Field(None, alias='isUserHasPublicKey')
12
+ sshKeyPairId: Optional[int] = Field(None, alias='sshKeyPairId')
@@ -1,10 +1,10 @@
1
- from pydantic import Field, ConfigDict, BaseModel
2
-
3
- from thestage.services.clients.thestage_api.dtos.entity_filter_request import EntityFilterRequest
4
-
5
-
6
- class TaskListForProjectRequest(BaseModel):
7
- model_config = ConfigDict(use_enum_values=True)
8
-
9
- entityFilterRequest: EntityFilterRequest = Field(None, alias='entityFilterRequest')
10
- projectSlug: str = Field(None, alias='projectSlug')
1
+ from pydantic import Field, ConfigDict, BaseModel
2
+
3
+ from thestage.services.clients.thestage_api.dtos.entity_filter_request import EntityFilterRequest
4
+
5
+
6
+ class TaskListForProjectRequest(BaseModel):
7
+ model_config = ConfigDict(use_enum_values=True)
8
+
9
+ entityFilterRequest: EntityFilterRequest = Field(None, alias='entityFilterRequest')
10
+ projectSlug: str = Field(None, alias='projectSlug')
@@ -1,12 +1,12 @@
1
-
2
- from pydantic import Field, ConfigDict
3
-
4
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
5
- from thestage.services.clients.thestage_api.dtos.paginated_entity_list import PaginatedEntityList
6
- from thestage.services.task.dto.task_dto import TaskDto
7
-
8
-
9
- class TaskListForProjectResponse(TheStageBaseResponse):
10
- model_config = ConfigDict(use_enum_values=True)
11
-
12
- tasks: PaginatedEntityList[TaskDto] = Field(None, alias='tasks')
1
+
2
+ from pydantic import Field, ConfigDict
3
+
4
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
5
+ from thestage.services.clients.thestage_api.dtos.paginated_entity_list import PaginatedEntityList
6
+ from thestage.services.task.dto.task_dto import TaskDto
7
+
8
+
9
+ class TaskListForProjectResponse(TheStageBaseResponse):
10
+ model_config = ConfigDict(use_enum_values=True)
11
+
12
+ tasks: PaginatedEntityList[TaskDto] = Field(None, alias='tasks')
@@ -1,9 +1,9 @@
1
- from typing import Dict
2
-
3
- from pydantic import Field
4
-
5
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
-
7
-
8
- class TaskStatusLocalizedMapResponse(TheStageBaseResponse):
9
- taskStatusMap: Dict[str, str] = Field(default=dict, alias='taskStatusMap')
1
+ from typing import Dict
2
+
3
+ from pydantic import Field
4
+
5
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
+
7
+
8
+ class TaskStatusLocalizedMapResponse(TheStageBaseResponse):
9
+ taskStatusMap: Dict[str, str] = Field(default={}, alias='taskStatusMap')
@@ -1,12 +1,12 @@
1
- from typing import Optional
2
-
3
- from pydantic import Field
4
-
5
- from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
- from thestage.services.task.dto.task_dto import TaskDto
7
-
8
-
9
- class TaskViewResponse(TheStageBaseResponse):
10
- task: Optional[TaskDto] = Field(None, alias='task')
11
- task_view_url: Optional[str] = Field(None, alias='websiteTaskViewUrl')
12
- task_output_url: Optional[str] = Field(None, alias='websiteTaskOutputUrl')
1
+ from typing import Optional
2
+
3
+ from pydantic import Field
4
+
5
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse
6
+ from thestage.services.task.dto.task_dto import TaskDto
7
+
8
+
9
+ class TaskViewResponse(TheStageBaseResponse):
10
+ task: Optional[TaskDto] = Field(None, alias='task')
11
+ task_view_url: Optional[str] = Field(None, alias='websiteTaskViewUrl')
12
+ task_output_url: Optional[str] = Field(None, alias='websiteTaskOutputUrl')
@@ -1,12 +1,12 @@
1
- from typing import Optional
2
-
3
- from pydantic import BaseModel, Field
4
-
5
-
6
- class UserProfile(BaseModel):
7
- email: Optional[str] = Field(None, alias='email')
8
-
9
-
10
-
11
- class UserProfileResponse(BaseModel):
12
- userProfile: Optional[UserProfile] = Field(None, alias='userProfile')
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, Field
4
+
5
+
6
+ class UserProfile(BaseModel):
7
+ email: Optional[str] = Field(None, alias='email')
8
+
9
+
10
+
11
+ class UserProfileResponse(BaseModel):
12
+ userProfile: Optional[UserProfile] = Field(None, alias='userProfile')
@@ -0,0 +1,11 @@
1
+ from typing import Optional, List, Dict
2
+
3
+ from pydantic import Field, BaseModel, ConfigDict
4
+
5
+ from thestage.services.clients.thestage_api.dtos.base_response import TheStageBaseResponse, TheStageBasePaginatedResponse
6
+
7
+
8
+ class ValidateTokenResponse(TheStageBaseResponse):
9
+ model_config = ConfigDict(use_enum_values=True)
10
+
11
+ allowedCliCommands: Optional[Dict[str, bool]] = Field(default={}, alias='allowedCliCommands')
File without changes