lightning-sdk 2025.8.18.post0__py3-none-any.whl → 2025.8.21__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 (37) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/llm_api.py +6 -2
  3. lightning_sdk/api/studio_api.py +113 -36
  4. lightning_sdk/api/utils.py +108 -18
  5. lightning_sdk/cli/legacy/create.py +9 -11
  6. lightning_sdk/cli/legacy/start.py +1 -0
  7. lightning_sdk/cli/legacy/switch.py +1 -0
  8. lightning_sdk/cli/studio/start.py +1 -0
  9. lightning_sdk/cli/studio/switch.py +1 -0
  10. lightning_sdk/lightning_cloud/openapi/__init__.py +2 -0
  11. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +85 -0
  12. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +113 -0
  13. lightning_sdk/lightning_cloud/openapi/models/__init__.py +2 -0
  14. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +15 -15
  15. lightning_sdk/lightning_cloud/openapi/models/id_codeconfig_body.py +3 -81
  16. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +27 -1
  17. lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +27 -1
  20. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +79 -1
  21. lightning_sdk/lightning_cloud/openapi/models/v1_list_aggregated_pod_metrics_response.py +123 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +79 -1
  23. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  24. lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +157 -1
  25. lightning_sdk/lightning_cloud/openapi/models/v1_project_cluster_binding.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/v1_quote_annual_upsell_response.py +201 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_update_cloud_space_instance_config_request.py +3 -81
  28. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +1 -131
  29. lightning_sdk/llm/llm.py +2 -2
  30. lightning_sdk/studio.py +39 -6
  31. lightning_sdk/utils/progress.py +284 -0
  32. {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.21.dist-info}/METADATA +1 -1
  33. {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.21.dist-info}/RECORD +37 -34
  34. {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.21.dist-info}/LICENSE +0 -0
  35. {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.21.dist-info}/WHEEL +0 -0
  36. {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.21.dist-info}/entry_points.txt +0 -0
  37. {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.21.dist-info}/top_level.txt +0 -0
