lightning-sdk 2025.10.14__py3-none-any.whl → 2025.10.23__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 (76) hide show
  1. lightning_sdk/__init__.py +6 -3
  2. lightning_sdk/api/base_studio_api.py +13 -9
  3. lightning_sdk/api/job_api.py +4 -1
  4. lightning_sdk/api/license_api.py +26 -59
  5. lightning_sdk/api/studio_api.py +7 -2
  6. lightning_sdk/base_studio.py +30 -17
  7. lightning_sdk/cli/base_studio/list.py +1 -3
  8. lightning_sdk/cli/entrypoint.py +11 -34
  9. lightning_sdk/cli/groups.py +7 -0
  10. lightning_sdk/cli/license/__init__.py +14 -0
  11. lightning_sdk/cli/license/get.py +15 -0
  12. lightning_sdk/cli/license/list.py +45 -0
  13. lightning_sdk/cli/license/set.py +13 -0
  14. lightning_sdk/cli/studio/connect.py +42 -92
  15. lightning_sdk/cli/studio/create.py +23 -1
  16. lightning_sdk/cli/studio/start.py +12 -2
  17. lightning_sdk/cli/utils/get_base_studio.py +24 -0
  18. lightning_sdk/cli/utils/handle_machine_and_gpus_args.py +69 -0
  19. lightning_sdk/cli/utils/logging.py +121 -0
  20. lightning_sdk/cli/utils/ssh_connection.py +1 -1
  21. lightning_sdk/constants.py +1 -0
  22. lightning_sdk/helpers.py +53 -34
  23. lightning_sdk/job/base.py +7 -0
  24. lightning_sdk/job/job.py +8 -0
  25. lightning_sdk/job/v1.py +3 -0
  26. lightning_sdk/job/v2.py +4 -0
  27. lightning_sdk/lightning_cloud/login.py +260 -10
  28. lightning_sdk/lightning_cloud/openapi/__init__.py +16 -3
  29. lightning_sdk/lightning_cloud/openapi/api/auth_service_api.py +279 -0
  30. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +117 -0
  31. lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +108 -108
  32. lightning_sdk/lightning_cloud/openapi/models/__init__.py +16 -3
  33. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/id_fork_body1.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/license_key_validate_body.py +123 -0
  37. lightning_sdk/lightning_cloud/openapi/models/update1.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_create_license_request.py +175 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_delete_license_response.py +97 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_metric.py +201 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_transfer_estimate_response.py +29 -3
  45. lightning_sdk/lightning_cloud/openapi/models/v1_incident.py +27 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_incident_detail.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_license.py +227 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_metrics_response.py +123 -0
  50. lightning_sdk/lightning_cloud/openapi/models/{v1_list_product_licenses_response.py → v1_list_license_response.py} +16 -16
  51. lightning_sdk/lightning_cloud/openapi/models/v1_list_platform_notifications_response.py +123 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -1
  53. lightning_sdk/lightning_cloud/openapi/models/v1_platform_notification.py +279 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_request.py +97 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_response.py +123 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +53 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_request.py +123 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_response.py +123 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_token_owner_type.py +104 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +139 -191
  61. lightning_sdk/lightning_cloud/openapi/models/{v1_product_license_check_response.py → v1_validate_license_response.py} +21 -21
  62. lightning_sdk/lightning_cloud/rest_client.py +48 -45
  63. lightning_sdk/machine.py +5 -0
  64. lightning_sdk/pipeline/steps.py +1 -0
  65. lightning_sdk/studio.py +55 -13
  66. lightning_sdk/utils/config.py +18 -3
  67. lightning_sdk/utils/license.py +13 -0
  68. lightning_sdk/utils/resolve.py +6 -1
  69. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/METADATA +1 -1
  70. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/RECORD +74 -54
  71. lightning_sdk/lightning_cloud/openapi/models/v1_product_license.py +0 -435
  72. lightning_sdk/services/license.py +0 -363
  73. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/LICENSE +0 -0
  74. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/WHEEL +0 -0
  75. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/entry_points.txt +0 -0
  76. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,149 @@
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 V1IncidentDetail(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
+ 'contents': 'str',
45
+ 'name': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'contents': 'contents',
50
+ 'name': 'name'
51
+ }
52
+
53
+ def __init__(self, contents: 'str' =None, name: 'str' =None): # noqa: E501
54
+ """V1IncidentDetail - a model defined in Swagger""" # noqa: E501
55
+ self._contents = None
56
+ self._name = None
57
+ self.discriminator = None
58
+ if contents is not None:
59
+ self.contents = contents
60
+ if name is not None:
61
+ self.name = name
62
+
63
+ @property
64
+ def contents(self) -> 'str':
65
+ """Gets the contents of this V1IncidentDetail. # noqa: E501
66
+
67
+
68
+ :return: The contents of this V1IncidentDetail. # noqa: E501
69
+ :rtype: str
70
+ """
71
+ return self._contents
72
+
73
+ @contents.setter
74
+ def contents(self, contents: 'str'):
75
+ """Sets the contents of this V1IncidentDetail.
76
+
77
+
78
+ :param contents: The contents of this V1IncidentDetail. # noqa: E501
79
+ :type: str
80
+ """
81
+
82
+ self._contents = contents
83
+
84
+ @property
85
+ def name(self) -> 'str':
86
+ """Gets the name of this V1IncidentDetail. # noqa: E501
87
+
88
+
89
+ :return: The name of this V1IncidentDetail. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._name
93
+
94
+ @name.setter
95
+ def name(self, name: 'str'):
96
+ """Sets the name of this V1IncidentDetail.
97
+
98
+
99
+ :param name: The name of this V1IncidentDetail. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._name = name
104
+
105
+ def to_dict(self) -> dict:
106
+ """Returns the model properties as a dict"""
107
+ result = {}
108
+
109
+ for attr, _ in six.iteritems(self.swagger_types):
110
+ value = getattr(self, attr)
111
+ if isinstance(value, list):
112
+ result[attr] = list(map(
113
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
114
+ value
115
+ ))
116
+ elif hasattr(value, "to_dict"):
117
+ result[attr] = value.to_dict()
118
+ elif isinstance(value, dict):
119
+ result[attr] = dict(map(
120
+ lambda item: (item[0], item[1].to_dict())
121
+ if hasattr(item[1], "to_dict") else item,
122
+ value.items()
123
+ ))
124
+ else:
125
+ result[attr] = value
126
+ if issubclass(V1IncidentDetail, dict):
127
+ for key, value in self.items():
128
+ result[key] = value
129
+
130
+ return result
131
+
132
+ def to_str(self) -> str:
133
+ """Returns the string representation of the model"""
134
+ return pprint.pformat(self.to_dict())
135
+
136
+ def __repr__(self) -> str:
137
+ """For `print` and `pprint`"""
138
+ return self.to_str()
139
+
140
+ def __eq__(self, other: 'V1IncidentDetail') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1IncidentDetail):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1IncidentDetail') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -57,6 +57,7 @@ class V1IncidentEvent(object):
57
57
  'severity': 'V1IncidentSeverity',
