lightning-sdk 2025.12.17__py3-none-any.whl → 2026.1.27__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 (130) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/k8s_api.py +75 -29
  3. lightning_sdk/api/studio_api.py +192 -37
  4. lightning_sdk/api/teamspace_api.py +180 -54
  5. lightning_sdk/api/utils.py +8 -0
  6. lightning_sdk/cli/cp/__init__.py +67 -0
  7. lightning_sdk/cli/cp/teamspace_uploads.py +93 -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 +29 -98
  13. lightning_sdk/cli/legacy/run.py +13 -2
  14. lightning_sdk/cli/legacy/upload.py +24 -31
  15. lightning_sdk/cli/studio/__init__.py +4 -0
  16. lightning_sdk/cli/studio/cp.py +24 -65
  17. lightning_sdk/cli/studio/ls.py +57 -0
  18. lightning_sdk/cli/studio/rm.py +71 -0
  19. lightning_sdk/cli/utils/filesystem.py +103 -0
  20. lightning_sdk/cli/utils/logging.py +2 -1
  21. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  22. lightning_sdk/exceptions.py +31 -0
  23. lightning_sdk/job/base.py +1 -1
  24. lightning_sdk/k8s_cluster.py +9 -10
  25. lightning_sdk/lightning_cloud/__version__.py +1 -1
  26. lightning_sdk/lightning_cloud/openapi/__init__.py +43 -23
  27. lightning_sdk/lightning_cloud/openapi/api/__init__.py +2 -1
  28. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +118 -1
  29. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +378 -536
  30. lightning_sdk/lightning_cloud/openapi/api/container_registry_service_api.py +456 -0
  31. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  32. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  33. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
  34. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  35. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  36. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  37. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  38. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +113 -0
  39. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  40. lightning_sdk/lightning_cloud/openapi/api/{kubernetes_virtual_machine_service_api.py → virtual_machine_service_api.py} +82 -82
  41. lightning_sdk/lightning_cloud/openapi/models/__init__.py +41 -22
  42. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  43. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +53 -1
  44. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  45. lightning_sdk/lightning_cloud/openapi/models/{v1_add_container_registry_response.py → cluster_service_report_machine_system_metrics_body.py} +23 -23
  46. lightning_sdk/lightning_cloud/openapi/models/container_registry_config_ecr.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_status.py → container_registry_provider.py} +14 -10
  48. lightning_sdk/lightning_cloud/openapi/models/container_registry_service_create_container_registry_body.py +201 -0
  49. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config_input.py → container_registry_service_refresh_container_registry_credentials_body.py} +21 -21
  50. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config.py → jobs_service_duplicate_deployment_body.py} +51 -51
  52. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  53. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  54. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  55. lightning_sdk/lightning_cloud/openapi/models/organizations_service_update_org_role_body.py +175 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +53 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -27
  62. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +63 -89
  64. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_add_container_registry_body.py → v1_container_registry_config.py} +16 -16
  65. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_scopes.py +149 -0
  66. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_kubernetes_virtual_machine_response.py → v1_create_container_registry_response.py} +6 -6
  67. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  69. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  70. lightning_sdk/lightning_cloud/openapi/models/v1_cudo_direct_v1.py +175 -0
  71. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_refresh_container_registry_credentials_body.py → v1_delete_lit_logger_media_response.py} +6 -6
  72. lightning_sdk/lightning_cloud/openapi/models/{kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py → v1_delete_org_cluster_capacity_reservation_response.py} +6 -6
  73. lightning_sdk/lightning_cloud/openapi/models/v1_delete_virtual_machine_response.py +97 -0
  74. lightning_sdk/lightning_cloud/openapi/models/v1_describe_org_cluster_capacity_reservation_response.py +201 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  76. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  77. lightning_sdk/lightning_cloud/openapi/models/v1_generic_job_spec.py +79 -1
  78. lightning_sdk/lightning_cloud/openapi/models/{v1_validate_container_registry_response.py → v1_get_kubernetes_pod_logs_response.py} +37 -37
  79. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  80. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  81. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  82. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_integration.py → v1_k8s_incident_setting.py} +49 -23
  84. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  85. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  86. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -27
  87. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  88. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  89. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +53 -1
  90. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +6 -6
  91. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  92. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  93. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  94. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  95. lightning_sdk/lightning_cloud/openapi/models/{v1_list_kubernetes_virtual_machines_response.py → v1_list_virtual_machines_response.py} +16 -16
  96. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  97. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -53
  98. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  99. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  100. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_mithril_direct_v1.py} +51 -51
  101. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  102. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  103. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +1 -27
  104. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_validate_container_registry_body.py → v1_report_cloud_space_instance_idle_state_response.py} +6 -6
  105. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  106. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_details.py → v1_tenant_credentials.py} +53 -53
  107. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +183 -157
  108. lightning_sdk/lightning_cloud/openapi/models/{v1_kubernetes_virtual_machine.py → v1_virtual_machine.py} +94 -68
  109. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_vm_configuration.py → v1_vm_configuration.py} +20 -20
  110. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_provider_configuration.py → v1_vm_provider_configuration.py} +32 -32
  111. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  112. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  113. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  114. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  115. lightning_sdk/machine.py +3 -3
  116. lightning_sdk/studio.py +14 -4
  117. lightning_sdk/teamspace.py +28 -7
  118. lightning_sdk/utils/logging.py +2 -1
  119. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/METADATA +1 -5
  120. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/RECORD +125 -102
  121. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/WHEEL +1 -1
  122. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  123. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +0 -513
  124. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +0 -281
  125. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +0 -201
  126. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  127. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mmts_response.py → v1_list_filesystem_mm_ts_response.py} +0 -0
  128. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/LICENSE +0 -0
  129. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/entry_points.txt +0 -0
  130. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,175 @@
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
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1CudoDirectV1(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'primary_region': 'str',
45
+ 'project_id': 'str',
46
+ 'regions': 'list[str]'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'primary_region': 'primaryRegion',
51
+ 'project_id': 'projectId',
52
+ 'regions': 'regions'
53
+ }
54
+
55
+ def __init__(self, primary_region: 'str' =None, project_id: 'str' =None, regions: 'list[str]' =None): # noqa: E501
56
+ """V1CudoDirectV1 - a model defined in Swagger""" # noqa: E501
57
+ self._primary_region = None
58
+ self._project_id = None
59
+ self._regions = None
60
+ self.discriminator = None
61
+ if primary_region is not None:
62
+ self.primary_region = primary_region
63
+ if project_id is not None:
64
+ self.project_id = project_id
65
+ if regions is not None:
66
+ self.regions = regions
67
+
68
+ @property
69
+ def primary_region(self) -> 'str':
70
+ """Gets the primary_region of this V1CudoDirectV1. # noqa: E501
71
+
72
+
73
+ :return: The primary_region of this V1CudoDirectV1. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._primary_region
77
+
78
+ @primary_region.setter
79
+ def primary_region(self, primary_region: 'str'):
80
+ """Sets the primary_region of this V1CudoDirectV1.
81
+
82
+
83
+ :param primary_region: The primary_region of this V1CudoDirectV1. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._primary_region = primary_region
88
+
89
+ @property
90
+ def project_id(self) -> 'str':
91
+ """Gets the project_id of this V1CudoDirectV1. # noqa: E501
92
+
93
+
94
+ :return: The project_id of this V1CudoDirectV1. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._project_id
98
+
99
+ @project_id.setter
100
+ def project_id(self, project_id: 'str'):
101
+ """Sets the project_id of this V1CudoDirectV1.
102
+
103
+
104
+ :param project_id: The project_id of this V1CudoDirectV1. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._project_id = project_id
109
+
110
+ @property
111
+ def regions(self) -> 'list[str]':
112
+ """Gets the regions of this V1CudoDirectV1. # noqa: E501
113
+
114
+
115
+ :return: The regions of this V1CudoDirectV1. # noqa: E501
116
+ :rtype: list[str]
117
+ """
118
+ return self._regions
119
+
120
+ @regions.setter
121
+ def regions(self, regions: 'list[str]'):
122
+ """Sets the regions of this V1CudoDirectV1.
123
+
124
+
125
+ :param regions: The regions of this V1CudoDirectV1. # noqa: E501
126
+ :type: list[str]
127
+ """
128
+
129
+ self._regions = regions
130
+
131
+ def to_dict(self) -> dict:
132
+ """Returns the model properties as a dict"""
133
+ result = {}
134
+
135
+ for attr, _ in six.iteritems(self.swagger_types):
136
+ value = getattr(self, attr)
137
+ if isinstance(value, list):
138
+ result[attr] = list(map(
139
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
140
+ value
141
+ ))
142
+ elif hasattr(value, "to_dict"):
143
+ result[attr] = value.to_dict()
144
+ elif isinstance(value, dict):
145
+ result[attr] = dict(map(
146
+ lambda item: (item[0], item[1].to_dict())
147
+ if hasattr(item[1], "to_dict") else item,
148
+ value.items()
149
+ ))
150
+ else:
151
+ result[attr] = value
152
+ if issubclass(V1CudoDirectV1, dict):
153
+ for key, value in self.items():
154
+ result[key] = value
155
+
156
+ return result
157
+
158
+ def to_str(self) -> str:
159
+ """Returns the string representation of the model"""
160
+ return pprint.pformat(self.to_dict())
161
+
162
+ def __repr__(self) -> str:
163
+ """For `print` and `pprint`"""
164
+ return self.to_str()
165
+
166
+ def __eq__(self, other: 'V1CudoDirectV1') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, V1CudoDirectV1):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'V1CudoDirectV1') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from datetime import datetime
29
29
  from lightning_sdk.lightning_cloud.openapi.models import *
