lightning-sdk 2025.8.18__py3-none-any.whl → 2025.8.19.post0__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.
- lightning_sdk/__init__.py +1 -1
- lightning_sdk/api/cloud_account_api.py +5 -0
- lightning_sdk/api/studio_api.py +14 -36
- lightning_sdk/api/utils.py +108 -18
- lightning_sdk/cli/config/get.py +16 -0
- lightning_sdk/cli/config/set.py +27 -0
- lightning_sdk/cli/studio/create.py +16 -1
- lightning_sdk/cli/studio/start.py +20 -2
- lightning_sdk/lightning_cloud/openapi/__init__.py +1 -0
- lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +113 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/id_codeconfig_body.py +3 -81
- lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_list_aggregated_pod_metrics_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_update_cloud_space_instance_config_request.py +3 -81
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +1 -105
- lightning_sdk/studio.py +0 -1
- lightning_sdk/utils/config.py +3 -0
- lightning_sdk/utils/resolve.py +12 -0
- {lightning_sdk-2025.8.18.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.8.18.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/RECORD +31 -30
- {lightning_sdk-2025.8.18.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.8.18.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.8.18.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.8.18.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/top_level.txt +0 -0
|
@@ -43,47 +43,32 @@ class IdCodeconfigBody(object):
|
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'compute_config': 'V1UserRequestedComputeConfig',
|
|
45
45
|
'data_connection_mounts': 'list[V1DataConnectionMount]',
|
|
46
|
-
'disable_auto_shutdown': 'bool',
|
|
47
46
|
'ide': 'str',
|
|
48
|
-
'
|
|
49
|
-
'port_plugin_port': 'str',
|
|
50
|
-
'switch_to_default_machine_on_idle': 'bool'
|
|
47
|
+
'port_plugin_port': 'str'
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
attribute_map = {
|
|
54
51
|
'compute_config': 'computeConfig',
|
|
55
52
|
'data_connection_mounts': 'dataConnectionMounts',
|
|
56
|
-
'disable_auto_shutdown': 'disableAutoShutdown',
|
|
57
53
|
'ide': 'ide',
|
|
58
|
-
'
|
|
59
|
-
'port_plugin_port': 'portPluginPort',
|
|
60
|
-
'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle'
|
|
54
|
+
'port_plugin_port': 'portPluginPort'
|
|
61
55
|
}
|
|
62
56
|
|
|
63
|
-
def __init__(self, compute_config: 'V1UserRequestedComputeConfig' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None,
|
|
57
|
+
def __init__(self, compute_config: 'V1UserRequestedComputeConfig' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, ide: 'str' =None, port_plugin_port: 'str' =None): # noqa: E501
|
|
64
58
|
"""IdCodeconfigBody - a model defined in Swagger""" # noqa: E501
|
|
65
59
|
self._compute_config = None
|
|
66
60
|
self._data_connection_mounts = None
|
|
67
|
-
self._disable_auto_shutdown = None
|
|
68
61
|
self._ide = None
|
|
69
|
-
self._idle_shutdown_seconds = None
|
|
70
62
|
self._port_plugin_port = None
|
|
71
|
-
self._switch_to_default_machine_on_idle = None
|
|
72
63
|
self.discriminator = None
|
|
73
64
|
if compute_config is not None:
|
|
74
65
|
self.compute_config = compute_config
|
|
75
66
|
if data_connection_mounts is not None:
|
|
76
67
|
self.data_connection_mounts = data_connection_mounts
|
|
77
|
-
if disable_auto_shutdown is not None:
|
|
78
|
-
self.disable_auto_shutdown = disable_auto_shutdown
|
|
79
68
|
if ide is not None:
|
|
80
69
|
self.ide = ide
|
|
81
|
-
if idle_shutdown_seconds is not None:
|
|
82
|
-
self.idle_shutdown_seconds = idle_shutdown_seconds
|
|
83
70
|
if port_plugin_port is not None:
|
|
84
71
|
self.port_plugin_port = port_plugin_port
|
|
85
|
-
if switch_to_default_machine_on_idle is not None:
|
|
86
|
-
self.switch_to_default_machine_on_idle = switch_to_default_machine_on_idle
|
|
87
72
|
|
|
88
73
|
@property
|
|
89
74
|
def compute_config(self) -> 'V1UserRequestedComputeConfig':
|
|
@@ -127,27 +112,6 @@ class IdCodeconfigBody(object):
|
|
|
127
112
|
|
|
128
113
|
self._data_connection_mounts = data_connection_mounts
|
|
129
114
|
|
|
130
|
-
@property
|
|
131
|
-
def disable_auto_shutdown(self) -> 'bool':
|
|
132
|
-
"""Gets the disable_auto_shutdown of this IdCodeconfigBody. # noqa: E501
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
:return: The disable_auto_shutdown of this IdCodeconfigBody. # noqa: E501
|
|
136
|
-
:rtype: bool
|
|
137
|
-
"""
|
|
138
|
-
return self._disable_auto_shutdown
|
|
139
|
-
|
|
140
|
-
@disable_auto_shutdown.setter
|
|
141
|
-
def disable_auto_shutdown(self, disable_auto_shutdown: 'bool'):
|
|
142
|
-
"""Sets the disable_auto_shutdown of this IdCodeconfigBody.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
:param disable_auto_shutdown: The disable_auto_shutdown of this IdCodeconfigBody. # noqa: E501
|
|
146
|
-
:type: bool
|
|
147
|
-
"""
|
|
148
|
-
|
|
149
|
-
self._disable_auto_shutdown = disable_auto_shutdown
|
|
150
|
-
|
|
151
115
|
@property
|
|
152
116
|
def ide(self) -> 'str':
|
|
153
117
|
"""Gets the ide of this IdCodeconfigBody. # noqa: E501
|
|
@@ -169,27 +133,6 @@ class IdCodeconfigBody(object):
|
|
|
169
133
|
|
|
170
134
|
self._ide = ide
|
|
171
135
|
|
|
172
|
-
@property
|
|
173
|
-
def idle_shutdown_seconds(self) -> 'int':
|
|
174
|
-
"""Gets the idle_shutdown_seconds of this IdCodeconfigBody. # noqa: E501
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
:return: The idle_shutdown_seconds of this IdCodeconfigBody. # noqa: E501
|
|
178
|
-
:rtype: int
|
|
179
|
-
"""
|
|
180
|
-
return self._idle_shutdown_seconds
|
|
181
|
-
|
|
182
|
-
@idle_shutdown_seconds.setter
|
|
183
|
-
def idle_shutdown_seconds(self, idle_shutdown_seconds: 'int'):
|
|
184
|
-
"""Sets the idle_shutdown_seconds of this IdCodeconfigBody.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
:param idle_shutdown_seconds: The idle_shutdown_seconds of this IdCodeconfigBody. # noqa: E501
|
|
188
|
-
:type: int
|
|
189
|
-
"""
|
|
190
|
-
|
|
191
|
-
self._idle_shutdown_seconds = idle_shutdown_seconds
|
|
192
|
-
|
|
193
136
|
@property
|
|
194
137
|
def port_plugin_port(self) -> 'str':
|
|
195
138
|
"""Gets the port_plugin_port of this IdCodeconfigBody. # noqa: E501
|
|
@@ -211,27 +154,6 @@ class IdCodeconfigBody(object):
|
|
|
211
154
|
|
|
212
155
|
self._port_plugin_port = port_plugin_port
|
|
213
156
|
|
|
214
|
-
@property
|
|
215
|
-
def switch_to_default_machine_on_idle(self) -> 'bool':
|
|
216
|
-
"""Gets the switch_to_default_machine_on_idle of this IdCodeconfigBody. # noqa: E501
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
:return: The switch_to_default_machine_on_idle of this IdCodeconfigBody. # noqa: E501
|
|
220
|
-
:rtype: bool
|
|
221
|
-
"""
|
|
222
|
-
return self._switch_to_default_machine_on_idle
|
|
223
|
-
|
|
224
|
-
@switch_to_default_machine_on_idle.setter
|
|
225
|
-
def switch_to_default_machine_on_idle(self, switch_to_default_machine_on_idle: 'bool'):
|
|
226
|
-
"""Sets the switch_to_default_machine_on_idle of this IdCodeconfigBody.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
:param switch_to_default_machine_on_idle: The switch_to_default_machine_on_idle of this IdCodeconfigBody. # noqa: E501
|
|
230
|
-
:type: bool
|
|
231
|
-
"""
|
|
232
|
-
|
|
233
|
-
self._switch_to_default_machine_on_idle = switch_to_default_machine_on_idle
|
|
234
|
-
|
|
235
157
|
def to_dict(self) -> dict:
|
|
236
158
|
"""Returns the model properties as a dict"""
|
|
237
159
|
result = {}
|
|
@@ -73,6 +73,7 @@ class OrgsIdBody(object):
|
|
|
73
73
|
'preferred_cluster': 'str',
|
|
74
74
|
'preferred_deployment_provider': 'str',
|
|
75
75
|
'preferred_studio_provider': 'str',
|
|
76
|
+
'show_model_apis_tab': 'bool',
|
|
76
77
|
'start_studios_on_spot_instance': 'bool',
|
|
77
78
|
'switch_to_default_machine_on_idle': 'bool',
|
|
78
79
|
'teamspace_default_credits': 'float',
|
|
@@ -113,6 +114,7 @@ class OrgsIdBody(object):
|
|
|
113
114
|
'preferred_cluster': 'preferredCluster',
|
|
114
115
|
'preferred_deployment_provider': 'preferredDeploymentProvider',
|
|
115
116
|
'preferred_studio_provider': 'preferredStudioProvider',
|
|
117
|
+
'show_model_apis_tab': 'showModelApisTab',
|
|
116
118
|
'start_studios_on_spot_instance': 'startStudiosOnSpotInstance',
|
|
117
119
|
'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle',
|
|
118
120
|
'teamspace_default_credits': 'teamspaceDefaultCredits',
|
|
@@ -120,7 +122,7 @@ class OrgsIdBody(object):
|
|
|
120
122
|
'workload_max_run_duration': 'workloadMaxRunDuration'
|
|
121
123
|
}
|
|
122
124
|
|
|
123
|
-
def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_budgeting: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_guest: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domains: 'list[str]' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, default_machine_type: 'str' =None, default_project_id: 'str' =None, description: 'str' =None, disallow_aws_saas: 'bool' =None, disallow_dgx_saas: 'bool' =None, disallow_gcp_saas: 'bool' =None, disallow_lambda_saas: 'bool' =None, disallow_lightning_saas: 'bool' =None, disallow_nebius_saas: 'bool' =None, disallow_voltage_park_saas: 'bool' =None, disallow_vultr_saas: 'bool' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, location: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, start_studios_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, workload_max_run_duration: 'str' =None): # noqa: E501
|
|
125
|
+
def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_budgeting: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_guest: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domains: 'list[str]' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, default_machine_type: 'str' =None, default_project_id: 'str' =None, description: 'str' =None, disallow_aws_saas: 'bool' =None, disallow_dgx_saas: 'bool' =None, disallow_gcp_saas: 'bool' =None, disallow_lambda_saas: 'bool' =None, disallow_lightning_saas: 'bool' =None, disallow_nebius_saas: 'bool' =None, disallow_voltage_park_saas: 'bool' =None, disallow_vultr_saas: 'bool' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, location: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, show_model_apis_tab: 'bool' =None, start_studios_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, workload_max_run_duration: 'str' =None): # noqa: E501
|
|
124
126
|
"""OrgsIdBody - a model defined in Swagger""" # noqa: E501
|
|
125
127
|
self._alerts_config = None
|
|
126
128
|
self._allow_budgeting = None
|
|
@@ -154,6 +156,7 @@ class OrgsIdBody(object):
|
|
|
154
156
|
self._preferred_cluster = None
|
|
155
157
|
self._preferred_deployment_provider = None
|
|
156
158
|
self._preferred_studio_provider = None
|
|
159
|
+
self._show_model_apis_tab = None
|
|
157
160
|
self._start_studios_on_spot_instance = None
|
|
158
161
|
self._switch_to_default_machine_on_idle = None
|
|
159
162
|
self._teamspace_default_credits = None
|
|
@@ -224,6 +227,8 @@ class OrgsIdBody(object):
|
|
|
224
227
|
self.preferred_deployment_provider = preferred_deployment_provider
|
|
225
228
|
if preferred_studio_provider is not None:
|
|
226
229
|
self.preferred_studio_provider = preferred_studio_provider
|
|
230
|
+
if show_model_apis_tab is not None:
|
|
231
|
+
self.show_model_apis_tab = show_model_apis_tab
|
|
227
232
|
if start_studios_on_spot_instance is not None:
|
|
228
233
|
self.start_studios_on_spot_instance = start_studios_on_spot_instance
|
|
229
234
|
if switch_to_default_machine_on_idle is not None:
|
|
@@ -907,6 +912,27 @@ class OrgsIdBody(object):
|
|
|
907
912
|
|
|
908
913
|
self._preferred_studio_provider = preferred_studio_provider
|
|
909
914
|
|
|
915
|
+
@property
|
|
916
|
+
def show_model_apis_tab(self) -> 'bool':
|
|
917
|
+
"""Gets the show_model_apis_tab of this OrgsIdBody. # noqa: E501
|
|
918
|
+
|
|
919
|
+
|
|
920
|
+
:return: The show_model_apis_tab of this OrgsIdBody. # noqa: E501
|
|
921
|
+
:rtype: bool
|
|
922
|
+
"""
|
|
923
|
+
return self._show_model_apis_tab
|
|
924
|
+
|
|
925
|
+
@show_model_apis_tab.setter
|
|
926
|
+
def show_model_apis_tab(self, show_model_apis_tab: 'bool'):
|
|
927
|
+
"""Sets the show_model_apis_tab of this OrgsIdBody.
|
|
928
|
+
|
|
929
|
+
|
|
930
|
+
:param show_model_apis_tab: The show_model_apis_tab of this OrgsIdBody. # noqa: E501
|
|
931
|
+
:type: bool
|
|
932
|
+
"""
|
|
933
|
+
|
|
934
|
+
self._show_model_apis_tab = show_model_apis_tab
|
|
935
|
+
|
|
910
936
|
@property
|
|
911
937
|
def start_studios_on_spot_instance(self) -> 'bool':
|
|
912
938
|
"""Gets the start_studios_on_spot_instance of this OrgsIdBody. # noqa: E501
|
|
@@ -43,25 +43,30 @@ class ProjectIdStorageBody(object):
|
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'cluster_id': 'str',
|
|
45
45
|
'count': 'str',
|
|
46
|
+
'data_connection_id': 'str',
|
|
46
47
|
'filename': 'str'
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
attribute_map = {
|
|
50
51
|
'cluster_id': 'clusterId',
|
|
51
52
|
'count': 'count',
|
|
53
|
+
'data_connection_id': 'dataConnectionId',
|
|
52
54
|
'filename': 'filename'
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
def __init__(self, cluster_id: 'str' =None, count: 'str' =None, filename: 'str' =None): # noqa: E501
|
|
57
|
+
def __init__(self, cluster_id: 'str' =None, count: 'str' =None, data_connection_id: 'str' =None, filename: 'str' =None): # noqa: E501
|
|
56
58
|
"""ProjectIdStorageBody - a model defined in Swagger""" # noqa: E501
|
|
57
59
|
self._cluster_id = None
|
|
58
60
|
self._count = None
|
|
61
|
+
self._data_connection_id = None
|
|
59
62
|
self._filename = None
|
|
60
63
|
self.discriminator = None
|
|
61
64
|
if cluster_id is not None:
|
|
62
65
|
self.cluster_id = cluster_id
|
|
63
66
|
if count is not None:
|
|
64
67
|
self.count = count
|
|
68
|
+
if data_connection_id is not None:
|
|
69
|
+
self.data_connection_id = data_connection_id
|
|
65
70
|
if filename is not None:
|
|
66
71
|
self.filename = filename
|
|
67
72
|
|
|
@@ -107,6 +112,27 @@ class ProjectIdStorageBody(object):
|
|
|
107
112
|
|
|
108
113
|
self._count = count
|
|
109
114
|
|
|
115
|
+
@property
|
|
116
|
+
def data_connection_id(self) -> 'str':
|
|
117
|
+
"""Gets the data_connection_id of this ProjectIdStorageBody. # noqa: E501
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
:return: The data_connection_id of this ProjectIdStorageBody. # noqa: E501
|
|
121
|
+
:rtype: str
|
|
122
|
+
"""
|
|
123
|
+
return self._data_connection_id
|
|
124
|
+
|
|
125
|
+
@data_connection_id.setter
|
|
126
|
+
def data_connection_id(self, data_connection_id: 'str'):
|
|
127
|
+
"""Sets the data_connection_id of this ProjectIdStorageBody.
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
:param data_connection_id: The data_connection_id of this ProjectIdStorageBody. # noqa: E501
|
|
131
|
+
:type: str
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
self._data_connection_id = data_connection_id
|
|
135
|
+
|
|
110
136
|
@property
|
|
111
137
|
def filename(self) -> 'str':
|
|
112
138
|
"""Gets the filename of this ProjectIdStorageBody. # noqa: E501
|
|
@@ -42,6 +42,7 @@ class StorageCompleteBody(object):
|
|
|
42
42
|
"""
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'cluster_id': 'str',
|
|
45
|
+
'data_connection_id': 'str',
|
|
45
46
|
'filename': 'str',
|
|
46
47
|
'parts': 'list[V1CompleteUpload]',
|
|
47
48
|
'suppress_reindex': 'bool',
|
|
@@ -50,15 +51,17 @@ class StorageCompleteBody(object):
|
|
|
50
51
|
|
|
51
52
|
attribute_map = {
|
|
52
53
|
'cluster_id': 'clusterId',
|
|
54
|
+
'data_connection_id': 'dataConnectionId',
|
|
53
55
|
'filename': 'filename',
|
|
54
56
|
'parts': 'parts',
|
|
55
57
|
'suppress_reindex': 'suppressReindex',
|
|
56
58
|
'upload_id': 'uploadId'
|
|
57
59
|
}
|
|
58
60
|
|
|
59
|
-
def __init__(self, cluster_id: 'str' =None, filename: 'str' =None, parts: 'list[V1CompleteUpload]' =None, suppress_reindex: 'bool' =None, upload_id: 'str' =None): # noqa: E501
|
|
61
|
+
def __init__(self, cluster_id: 'str' =None, data_connection_id: 'str' =None, filename: 'str' =None, parts: 'list[V1CompleteUpload]' =None, suppress_reindex: 'bool' =None, upload_id: 'str' =None): # noqa: E501
|
|
60
62
|
"""StorageCompleteBody - a model defined in Swagger""" # noqa: E501
|
|
61
63
|
self._cluster_id = None
|
|
64
|
+
self._data_connection_id = None
|
|
62
65
|
self._filename = None
|
|
63
66
|
self._parts = None
|
|
64
67
|
self._suppress_reindex = None
|
|
@@ -66,6 +69,8 @@ class StorageCompleteBody(object):
|
|
|
66
69
|
self.discriminator = None
|
|
67
70
|
if cluster_id is not None:
|
|
68
71
|
self.cluster_id = cluster_id
|
|
72
|
+
if data_connection_id is not None:
|
|
73
|
+
self.data_connection_id = data_connection_id
|
|
69
74
|
if filename is not None:
|
|
70
75
|
self.filename = filename
|
|
71
76
|
if parts is not None:
|
|
@@ -96,6 +101,27 @@ class StorageCompleteBody(object):
|
|
|
96
101
|
|
|
97
102
|
self._cluster_id = cluster_id
|
|
98
103
|
|
|
104
|
+
@property
|
|
105
|
+
def data_connection_id(self) -> 'str':
|
|
106
|
+
"""Gets the data_connection_id of this StorageCompleteBody. # noqa: E501
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
:return: The data_connection_id of this StorageCompleteBody. # noqa: E501
|
|
110
|
+
:rtype: str
|
|
111
|
+
"""
|
|
112
|
+
return self._data_connection_id
|
|
113
|
+
|
|
114
|
+
@data_connection_id.setter
|
|
115
|
+
def data_connection_id(self, data_connection_id: 'str'):
|
|
116
|
+
"""Sets the data_connection_id of this StorageCompleteBody.
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
:param data_connection_id: The data_connection_id of this StorageCompleteBody. # noqa: E501
|
|
120
|
+
:type: str
|
|
121
|
+
"""
|
|
122
|
+
|
|
123
|
+
self._data_connection_id = data_connection_id
|
|
124
|
+
|
|
99
125
|
@property
|
|
100
126
|
def filename(self) -> 'str':
|
|
101
127
|
"""Gets the filename of this StorageCompleteBody. # noqa: E501
|
|
@@ -42,24 +42,29 @@ class UploadsUploadIdBody1(object):
|
|
|
42
42
|
"""
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'cluster_id': 'str',
|
|
45
|
+
'data_connection_id': 'str',
|
|
45
46
|
'filename': 'str',
|
|
46
47
|
'parts': 'list[str]'
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
attribute_map = {
|
|
50
51
|
'cluster_id': 'clusterId',
|
|
52
|
+
'data_connection_id': 'dataConnectionId',
|
|
51
53
|
'filename': 'filename',
|
|
52
54
|
'parts': 'parts'
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
def __init__(self, cluster_id: 'str' =None, filename: 'str' =None, parts: 'list[str]' =None): # noqa: E501
|
|
57
|
+
def __init__(self, cluster_id: 'str' =None, data_connection_id: 'str' =None, filename: 'str' =None, parts: 'list[str]' =None): # noqa: E501
|
|
56
58
|
"""UploadsUploadIdBody1 - a model defined in Swagger""" # noqa: E501
|
|
57
59
|
self._cluster_id = None
|
|
60
|
+
self._data_connection_id = None
|
|
58
61
|
self._filename = None
|
|
59
62
|
self._parts = None
|
|
60
63
|
self.discriminator = None
|
|
61
64
|
if cluster_id is not None:
|
|
62
65
|
self.cluster_id = cluster_id
|
|
66
|
+
if data_connection_id is not None:
|
|
67
|
+
self.data_connection_id = data_connection_id
|
|
63
68
|
if filename is not None:
|
|
64
69
|
self.filename = filename
|
|
65
70
|
if parts is not None:
|
|
@@ -86,6 +91,27 @@ class UploadsUploadIdBody1(object):
|
|
|
86
91
|
|
|
87
92
|
self._cluster_id = cluster_id
|
|
88
93
|
|
|
94
|
+
@property
|
|
95
|
+
def data_connection_id(self) -> 'str':
|
|
96
|
+
"""Gets the data_connection_id of this UploadsUploadIdBody1. # noqa: E501
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
:return: The data_connection_id of this UploadsUploadIdBody1. # noqa: E501
|
|
100
|
+
:rtype: str
|
|
101
|
+
"""
|
|
102
|
+
return self._data_connection_id
|
|
103
|
+
|
|
104
|
+
@data_connection_id.setter
|
|
105
|
+
def data_connection_id(self, data_connection_id: 'str'):
|
|
106
|
+
"""Sets the data_connection_id of this UploadsUploadIdBody1.
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
:param data_connection_id: The data_connection_id of this UploadsUploadIdBody1. # noqa: E501
|
|
110
|
+
:type: str
|
|
111
|
+
"""
|
|
112
|
+
|
|
113
|
+
self._data_connection_id = data_connection_id
|
|
114
|
+
|
|
89
115
|
@property
|
|
90
116
|
def filename(self) -> 'str':
|
|
91
117
|
"""Gets the filename of this UploadsUploadIdBody1. # noqa: E501
|
|
@@ -51,6 +51,9 @@ class V1ClusterMetrics(object):
|
|
|
51
51
|
'gpus_energy_total': 'float',
|
|
52
52
|
'gpus_temp_avg': 'float',
|
|
53
53
|
'gpus_util': 'float',
|
|
54
|
+
'gpus_util_over_allocable': 'float',
|
|
55
|
+
'gpus_util_over_requested': 'float',
|
|
56
|
+
'max_power_per_gpu': 'float',
|
|
54
57
|
'num_cpus': 'int',
|
|
55
58
|
'num_gpus': 'int',
|
|
56
59
|
'num_gpus_allocable': 'int',
|
|
@@ -86,6 +89,9 @@ class V1ClusterMetrics(object):
|
|
|
86
89
|
'gpus_energy_total': 'gpusEnergyTotal',
|
|
87
90
|
'gpus_temp_avg': 'gpusTempAvg',
|
|
88
91
|
'gpus_util': 'gpusUtil',
|
|
92
|
+
'gpus_util_over_allocable': 'gpusUtilOverAllocable',
|
|
93
|
+
'gpus_util_over_requested': 'gpusUtilOverRequested',
|
|
94
|
+
'max_power_per_gpu': 'maxPowerPerGpu',
|
|
89
95
|
'num_cpus': 'numCpus',
|
|
90
96
|
'num_gpus': 'numGpus',
|
|
91
97
|
'num_gpus_allocable': 'numGpusAllocable',
|
|
@@ -110,7 +116,7 @@ class V1ClusterMetrics(object):
|
|
|
110
116
|
'vram_util': 'vramUtil'
|
|
111
117
|
}
|
|
112
118
|
|
|
113
|
-
def __init__(self, cpus_util: 'float' =None, filesystem_inode_util: 'float' =None, filesystem_read_rate: 'float' =None, filesystem_total: 'float' =None, filesystem_util: 'float' =None, filesystem_write_rate: 'float' =None, gpus_energy_avg: 'float' =None, gpus_energy_total: 'float' =None, gpus_temp_avg: 'float' =None, gpus_util: 'float' =None, num_cpus: 'int' =None, num_gpus: 'int' =None, num_gpus_allocable: 'int' =None, num_limit_cpus: 'int' =None, num_limit_gpus: 'int' =None, num_namespaces: 'int' =None, num_nodes: 'int' =None, num_pods: 'int' =None, num_requested_cpus: 'int' =None, num_requested_gpus: 'int' =None, ram_limit: 'str' =None, ram_requested: 'str' =None, ram_total: 'str' =None, ram_util: 'float' =None, timestamp: 'datetime' =None, vram_limit: 'float' =None, vram_read_write_util: 'float' =None, vram_requested: 'float' =None, vram_total: 'str' =None, vram_used_avg: 'float' =None, vram_used_total: 'float' =None, vram_util: 'float' =None): # noqa: E501
|
|
119
|
+
def __init__(self, cpus_util: 'float' =None, filesystem_inode_util: 'float' =None, filesystem_read_rate: 'float' =None, filesystem_total: 'float' =None, filesystem_util: 'float' =None, filesystem_write_rate: 'float' =None, gpus_energy_avg: 'float' =None, gpus_energy_total: 'float' =None, gpus_temp_avg: 'float' =None, gpus_util: 'float' =None, gpus_util_over_allocable: 'float' =None, gpus_util_over_requested: 'float' =None, max_power_per_gpu: 'float' =None, num_cpus: 'int' =None, num_gpus: 'int' =None, num_gpus_allocable: 'int' =None, num_limit_cpus: 'int' =None, num_limit_gpus: 'int' =None, num_namespaces: 'int' =None, num_nodes: 'int' =None, num_pods: 'int' =None, num_requested_cpus: 'int' =None, num_requested_gpus: 'int' =None, ram_limit: 'str' =None, ram_requested: 'str' =None, ram_total: 'str' =None, ram_util: 'float' =None, timestamp: 'datetime' =None, vram_limit: 'float' =None, vram_read_write_util: 'float' =None, vram_requested: 'float' =None, vram_total: 'str' =None, vram_used_avg: 'float' =None, vram_used_total: 'float' =None, vram_util: 'float' =None): # noqa: E501
|
|
114
120
|
"""V1ClusterMetrics - a model defined in Swagger""" # noqa: E501
|
|
115
121
|
self._cpus_util = None
|
|
116
122
|
self._filesystem_inode_util = None
|
|
@@ -122,6 +128,9 @@ class V1ClusterMetrics(object):
|
|
|
122
128
|
self._gpus_energy_total = None
|
|
123
129
|
self._gpus_temp_avg = None
|
|
124
130
|
self._gpus_util = None
|
|
131
|
+
self._gpus_util_over_allocable = None
|
|
132
|
+
self._gpus_util_over_requested = None
|
|
133
|
+
self._max_power_per_gpu = None
|
|
125
134
|
self._num_cpus = None
|
|
126
135
|
self._num_gpus = None
|
|
127
136
|
self._num_gpus_allocable = None
|
|
@@ -165,6 +174,12 @@ class V1ClusterMetrics(object):
|
|
|
165
174
|
self.gpus_temp_avg = gpus_temp_avg
|
|
166
175
|
if gpus_util is not None:
|
|
167
176
|
self.gpus_util = gpus_util
|
|
177
|
+
if gpus_util_over_allocable is not None:
|
|
178
|
+
self.gpus_util_over_allocable = gpus_util_over_allocable
|
|
179
|
+
if gpus_util_over_requested is not None:
|
|
180
|
+
self.gpus_util_over_requested = gpus_util_over_requested
|
|
181
|
+
if max_power_per_gpu is not None:
|
|
182
|
+
self.max_power_per_gpu = max_power_per_gpu
|
|
168
183
|
if num_cpus is not None:
|
|
169
184
|
self.num_cpus = num_cpus
|
|
170
185
|
if num_gpus is not None:
|
|
@@ -420,6 +435,69 @@ class V1ClusterMetrics(object):
|
|
|
420
435
|
|
|
421
436
|
self._gpus_util = gpus_util
|
|
422
437
|
|
|
438
|
+
@property
|
|
439
|
+
def gpus_util_over_allocable(self) -> 'float':
|
|
440
|
+
"""Gets the gpus_util_over_allocable of this V1ClusterMetrics. # noqa: E501
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
:return: The gpus_util_over_allocable of this V1ClusterMetrics. # noqa: E501
|
|
444
|
+
:rtype: float
|
|
445
|
+
"""
|
|
446
|
+
return self._gpus_util_over_allocable
|
|
447
|
+
|
|
448
|
+
@gpus_util_over_allocable.setter
|
|
449
|
+
def gpus_util_over_allocable(self, gpus_util_over_allocable: 'float'):
|
|
450
|
+
"""Sets the gpus_util_over_allocable of this V1ClusterMetrics.
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
:param gpus_util_over_allocable: The gpus_util_over_allocable of this V1ClusterMetrics. # noqa: E501
|
|
454
|
+
:type: float
|
|
455
|
+
"""
|
|
456
|
+
|
|
457
|
+
self._gpus_util_over_allocable = gpus_util_over_allocable
|
|
458
|
+
|
|
459
|
+
@property
|
|
460
|
+
def gpus_util_over_requested(self) -> 'float':
|
|
461
|
+
"""Gets the gpus_util_over_requested of this V1ClusterMetrics. # noqa: E501
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
:return: The gpus_util_over_requested of this V1ClusterMetrics. # noqa: E501
|
|
465
|
+
:rtype: float
|
|
466
|
+
"""
|
|
467
|
+
return self._gpus_util_over_requested
|
|
468
|
+
|
|
469
|
+
@gpus_util_over_requested.setter
|
|
470
|
+
def gpus_util_over_requested(self, gpus_util_over_requested: 'float'):
|
|
471
|
+
"""Sets the gpus_util_over_requested of this V1ClusterMetrics.
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
:param gpus_util_over_requested: The gpus_util_over_requested of this V1ClusterMetrics. # noqa: E501
|
|
475
|
+
:type: float
|
|
476
|
+
"""
|
|
477
|
+
|
|
478
|
+
self._gpus_util_over_requested = gpus_util_over_requested
|
|
479
|
+
|
|
480
|
+
@property
|
|
481
|
+
def max_power_per_gpu(self) -> 'float':
|
|
482
|
+
"""Gets the max_power_per_gpu of this V1ClusterMetrics. # noqa: E501
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
:return: The max_power_per_gpu of this V1ClusterMetrics. # noqa: E501
|
|
486
|
+
:rtype: float
|
|
487
|
+
"""
|
|
488
|
+
return self._max_power_per_gpu
|
|
489
|
+
|
|
490
|
+
@max_power_per_gpu.setter
|
|
491
|
+
def max_power_per_gpu(self, max_power_per_gpu: 'float'):
|
|
492
|
+
"""Sets the max_power_per_gpu of this V1ClusterMetrics.
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
:param max_power_per_gpu: The max_power_per_gpu of this V1ClusterMetrics. # noqa: E501
|
|
496
|
+
:type: float
|
|
497
|
+
"""
|
|
498
|
+
|
|
499
|
+
self._max_power_per_gpu = max_power_per_gpu
|
|
500
|
+
|
|
423
501
|
@property
|
|
424
502
|
def num_cpus(self) -> 'int':
|
|
425
503
|
"""Gets the num_cpus of this V1ClusterMetrics. # noqa: E501
|
|
@@ -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 V1ListAggregatedPodMetricsResponse(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
|
+
'pod_metrics': 'list[V1PodMetrics]'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'pod_metrics': 'podMetrics'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, pod_metrics: 'list[V1PodMetrics]' =None): # noqa: E501
|
|
52
|
+
"""V1ListAggregatedPodMetricsResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._pod_metrics = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if pod_metrics is not None:
|
|
56
|
+
self.pod_metrics = pod_metrics
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def pod_metrics(self) -> 'list[V1PodMetrics]':
|
|
60
|
+
"""Gets the pod_metrics of this V1ListAggregatedPodMetricsResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The pod_metrics of this V1ListAggregatedPodMetricsResponse. # noqa: E501
|
|
64
|
+
:rtype: list[V1PodMetrics]
|
|
65
|
+
"""
|
|
66
|
+
return self._pod_metrics
|
|
67
|
+
|
|
68
|
+
@pod_metrics.setter
|
|
69
|
+
def pod_metrics(self, pod_metrics: 'list[V1PodMetrics]'):
|
|
70
|
+
"""Sets the pod_metrics of this V1ListAggregatedPodMetricsResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param pod_metrics: The pod_metrics of this V1ListAggregatedPodMetricsResponse. # noqa: E501
|
|
74
|
+
:type: list[V1PodMetrics]
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._pod_metrics = pod_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(V1ListAggregatedPodMetricsResponse, 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: 'V1ListAggregatedPodMetricsResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1ListAggregatedPodMetricsResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1ListAggregatedPodMetricsResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|