lightning-sdk 2025.12.16__py3-none-any.whl → 2026.1.22__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 (141) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/k8s_api.py +75 -29
  3. lightning_sdk/api/org_api.py +7 -0
  4. lightning_sdk/api/studio_api.py +223 -36
  5. lightning_sdk/api/teamspace_api.py +28 -9
  6. lightning_sdk/api/user_api.py +5 -0
  7. lightning_sdk/cli/cp/__init__.py +64 -0
  8. lightning_sdk/cli/entrypoint.py +2 -0
  9. lightning_sdk/cli/groups.py +22 -0
  10. lightning_sdk/cli/legacy/clusters_menu.py +2 -2
  11. lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
  12. lightning_sdk/cli/legacy/download.py +2 -1
  13. lightning_sdk/cli/legacy/run.py +13 -2
  14. lightning_sdk/cli/legacy/studios_menu.py +8 -1
  15. lightning_sdk/cli/studio/__init__.py +4 -0
  16. lightning_sdk/cli/studio/cp.py +20 -64
  17. lightning_sdk/cli/studio/ls.py +57 -0
  18. lightning_sdk/cli/studio/rm.py +71 -0
  19. lightning_sdk/cli/utils/logging.py +2 -1
  20. lightning_sdk/cli/utils/studio_filesystem.py +65 -0
  21. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  22. lightning_sdk/exceptions.py +4 -0
  23. lightning_sdk/job/base.py +24 -5
  24. lightning_sdk/job/job.py +12 -5
  25. lightning_sdk/job/v1.py +5 -2
  26. lightning_sdk/job/v2.py +9 -1
  27. lightning_sdk/k8s_cluster.py +9 -10
  28. lightning_sdk/lightning_cloud/__version__.py +1 -1
  29. lightning_sdk/lightning_cloud/openapi/__init__.py +46 -3
  30. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  31. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +118 -1
  32. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +787 -125
  33. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  34. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  35. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  36. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  37. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  38. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  39. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  40. lightning_sdk/lightning_cloud/openapi/api/virtual_machine_service_api.py +557 -0
  41. lightning_sdk/lightning_cloud/openapi/models/__init__.py +45 -3
  42. lightning_sdk/lightning_cloud/openapi/models/cloud_space_environment_template_service_update_cloud_space_environment_template_body.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/cluster_service_add_container_registry_body.py +123 -0
  44. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +79 -1
  46. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  47. lightning_sdk/lightning_cloud/openapi/models/cluster_service_refresh_container_registry_credentials_body.py +97 -0
  48. lightning_sdk/lightning_cloud/openapi/models/cluster_service_report_machine_system_metrics_body.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/cluster_service_validate_container_registry_body.py +97 -0
  50. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  52. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  53. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_add_container_registry_response.py +123 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +1 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -27
  63. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  64. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +253 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +281 -0
  66. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_integration.py +123 -0
  67. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_status.py +105 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +27 -1
  69. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  70. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  71. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  72. lightning_sdk/lightning_cloud/openapi/models/v1_cudo_direct_v1.py +175 -0
  73. lightning_sdk/lightning_cloud/openapi/models/v1_delete_container_registry_response.py +97 -0
  74. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_logger_media_response.py +97 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_delete_virtual_machine_response.py +97 -0
  76. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_ecr_registry_config.py} +49 -49
  77. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config_input.py +123 -0
  78. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_details.py +201 -0
  79. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  80. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  81. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  82. lightning_sdk/lightning_cloud/openapi/models/v1_get_kubernetes_pod_logs_response.py +149 -0
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  84. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  85. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  86. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  87. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_setting.py +149 -0
  88. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  89. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  90. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +105 -1
  91. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  92. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  93. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +357 -0
  94. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +123 -0
  95. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  96. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  97. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  98. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  99. lightning_sdk/lightning_cloud/openapi/models/v1_list_virtual_machines_response.py +123 -0
  100. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  101. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +53 -53
  102. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  103. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  104. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  105. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +27 -1
  106. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  107. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +123 -0
  108. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_idle_state_response.py +97 -0
  109. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  110. lightning_sdk/lightning_cloud/openapi/models/v1_search_user.py +27 -1
  111. lightning_sdk/lightning_cloud/openapi/models/v1_tenant_credentials.py +201 -0
  112. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +217 -113
  113. lightning_sdk/lightning_cloud/openapi/models/v1_validate_container_registry_response.py +149 -0
  114. lightning_sdk/lightning_cloud/openapi/models/v1_virtual_machine.py +409 -0
  115. lightning_sdk/lightning_cloud/openapi/models/v1_vm_configuration.py +149 -0
  116. lightning_sdk/lightning_cloud/openapi/models/v1_vm_provider_configuration.py +227 -0
  117. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  118. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  119. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  120. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  121. lightning_sdk/machine.py +3 -3
  122. lightning_sdk/mmt/base.py +26 -7
  123. lightning_sdk/mmt/mmt.py +11 -6
  124. lightning_sdk/mmt/v1.py +5 -2
  125. lightning_sdk/mmt/v2.py +5 -2
  126. lightning_sdk/organization.py +10 -1
  127. lightning_sdk/owner.py +4 -0
  128. lightning_sdk/plugin.py +2 -2
  129. lightning_sdk/studio.py +47 -6
  130. lightning_sdk/user.py +22 -2
  131. lightning_sdk/utils/logging.py +2 -1
  132. lightning_sdk/utils/resolve.py +9 -7
  133. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/METADATA +1 -5
  134. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/RECORD +139 -94
  135. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/WHEEL +1 -1
  136. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  137. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  138. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mm_ts_response.py → v1_list_filesystem_mmts_response.py} +0 -0
  139. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/LICENSE +0 -0
  140. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/entry_points.txt +0 -0
  141. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/top_level.txt +0 -0