30
30
 
31
- class ClusterServiceRefreshContainerRegistryCredentialsBody(object):
31
+ class V1DeleteLitLoggerMediaResponse(object):
32
32
  """NOTE: This class is auto generated by the swagger code generator program.
33
33
 
34
34
  Do not edit the class manually.
@@ -47,7 +47,7 @@ class ClusterServiceRefreshContainerRegistryCredentialsBody(object):
47
47
  }
48
48
 
49
49
  def __init__(self): # noqa: E501
50
- """ClusterServiceRefreshContainerRegistryCredentialsBody - a model defined in Swagger""" # noqa: E501
50
+ """V1DeleteLitLoggerMediaResponse - a model defined in Swagger""" # noqa: E501
51
51
  self.discriminator = None
52
52
 
53
53
  def to_dict(self) -> dict:
@@ -71,7 +71,7 @@ class ClusterServiceRefreshContainerRegistryCredentialsBody(object):
71
71
  ))
72
72
  else:
73
73
  result[attr] = value
74
- if issubclass(ClusterServiceRefreshContainerRegistryCredentialsBody, dict):
74
+ if issubclass(V1DeleteLitLoggerMediaResponse, dict):
75
75
  for key, value in self.items():
76
76
  result[key] = value
77
77
 
@@ -85,13 +85,13 @@ class ClusterServiceRefreshContainerRegistryCredentialsBody(object):
85
85
  """For `print` and `pprint`"""
86
86
  return self.to_str()
87
87
 
88
- def __eq__(self, other: 'ClusterServiceRefreshContainerRegistryCredentialsBody') -> bool:
88
+ def __eq__(self, other: 'V1DeleteLitLoggerMediaResponse') -> bool:
89
89
  """Returns true if both objects are equal"""
90
- if not isinstance(other, ClusterServiceRefreshContainerRegistryCredentialsBody):
90
+ if not isinstance(other, V1DeleteLitLoggerMediaResponse):
91
91
  return False
92
92
 
93
93
  return self.__dict__ == other.__dict__
94
94
 
95
- def __ne__(self, other: 'ClusterServiceRefreshContainerRegistryCredentialsBody') -> bool:
95
+ def __ne__(self, other: 'V1DeleteLitLoggerMediaResponse') -> bool:
96
96
  """Returns true if both objects are not equal"""
97
97
  return not self == other
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from datetime import datetime
29
29
  from lightning_sdk.lightning_cloud.openapi.models import *
30
30
 
31
- class KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody(object):
31
+ class V1DeleteOrgClusterCapacityReservationResponse(object):
32
32
  """NOTE: This class is auto generated by the swagger code generator program.