58
58
  'threshold': 'float',
59
59
  'timestamp': 'datetime',
60
+ 'title': 'str',
60
61
  'type': 'V1IncidentType',
61
62
  'updated_at': 'datetime'
62
63
  }
@@ -78,11 +79,12 @@ class V1IncidentEvent(object):
78
79
  'severity': 'severity',
79
80
  'threshold': 'threshold',
80
81
  'timestamp': 'timestamp',
82
+ 'title': 'title',
81
83
  'type': 'type',
82
84
  'updated_at': 'updatedAt'
83
85
  }
84
86
 
85
- def __init__(self, closing: 'bool' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, current_value: 'float' =None, id: 'str' =None, incident_id: 'str' =None, k8s: 'V1K8sIncidentIndexes' =None, message: 'str' =None, multiple_event: 'bool' =None, notified: 'bool' =None, previous_value: 'float' =None, project_id: 'str' =None, resource: 'str' =None, severity: 'V1IncidentSeverity' =None, threshold: 'float' =None, timestamp: 'datetime' =None, type: 'V1IncidentType' =None, updated_at: 'datetime' =None): # noqa: E501
87
+ def __init__(self, closing: 'bool' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, current_value: 'float' =None, id: 'str' =None, incident_id: 'str' =None, k8s: 'V1K8sIncidentIndexes' =None, message: 'str' =None, multiple_event: 'bool' =None, notified: 'bool' =None, previous_value: 'float' =None, project_id: 'str' =None, resource: 'str' =None, severity: 'V1IncidentSeverity' =None, threshold: 'float' =None, timestamp: 'datetime' =None, title: 'str' =None, type: 'V1IncidentType' =None, updated_at: 'datetime' =None): # noqa: E501
86
88
  """V1IncidentEvent - a model defined in Swagger""" # noqa: E501
