lightning-sdk 2025.12.9__py3-none-any.whl → 2025.12.17__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 (78) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/job_api.py +16 -0
  3. lightning_sdk/api/org_api.py +7 -0
  4. lightning_sdk/api/studio_api.py +28 -3
  5. lightning_sdk/api/teamspace_api.py +42 -5
  6. lightning_sdk/api/user_api.py +5 -0
  7. lightning_sdk/cli/legacy/download.py +2 -1
  8. lightning_sdk/cli/legacy/studios_menu.py +8 -1
  9. lightning_sdk/job/base.py +26 -4
  10. lightning_sdk/job/job.py +16 -5
  11. lightning_sdk/job/v1.py +7 -2
  12. lightning_sdk/job/v2.py +41 -1
  13. lightning_sdk/lightning_cloud/openapi/__init__.py +26 -1
  14. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  15. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +5 -1
  16. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +517 -0
  17. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  18. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  19. lightning_sdk/lightning_cloud/openapi/api/kubernetes_virtual_machine_service_api.py +557 -0
  20. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  21. lightning_sdk/lightning_cloud/openapi/models/__init__.py +25 -1
  22. lightning_sdk/lightning_cloud/openapi/models/cloud_space_environment_template_service_update_cloud_space_environment_template_body.py +27 -1
  23. lightning_sdk/lightning_cloud/openapi/models/cluster_service_add_container_registry_body.py +123 -0
  24. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/cluster_service_refresh_container_registry_credentials_body.py +97 -0
  26. lightning_sdk/lightning_cloud/openapi/models/cluster_service_validate_container_registry_body.py +97 -0
  27. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +513 -0
  28. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py +97 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_add_container_registry_response.py +123 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +1 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +253 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +281 -0
  34. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_integration.py +123 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_status.py +105 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/v1_delete_container_registry_response.py +97 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_delete_kubernetes_virtual_machine_response.py +97 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config.py +175 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config_input.py +123 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_details.py +201 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  43. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_virtual_machine.py +383 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +305 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_provider_configuration.py +227 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_configuration.py +149 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +201 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +123 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_virtual_machines_response.py +123 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -1
  53. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +27 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +123 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_search_user.py +27 -1
  56. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +79 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_validate_container_registry_response.py +149 -0
  58. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  59. lightning_sdk/machine.py +1 -0
  60. lightning_sdk/mmt/base.py +26 -7
  61. lightning_sdk/mmt/mmt.py +11 -6
  62. lightning_sdk/mmt/v1.py +5 -2
  63. lightning_sdk/mmt/v2.py +5 -2
  64. lightning_sdk/organization.py +10 -1
  65. lightning_sdk/owner.py +4 -0
  66. lightning_sdk/pipeline/steps.py +3 -0
  67. lightning_sdk/plugin.py +2 -2
  68. lightning_sdk/studio.py +33 -2
  69. lightning_sdk/teamspace.py +44 -4
  70. lightning_sdk/user.py +22 -2
  71. lightning_sdk/utils/resolve.py +9 -7
  72. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/METADATA +1 -1
  73. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/RECORD +78 -53
  74. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mm_ts_response.py → v1_list_filesystem_mmts_response.py} +0 -0
  75. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/LICENSE +0 -0
  76. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/WHEEL +0 -0
  77. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/entry_points.txt +0 -0
  78. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,281 @@
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 V1ContainerRegistryInfo(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
+ 'ecr': 'V1ECRRegistryDetails',
45
+ 'id': 'str',
46
+ 'last_refresh': 'datetime',
47
+ 'status': 'V1ContainerRegistryStatus',
48
+ 'status_message': 'str',
49
+ 'type': 'str',
50
+ 'validated_at': 'datetime'
51
+ }
52
+
53
+ attribute_map = {
54
+ 'ecr': 'ecr',
55
+ 'id': 'id',
56
+ 'last_refresh': 'lastRefresh',
57
+ 'status': 'status',
58
+ 'status_message': 'statusMessage',
59
+ 'type': 'type',
60
+ 'validated_at': 'validatedAt'
61
+ }
62
+
63
+ def __init__(self, ecr: 'V1ECRRegistryDetails' =None, id: 'str' =None, last_refresh: 'datetime' =None, status: 'V1ContainerRegistryStatus' =None, status_message: 'str' =None, type: 'str' =None, validated_at: 'datetime' =None): # noqa: E501
64
+ """V1ContainerRegistryInfo - a model defined in Swagger""" # noqa: E501
65
+ self._ecr = None
66
+ self._id = None
67
+ self._last_refresh = None
68
+ self._status = None
69
+ self._status_message = None
70
+ self._type = None
71
+ self._validated_at = None
72
+ self.discriminator = None
73
+ if ecr is not None:
74
+ self.ecr = ecr
75
+ if id is not None:
76
+ self.id = id
77
+ if last_refresh is not None:
78
+ self.last_refresh = last_refresh
79
+ if status is not None:
80
+ self.status = status
81
+ if status_message is not None:
82
+ self.status_message = status_message
83
+ if type is not None:
84
+ self.type = type
85
+ if validated_at is not None:
86
+ self.validated_at = validated_at
87
+
88
+ @property
89
+ def ecr(self) -> 'V1ECRRegistryDetails':
90
+ """Gets the ecr of this V1ContainerRegistryInfo. # noqa: E501
91
+
92
+
93
+ :return: The ecr of this V1ContainerRegistryInfo. # noqa: E501
94
+ :rtype: V1ECRRegistryDetails
95
+ """
96
+ return self._ecr
97
+
98
+ @ecr.setter
99
+ def ecr(self, ecr: 'V1ECRRegistryDetails'):
100
+ """Sets the ecr of this V1ContainerRegistryInfo.
101
+
102
+
103
+ :param ecr: The ecr of this V1ContainerRegistryInfo. # noqa: E501
104
+ :type: V1ECRRegistryDetails
105
+ """
106
+
107
+ self._ecr = ecr
108
+
109
+ @property
110
+ def id(self) -> 'str':
111
+ """Gets the id of this V1ContainerRegistryInfo. # noqa: E501
112
+
113
+
114
+ :return: The id of this V1ContainerRegistryInfo. # noqa: E501
115
+ :rtype: str
116
+ """
117
+ return self._id
118
+
119
+ @id.setter
120
+ def id(self, id: 'str'):
121
+ """Sets the id of this V1ContainerRegistryInfo.
122
+
123
+
124
+ :param id: The id of this V1ContainerRegistryInfo. # noqa: E501
125
+ :type: str
126
+ """
127
+
128
+ self._id = id
129
+
130
+ @property
131
+ def last_refresh(self) -> 'datetime':
132
+ """Gets the last_refresh of this V1ContainerRegistryInfo. # noqa: E501
133
+
134
+
135
+ :return: The last_refresh of this V1ContainerRegistryInfo. # noqa: E501
136
+ :rtype: datetime
137
+ """
138
+ return self._last_refresh
139
+
140
+ @last_refresh.setter
141
+ def last_refresh(self, last_refresh: 'datetime'):
142
+ """Sets the last_refresh of this V1ContainerRegistryInfo.
143
+
144
+
145
+ :param last_refresh: The last_refresh of this V1ContainerRegistryInfo. # noqa: E501
146
+ :type: datetime
147
+ """
148
+
149
+ self._last_refresh = last_refresh
150
+
151
+ @property
152
+ def status(self) -> 'V1ContainerRegistryStatus':
153
+ """Gets the status of this V1ContainerRegistryInfo. # noqa: E501
154
+
155
+
156
+ :return: The status of this V1ContainerRegistryInfo. # noqa: E501
157
+ :rtype: V1ContainerRegistryStatus
158
+ """
159
+ return self._status
160
+
161
+ @status.setter
162
+ def status(self, status: 'V1ContainerRegistryStatus'):
163
+ """Sets the status of this V1ContainerRegistryInfo.
164
+
165
+
166
+ :param status: The status of this V1ContainerRegistryInfo. # noqa: E501
167
+ :type: V1ContainerRegistryStatus
168
+ """
169
+
170
+ self._status = status
171
+
172
+ @property
173
+ def status_message(self) -> 'str':
174
+ """Gets the status_message of this V1ContainerRegistryInfo. # noqa: E501
175
+
176
+
177
+ :return: The status_message of this V1ContainerRegistryInfo. # noqa: E501
178
+ :rtype: str
179
+ """
180
+ return self._status_message
181
+
182
+ @status_message.setter
183
+ def status_message(self, status_message: 'str'):
184
+ """Sets the status_message of this V1ContainerRegistryInfo.
185
+
186
+
187
+ :param status_message: The status_message of this V1ContainerRegistryInfo. # noqa: E501
188
+ :type: str
189
+ """
190
+
191
+ self._status_message = status_message
192
+
193
+ @property
194
+ def type(self) -> 'str':
195
+ """Gets the type of this V1ContainerRegistryInfo. # noqa: E501
196
+
197
+ \"ecr\", \"lightning\", etc. # noqa: E501
198
+
199
+ :return: The type of this V1ContainerRegistryInfo. # noqa: E501
200
+ :rtype: str
201
+ """
202
+ return self._type
203
+
204
+ @type.setter
205
+ def type(self, type: 'str'):
206
+ """Sets the type of this V1ContainerRegistryInfo.
207
+
208
+ \"ecr\", \"lightning\", etc. # noqa: E501
209
+
210
+ :param type: The type of this V1ContainerRegistryInfo. # noqa: E501
211
+ :type: str
212
+ """
213
+
214
+ self._type = type
215
+
216
+ @property
217
+ def validated_at(self) -> 'datetime':
218
+ """Gets the validated_at of this V1ContainerRegistryInfo. # noqa: E501
219
+
220
+
221
+ :return: The validated_at of this V1ContainerRegistryInfo. # noqa: E501
222
+ :rtype: datetime
223
+ """
224
+ return self._validated_at
225
+
226
+ @validated_at.setter
227
+ def validated_at(self, validated_at: 'datetime'):
228
+ """Sets the validated_at of this V1ContainerRegistryInfo.
229
+
230
+
231
+ :param validated_at: The validated_at of this V1ContainerRegistryInfo. # noqa: E501
232
+ :type: datetime
233
+ """
234
+
235
+ self._validated_at = validated_at
236
+
237
+ def to_dict(self) -> dict:
238
+ """Returns the model properties as a dict"""
239
+ result = {}
240
+
241
+ for attr, _ in six.iteritems(self.swagger_types):
242
+ value = getattr(self, attr)
243
+ if isinstance(value, list):
244
+ result[attr] = list(map(
245
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
246
+ value
247
+ ))
248
+ elif hasattr(value, "to_dict"):
249
+ result[attr] = value.to_dict()
250
+ elif isinstance(value, dict):
251
+ result[attr] = dict(map(
252
+ lambda item: (item[0], item[1].to_dict())
253
+ if hasattr(item[1], "to_dict") else item,
254
+ value.items()
255
+ ))
256
+ else:
257
+ result[attr] = value
258
+ if issubclass(V1ContainerRegistryInfo, dict):
259
+ for key, value in self.items():
260
+ result[key] = value
261
+
262
+ return result
263
+
264
+ def to_str(self) -> str:
265
+ """Returns the string representation of the model"""
266
+ return pprint.pformat(self.to_dict())
267
+
268
+ def __repr__(self) -> str:
269
+ """For `print` and `pprint`"""
270
+ return self.to_str()
271
+
272
+ def __eq__(self, other: 'V1ContainerRegistryInfo') -> bool:
273
+ """Returns true if both objects are equal"""
274
+ if not isinstance(other, V1ContainerRegistryInfo):
275
+ return False
276
+
277
+ return self.__dict__ == other.__dict__
278
+
279
+ def __ne__(self, other: 'V1ContainerRegistryInfo') -> bool:
280
+ """Returns true if both objects are not equal"""
281
+ return not self == other
@@ -0,0 +1,123 @@
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 V1ContainerRegistryIntegration(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
+ 'registries': 'list[V1ContainerRegistry]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'registries': 'registries'
49
+ }
50
+
51
+ def __init__(self, registries: 'list[V1ContainerRegistry]' =None): # noqa: E501
52
+ """V1ContainerRegistryIntegration - a model defined in Swagger""" # noqa: E501
53
+ self._registries = None
54
+ self.discriminator = None
55
+ if registries is not None:
56
+ self.registries = registries
57
+
58
+ @property
59
+ def registries(self) -> 'list[V1ContainerRegistry]':
60
+ """Gets the registries of this V1ContainerRegistryIntegration. # noqa: E501
61
+
62
+
63
+ :return: The registries of this V1ContainerRegistryIntegration. # noqa: E501
64
+ :rtype: list[V1ContainerRegistry]
65
+ """
66
+ return self._registries
67
+
68
+ @registries.setter
69
+ def registries(self, registries: 'list[V1ContainerRegistry]'):
70
+ """Sets the registries of this V1ContainerRegistryIntegration.
71
+
72
+
73
+ :param registries: The registries of this V1ContainerRegistryIntegration. # noqa: E501
74
+ :type: list[V1ContainerRegistry]
75
+ """
76
+
77
+ self._registries = registries
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(V1ContainerRegistryIntegration, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'V1ContainerRegistryIntegration') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ContainerRegistryIntegration):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ContainerRegistryIntegration') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -0,0 +1,105 @@
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 V1ContainerRegistryStatus(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
+ """
38
+ allowed enum values
39
+ """
40
+ UNSPECIFIED = "CONTAINER_REGISTRY_STATUS_UNSPECIFIED"
41
+ PENDING = "CONTAINER_REGISTRY_STATUS_PENDING"
42
+ VALIDATED = "CONTAINER_REGISTRY_STATUS_VALIDATED"
43
+ ERROR = "CONTAINER_REGISTRY_STATUS_ERROR"
44
+ """
45
+ Attributes:
46
+ swagger_types (dict): The key is attribute name
47
+ and the value is attribute type.
48
+ attribute_map (dict): The key is attribute name
49
+ and the value is json key in definition.
50
+ """
51
+ swagger_types = {
52
+ }
53
+
54
+ attribute_map = {
55
+ }
56
+
57
+ def __init__(self): # noqa: E501
58
+ """V1ContainerRegistryStatus - a model defined in Swagger""" # noqa: E501
59
+ self.discriminator = None
60
+
61
+ def to_dict(self) -> dict:
62
+ """Returns the model properties as a dict"""
63
+ result = {}
64
+
65
+ for attr, _ in six.iteritems(self.swagger_types):
66
+ value = getattr(self, attr)
67
+ if isinstance(value, list):
68
+ result[attr] = list(map(
69
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
70
+ value
71
+ ))
72
+ elif hasattr(value, "to_dict"):
73
+ result[attr] = value.to_dict()
74
+ elif isinstance(value, dict):
75
+ result[attr] = dict(map(
76
+ lambda item: (item[0], item[1].to_dict())
77
+ if hasattr(item[1], "to_dict") else item,
78
+ value.items()
79
+ ))
80
+ else:
81
+ result[attr] = value
82
+ if issubclass(V1ContainerRegistryStatus, dict):
83
+ for key, value in self.items():
84
+ result[key] = value
85
+
86
+ return result
87
+
88
+ def to_str(self) -> str:
89
+ """Returns the string representation of the model"""
90
+ return pprint.pformat(self.to_dict())
91
+
92
+ def __repr__(self) -> str:
93
+ """For `print` and `pprint`"""
94
+ return self.to_str()
95
+
96
+ def __eq__(self, other: 'V1ContainerRegistryStatus') -> bool:
97
+ """Returns true if both objects are equal"""
98
+ if not isinstance(other, V1ContainerRegistryStatus):
99
+ return False
100
+
101
+ return self.__dict__ == other.__dict__
102
+
103
+ def __ne__(self, other: 'V1ContainerRegistryStatus') -> bool:
104
+ """Returns true if both objects are not equal"""
105
+ return not self == other
@@ -51,6 +51,7 @@ class V1CreateCloudSpaceEnvironmentTemplateRequest(object):
51
51
  'name': 'str',
52
52
  'org_id': 'str',
53
53
  'plugins': 'list[str]',
54
+ 'ports': 'list[int]',
54
55
  'setup_script_text': 'str',
55
56
  'specialized_view': 'V1CloudSpaceSpecializedView'
56
57
  }