@@ -43,6 +43,8 @@ class V1PodMetrics(object):
43
43
  swagger_types = {
44
44
  'cpu_usage': 'float',
45
45
  'labels': 'dict(str, str)',
46
+ 'max_gpu_temp_recorded': 'float',
47
+ 'max_power_per_gpu': 'float',
46
48
  'mem_usage': 'float',
47
49
  'namespace': 'str',
48
50
  'node_name': 'str',
@@ -50,6 +52,10 @@ class V1PodMetrics(object):
50
52
  'num_cpus_request': 'float',
51
53
  'num_gpus': 'float',
52
54
  'per_gpu_mem_used': 'dict(str, float)',
55
+ 'per_gpu_power_usage_watts': 'dict(str, float)',
56
+ 'per_gpu_sm_active': 'dict(str, float)',
57
+ 'per_gpu_sm_occupancy': 'dict(str, float)',
58
+ 'per_gpu_temperature_c': 'dict(str, float)',
53
59
  'per_gpu_util': 'dict(str, float)',
54
60
  'phase': 'str',
55
61
  'pod_id': 'str',
@@ -61,6 +67,8 @@ class V1PodMetrics(object):
61
67
  attribute_map = {
62
68
  'cpu_usage': 'cpuUsage',
63
69
  'labels': 'labels',
70
+ 'max_gpu_temp_recorded': 'maxGpuTempRecorded',
71
+ 'max_power_per_gpu': 'maxPowerPerGpu',
64
72
  'mem_usage': 'memUsage',
65
73
  'namespace': 'namespace',
66
74
  'node_name': 'nodeName',
@@ -68,6 +76,10 @@ class V1PodMetrics(object):
68
76
  'num_cpus_request': 'numCpusRequest',
69
77
  'num_gpus': 'numGpus',
70
78
  'per_gpu_mem_used': 'perGpuMemUsed',
79
+ 'per_gpu_power_usage_watts': 'perGpuPowerUsageWatts',
80
+ 'per_gpu_sm_active': 'perGpuSmActive',
81
+ 'per_gpu_sm_occupancy': 'perGpuSmOccupancy',
82
+ 'per_gpu_temperature_c': 'perGpuTemperatureC',
71
83
  'per_gpu_util': 'perGpuUtil',
72
84
  'phase': 'phase',
73
85
  'pod_id': 'podId',
@@ -76,10 +88,12 @@ class V1PodMetrics(object):
76
88
  'user_id': 'userId'
77
89
  }
78
90
 
79
- def __init__(self, cpu_usage: 'float' =None, labels: 'dict(str, str)' =None, mem_usage: 'float' =None, namespace: 'str' =None, node_name: 'str' =None, num_cpus_limit: 'float' =None, num_cpus_request: 'float' =None, num_gpus: 'float' =None, per_gpu_mem_used: 'dict(str, float)' =None, per_gpu_util: 'dict(str, float)' =None, phase: 'str' =None, pod_id: 'str' =None, pod_name: 'str' =None, timestamp: 'datetime' =None, user_id: 'str' =None): # noqa: E501
91
+ def __init__(self, cpu_usage: 'float' =None, labels: 'dict(str, str)' =None, max_gpu_temp_recorded: 'float' =None, max_power_per_gpu: 'float' =None, mem_usage: 'float' =None, namespace: 'str' =None, node_name: 'str' =None, num_cpus_limit: 'float' =None, num_cpus_request: 'float' =None, num_gpus: 'float' =None, per_gpu_mem_used: 'dict(str, float)' =None, per_gpu_power_usage_watts: 'dict(str, float)' =None, per_gpu_sm_active: 'dict(str, float)' =None, per_gpu_sm_occupancy: 'dict(str, float)' =None, per_gpu_temperature_c: 'dict(str, float)' =None, per_gpu_util: 'dict(str, float)' =None, phase: 'str' =None, pod_id: 'str' =None, pod_name: 'str' =None, timestamp: 'datetime' =None, user_id: 'str' =None): # noqa: E501
80
92
  """V1PodMetrics - a model defined in Swagger""" # noqa: E501
81
93
  self._cpu_usage = None
82
94
  self._labels = None
95
+ self._max_gpu_temp_recorded = None
96
+ self._max_power_per_gpu = None
83
97
  self._mem_usage = None
84
98
  self._namespace = None
85
99
  self._node_name = None
@@ -87,6 +101,10 @@ class V1PodMetrics(object):
87
101
  self._num_cpus_request = None
88
102
  self._num_gpus = None
89
103
  self._per_gpu_mem_used = None
104
+ self._per_gpu_power_usage_watts = None
105
+ self._per_gpu_sm_active = None
106
+ self._per_gpu_sm_occupancy = None
107
+ self._per_gpu_temperature_c = None
90
108
  self._per_gpu_util = None
91
109
  self._phase = None
92
110
  self._pod_id = None
@@ -98,6 +116,10 @@ class V1PodMetrics(object):
98
116
  self.cpu_usage = cpu_usage
99
117
  if labels is not None:
100
118
  self.labels = labels
119
+ if max_gpu_temp_recorded is not None:
120
+ self.max_gpu_temp_recorded = max_gpu_temp_recorded
121
+ if max_power_per_gpu is not None:
122
+ self.max_power_per_gpu = max_power_per_gpu
101
123
  if mem_usage is not None:
102
124
  self.mem_usage = mem_usage
103
125
  if namespace is not None:
@@ -112,6 +134,14 @@ class V1PodMetrics(object):
112
134
  self.num_gpus = num_gpus
113
135
  if per_gpu_mem_used is not None:
114
136
  self.per_gpu_mem_used = per_gpu_mem_used
137
+ if per_gpu_power_usage_watts is not None:
138
+ self.per_gpu_power_usage_watts = per_gpu_power_usage_watts
139
+ if per_gpu_sm_active is not None:
140
+ self.per_gpu_sm_active = per_gpu_sm_active
141
+ if per_gpu_sm_occupancy is not None:
142
+ self.per_gpu_sm_occupancy = per_gpu_sm_occupancy
143
+ if per_gpu_temperature_c is not None:
144
+ self.per_gpu_temperature_c = per_gpu_temperature_c
115
145
  if per_gpu_util is not None:
116
146
  self.per_gpu_util = per_gpu_util
117
147
  if phase is not None:
@@ -167,6 +197,48 @@ class V1PodMetrics(object):
167
197
 
168
198
  self._labels = labels
169
199
 
200
+ @property
201
+ def max_gpu_temp_recorded(self) -> 'float':
202
+ """Gets the max_gpu_temp_recorded of this V1PodMetrics. # noqa: E501
203
+
204
+
205
+ :return: The max_gpu_temp_recorded of this V1PodMetrics. # noqa: E501
206
+ :rtype: float
207
+ """
208
+ return self._max_gpu_temp_recorded
209
+
210
+ @max_gpu_temp_recorded.setter
211
+ def max_gpu_temp_recorded(self, max_gpu_temp_recorded: 'float'):
212
+ """Sets the max_gpu_temp_recorded of this V1PodMetrics.
213
+
214
+
215
+ :param max_gpu_temp_recorded: The max_gpu_temp_recorded of this V1PodMetrics. # noqa: E501
216
+ :type: float
217
+ """
218
+
219
+ self._max_gpu_temp_recorded = max_gpu_temp_recorded
220
+
221
+ @property
222
+ def max_power_per_gpu(self) -> 'float':
223
+ """Gets the max_power_per_gpu of this V1PodMetrics. # noqa: E501
224
+
225
+
226
+ :return: The max_power_per_gpu of this V1PodMetrics. # noqa: E501
227
+ :rtype: float
228
+ """
229
+ return self._max_power_per_gpu
230
+
231
+ @max_power_per_gpu.setter
232
+ def max_power_per_gpu(self, max_power_per_gpu: 'float'):
233
+ """Sets the max_power_per_gpu of this V1PodMetrics.
234
+
235
+
236
+ :param max_power_per_gpu: The max_power_per_gpu of this V1PodMetrics. # noqa: E501
237
+ :type: float
238
+ """
239
+
240
+ self._max_power_per_gpu = max_power_per_gpu
241
+
170
242
  @property
171
243
  def mem_usage(self) -> 'float':
172
244
  """Gets the mem_usage of this V1PodMetrics. # noqa: E501
@@ -314,6 +386,90 @@ class V1PodMetrics(object):
314
386
 
315
387
  self._per_gpu_mem_used = per_gpu_mem_used
316
388
 
389
+ @property
390
+ def per_gpu_power_usage_watts(self) -> 'dict(str, float)':
391
+ """Gets the per_gpu_power_usage_watts of this V1PodMetrics. # noqa: E501
392
+
393
+
394
+ :return: The per_gpu_power_usage_watts of this V1PodMetrics. # noqa: E501
395
+ :rtype: dict(str, float)
396
+ """
397
+ return self._per_gpu_power_usage_watts
398
+
399
+ @per_gpu_power_usage_watts.setter
400
+ def per_gpu_power_usage_watts(self, per_gpu_power_usage_watts: 'dict(str, float)'):
401
+ """Sets the per_gpu_power_usage_watts of this V1PodMetrics.
402
+
403
+
404
+ :param per_gpu_power_usage_watts: The per_gpu_power_usage_watts of this V1PodMetrics. # noqa: E501
405
+ :type: dict(str, float)
406
+ """
407
+
408
+ self._per_gpu_power_usage_watts = per_gpu_power_usage_watts
409
+
410
+ @property
411
+ def per_gpu_sm_active(self) -> 'dict(str, float)':
412
+ """Gets the per_gpu_sm_active of this V1PodMetrics. # noqa: E501
413
+
414
+
415
+ :return: The per_gpu_sm_active of this V1PodMetrics. # noqa: E501
416
+ :rtype: dict(str, float)
417
+ """
418
+ return self._per_gpu_sm_active
419
+
420
+ @per_gpu_sm_active.setter
421
+ def per_gpu_sm_active(self, per_gpu_sm_active: 'dict(str, float)'):
422
+ """Sets the per_gpu_sm_active of this V1PodMetrics.
423
+
424
+
425
+ :param per_gpu_sm_active: The per_gpu_sm_active of this V1PodMetrics. # noqa: E501
426
+ :type: dict(str, float)
427
+ """
428
+
429
+ self._per_gpu_sm_active = per_gpu_sm_active
430
+
431
+ @property
432
+ def per_gpu_sm_occupancy(self) -> 'dict(str, float)':
433
+ """Gets the per_gpu_sm_occupancy of this V1PodMetrics. # noqa: E501
434
+
435
+
436
+ :return: The per_gpu_sm_occupancy of this V1PodMetrics. # noqa: E501
437
+ :rtype: dict(str, float)
438
+ """
439
+ return self._per_gpu_sm_occupancy
440
+
441
+ @per_gpu_sm_occupancy.setter
442
+ def per_gpu_sm_occupancy(self, per_gpu_sm_occupancy: 'dict(str, float)'):
443
+ """Sets the per_gpu_sm_occupancy of this V1PodMetrics.
444
+
445
+
446
+ :param per_gpu_sm_occupancy: The per_gpu_sm_occupancy of this V1PodMetrics. # noqa: E501
447
+ :type: dict(str, float)
448
+ """
449
+
450
+ self._per_gpu_sm_occupancy = per_gpu_sm_occupancy
451
+
452
+ @property
453
+ def per_gpu_temperature_c(self) -> 'dict(str, float)':
454
+ """Gets the per_gpu_temperature_c of this V1PodMetrics. # noqa: E501
455
+
456
+
457
+ :return: The per_gpu_temperature_c of this V1PodMetrics. # noqa: E501
458
+ :rtype: dict(str, float)
459
+ """
460
+ return self._per_gpu_temperature_c
461
+
462
+ @per_gpu_temperature_c.setter
463
+ def per_gpu_temperature_c(self, per_gpu_temperature_c: 'dict(str, float)'):
464
+ """Sets the per_gpu_temperature_c of this V1PodMetrics.
465
+
466
+
467
+ :param per_gpu_temperature_c: The per_gpu_temperature_c of this V1PodMetrics. # noqa: E501
468
+ :type: dict(str, float)
469
+ """
470
+
471
+ self._per_gpu_temperature_c = per_gpu_temperature_c
472
+
317
473
  @property
318
474
  def per_gpu_util(self) -> 'dict(str, float)':
319
475
  """Gets the per_gpu_util of this V1PodMetrics. # noqa: E501
@@ -48,6 +48,7 @@ class V1ProjectClusterBinding(object):
48
48
  'is_cluster_healthy': 'bool',
49
49
  'project_id': 'str',
50
50
  'sa_key': 'str',
51
+ 'sa_key_created_at': 'datetime',
51
52
  'updated_at': 'datetime'
52
53
  }