@@ -1741,6 +1741,8 @@ class ModelsStoreApi(object):
1741
1741
  :param async_req bool
1742
1742
  :param str project_id: (required)
1743
1743
  :param str name:
1744
+ :param str page_token:
1745
+ :param int limit:
1744
1746
  :return: V1ListModelsResponse
1745
1747
  If the method is called asynchronously,
1746
1748
  returns the request thread.
@@ -1763,12 +1765,14 @@ class ModelsStoreApi(object):
1763
1765
  :param async_req bool
1764
1766
  :param str project_id: (required)
1765
1767
  :param str name:
1768
+ :param str page_token:
1769
+ :param int limit:
1766
1770
  :return: V1ListModelsResponse
1767
1771
  If the method is called asynchronously,
1768
1772
  returns the request thread.
1769
1773
  """
1770
1774
 
1771
- all_params = ['project_id', 'name'] # noqa: E501
1775
+ all_params = ['project_id', 'name', 'page_token', 'limit'] # noqa: E501
1772
1776
  all_params.append('async_req')
1773
1777
  all_params.append('_return_http_data_only')
1774
1778
  all_params.append('_preload_content')
@@ -1797,6 +1801,10 @@ class ModelsStoreApi(object):
1797
1801
  query_params = []
1798
1802
  if 'name' in params:
1799
1803
  query_params.append(('name', params['name'])) # noqa: E501
1804
+ if 'page_token' in params:
1805
+ query_params.append(('pageToken', params['page_token'])) # noqa: E501
1806
+ if 'limit' in params:
1807
+ query_params.append(('limit', params['limit'])) # noqa: E501
1800
1808
 
1801
1809
  header_params = {}
1802
1810
 
@@ -871,6 +871,7 @@ class StorageServiceApi(object):
871
871
  :param bool include_download_url:
872
872
  :param str cluster_id:
873
873
  :param bool local_index: if true, fetch from the local index
874
+ :param bool include_folder_index: if true, include the folder index in the response
874
875
  :return: V1GetArtifactsPageResponse
875
876
  If the method is called asynchronously,
876
877
  returns the request thread.
@@ -898,12 +899,13 @@ class StorageServiceApi(object):
898
899
  :param bool include_download_url:
899
900
  :param str cluster_id:
900
901
  :param bool local_index: if true, fetch from the local index
902
+ :param bool include_folder_index: if true, include the folder index in the response
901
903
  :return: V1GetArtifactsPageResponse
902
904
  If the method is called asynchronously,
903
905
  returns the request thread.
904
906
  """
