lightning-sdk 2025.9.23__py3-none-any.whl → 2025.9.29__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 (69) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/cli/entrypoint.py +3 -1
  3. lightning_sdk/cli/groups.py +8 -1
  4. lightning_sdk/cli/legacy/entrypoint.py +1 -1
  5. lightning_sdk/cli/studio/create.py +19 -5
  6. lightning_sdk/cli/studio/delete.py +9 -5
  7. lightning_sdk/cli/studio/list.py +5 -1
  8. lightning_sdk/cli/studio/ssh.py +9 -3
  9. lightning_sdk/cli/studio/start.py +26 -3
  10. lightning_sdk/cli/studio/stop.py +7 -3
  11. lightning_sdk/cli/studio/switch.py +21 -5
  12. lightning_sdk/cli/utils/studio_selection.py +22 -15
  13. lightning_sdk/cli/vm/__init__.py +20 -0
  14. lightning_sdk/cli/vm/create.py +33 -0
  15. lightning_sdk/cli/vm/delete.py +25 -0
  16. lightning_sdk/cli/vm/list.py +30 -0
  17. lightning_sdk/cli/vm/ssh.py +31 -0
  18. lightning_sdk/cli/vm/start.py +60 -0
  19. lightning_sdk/cli/vm/stop.py +25 -0
  20. lightning_sdk/cli/vm/switch.py +38 -0
  21. lightning_sdk/lightning_cloud/openapi/__init__.py +20 -1
  22. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +2 -95
  23. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +24 -8
  24. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +420 -0
  25. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +121 -0
  26. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +655 -0
  27. lightning_sdk/lightning_cloud/openapi/models/__init__.py +20 -1
  28. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +435 -0
  29. lightning_sdk/lightning_cloud/openapi/models/job_id_reportroutingtelemetry_body.py +123 -0
  30. lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +149 -0
  31. lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +107 -3
  32. lightning_sdk/lightning_cloud/openapi/models/v1_abort_storage_transfer_response.py +97 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -1
  37. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_create_machine_response.py +123 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_delete_machine_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_get_machine_response.py +123 -0
  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 +27 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_elastic_cluster_v1.py +97 -0
  46. lightning_sdk/lightning_cloud/openapi/models/{v1_get_model_total_usage_metrics_response.py → v1_list_machines_response.py} +37 -37
  47. lightning_sdk/lightning_cloud/openapi/models/v1_list_storage_transfers_response.py +123 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +539 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +123 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_pause_storage_transfer_response.py +97 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_request.py +123 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_report_deployment_routing_telemetry_response.py +97 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_resume_storage_transfer_response.py +97 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +79 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +149 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier_type.py +105 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer.py +435 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer_status.py +108 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -79
  62. lightning_sdk/studio.py +55 -11
  63. lightning_sdk/teamspace.py +11 -2
  64. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.29.dist-info}/METADATA +1 -1
  65. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.29.dist-info}/RECORD +69 -42
  66. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.29.dist-info}/LICENSE +0 -0
  67. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.29.dist-info}/WHEEL +0 -0
  68. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.29.dist-info}/entry_points.txt +0 -0
  69. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.29.dist-info}/top_level.txt +0 -0
@@ -58,6 +58,7 @@ class V1GetUserResponse(object):
58
58
  'invite_code': 'str',
59
59
  'is_internal': 'bool',
60
60
  'last_name': 'str',
61
+ 'linux_username': 'str',
61
62
  'non_developer_mode': 'bool',
62
63
  'opted_in_marketing_emails': 'bool',
63
64
  'organization': 'str',
@@ -101,6 +102,7 @@ class V1GetUserResponse(object):
101
102
  'invite_code': 'inviteCode',
102
103
  'is_internal': 'isInternal',
103
104
  'last_name': 'lastName',
105
+ 'linux_username': 'linuxUsername',
104
106
  'non_developer_mode': 'nonDeveloperMode',
105
107
  'opted_in_marketing_emails': 'optedInMarketingEmails',
106
108
  'organization': 'organization',
@@ -126,7 +128,7 @@ class V1GetUserResponse(object):
126
128
  'website': 'website'
127
129
  }
128
130
 