53
54
 
@@ -59,10 +60,11 @@ class V1ProjectClusterBinding(object):
59
60
  'is_cluster_healthy': 'isClusterHealthy',
60
61
  'project_id': 'projectId',
61
62
  'sa_key': 'saKey',
63
+ 'sa_key_created_at': 'saKeyCreatedAt',
62
64
  'updated_at': 'updatedAt'
63
65
  }
64
66
 
65
- def __init__(self, cluster_id: 'str' =None, cluster_name: 'str' =None, cluster_region: 'str' =None, created_at: 'datetime' =None, is_cluster_healthy: 'bool' =None, project_id: 'str' =None, sa_key: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
67
+ def __init__(self, cluster_id: 'str' =None, cluster_name: 'str' =None, cluster_region: 'str' =None, created_at: 'datetime' =None, is_cluster_healthy: 'bool' =None, project_id: 'str' =None, sa_key: 'str' =None, sa_key_created_at: 'datetime' =None, updated_at: 'datetime' =None): # noqa: E501
66
68
  """V1ProjectClusterBinding - a model defined in Swagger""" # noqa: E501
67
69
  self._cluster_id = None
68
70
  self._cluster_name = None
@@ -71,6 +73,7 @@ class V1ProjectClusterBinding(object):
71
73
  self._is_cluster_healthy = None
72
74
  self._project_id = None
73
75
  self._sa_key = None
76
+ self._sa_key_created_at = None
74
77
  self._updated_at = None
75
78
  self.discriminator = None
76
79
  if cluster_id is not None:
@@ -87,6 +90,8 @@ class V1ProjectClusterBinding(object):
87
90
  self.project_id = project_id
88
91
  if sa_key is not None:
89
92
  self.sa_key = sa_key
93
+ if sa_key_created_at is not None:
94
+ self.sa_key_created_at = sa_key_created_at
90
95
  if updated_at is not None:
91
96
  self.updated_at = updated_at
92
97
 
@@ -237,6 +242,27 @@ class V1ProjectClusterBinding(object):
237
242
 
238
243
  self._sa_key = sa_key
239
244
 
245
+ @property
246
+ def sa_key_created_at(self) -> 'datetime':
247
+ """Gets the sa_key_created_at of this V1ProjectClusterBinding. # noqa: E501
248
+
249
+
250
+ :return: The sa_key_created_at of this V1ProjectClusterBinding. # noqa: E501
251
+ :rtype: datetime
252
+ """
253
+ return self._sa_key_created_at
254
+
255
+ @sa_key_created_at.setter
256
+ def sa_key_created_at(self, sa_key_created_at: 'datetime'):
257
+ """Sets the sa_key_created_at of this V1ProjectClusterBinding.
258
+
259
+
260
+ :param sa_key_created_at: The sa_key_created_at of this V1ProjectClusterBinding. # noqa: E501
261
+ :type: datetime
262
+ """
263
+
264
+ self._sa_key_created_at = sa_key_created_at
265
+
240
266
  @property
241
267
  def updated_at(self) -> 'datetime':
242
268
  """Gets the updated_at of this V1ProjectClusterBinding. # noqa: E501
@@ -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 V1QuoteAnnualUpsellResponse(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
+ 'academic': 'bool',
45
+ 'additional_months': 'int',
46
+ 'annual_amount': 'int',
47
+ 'discounted_amount': 'int'
48
+ }
49
+
50
+ attribute_map = {
51
+ 'academic': 'academic',
52
+ 'additional_months': 'additionalMonths',
53
+ 'annual_amount': 'annualAmount',
54
+ 'discounted_amount': 'discountedAmount'
55
+ }
56
+
57
+ def __init__(self, academic: 'bool' =None, additional_months: 'int' =None, annual_amount: 'int' =None, discounted_amount: 'int' =None): # noqa: E501
58
+ """V1QuoteAnnualUpsellResponse - a model defined in Swagger""" # noqa: E501
59
+ self._academic = None
60
+ self._additional_months = None
61
+ self._annual_amount = None
62
+ self._discounted_amount = None
63
+ self.discriminator = None
64
+ if academic is not None:
65
+ self.academic = academic
66
+ if additional_months is not None:
67
+ self.additional_months = additional_months
68
+ if annual_amount is not None:
69
+ self.annual_amount = annual_amount
70
+ if discounted_amount is not None:
71
+ self.discounted_amount = discounted_amount
72
+
73
+ @property
74
+ def academic(self) -> 'bool':
75
+ """Gets the academic of this V1QuoteAnnualUpsellResponse. # noqa: E501
76
+
77
+
78
+ :return: The academic of this V1QuoteAnnualUpsellResponse. # noqa: E501
79
+ :rtype: bool
80
+ """
81
+ return self._academic
82
+
83
+ @academic.setter
84
+ def academic(self, academic: 'bool'):
85
+ """Sets the academic of this V1QuoteAnnualUpsellResponse.
86
+
87
+
88
+ :param academic: The academic of this V1QuoteAnnualUpsellResponse. # noqa: E501
89
+ :type: bool
90
+ """
91
+
92
+ self._academic = academic
93
+
94
+ @property
95
+ def additional_months(self) -> 'int':
96
+ """Gets the additional_months of this V1QuoteAnnualUpsellResponse. # noqa: E501
97
+
98
+
99
+ :return: The additional_months of this V1QuoteAnnualUpsellResponse. # noqa: E501
100
+ :rtype: int
101
+ """
102
+ return self._additional_months
103
+
104
+ @additional_months.setter
105
+ def additional_months(self, additional_months: 'int'):
106
+ """Sets the additional_months of this V1QuoteAnnualUpsellResponse.
107
+
108
+
109
+ :param additional_months: The additional_months of this V1QuoteAnnualUpsellResponse. # noqa: E501
110
+ :type: int
111
+ """
112
+
113
+ self._additional_months = additional_months
114
+
115
+ @property
116
+ def annual_amount(self) -> 'int':
117
+ """Gets the annual_amount of this V1QuoteAnnualUpsellResponse. # noqa: E501
118
+
119
+
120
+ :return: The annual_amount of this V1QuoteAnnualUpsellResponse. # noqa: E501
121
+ :rtype: int
122
+ """
123
+ return self._annual_amount
124
+
125
+ @annual_amount.setter
126
+ def annual_amount(self, annual_amount: 'int'):
127
+ """Sets the annual_amount of this V1QuoteAnnualUpsellResponse.
128
+
129
+
130
+ :param annual_amount: The annual_amount of this V1QuoteAnnualUpsellResponse. # noqa: E501
131
+ :type: int
132
+ """
133
+
134
+ self._annual_amount = annual_amount
135
+
136
+ @property
137
+ def discounted_amount(self) -> 'int':
138
+ """Gets the discounted_amount of this V1QuoteAnnualUpsellResponse. # noqa: E501
139
+
140
+
141
+ :return: The discounted_amount of this V1QuoteAnnualUpsellResponse. # noqa: E501
142
+ :rtype: int
143
+ """
144
+ return self._discounted_amount
145
+
146
+ @discounted_amount.setter
147
+ def discounted_amount(self, discounted_amount: 'int'):
148
+ """Sets the discounted_amount of this V1QuoteAnnualUpsellResponse.
149
+
150
+
151
+ :param discounted_amount: The discounted_amount of this V1QuoteAnnualUpsellResponse. # noqa: E501
152
+ :type: int
153
+ """
154
+
155
+ self._discounted_amount = discounted_amount
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(V1QuoteAnnualUpsellResponse, 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: 'V1QuoteAnnualUpsellResponse') -> bool:
193
+ """Returns true if both objects are equal"""
194
+ if not isinstance(other, V1QuoteAnnualUpsellResponse):
195
+ return False
196
+
197
+ return self.__dict__ == other.__dict__
198
+
199
+ def __ne__(self, other: 'V1QuoteAnnualUpsellResponse') -> bool:
200
+ """Returns true if both objects are not equal"""
201
+ return not self == other
@@ -43,57 +43,42 @@ class V1UpdateCloudSpaceInstanceConfigRequest(object):
43
43
  swagger_types = {
44
44
  'compute_config': 'V1UserRequestedComputeConfig',
45
45
  'data_connection_mounts': 'list[V1DataConnectionMount]',
46
- 'disable_auto_shutdown': 'bool',
47
46
  'id': 'str',
48
47
  'ide': 'str',
49
- 'idle_shutdown_seconds': 'int',
50
48
  'port_plugin_port': 'str',
51
- 'project_id': 'str',
52
- 'switch_to_default_machine_on_idle': 'bool'
49
+ 'project_id': 'str'
53
50
  }
54
51
 
55
52
  attribute_map = {
56
53
  'compute_config': 'computeConfig',
57
54
  'data_connection_mounts': 'dataConnectionMounts',
58
- 'disable_auto_shutdown': 'disableAutoShutdown',
59
55
  'id': 'id',
60
56
  'ide': 'ide',
61
- 'idle_shutdown_seconds': 'idleShutdownSeconds',
62
57
  'port_plugin_port': 'portPluginPort',
63
- 'project_id': 'projectId',
64
- 'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle'
58
+ 'project_id': 'projectId'
65
59
  }
66
60
 
67
- def __init__(self, compute_config: 'V1UserRequestedComputeConfig' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, disable_auto_shutdown: 'bool' =None, id: 'str' =None, ide: 'str' =None, idle_shutdown_seconds: 'int' =None, port_plugin_port: 'str' =None, project_id: 'str' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
61
+ def __init__(self, compute_config: 'V1UserRequestedComputeConfig' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, id: 'str' =None, ide: 'str' =None, port_plugin_port: 'str' =None, project_id: 'str' =None): # noqa: E501
68
62
  """V1UpdateCloudSpaceInstanceConfigRequest - a model defined in Swagger""" # noqa: E501
69
63
  self._compute_config = None
70
64
  self._data_connection_mounts = None
71
- self._disable_auto_shutdown = None
72
65
  self._id = None
73
66
  self._ide = None
74
- self._idle_shutdown_seconds = None
75
67
  self._port_plugin_port = None
76
68
  self._project_id = None
77
- self._switch_to_default_machine_on_idle = None
78
69
  self.discriminator = None
79
70
  if compute_config is not None:
80
71
  self.compute_config = compute_config
81
72
  if data_connection_mounts is not None:
82
73
  self.data_connection_mounts = data_connection_mounts
83
- if disable_auto_shutdown is not None:
84
- self.disable_auto_shutdown = disable_auto_shutdown
85
74
  if id is not None:
86
75
  self.id = id
87
76
  if ide is not None:
88
77
  self.ide = ide
89
- if idle_shutdown_seconds is not None:
90
- self.idle_shutdown_seconds = idle_shutdown_seconds
91
78
  if port_plugin_port is not None:
92
79
  self.port_plugin_port = port_plugin_port
93
80
  if project_id is not None:
94
81
  self.project_id = project_id
95
- if switch_to_default_machine_on_idle is not None:
96
- self.switch_to_default_machine_on_idle = switch_to_default_machine_on_idle
97
82
 
98
83
  @property
99
84
  def compute_config(self) -> 'V1UserRequestedComputeConfig':
@@ -137,27 +122,6 @@ class V1UpdateCloudSpaceInstanceConfigRequest(object):
137
122
 
138
123
  self._data_connection_mounts = data_connection_mounts
139
124
 
140
- @property
141
- def disable_auto_shutdown(self) -> 'bool':
142
- """Gets the disable_auto_shutdown of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
143
-
144
-
145
- :return: The disable_auto_shutdown of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
146
- :rtype: bool
147
- """
148
- return self._disable_auto_shutdown
149
-
150
- @disable_auto_shutdown.setter
151
- def disable_auto_shutdown(self, disable_auto_shutdown: 'bool'):
152
- """Sets the disable_auto_shutdown of this V1UpdateCloudSpaceInstanceConfigRequest.
153
-
154
-
155
- :param disable_auto_shutdown: The disable_auto_shutdown of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
156
- :type: bool
157
- """
158
-
159
- self._disable_auto_shutdown = disable_auto_shutdown
160
-
161
125
  @property
162
126
  def id(self) -> 'str':
163
127
  """Gets the id of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
@@ -200,27 +164,6 @@ class V1UpdateCloudSpaceInstanceConfigRequest(object):
200
164
 
201
165
  self._ide = ide
202
166
 
203
- @property
204
- def idle_shutdown_seconds(self) -> 'int':
205
- """Gets the idle_shutdown_seconds of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
206
-
207
-
208
- :return: The idle_shutdown_seconds of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
209
- :rtype: int
210
- """
211
- return self._idle_shutdown_seconds
212
-
213
- @idle_shutdown_seconds.setter
214
- def idle_shutdown_seconds(self, idle_shutdown_seconds: 'int'):
215
- """Sets the idle_shutdown_seconds of this V1UpdateCloudSpaceInstanceConfigRequest.
216
-
217
-
218
- :param idle_shutdown_seconds: The idle_shutdown_seconds of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
219
- :type: int
220
- """
221
-
222
- self._idle_shutdown_seconds = idle_shutdown_seconds
223
-
224
167
  @property
225
168
  def port_plugin_port(self) -> 'str':
226
169
  """Gets the port_plugin_port of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
@@ -263,27 +206,6 @@ class V1UpdateCloudSpaceInstanceConfigRequest(object):
263
206
 
264
207
  self._project_id = project_id
265
208
 
266
- @property
267
- def switch_to_default_machine_on_idle(self) -> 'bool':
268
- """Gets the switch_to_default_machine_on_idle of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
269
-
270
-
271
- :return: The switch_to_default_machine_on_idle of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
272
- :rtype: bool
273
- """
274
- return self._switch_to_default_machine_on_idle
275
-
276
- @switch_to_default_machine_on_idle.setter
277
- def switch_to_default_machine_on_idle(self, switch_to_default_machine_on_idle: 'bool'):
278
- """Sets the switch_to_default_machine_on_idle of this V1UpdateCloudSpaceInstanceConfigRequest.
279
-
280
-
281
- :param switch_to_default_machine_on_idle: The switch_to_default_machine_on_idle of this V1UpdateCloudSpaceInstanceConfigRequest. # noqa: E501
282
- :type: bool
283
- """
284
-
285
- self._switch_to_default_machine_on_idle = switch_to_default_machine_on_idle
286
-
287
209
  def to_dict(self) -> dict:
288
210
  """Returns the model properties as a dict"""
289
211
  result = {}