@@ -66,11 +67,12 @@ class V1CreateCloudSpaceEnvironmentTemplateRequest(object):
66
67
  'name': 'name',
67
68
  'org_id': 'orgId',
68
69
  'plugins': 'plugins',
70
+ 'ports': 'ports',
69
71
  'setup_script_text': 'setupScriptText',
70
72
  'specialized_view': 'specializedView'
71
73
  }
72
74
 
73
- def __init__(self, allowed_machines: 'list[str]' =None, default_machine: 'str' =None, description: 'str' =None, environment_type: 'V1CloudSpaceEnvironmentType' =None, icon: 'str' =None, initial_setup_script_text: 'str' =None, machine_image_version: 'str' =None, name: 'str' =None, org_id: 'str' =None, plugins: 'list[str]' =None, setup_script_text: 'str' =None, specialized_view: 'V1CloudSpaceSpecializedView' =None): # noqa: E501
75
+ def __init__(self, allowed_machines: 'list[str]' =None, default_machine: 'str' =None, description: 'str' =None, environment_type: 'V1CloudSpaceEnvironmentType' =None, icon: 'str' =None, initial_setup_script_text: 'str' =None, machine_image_version: 'str' =None, name: 'str' =None, org_id: 'str' =None, plugins: 'list[str]' =None, ports: 'list[int]' =None, setup_script_text: 'str' =None, specialized_view: 'V1CloudSpaceSpecializedView' =None): # noqa: E501
74
76
  """V1CreateCloudSpaceEnvironmentTemplateRequest - a model defined in Swagger""" # noqa: E501