87
89
  self._closing = None
88
90
  self._cluster_id = None
@@ -100,6 +102,7 @@ class V1IncidentEvent(object):
100
102
  self._severity = None
101
103
  self._threshold = None
102
104
  self._timestamp = None
105
+ self._title = None
103
106
  self._type = None
104
107
  self._updated_at = None
105
108
  self.discriminator = None
@@ -135,6 +138,8 @@ class V1IncidentEvent(object):
135
138
  self.threshold = threshold
136
139
  if timestamp is not None:
137
140
  self.timestamp = timestamp
141
+ if title is not None:
142
+ self.title = title
138
143
  if type is not None:
139
144
  self.type = type
140
145
  if updated_at is not None:
@@ -476,6 +481,27 @@ class V1IncidentEvent(object):
476
481
 
477
482
  self._timestamp = timestamp
478
483
 
484
+ @property
485
+ def title(self) -> 'str':
486
+ """Gets the title of this V1IncidentEvent. # noqa: E501
487
+
488
+
489
+ :return: The title of this V1IncidentEvent. # noqa: E501
490
+ :rtype: str
491
+ """
492
+ return self._title
493
+
494
+ @title.setter
495
+ def title(self, title: 'str'):
496
+ """Sets the title of this V1IncidentEvent.
497
+
498
+
499
+ :param title: The title of this V1IncidentEvent. # noqa: E501
500
+ :type: str
501
+ """
502
+
503
+ self._title = title
504
+
479
505
  @property
480
506
  def type(self) -> 'V1IncidentType':