905
907
 
906
- all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index'] # noqa: E501
908
+ all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index', 'include_folder_index'] # noqa: E501
907
909
  all_params.append('async_req')
908
910
  all_params.append('_return_http_data_only')
909
911
  all_params.append('_preload_content')
@@ -942,6 +944,8 @@ class StorageServiceApi(object):
942
944
  query_params.append(('clusterId', params['cluster_id'])) # noqa: E501
943
945
  if 'local_index' in params:
944
946
  query_params.append(('localIndex', params['local_index'])) # noqa: E501
947
+ if 'include_folder_index' in params:
948
+ query_params.append(('includeFolderIndex', params['include_folder_index'])) # noqa: E501
945
949
 
946
950
  header_params = {}
947
951
 
@@ -0,0 +1,557 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ from __future__ import absolute_import
21
+
22
+ import re # noqa: F401
23
+ from typing import TYPE_CHECKING, Any
24
+
25
+ # python 2 and python 3 compatibility library
26
+ import six
27
+
28
+ from lightning_sdk.lightning_cloud.openapi.api_client import ApiClient
29
+
30
+ if TYPE_CHECKING:
31
+ from datetime import datetime
32
+ from lightning_sdk.lightning_cloud.openapi.models import *
33
+
34
+ class VirtualMachineServiceApi(object):
35
+ """NOTE: This class is auto generated by the swagger code generator program.
36
+
37
+ Do not edit the class manually.
38
+ Ref: https://github.com/swagger-api/swagger-codegen
39
+ """
40
+
41
+ def __init__(self, api_client=None):
42
+ if api_client is None:
43
+ api_client = ApiClient()
44
+ self.api_client = api_client
45
+
46
+ def virtual_machine_service_create_virtual_machine(self, body: 'VirtualMachineServiceCreateVirtualMachineBody', cluster_id: 'str', **kwargs) -> 'V1VirtualMachine': # noqa: E501
47
+ """virtual_machine_service_create_virtual_machine # noqa: E501
48
+
49
+ This method makes a synchronous HTTP request by default. To make an
50
+ asynchronous HTTP request, please pass async_req=True
51
+ >>> thread = api.virtual_machine_service_create_virtual_machine(body, cluster_id, async_req=True)
52
+ >>> result = thread.get()
53
+
54
+ :param async_req bool
55
+ :param VirtualMachineServiceCreateVirtualMachineBody body: (required)
56
+ :param str cluster_id: In which Cluster you should create the CloudSpace (required)
57
+ :return: V1VirtualMachine
58
+ If the method is called asynchronously,
59
+ returns the request thread.
60
+ """
61
+ kwargs['_return_http_data_only'] = True
62
+ if kwargs.get('async_req'):
63
+ return self.virtual_machine_service_create_virtual_machine_with_http_info(body, cluster_id, **kwargs) # noqa: E501
64
+ else:
65
+ (data) = self.virtual_machine_service_create_virtual_machine_with_http_info(body, cluster_id, **kwargs) # noqa: E501
66
+ return data
67
+
68
+ def virtual_machine_service_create_virtual_machine_with_http_info(self, body: 'VirtualMachineServiceCreateVirtualMachineBody', cluster_id: 'str', **kwargs) -> 'V1VirtualMachine': # noqa: E501
69
+ """virtual_machine_service_create_virtual_machine # noqa: E501
70
+
71
+ This method makes a synchronous HTTP request by default. To make an
72
+ asynchronous HTTP request, please pass async_req=True
73
+ >>> thread = api.virtual_machine_service_create_virtual_machine_with_http_info(body, cluster_id, async_req=True)
74
+ >>> result = thread.get()
75
+
76
+ :param async_req bool
77
+ :param VirtualMachineServiceCreateVirtualMachineBody body: (required)
78
+ :param str cluster_id: In which Cluster you should create the CloudSpace (required)
79
+ :return: V1VirtualMachine
80
+ If the method is called asynchronously,
81
+ returns the request thread.
82
+ """
83
+
84
+ all_params = ['body', 'cluster_id'] # noqa: E501
85
+ all_params.append('async_req')
86
+ all_params.append('_return_http_data_only')
87
+ all_params.append('_preload_content')
88
+ all_params.append('_request_timeout')
89
+
90
+ params = locals()
91
+ for key, val in six.iteritems(params['kwargs']):
92
+ if key not in all_params:
93
+ raise TypeError(
94
+ "Got an unexpected keyword argument '%s'"
95
+ " to method virtual_machine_service_create_virtual_machine" % key
96
+ )
97
+ params[key] = val
98
+ del params['kwargs']
99
+ # verify the required parameter 'body' is set
100
+ if ('body' not in params or
101
+ params['body'] is None):
102
+ raise ValueError("Missing the required parameter `body` when calling `virtual_machine_service_create_virtual_machine`") # noqa: E501
103
+ # verify the required parameter 'cluster_id' is set
104
+ if ('cluster_id' not in params or
105
+ params['cluster_id'] is None):
106
+ raise ValueError("Missing the required parameter `cluster_id` when calling `virtual_machine_service_create_virtual_machine`") # noqa: E501
107
+
108
+ collection_formats = {}
109
+
110
+ path_params = {}
111
+ if 'cluster_id' in params:
112
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
113
+
114
+ query_params = []
115
+
116
+ header_params = {}
117
+
118
+ form_params = []
119
+ local_var_files = {}
120
+
121
+ body_params = None
122
+ if 'body' in params:
123
+ body_params = params['body']
124
+ # HTTP header `Accept`
125
+ header_params['Accept'] = self.api_client.select_header_accept(
126
+ ['application/json']) # noqa: E501
127
+
128
+ # HTTP header `Content-Type`
129
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
130
+ ['application/json']) # noqa: E501
131
+
132
+ # Authentication setting
133
+ auth_settings = [] # noqa: E501
134
+
135
+ return self.api_client.call_api(
136
+ '/v1/clusters/{clusterId}/virtual-machines', 'POST',
137
+ path_params,
138
+ query_params,
139
+ header_params,
140
+ body=body_params,
141
+ post_params=form_params,
142
+ files=local_var_files,
143
+ response_type='V1VirtualMachine', # noqa: E501
144
+ auth_settings=auth_settings,
145
+ async_req=params.get('async_req'),
146
+ _return_http_data_only=params.get('_return_http_data_only'),
147
+ _preload_content=params.get('_preload_content', True),
148
+ _request_timeout=params.get('_request_timeout'),
149
+ collection_formats=collection_formats)
150
+
151
+ def virtual_machine_service_delete_virtual_machine(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1DeleteVirtualMachineResponse': # noqa: E501
152
+ """virtual_machine_service_delete_virtual_machine # noqa: E501
153
+
154
+ This method makes a synchronous HTTP request by default. To make an
155
+ asynchronous HTTP request, please pass async_req=True
156
+ >>> thread = api.virtual_machine_service_delete_virtual_machine(cluster_id, id, async_req=True)
157
+ >>> result = thread.get()
158
+
159
+ :param async_req bool
160
+ :param str cluster_id: (required)
161
+ :param str id: (required)
162
+ :return: V1DeleteVirtualMachineResponse
163
+ If the method is called asynchronously,
164
+ returns the request thread.
165
+ """
166
+ kwargs['_return_http_data_only'] = True
167
+ if kwargs.get('async_req'):
168
+ return self.virtual_machine_service_delete_virtual_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
169
+ else:
170
+ (data) = self.virtual_machine_service_delete_virtual_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
171
+ return data
172
+
173
+ def virtual_machine_service_delete_virtual_machine_with_http_info(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1DeleteVirtualMachineResponse': # noqa: E501
174
+ """virtual_machine_service_delete_virtual_machine # noqa: E501
175
+
176
+ This method makes a synchronous HTTP request by default. To make an
177
+ asynchronous HTTP request, please pass async_req=True
178
+ >>> thread = api.virtual_machine_service_delete_virtual_machine_with_http_info(cluster_id, id, async_req=True)
179
+ >>> result = thread.get()
180
+
181
+ :param async_req bool
182
+ :param str cluster_id: (required)
183
+ :param str id: (required)
184
+ :return: V1DeleteVirtualMachineResponse
185
+ If the method is called asynchronously,
186
+ returns the request thread.
187
+ """
188
+
189
+ all_params = ['cluster_id', 'id'] # noqa: E501
190
+ all_params.append('async_req')
191
+ all_params.append('_return_http_data_only')
192
+ all_params.append('_preload_content')
193
+ all_params.append('_request_timeout')
194
+
195
+ params = locals()
196
+ for key, val in six.iteritems(params['kwargs']):
197
+ if key not in all_params:
198
+ raise TypeError(
199
+ "Got an unexpected keyword argument '%s'"
200
+ " to method virtual_machine_service_delete_virtual_machine" % key
201
+ )
202
+ params[key] = val
203
+ del params['kwargs']
204
+ # verify the required parameter 'cluster_id' is set
205
+ if ('cluster_id' not in params or
206
+ params['cluster_id'] is None):
207
+ raise ValueError("Missing the required parameter `cluster_id` when calling `virtual_machine_service_delete_virtual_machine`") # noqa: E501
208
+ # verify the required parameter 'id' is set
209
+ if ('id' not in params or
210
+ params['id'] is None):
211
+ raise ValueError("Missing the required parameter `id` when calling `virtual_machine_service_delete_virtual_machine`") # noqa: E501
212
+
213
+ collection_formats = {}
214
+
215
+ path_params = {}
216
+ if 'cluster_id' in params:
217
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
218
+ if 'id' in params:
219
+ path_params['id'] = params['id'] # noqa: E501
220
+
221
+ query_params = []
222
+
223
+ header_params = {}
224
+
225
+ form_params = []
226
+ local_var_files = {}
227
+
228
+ body_params = None
229
+ # HTTP header `Accept`
230
+ header_params['Accept'] = self.api_client.select_header_accept(
231
+ ['application/json']) # noqa: E501
232
+
233
+ # Authentication setting
234
+ auth_settings = [] # noqa: E501
235
+
236
+ return self.api_client.call_api(
237
+ '/v1/clusters/{clusterId}/virtual-machines/{id}', 'DELETE',
238
+ path_params,
239
+ query_params,
240
+ header_params,
241
+ body=body_params,
242
+ post_params=form_params,
243
+ files=local_var_files,
244
+ response_type='V1DeleteVirtualMachineResponse', # noqa: E501
245
+ auth_settings=auth_settings,
246
+ async_req=params.get('async_req'),
247
+ _return_http_data_only=params.get('_return_http_data_only'),
248
+ _preload_content=params.get('_preload_content', True),
249
+ _request_timeout=params.get('_request_timeout'),
250
+ collection_formats=collection_formats)
251
+
252
+ def virtual_machine_service_get_virtual_machine(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1VirtualMachine': # noqa: E501
253
+ """virtual_machine_service_get_virtual_machine # noqa: E501
254
+
255
+ This method makes a synchronous HTTP request by default. To make an
256
+ asynchronous HTTP request, please pass async_req=True
257
+ >>> thread = api.virtual_machine_service_get_virtual_machine(cluster_id, id, async_req=True)
258
+ >>> result = thread.get()
259
+
260
+ :param async_req bool
261
+ :param str cluster_id: (required)
262
+ :param str id: (required)
263
+ :return: V1VirtualMachine
264
+ If the method is called asynchronously,
265
+ returns the request thread.
266
+ """
267
+ kwargs['_return_http_data_only'] = True
268
+ if kwargs.get('async_req'):
269
+ return self.virtual_machine_service_get_virtual_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
270
+ else:
271
+ (data) = self.virtual_machine_service_get_virtual_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
272
+ return data
273
+
274
+ def virtual_machine_service_get_virtual_machine_with_http_info(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1VirtualMachine': # noqa: E501
275
+ """virtual_machine_service_get_virtual_machine # noqa: E501
276
+
277
+ This method makes a synchronous HTTP request by default. To make an
278
+ asynchronous HTTP request, please pass async_req=True
279
+ >>> thread = api.virtual_machine_service_get_virtual_machine_with_http_info(cluster_id, id, async_req=True)
280
+ >>> result = thread.get()
281
+
282
+ :param async_req bool
283
+ :param str cluster_id: (required)
284
+ :param str id: (required)
285
+ :return: V1VirtualMachine
286
+ If the method is called asynchronously,
287
+ returns the request thread.
288
+ """
289
+
290
+ all_params = ['cluster_id', 'id'] # noqa: E501
291
+ all_params.append('async_req')
292
+ all_params.append('_return_http_data_only')
293
+ all_params.append('_preload_content')
294
+ all_params.append('_request_timeout')
295
+
296
+ params = locals()
297
+ for key, val in six.iteritems(params['kwargs']):
298
+ if key not in all_params:
299
+ raise TypeError(
300
+ "Got an unexpected keyword argument '%s'"
301
+ " to method virtual_machine_service_get_virtual_machine" % key
302
+ )
303
+ params[key] = val
304
+ del params['kwargs']
305
+ # verify the required parameter 'cluster_id' is set
306
+ if ('cluster_id' not in params or
307
+ params['cluster_id'] is None):
308
+ raise ValueError("Missing the required parameter `cluster_id` when calling `virtual_machine_service_get_virtual_machine`") # noqa: E501
309
+ # verify the required parameter 'id' is set
310
+ if ('id' not in params or
311
+ params['id'] is None):
312
+ raise ValueError("Missing the required parameter `id` when calling `virtual_machine_service_get_virtual_machine`") # noqa: E501
313
+
314
+ collection_formats = {}
315
+
316
+ path_params = {}
317
+ if 'cluster_id' in params:
318
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
319
+ if 'id' in params:
320
+ path_params['id'] = params['id'] # noqa: E501
321
+
322
+ query_params = []
323
+
324
+ header_params = {}
325
+
326
+ form_params = []
327
+ local_var_files = {}
328
+
329
+ body_params = None
330
+ # HTTP header `Accept`
331
+ header_params['Accept'] = self.api_client.select_header_accept(
332
+ ['application/json']) # noqa: E501
333
+
334
+ # Authentication setting
335
+ auth_settings = [] # noqa: E501
336
+
337
+ return self.api_client.call_api(
338
+ '/v1/clusters/{clusterId}/virtual-machines/{id}', 'GET',
339
+ path_params,
340
+ query_params,
341
+ header_params,
342
+ body=body_params,
343
+ post_params=form_params,
344
+ files=local_var_files,
345
+ response_type='V1VirtualMachine', # noqa: E501
346
+ auth_settings=auth_settings,
347
+ async_req=params.get('async_req'),
348
+ _return_http_data_only=params.get('_return_http_data_only'),
349
+ _preload_content=params.get('_preload_content', True),
350
+ _request_timeout=params.get('_request_timeout'),
351
+ collection_formats=collection_formats)
352
+
353
+ def virtual_machine_service_list_virtual_machines(self, cluster_id: 'str', **kwargs) -> 'V1ListVirtualMachinesResponse': # noqa: E501
354
+ """virtual_machine_service_list_virtual_machines # noqa: E501
355
+
356
+ This method makes a synchronous HTTP request by default. To make an
357
+ asynchronous HTTP request, please pass async_req=True
358
+ >>> thread = api.virtual_machine_service_list_virtual_machines(cluster_id, async_req=True)
359
+ >>> result = thread.get()
360
+
361
+ :param async_req bool
362
+ :param str cluster_id: (required)
363
+ :return: V1ListVirtualMachinesResponse
364
+ If the method is called asynchronously,
365
+ returns the request thread.
366
+ """
367
+ kwargs['_return_http_data_only'] = True
368
+ if kwargs.get('async_req'):
369
+ return self.virtual_machine_service_list_virtual_machines_with_http_info(cluster_id, **kwargs) # noqa: E501
370
+ else:
371
+ (data) = self.virtual_machine_service_list_virtual_machines_with_http_info(cluster_id, **kwargs) # noqa: E501
372
+ return data
373
+
374
+ def virtual_machine_service_list_virtual_machines_with_http_info(self, cluster_id: 'str', **kwargs) -> 'V1ListVirtualMachinesResponse': # noqa: E501
375
+ """virtual_machine_service_list_virtual_machines # noqa: E501
376
+
377
+ This method makes a synchronous HTTP request by default. To make an
378
+ asynchronous HTTP request, please pass async_req=True
379
+ >>> thread = api.virtual_machine_service_list_virtual_machines_with_http_info(cluster_id, async_req=True)
380
+ >>> result = thread.get()
381
+
382
+ :param async_req bool
383
+ :param str cluster_id: (required)
384
+ :return: V1ListVirtualMachinesResponse
385
+ If the method is called asynchronously,
386
+ returns the request thread.
387
+ """
388
+
389
+ all_params = ['cluster_id'] # noqa: E501
390
+ all_params.append('async_req')
391
+ all_params.append('_return_http_data_only')
392
+ all_params.append('_preload_content')
393
+ all_params.append('_request_timeout')
394
+
395
+ params = locals()
396
+ for key, val in six.iteritems(params['kwargs']):
397
+ if key not in all_params:
398
+ raise TypeError(
399
+ "Got an unexpected keyword argument '%s'"
400
+ " to method virtual_machine_service_list_virtual_machines" % key
401
+ )
402
+ params[key] = val
403
+ del params['kwargs']
404
+ # verify the required parameter 'cluster_id' is set
405
+ if ('cluster_id' not in params or
406
+ params['cluster_id'] is None):
407
+ raise ValueError("Missing the required parameter `cluster_id` when calling `virtual_machine_service_list_virtual_machines`") # noqa: E501
408
+
409
+ collection_formats = {}
410
+
411
+ path_params = {}
412
+ if 'cluster_id' in params:
413
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
414
+
415
+ query_params = []
416
+
417
+ header_params = {}
418
+
419
+ form_params = []
420
+ local_var_files = {}
421
+
422
+ body_params = None
423
+ # HTTP header `Accept`
424
+ header_params['Accept'] = self.api_client.select_header_accept(
425
+ ['application/json']) # noqa: E501
426
+
427
+ # Authentication setting
428
+ auth_settings = [] # noqa: E501
429
+
430
+ return self.api_client.call_api(
431
+ '/v1/clusters/{clusterId}/virtual-machines', 'GET',
432
+ path_params,
433
+ query_params,
434
+ header_params,
435
+ body=body_params,
436
+ post_params=form_params,
437
+ files=local_var_files,
438
+ response_type='V1ListVirtualMachinesResponse', # noqa: E501
439
+ auth_settings=auth_settings,
440
+ async_req=params.get('async_req'),
441
+ _return_http_data_only=params.get('_return_http_data_only'),
442
+ _preload_content=params.get('_preload_content', True),
443
+ _request_timeout=params.get('_request_timeout'),
444
+ collection_formats=collection_formats)
445
+
446
+ def virtual_machine_service_update_virtual_machine(self, body: 'VirtualMachineServiceUpdateVirtualMachineBody', cluster_id: 'str', id: 'str', **kwargs) -> 'V1VirtualMachine': # noqa: E501
447
+ """virtual_machine_service_update_virtual_machine # noqa: E501
448
+
449
+ This method makes a synchronous HTTP request by default. To make an
450
+ asynchronous HTTP request, please pass async_req=True
451
+ >>> thread = api.virtual_machine_service_update_virtual_machine(body, cluster_id, id, async_req=True)
452
+ >>> result = thread.get()
453
+
454
+ :param async_req bool
455
+ :param VirtualMachineServiceUpdateVirtualMachineBody body: (required)
456
+ :param str cluster_id: (required)
457
+ :param str id: TODO: What field can we update? (required)
458
+ :return: V1VirtualMachine
459
+ If the method is called asynchronously,
460
+ returns the request thread.
461
+ """
462
+ kwargs['_return_http_data_only'] = True
463
+ if kwargs.get('async_req'):
464
+ return self.virtual_machine_service_update_virtual_machine_with_http_info(body, cluster_id, id, **kwargs) # noqa: E501
465
+ else:
466
+ (data) = self.virtual_machine_service_update_virtual_machine_with_http_info(body, cluster_id, id, **kwargs) # noqa: E501
467
+ return data
468
+
469
+ def virtual_machine_service_update_virtual_machine_with_http_info(self, body: 'VirtualMachineServiceUpdateVirtualMachineBody', cluster_id: 'str', id: 'str', **kwargs) -> 'V1VirtualMachine': # noqa: E501
470
+ """virtual_machine_service_update_virtual_machine # noqa: E501
471
+
472
+ This method makes a synchronous HTTP request by default. To make an
473
+ asynchronous HTTP request, please pass async_req=True
474
+ >>> thread = api.virtual_machine_service_update_virtual_machine_with_http_info(body, cluster_id, id, async_req=True)
475
+ >>> result = thread.get()
476
+
477
+ :param async_req bool
478
+ :param VirtualMachineServiceUpdateVirtualMachineBody body: (required)
479
+ :param str cluster_id: (required)
480
+ :param str id: TODO: What field can we update? (required)
481
+ :return: V1VirtualMachine
482
+ If the method is called asynchronously,
483
+ returns the request thread.
484
+ """
485
+
486
+ all_params = ['body', 'cluster_id', 'id'] # noqa: E501
487
+ all_params.append('async_req')
488
+ all_params.append('_return_http_data_only')
489
+ all_params.append('_preload_content')
490
+ all_params.append('_request_timeout')
491
+
492
+ params = locals()
493
+ for key, val in six.iteritems(params['kwargs']):
494
+ if key not in all_params:
495
+ raise TypeError(
496
+ "Got an unexpected keyword argument '%s'"
497
+ " to method virtual_machine_service_update_virtual_machine" % key
498
+ )
499
+ params[key] = val
500
+ del params['kwargs']
501
+ # verify the required parameter 'body' is set
502
+ if ('body' not in params or
503
+ params['body'] is None):
504
+ raise ValueError("Missing the required parameter `body` when calling `virtual_machine_service_update_virtual_machine`") # noqa: E501
505
+ # verify the required parameter 'cluster_id' is set
506
+ if ('cluster_id' not in params or
507
+ params['cluster_id'] is None):
508
+ raise ValueError("Missing the required parameter `cluster_id` when calling `virtual_machine_service_update_virtual_machine`") # noqa: E501
509
+ # verify the required parameter 'id' is set
510
+ if ('id' not in params or
511
+ params['id'] is None):
512
+ raise ValueError("Missing the required parameter `id` when calling `virtual_machine_service_update_virtual_machine`") # noqa: E501
513
+
514
+ collection_formats = {}
515
+
516
+ path_params = {}
517
+ if 'cluster_id' in params:
518
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
519
+ if 'id' in params:
520
+ path_params['id'] = params['id'] # noqa: E501
521
+
522
+ query_params = []
523
+
524
+ header_params = {}
525
+
526
+ form_params = []
527
+ local_var_files = {}
528
+
529
+ body_params = None
530
+ if 'body' in params:
531
+ body_params = params['body']
532
+ # HTTP header `Accept`
533
+ header_params['Accept'] = self.api_client.select_header_accept(
534
+ ['application/json']) # noqa: E501
535
+
536
+ # HTTP header `Content-Type`
537
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
538
+ ['application/json']) # noqa: E501
539
+
540
+ # Authentication setting
541
+ auth_settings = [] # noqa: E501
542
+
543
+ return self.api_client.call_api(
544
+ '/v1/clusters/{clusterId}/virtual-machines/{id}', 'PUT',
545
+ path_params,
546
+ query_params,
547
+ header_params,
548
+ body=body_params,
549
+ post_params=form_params,
550
+ files=local_var_files,
551
+ response_type='V1VirtualMachine', # noqa: E501
552
+ auth_settings=auth_settings,
553
+ async_req=params.get('async_req'),
554
+ _return_http_data_only=params.get('_return_http_data_only'),
555
+ _preload_content=params.get('_preload_content', True),
556
+ _request_timeout=params.get('_request_timeout'),
557
+ collection_formats=collection_formats)