33
33
 
34
34
  Do not edit the class manually.
@@ -47,7 +47,7 @@ class KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody(object):
47
47
  }
48
48
 
49
49
  def __init__(self): # noqa: E501
50
- """KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody - a model defined in Swagger""" # noqa: E501
50
+ """V1DeleteOrgClusterCapacityReservationResponse - a model defined in Swagger""" # noqa: E501
51
51
  self.discriminator = None
52
52
 
53
53
  def to_dict(self) -> dict:
@@ -71,7 +71,7 @@ class KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody(object):
71
71
  ))
72
72
  else:
73
73
  result[attr] = value
74
- if issubclass(KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody, dict):
74
+ if issubclass(V1DeleteOrgClusterCapacityReservationResponse, dict):
75
75
  for key, value in self.items():
76
76
  result[key] = value
77
77
 
@@ -85,13 +85,13 @@ class KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody(object):
85
85
  """For `print` and `pprint`"""
86
86
  return self.to_str()
87
87
 
88
- def __eq__(self, other: 'KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody') -> bool:
88
+ def __eq__(self, other: 'V1DeleteOrgClusterCapacityReservationResponse') -> bool:
89
89
  """Returns true if both objects are equal"""
90
- if not isinstance(other, KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody):
90
+ if not isinstance(other, V1DeleteOrgClusterCapacityReservationResponse):
91
91
  return False