481
507
  """Gets the type of this V1IncidentEvent. # noqa: E501
@@ -0,0 +1,227 @@
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 V1License(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
+ 'license_key': 'str',
46
+ 'owner_id': 'str',
47
+ 'owner_type': 'V1TokenOwnerType',
48
+ 'product_id': 'str'
49
+ }
50
+
51
+ attribute_map = {
52
+ 'id': 'id',
53
+ 'license_key': 'licenseKey',
54
+ 'owner_id': 'ownerId',
55
+ 'owner_type': 'ownerType',
56
+ 'product_id': 'productId'
57
+ }
58
+
59
+ def __init__(self, id: 'str' =None, license_key: 'str' =None, owner_id: 'str' =None, owner_type: 'V1TokenOwnerType' =None, product_id: 'str' =None): # noqa: E501
60
+ """V1License - a model defined in Swagger""" # noqa: E501
61
+ self._id = None
62
+ self._license_key = None
63
+ self._owner_id = None
64
+ self._owner_type = None
65
+ self._product_id = None
66
+ self.discriminator = None
67
+ if id is not None:
68
+ self.id = id
69
+ if license_key is not None:
70
+ self.license_key = license_key
71
+ if owner_id is not None:
72
+ self.owner_id = owner_id
73
+ if owner_type is not None:
74
+ self.owner_type = owner_type
75
+ if product_id is not None:
76
+ self.product_id = product_id
77
+
78
+ @property
79
+ def id(self) -> 'str':
80
+ """Gets the id of this V1License. # noqa: E501
81
+
82
+
83
+ :return: The id of this V1License. # noqa: E501
84
+ :rtype: str
85
+ """
86
+ return self._id
87
+
88
+ @id.setter
89
+ def id(self, id: 'str'):
90
+ """Sets the id of this V1License.
91
+
92
+
93
+ :param id: The id of this V1License. # noqa: E501
94
+ :type: str
95
+ """
96
+
97
+ self._id = id
98
+
99
+ @property
100
+ def license_key(self) -> 'str':
101
+ """Gets the license_key of this V1License. # noqa: E501
102
+
103
+
104
+ :return: The license_key of this V1License. # noqa: E501
105
+ :rtype: str
106
+ """
107
+ return self._license_key
108
+
109
+ @license_key.setter
110
+ def license_key(self, license_key: 'str'):
111
+ """Sets the license_key of this V1License.
112
+
113
+
114
+ :param license_key: The license_key of this V1License. # noqa: E501
115
+ :type: str
116
+ """
117
+
118
+ self._license_key = license_key
119
+
120
+ @property
121
+ def owner_id(self) -> 'str':
122
+ """Gets the owner_id of this V1License. # noqa: E501
123
+
124
+
125
+ :return: The owner_id of this V1License. # noqa: E501
126
+ :rtype: str
127
+ """
128
+ return self._owner_id
129
+
130
+ @owner_id.setter
131
+ def owner_id(self, owner_id: 'str'):
132
+ """Sets the owner_id of this V1License.
133
+
134
+
135
+ :param owner_id: The owner_id of this V1License. # noqa: E501
136
+ :type: str
137
+ """
138
+
139
+ self._owner_id = owner_id
140
+
141
+ @property
142
+ def owner_type(self) -> 'V1TokenOwnerType':
143
+ """Gets the owner_type of this V1License. # noqa: E501
144
+
145
+
146
+ :return: The owner_type of this V1License. # noqa: E501
147
+ :rtype: V1TokenOwnerType
148
+ """
149
+ return self._owner_type
150
+
151
+ @owner_type.setter
152
+ def owner_type(self, owner_type: 'V1TokenOwnerType'):
153
+ """Sets the owner_type of this V1License.
154
+
155
+
156
+ :param owner_type: The owner_type of this V1License. # noqa: E501
157
+ :type: V1TokenOwnerType
158
+ """
159
+
160
+ self._owner_type = owner_type
161
+
162
+ @property
163
+ def product_id(self) -> 'str':
164
+ """Gets the product_id of this V1License. # noqa: E501
165
+
166
+
167
+ :return: The product_id of this V1License. # noqa: E501
168
+ :rtype: str
169
+ """
170
+ return self._product_id
171
+
172
+ @product_id.setter
173
+ def product_id(self, product_id: 'str'):
174
+ """Sets the product_id of this V1License.
175
+
176
+
177
+ :param product_id: The product_id of this V1License. # noqa: E501
178
+ :type: str
179
+ """
180
+
181
+ self._product_id = product_id
182
+
183
+ def to_dict(self) -> dict:
184
+ """Returns the model properties as a dict"""
185
+ result = {}
186
+
187
+ for attr, _ in six.iteritems(self.swagger_types):
188
+ value = getattr(self, attr)
189
+ if isinstance(value, list):
190
+ result[attr] = list(map(
191
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
192
+ value
193
+ ))
194
+ elif hasattr(value, "to_dict"):
195
+ result[attr] = value.to_dict()
196
+ elif isinstance(value, dict):
197
+ result[attr] = dict(map(
198
+ lambda item: (item[0], item[1].to_dict())
199
+ if hasattr(item[1], "to_dict") else item,
200
+ value.items()
201
+ ))
202
+ else:
203
+ result[attr] = value
204
+ if issubclass(V1License, dict):
205
+ for key, value in self.items():
206
+ result[key] = value
207
+
208
+ return result
209
+
210
+ def to_str(self) -> str:
211
+ """Returns the string representation of the model"""
212
+ return pprint.pformat(self.to_dict())
213
+
214
+ def __repr__(self) -> str:
215
+ """For `print` and `pprint`"""
216
+ return self.to_str()
217
+
218
+ def __eq__(self, other: 'V1License') -> bool:
219
+ """Returns true if both objects are equal"""
220
+ if not isinstance(other, V1License):
221
+ return False
222
+
223
+ return self.__dict__ == other.__dict__
224
+
225
+ def __ne__(self, other: 'V1License') -> bool:
226
+ """Returns true if both objects are not equal"""
227
+ 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 V1ListFilesystemMetricsResponse(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
+ 'metrics': 'list[V1FilesystemMetric]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'metrics': 'metrics'
49
+ }
50
+
51
+ def __init__(self, metrics: 'list[V1FilesystemMetric]' =None): # noqa: E501
52
+ """V1ListFilesystemMetricsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._metrics = None
54
+ self.discriminator = None
55
+ if metrics is not None:
56
+ self.metrics = metrics
57
+
58
+ @property
59
+ def metrics(self) -> 'list[V1FilesystemMetric]':
60
+ """Gets the metrics of this V1ListFilesystemMetricsResponse. # noqa: E501
61
+
62
+
63
+ :return: The metrics of this V1ListFilesystemMetricsResponse. # noqa: E501
64
+ :rtype: list[V1FilesystemMetric]
65
+ """
66
+ return self._metrics
67
+
68
+ @metrics.setter
69
+ def metrics(self, metrics: 'list[V1FilesystemMetric]'):
70
+ """Sets the metrics of this V1ListFilesystemMetricsResponse.
71
+
72
+
73
+ :param metrics: The metrics of this V1ListFilesystemMetricsResponse. # noqa: E501
74
+ :type: list[V1FilesystemMetric]
75
+ """
76
+
77
+ self._metrics = metrics
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(V1ListFilesystemMetricsResponse, 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: 'V1ListFilesystemMetricsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ListFilesystemMetricsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ListFilesystemMetricsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ 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 V1ListProductLicensesResponse(object):
31
+ class V1ListLicenseResponse(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.
@@ -41,37 +41,37 @@ class V1ListProductLicensesResponse(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'licenses': 'list[V1ProductLicense]'
44
+ 'licenses': 'list[V1License]'
45
45
  }
46
46
 
47
47
  attribute_map = {
48
48
  'licenses': 'licenses'
49
49
  }
50
50
 
51
- def __init__(self, licenses: 'list[V1ProductLicense]' =None): # noqa: E501
52
- """V1ListProductLicensesResponse - a model defined in Swagger""" # noqa: E501
51
+ def __init__(self, licenses: 'list[V1License]' =None): # noqa: E501
52
+ """V1ListLicenseResponse - a model defined in Swagger""" # noqa: E501
53
53
  self._licenses = None
54
54
  self.discriminator = None
55
55
  if licenses is not None:
56
56
  self.licenses = licenses
57
57
 
58
58
  @property
59
- def licenses(self) -> 'list[V1ProductLicense]':
60
- """Gets the licenses of this V1ListProductLicensesResponse. # noqa: E501
59
+ def licenses(self) -> 'list[V1License]':
60
+ """Gets the licenses of this V1ListLicenseResponse. # noqa: E501
61
61
 
62
62
 
63
- :return: The licenses of this V1ListProductLicensesResponse. # noqa: E501
64
- :rtype: list[V1ProductLicense]
63
+ :return: The licenses of this V1ListLicenseResponse. # noqa: E501
64
+ :rtype: list[V1License]
65
65
  """
66
66
  return self._licenses
67
67
 
68
68
  @licenses.setter
69
- def licenses(self, licenses: 'list[V1ProductLicense]'):
70
- """Sets the licenses of this V1ListProductLicensesResponse.
69
+ def licenses(self, licenses: 'list[V1License]'):
70
+ """Sets the licenses of this V1ListLicenseResponse.
71
71
 
72
72
 
73
- :param licenses: The licenses of this V1ListProductLicensesResponse. # noqa: E501
74
- :type: list[V1ProductLicense]
73
+ :param licenses: The licenses of this V1ListLicenseResponse. # noqa: E501
74
+ :type: list[V1License]
75
75
  """
76
76
 
77
77
  self._licenses = licenses
@@ -97,7 +97,7 @@ class V1ListProductLicensesResponse(object):
97
97
  ))
98
98
  else:
99
99
  result[attr] = value
100
- if issubclass(V1ListProductLicensesResponse, dict):
100
+ if issubclass(V1ListLicenseResponse, dict):
101
101
  for key, value in self.items():
102
102
  result[key] = value
103
103
 
@@ -111,13 +111,13 @@ class V1ListProductLicensesResponse(object):
111
111
  """For `print` and `pprint`"""
112
112
  return self.to_str()
113
113
 
114
- def __eq__(self, other: 'V1ListProductLicensesResponse') -> bool:
114
+ def __eq__(self, other: 'V1ListLicenseResponse') -> bool:
115
115
  """Returns true if both objects are equal"""
116
- if not isinstance(other, V1ListProductLicensesResponse):
116
+ if not isinstance(other, V1ListLicenseResponse):
117
117
  return False
118
118
 
119
119
  return self.__dict__ == other.__dict__
120
120
 
121
- def __ne__(self, other: 'V1ListProductLicensesResponse') -> bool:
121
+ def __ne__(self, other: 'V1ListLicenseResponse') -> bool:
122
122
  """Returns true if both objects are not equal"""
123
123
  return not self == other