129
- def __init__(self, agree_to_terms_and_conditions: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, api_key: 'str' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, country: 'str' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, id: 'str' =None, internal_blog_admin: 'bool' =None, internal_docs_admin: 'bool' =None, invite_code: 'str' =None, is_internal: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, test_user: 'bool' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
131
+ def __init__(self, agree_to_terms_and_conditions: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, api_key: 'str' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, country: 'str' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, id: 'str' =None, internal_blog_admin: 'bool' =None, internal_docs_admin: 'bool' =None, invite_code: 'str' =None, is_internal: 'bool' =None, last_name: 'str' =None, linux_username: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, test_user: 'bool' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
130
132
  """V1GetUserResponse - a model defined in Swagger""" # noqa: E501
131
133
  self._agree_to_terms_and_conditions = None
132
134
  self._allow_credits_auto_replenish = None
@@ -145,6 +147,7 @@ class V1GetUserResponse(object):
145
147
  self._invite_code = None
146
148
  self._is_internal = None
147
149
  self._last_name = None
150
+ self._linux_username = None
148
151
  self._non_developer_mode = None
149
152
  self._opted_in_marketing_emails = None
150
153
  self._organization = None
@@ -203,6 +206,8 @@ class V1GetUserResponse(object):
203
206
  self.is_internal = is_internal
204
207
  if last_name is not None:
205
208
  self.last_name = last_name
209
+ if linux_username is not None:
210
+ self.linux_username = linux_username
206
211
  if non_developer_mode is not None:
207
212
  self.non_developer_mode = non_developer_mode
208
213
  if opted_in_marketing_emails is not None:
@@ -607,6 +612,27 @@ class V1GetUserResponse(object):
607
612
 
608
613
  self._last_name = last_name
609
614
 
615
+ @property
616
+ def linux_username(self) -> 'str':
617
+ """Gets the linux_username of this V1GetUserResponse. # noqa: E501
618
+
619
+
620
+ :return: The linux_username of this V1GetUserResponse. # noqa: E501
621
+ :rtype: str
622
+ """
623
+ return self._linux_username
624
+
625
+ @linux_username.setter
626
+ def linux_username(self, linux_username: 'str'):
627
+ """Sets the linux_username of this V1GetUserResponse.
628
+
629
+
630
+ :param linux_username: The linux_username of this V1GetUserResponse. # noqa: E501
631
+ :type: str
632
+ """
633
+
634
+ self._linux_username = linux_username
635
+
610
636
  @property
611
637
  def non_developer_mode(self) -> 'bool':
612
638
  """Gets the non_developer_mode of this V1GetUserResponse. # noqa: E501
@@ -45,6 +45,7 @@ class V1KubernetesDirectV1(object):
45
45
  'grafana_namespace': 'str',
46
46
  'grafana_service_name': 'str',
47
47
  'grafana_service_port': 'str',
48
+ 'incident_slack_notifiers': 'list[V1SlackNotifier]',
48
49
  'kubeconfig': 'str',
49
50
  'kubeconfig_elevated': 'str',
50
51
  'skip_user_label_injection': 'bool'
@@ -55,17 +56,19 @@ class V1KubernetesDirectV1(object):
55
56
  'grafana_namespace': 'grafanaNamespace',
56
57
  'grafana_service_name': 'grafanaServiceName',
57
58
  'grafana_service_port': 'grafanaServicePort',
59
+ 'incident_slack_notifiers': 'incidentSlackNotifiers',
58
60
  'kubeconfig': 'kubeconfig',
59
61
  'kubeconfig_elevated': 'kubeconfigElevated',
60
62
  'skip_user_label_injection': 'skipUserLabelInjection'
61
63
  }
62
64
 
63
- def __init__(self, grafana_dashboard_url: 'str' =None, grafana_namespace: 'str' =None, grafana_service_name: 'str' =None, grafana_service_port: 'str' =None, kubeconfig: 'str' =None, kubeconfig_elevated: 'str' =None, skip_user_label_injection: 'bool' =None): # noqa: E501
65
+ def __init__(self, grafana_dashboard_url: 'str' =None, grafana_namespace: 'str' =None, grafana_service_name: 'str' =None, grafana_service_port: 'str' =None, incident_slack_notifiers: 'list[V1SlackNotifier]' =None, kubeconfig: 'str' =None, kubeconfig_elevated: 'str' =None, skip_user_label_injection: 'bool' =None): # noqa: E501
64
66
  """V1KubernetesDirectV1 - a model defined in Swagger""" # noqa: E501
65
67
  self._grafana_dashboard_url = None
66
68
  self._grafana_namespace = None
67
69
  self._grafana_service_name = None
68
70
  self._grafana_service_port = None
71
+ self._incident_slack_notifiers = None
69
72
  self._kubeconfig = None
70
73
  self._kubeconfig_elevated = None
71
74
  self._skip_user_label_injection = None
@@ -78,6 +81,8 @@ class V1KubernetesDirectV1(object):
78
81
  self.grafana_service_name = grafana_service_name
79
82
  if grafana_service_port is not None:
80
83
  self.grafana_service_port = grafana_service_port
84
+ if incident_slack_notifiers is not None:
85
+ self.incident_slack_notifiers = incident_slack_notifiers
81
86
  if kubeconfig is not None:
82
87
  self.kubeconfig = kubeconfig
83
88
  if kubeconfig_elevated is not None:
@@ -169,6 +174,27 @@ class V1KubernetesDirectV1(object):
169
174
 
170
175
  self._grafana_service_port = grafana_service_port
171
176
 
177
+ @property
178
+ def incident_slack_notifiers(self) -> 'list[V1SlackNotifier]':
179
+ """Gets the incident_slack_notifiers of this V1KubernetesDirectV1. # noqa: E501
180
+
181
+
182
+ :return: The incident_slack_notifiers of this V1KubernetesDirectV1. # noqa: E501
183
+ :rtype: list[V1SlackNotifier]
184
+ """
185
+ return self._incident_slack_notifiers
186
+
187
+ @incident_slack_notifiers.setter
188
+ def incident_slack_notifiers(self, incident_slack_notifiers: 'list[V1SlackNotifier]'):
189
+ """Sets the incident_slack_notifiers of this V1KubernetesDirectV1.
190
+
191
+
192
+ :param incident_slack_notifiers: The incident_slack_notifiers of this V1KubernetesDirectV1. # noqa: E501
193
+ :type: list[V1SlackNotifier]
194
+ """
195
+
196
+ self._incident_slack_notifiers = incident_slack_notifiers
197
+
172
198
  @property
173
199
  def kubeconfig(self) -> 'str':
174
200
  """Gets the kubeconfig of this V1KubernetesDirectV1. # 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 V1LightningElasticClusterV1(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
+ """V1LightningElasticClusterV1 - 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(V1LightningElasticClusterV1, 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: 'V1LightningElasticClusterV1') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1LightningElasticClusterV1):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1LightningElasticClusterV1') -> bool:
96
+ """Returns true if both objects are not equal"""
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 V1GetModelTotalUsageMetricsResponse(object):
31
+ class V1ListMachinesResponse(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,66 +41,66 @@ class V1GetModelTotalUsageMetricsResponse(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'conversations': 'str',
45
- 'tokens': 'str'
44
+ 'machines': 'list[V1Machine]',
45
+ 'next_page_token': 'str'
46
46
  }
47
47
 
48
48
  attribute_map = {
49
- 'conversations': 'Conversations',
50
- 'tokens': 'Tokens'
49
+ 'machines': 'machines',
50
+ 'next_page_token': 'nextPageToken'
51
51
  }
52
52
 
53
- def __init__(self, conversations: 'str' =None, tokens: 'str' =None): # noqa: E501
54
- """V1GetModelTotalUsageMetricsResponse - a model defined in Swagger""" # noqa: E501
55
- self._conversations = None
56
- self._tokens = None
53
+ def __init__(self, machines: 'list[V1Machine]' =None, next_page_token: 'str' =None): # noqa: E501
54
+ """V1ListMachinesResponse - a model defined in Swagger""" # noqa: E501
55
+ self._machines = None
56
+ self._next_page_token = None
57
57
  self.discriminator = None
58
- if conversations is not None:
59
- self.conversations = conversations
60
- if tokens is not None:
61
- self.tokens = tokens
58
+ if machines is not None:
59
+ self.machines = machines
60
+ if next_page_token is not None:
61
+ self.next_page_token = next_page_token
62
62
 
63
63
  @property
64
- def conversations(self) -> 'str':
65
- """Gets the conversations of this V1GetModelTotalUsageMetricsResponse. # noqa: E501
64
+ def machines(self) -> 'list[V1Machine]':
65
+ """Gets the machines of this V1ListMachinesResponse. # noqa: E501
66
66
 
67
67
 
68
- :return: The conversations of this V1GetModelTotalUsageMetricsResponse. # noqa: E501
69
- :rtype: str
68
+ :return: The machines of this V1ListMachinesResponse. # noqa: E501
69
+ :rtype: list[V1Machine]
70
70
  """
71
- return self._conversations
71
+ return self._machines
72
72
 
73
- @conversations.setter
74
- def conversations(self, conversations: 'str'):
75
- """Sets the conversations of this V1GetModelTotalUsageMetricsResponse.
73
+ @machines.setter
74
+ def machines(self, machines: 'list[V1Machine]'):
75
+ """Sets the machines of this V1ListMachinesResponse.
76
76
 
77
77
 
78
- :param conversations: The conversations of this V1GetModelTotalUsageMetricsResponse. # noqa: E501
79
- :type: str
78
+ :param machines: The machines of this V1ListMachinesResponse. # noqa: E501
79
+ :type: list[V1Machine]
80
80
  """
81
81
 
82
- self._conversations = conversations
82
+ self._machines = machines
83
83
 
84
84
  @property
85
- def tokens(self) -> 'str':
86
- """Gets the tokens of this V1GetModelTotalUsageMetricsResponse. # noqa: E501
85
+ def next_page_token(self) -> 'str':
86
+ """Gets the next_page_token of this V1ListMachinesResponse. # noqa: E501
87
87
 
88
88
 
89
- :return: The tokens of this V1GetModelTotalUsageMetricsResponse. # noqa: E501
89
+ :return: The next_page_token of this V1ListMachinesResponse. # noqa: E501
90
90
  :rtype: str
91
91
  """
92
- return self._tokens
92
+ return self._next_page_token
93
93
 
94
- @tokens.setter
95
- def tokens(self, tokens: 'str'):
96
- """Sets the tokens of this V1GetModelTotalUsageMetricsResponse.
94
+ @next_page_token.setter
95
+ def next_page_token(self, next_page_token: 'str'):
96
+ """Sets the next_page_token of this V1ListMachinesResponse.
97
97
 
98
98
 
99
- :param tokens: The tokens of this V1GetModelTotalUsageMetricsResponse. # noqa: E501
99
+ :param next_page_token: The next_page_token of this V1ListMachinesResponse. # noqa: E501
100
100
  :type: str
101
101
  """
102
102
 
103
- self._tokens = tokens
103
+ self._next_page_token = next_page_token
104
104
 
105
105
  def to_dict(self) -> dict:
106
106
  """Returns the model properties as a dict"""
@@ -123,7 +123,7 @@ class V1GetModelTotalUsageMetricsResponse(object):
123
123
  ))
124
124
  else:
125
125
  result[attr] = value
126
- if issubclass(V1GetModelTotalUsageMetricsResponse, dict):
126
+ if issubclass(V1ListMachinesResponse, dict):
127
127
  for key, value in self.items():
128
128
  result[key] = value
129
129
 
@@ -137,13 +137,13 @@ class V1GetModelTotalUsageMetricsResponse(object):
137
137
  """For `print` and `pprint`"""
138
138
  return self.to_str()
139
139
 
140
- def __eq__(self, other: 'V1GetModelTotalUsageMetricsResponse') -> bool:
140
+ def __eq__(self, other: 'V1ListMachinesResponse') -> bool:
141
141
  """Returns true if both objects are equal"""
142
- if not isinstance(other, V1GetModelTotalUsageMetricsResponse):
142
+ if not isinstance(other, V1ListMachinesResponse):
143
143
  return False
144
144
 
145
145
  return self.__dict__ == other.__dict__
146
146
 
147
- def __ne__(self, other: 'V1GetModelTotalUsageMetricsResponse') -> bool:
147
+ def __ne__(self, other: 'V1ListMachinesResponse') -> bool:
148
148
  """Returns true if both objects are not equal"""
149
149
  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 V1ListStorageTransfersResponse(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
+ 'storage_transfers': 'list[V1StorageTransfer]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'storage_transfers': 'storageTransfers'
49
+ }
50
+
51
+ def __init__(self, storage_transfers: 'list[V1StorageTransfer]' =None): # noqa: E501
52
+ """V1ListStorageTransfersResponse - a model defined in Swagger""" # noqa: E501
53
+ self._storage_transfers = None
54
+ self.discriminator = None
55
+ if storage_transfers is not None:
56
+ self.storage_transfers = storage_transfers
57
+
58
+ @property
59
+ def storage_transfers(self) -> 'list[V1StorageTransfer]':
60
+ """Gets the storage_transfers of this V1ListStorageTransfersResponse. # noqa: E501
61
+
62
+
63
+ :return: The storage_transfers of this V1ListStorageTransfersResponse. # noqa: E501
64
+ :rtype: list[V1StorageTransfer]
65
+ """
66
+ return self._storage_transfers
67
+
68
+ @storage_transfers.setter
69
+ def storage_transfers(self, storage_transfers: 'list[V1StorageTransfer]'):
70
+ """Sets the storage_transfers of this V1ListStorageTransfersResponse.
71
+
72
+
73
+ :param storage_transfers: The storage_transfers of this V1ListStorageTransfersResponse. # noqa: E501
74
+ :type: list[V1StorageTransfer]
75
+ """
76
+
77
+ self._storage_transfers = storage_transfers
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(V1ListStorageTransfersResponse, 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: 'V1ListStorageTransfersResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ListStorageTransfersResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ListStorageTransfersResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other