92
92
 
93
93
  return self.__dict__ == other.__dict__
94
94
 
95
- def __ne__(self, other: 'KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody') -> bool:
95
+ def __ne__(self, other: 'V1DeleteOrgClusterCapacityReservationResponse') -> bool:
96
96
  """Returns true if both objects are not equal"""
97
97
  return not self == other
@@ -0,0 +1,97 @@
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
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1DeleteVirtualMachineResponse(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ }
45
+
46
+ attribute_map = {
47
+ }
48
+
49
+ def __init__(self): # noqa: E501
50
+ """V1DeleteVirtualMachineResponse - a model defined in Swagger""" # noqa: E501
51
+ self.discriminator = None
52
+
53
+ def to_dict(self) -> dict:
54
+ """Returns the model properties as a dict"""
55
+ result = {}
56
+
57
+ for attr, _ in six.iteritems(self.swagger_types):
58
+ value = getattr(self, attr)
59
+ if isinstance(value, list):
60
+ result[attr] = list(map(
61
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
62
+ value
63
+ ))
64
+ elif hasattr(value, "to_dict"):
65
+ result[attr] = value.to_dict()
66
+ elif isinstance(value, dict):
67
+ result[attr] = dict(map(
68
+ lambda item: (item[0], item[1].to_dict())
69
+ if hasattr(item[1], "to_dict") else item,
70
+ value.items()
71
+ ))
72
+ else:
73
+ result[attr] = value
74
+ if issubclass(V1DeleteVirtualMachineResponse, dict):
75
+ for key, value in self.items():
76
+ result[key] = value
77
+
78
+ return result
79
+
80
+ def to_str(self) -> str:
81
+ """Returns the string representation of the model"""
82
+ return pprint.pformat(self.to_dict())
83
+
84
+ def __repr__(self) -> str:
85
+ """For `print` and `pprint`"""
86
+ return self.to_str()
87
+
88
+ def __eq__(self, other: 'V1DeleteVirtualMachineResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1DeleteVirtualMachineResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1DeleteVirtualMachineResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other
@@ -0,0 +1,201 @@
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
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1DescribeOrgClusterCapacityReservationResponse(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'id': 'str',
45
+ 'num_instances': 'int',
46
+ 'num_instances_available': 'int',
47
+ 'state': 'str'
48
+ }
49
+
50
+ attribute_map = {
51
+ 'id': 'id',
52
+ 'num_instances': 'numInstances',
53
+ 'num_instances_available': 'numInstancesAvailable',
54
+ 'state': 'state'
55
+ }
56
+
57
+ def __init__(self, id: 'str' =None, num_instances: 'int' =None, num_instances_available: 'int' =None, state: 'str' =None): # noqa: E501
58
+ """V1DescribeOrgClusterCapacityReservationResponse - a model defined in Swagger""" # noqa: E501
59
+ self._id = None
60
+ self._num_instances = None
61
+ self._num_instances_available = None
62
+ self._state = None
63
+ self.discriminator = None
64
+ if id is not None:
65
+ self.id = id
66
+ if num_instances is not None:
67
+ self.num_instances = num_instances
68
+ if num_instances_available is not None:
69
+ self.num_instances_available = num_instances_available
70
+ if state is not None:
71
+ self.state = state
72
+
73
+ @property
74
+ def id(self) -> 'str':
75
+ """Gets the id of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
76
+
77
+
78
+ :return: The id of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
79
+ :rtype: str
80
+ """
81
+ return self._id
82
+
83
+ @id.setter
84
+ def id(self, id: 'str'):
85
+ """Sets the id of this V1DescribeOrgClusterCapacityReservationResponse.
86
+
87
+
88
+ :param id: The id of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
89
+ :type: str
90
+ """
91
+
92
+ self._id = id
93
+
94
+ @property
95
+ def num_instances(self) -> 'int':
96
+ """Gets the num_instances of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
97
+
98
+
99
+ :return: The num_instances of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
100
+ :rtype: int
101
+ """
102
+ return self._num_instances
103
+
104
+ @num_instances.setter
105
+ def num_instances(self, num_instances: 'int'):
106
+ """Sets the num_instances of this V1DescribeOrgClusterCapacityReservationResponse.
107
+
108
+
109
+ :param num_instances: The num_instances of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
110
+ :type: int
111
+ """
112
+
113
+ self._num_instances = num_instances
114
+
115
+ @property
116
+ def num_instances_available(self) -> 'int':
117
+ """Gets the num_instances_available of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
118
+
119
+
120
+ :return: The num_instances_available of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
121
+ :rtype: int
122
+ """
123
+ return self._num_instances_available
124
+
125
+ @num_instances_available.setter
126
+ def num_instances_available(self, num_instances_available: 'int'):
127
+ """Sets the num_instances_available of this V1DescribeOrgClusterCapacityReservationResponse.
128
+
129
+
130
+ :param num_instances_available: The num_instances_available of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
131
+ :type: int
132
+ """
133
+
134
+ self._num_instances_available = num_instances_available
135
+
136
+ @property
137
+ def state(self) -> 'str':
138
+ """Gets the state of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
139
+
140
+
141
+ :return: The state of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
142
+ :rtype: str
143
+ """
144
+ return self._state
145
+
146
+ @state.setter
147
+ def state(self, state: 'str'):
148
+ """Sets the state of this V1DescribeOrgClusterCapacityReservationResponse.
149
+
150
+
151
+ :param state: The state of this V1DescribeOrgClusterCapacityReservationResponse. # noqa: E501
152
+ :type: str
153
+ """
154
+
155
+ self._state = state
156
+
157
+ def to_dict(self) -> dict:
158
+ """Returns the model properties as a dict"""
159
+ result = {}
160
+
161
+ for attr, _ in six.iteritems(self.swagger_types):
162
+ value = getattr(self, attr)
163
+ if isinstance(value, list):
164
+ result[attr] = list(map(
165
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
166
+ value
167
+ ))
168
+ elif hasattr(value, "to_dict"):
169
+ result[attr] = value.to_dict()
170
+ elif isinstance(value, dict):
171
+ result[attr] = dict(map(
172
+ lambda item: (item[0], item[1].to_dict())
173
+ if hasattr(item[1], "to_dict") else item,
174
+ value.items()
175
+ ))
176
+ else:
177
+ result[attr] = value
178
+ if issubclass(V1DescribeOrgClusterCapacityReservationResponse, dict):
179
+ for key, value in self.items():
180
+ result[key] = value
181
+
182
+ return result
183
+
184
+ def to_str(self) -> str:
185
+ """Returns the string representation of the model"""
186
+ return pprint.pformat(self.to_dict())
187
+
188
+ def __repr__(self) -> str:
189
+ """For `print` and `pprint`"""
190
+ return self.to_str()
191
+
192
+ def __eq__(self, other: 'V1DescribeOrgClusterCapacityReservationResponse') -> bool:
193
+ """Returns true if both objects are equal"""
194
+ if not isinstance(other, V1DescribeOrgClusterCapacityReservationResponse):
195
+ return False
196
+
197
+ return self.__dict__ == other.__dict__
198
+
199
+ def __ne__(self, other: 'V1DescribeOrgClusterCapacityReservationResponse') -> bool:
200
+ """Returns true if both objects are not equal"""
201
+ return not self == other
@@ -41,7 +41,6 @@ class V1ExternalClusterSpec(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'ai_pod_v1': 'V1AiPodV1',
45
44
  'auth_token': 'str',
46
45
  'available_accelerators': 'list[str]',
47
46
  'aws_v1': 'V1AWSDirectV1',
@@ -49,6 +48,7 @@ class V1ExternalClusterSpec(object):
49
48
  'cluster_type': 'V1ClusterType',
50
49
  'compute_cluster_ids': 'list[str]',
51
50
  'compute_cluster_request': 'V1ComputeClusterRequest',
51
+ 'cudo_v1': 'V1CudoDirectV1',
52
52
  'deletion_options': 'V1ClusterDeletionOptions',
53
53
  'desired_state': 'V1ClusterState',
54
54
  'domain': 'str',
@@ -77,7 +77,6 @@ class V1ExternalClusterSpec(object):
77
77
  }
78
78
 
79
79
  attribute_map = {
80
- 'ai_pod_v1': 'aiPodV1',
81
80
  'auth_token': 'authToken',
82
81
  'available_accelerators': 'availableAccelerators',
83
82
  'aws_v1': 'awsV1',
@@ -85,6 +84,7 @@ class V1ExternalClusterSpec(object):
85
84
  'cluster_type': 'clusterType',
86
85
  'compute_cluster_ids': 'computeClusterIds',
87
86
  'compute_cluster_request': 'computeClusterRequest',
87
+ 'cudo_v1': 'cudoV1',
88
88
  'deletion_options': 'deletionOptions',
89
89
  'desired_state': 'desiredState',
90
90
  'domain': 'domain',
@@ -112,9 +112,8 @@ class V1ExternalClusterSpec(object):
112
112
  'vultr_v1': 'vultrV1'
113
113
  }
114
114
 
115
- def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, compute_cluster_request: 'V1ComputeClusterRequest' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lightning_elastic_cluster_v1: 'V1LightningElasticClusterV1' =None, locked_zones: 'list[str]' =None, machine_v1: 'V1MachineDirectV1' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
115
+ def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, compute_cluster_request: 'V1ComputeClusterRequest' =None, cudo_v1: 'V1CudoDirectV1' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lightning_elastic_cluster_v1: 'V1LightningElasticClusterV1' =None, locked_zones: 'list[str]' =None, machine_v1: 'V1MachineDirectV1' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
116
116
  """V1ExternalClusterSpec - a model defined in Swagger""" # noqa: E501
117
- self._ai_pod_v1 = None
118
117
  self._auth_token = None
119
118
  self._available_accelerators = None
120
119
  self._aws_v1 = None
@@ -122,6 +121,7 @@ class V1ExternalClusterSpec(object):
122
121
  self._cluster_type = None
123
122
  self._compute_cluster_ids = None
124
123
  self._compute_cluster_request = None
124
+ self._cudo_v1 = None
125
125
  self._deletion_options = None
126
126
  self._desired_state = None
127
127
  self._domain = None
@@ -148,8 +148,6 @@ class V1ExternalClusterSpec(object):
148
148
  self._voltage_park_v1 = None
149
149
  self._vultr_v1 = None
150
150
  self.discriminator = None
151
- if ai_pod_v1 is not None:
152
- self.ai_pod_v1 = ai_pod_v1
153
151
  if auth_token is not None:
154
152
  self.auth_token = auth_token
155
153
  if available_accelerators is not None:
@@ -164,6 +162,8 @@ class V1ExternalClusterSpec(object):
164
162
  self.compute_cluster_ids = compute_cluster_ids
165
163
  if compute_cluster_request is not None:
166
164
  self.compute_cluster_request = compute_cluster_request
165
+ if cudo_v1 is not None:
166
+ self.cudo_v1 = cudo_v1
167
167
  if deletion_options is not None:
168
168
  self.deletion_options = deletion_options
169
169
  if desired_state is not None:
@@ -215,27 +215,6 @@ class V1ExternalClusterSpec(object):
215
215
  if vultr_v1 is not None:
216
216
  self.vultr_v1 = vultr_v1
217
217
 
218
- @property
219
- def ai_pod_v1(self) -> 'V1AiPodV1':
220
- """Gets the ai_pod_v1 of this V1ExternalClusterSpec. # noqa: E501
221
-
222
-
223
- :return: The ai_pod_v1 of this V1ExternalClusterSpec. # noqa: E501
224
- :rtype: V1AiPodV1
225
- """
226
- return self._ai_pod_v1
227
-
228
- @ai_pod_v1.setter
229
- def ai_pod_v1(self, ai_pod_v1: 'V1AiPodV1'):
230
- """Sets the ai_pod_v1 of this V1ExternalClusterSpec.
231
-
232
-
233
- :param ai_pod_v1: The ai_pod_v1 of this V1ExternalClusterSpec. # noqa: E501
234
- :type: V1AiPodV1
235
- """
236
-
237
- self._ai_pod_v1 = ai_pod_v1
238
-
239
218
  @property
240
219
  def auth_token(self) -> 'str':
241
220
  """Gets the auth_token of this V1ExternalClusterSpec. # noqa: E501
@@ -383,6 +362,27 @@ class V1ExternalClusterSpec(object):
383
362
 
384
363
  self._compute_cluster_request = compute_cluster_request
385
364
 
365
+ @property
366
+ def cudo_v1(self) -> 'V1CudoDirectV1':
367
+ """Gets the cudo_v1 of this V1ExternalClusterSpec. # noqa: E501
368
+
369
+
370
+ :return: The cudo_v1 of this V1ExternalClusterSpec. # noqa: E501
371
+ :rtype: V1CudoDirectV1
372
+ """
373
+ return self._cudo_v1
374
+
375
+ @cudo_v1.setter
376
+ def cudo_v1(self, cudo_v1: 'V1CudoDirectV1'):
377
+ """Sets the cudo_v1 of this V1ExternalClusterSpec.
378
+
379
+
380
+ :param cudo_v1: The cudo_v1 of this V1ExternalClusterSpec. # noqa: E501
381
+ :type: V1CudoDirectV1
382
+ """
383
+
384
+ self._cudo_v1 = cudo_v1
385
+
386
386
  @property
387
387
  def deletion_options(self) -> 'V1ClusterDeletionOptions':
388
388
  """Gets the deletion_options of this V1ExternalClusterSpec. # noqa: E501