75
77
  self._allowed_machines = None
76
78
  self._default_machine = None
@@ -82,6 +84,7 @@ class V1CreateCloudSpaceEnvironmentTemplateRequest(object):
82
84
  self._name = None
83
85
  self._org_id = None
84
86
  self._plugins = None
87
+ self._ports = None
85
88
  self._setup_script_text = None
86
89
  self._specialized_view = None
87
90
  self.discriminator = None
@@ -105,6 +108,8 @@ class V1CreateCloudSpaceEnvironmentTemplateRequest(object):
105
108
  self.org_id = org_id
106
109
  if plugins is not None:
107
110
  self.plugins = plugins
111
+ if ports is not None:
112
+ self.ports = ports
108
113
  if setup_script_text is not None:
109
114
  self.setup_script_text = setup_script_text
110
115
  if specialized_view is not None:
@@ -320,6 +325,27 @@ class V1CreateCloudSpaceEnvironmentTemplateRequest(object):
320
325
 
321
326
  self._plugins = plugins
322
327
 
328
+ @property
329
+ def ports(self) -> 'list[int]':
330
+ """Gets the ports of this V1CreateCloudSpaceEnvironmentTemplateRequest. # noqa: E501
331
+
332
+
333
+ :return: The ports of this V1CreateCloudSpaceEnvironmentTemplateRequest. # noqa: E501
334
+ :rtype: list[int]
335
+ """
336
+ return self._ports
337
+
338
+ @ports.setter
339
+ def ports(self, ports: 'list[int]'):
340
+ """Sets the ports of this V1CreateCloudSpaceEnvironmentTemplateRequest.
341
+
342
+
343
+ :param ports: The ports of this V1CreateCloudSpaceEnvironmentTemplateRequest. # noqa: E501
344
+ :type: list[int]
345
+ """
346
+
347
+ self._ports = ports
348
+
323
349
  @property
324
350
  def setup_script_text(self) -> 'str':
325
351
  """Gets the setup_script_text of this V1CreateCloudSpaceEnvironmentTemplateRequest. # noqa: E501
@@ -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 V1DeleteContainerRegistryResponse(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
+ """V1DeleteContainerRegistryResponse - 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(V1DeleteContainerRegistryResponse, 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: 'V1DeleteContainerRegistryResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1DeleteContainerRegistryResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1DeleteContainerRegistryResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other