lightning-sdk 2025.8.18.post0__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/studio_api.py +14 -36
- lightning_sdk/api/utils.py +108 -18
- 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-2025.8.18.post0.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/RECORD +23 -22
- {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.8.18.post0.dist-info → lightning_sdk-2025.8.19.post0.dist-info}/top_level.txt +0 -0
|
@@ -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
|
|
@@ -44,12 +44,15 @@ class V1NodeMetrics(object):
|
|
|
44
44
|
'cpu_capacity_cores': 'float',
|
|
45
45
|
'cpu_util': 'float',
|
|
46
46
|
'filesystem': 'dict(str, V1FilesystemMetrics)',
|
|
47
|
+
'max_power_per_gpu': 'float',
|
|
47
48
|
'mem_total': 'float',
|
|
48
49
|
'mem_util': 'float',
|
|
49
50
|
'node_name': 'str',
|
|
50
51
|
'per_gpu_mem_free': 'dict(str, float)',
|
|
51
52
|
'per_gpu_mem_used': 'dict(str, float)',
|
|
52
53
|
'per_gpu_power_usage_watts': 'dict(str, float)',
|
|
54
|
+
'per_gpu_sm_active': 'dict(str, float)',
|
|
55
|
+
'per_gpu_sm_occupancy': 'dict(str, float)',
|
|
53
56
|
'per_gpu_temperature_c': 'dict(str, float)',
|
|
54
57
|
'per_gpu_util': 'dict(str, float)',
|
|
55
58
|
'timestamp': 'datetime'
|
|
@@ -59,28 +62,34 @@ class V1NodeMetrics(object):
|
|
|
59
62
|
'cpu_capacity_cores': 'cpuCapacityCores',
|
|
60
63
|
'cpu_util': 'cpuUtil',
|
|
61
64
|
'filesystem': 'filesystem',
|
|
65
|
+
'max_power_per_gpu': 'maxPowerPerGpu',
|
|
62
66
|
'mem_total': 'memTotal',
|
|
63
67
|
'mem_util': 'memUtil',
|
|
64
68
|
'node_name': 'nodeName',
|
|
65
69
|
'per_gpu_mem_free': 'perGpuMemFree',
|
|
66
70
|
'per_gpu_mem_used': 'perGpuMemUsed',
|
|
67
71
|
'per_gpu_power_usage_watts': 'perGpuPowerUsageWatts',
|
|
72
|
+
'per_gpu_sm_active': 'perGpuSmActive',
|
|
73
|
+
'per_gpu_sm_occupancy': 'perGpuSmOccupancy',
|
|
68
74
|
'per_gpu_temperature_c': 'perGpuTemperatureC',
|
|
69
75
|
'per_gpu_util': 'perGpuUtil',
|
|
70
76
|
'timestamp': 'timestamp'
|
|
71
77
|
}
|
|
72
78
|
|
|
73
|
-
def __init__(self, cpu_capacity_cores: 'float' =None, cpu_util: 'float' =None, filesystem: 'dict(str, V1FilesystemMetrics)' =None, mem_total: 'float' =None, mem_util: 'float' =None, node_name: 'str' =None, per_gpu_mem_free: 'dict(str, float)' =None, per_gpu_mem_used: 'dict(str, float)' =None, per_gpu_power_usage_watts: 'dict(str, float)' =None, per_gpu_temperature_c: 'dict(str, float)' =None, per_gpu_util: 'dict(str, float)' =None, timestamp: 'datetime' =None): # noqa: E501
|
|
79
|
+
def __init__(self, cpu_capacity_cores: 'float' =None, cpu_util: 'float' =None, filesystem: 'dict(str, V1FilesystemMetrics)' =None, max_power_per_gpu: 'float' =None, mem_total: 'float' =None, mem_util: 'float' =None, node_name: 'str' =None, per_gpu_mem_free: 'dict(str, 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, timestamp: 'datetime' =None): # noqa: E501
|
|
74
80
|
"""V1NodeMetrics - a model defined in Swagger""" # noqa: E501
|
|
75
81
|
self._cpu_capacity_cores = None
|
|
76
82
|
self._cpu_util = None
|
|
77
83
|
self._filesystem = None
|
|
84
|
+
self._max_power_per_gpu = None
|
|
78
85
|
self._mem_total = None
|
|
79
86
|
self._mem_util = None
|
|
80
87
|
self._node_name = None
|
|
81
88
|
self._per_gpu_mem_free = None
|
|
82
89
|
self._per_gpu_mem_used = None
|
|
83
90
|
self._per_gpu_power_usage_watts = None
|
|
91
|
+
self._per_gpu_sm_active = None
|
|
92
|
+
self._per_gpu_sm_occupancy = None
|
|
84
93
|
self._per_gpu_temperature_c = None
|
|
85
94
|
self._per_gpu_util = None
|
|
86
95
|
self._timestamp = None
|
|
@@ -91,6 +100,8 @@ class V1NodeMetrics(object):
|
|
|
91
100
|
self.cpu_util = cpu_util
|
|
92
101
|
if filesystem is not None:
|
|
93
102
|
self.filesystem = filesystem
|
|
103
|
+
if max_power_per_gpu is not None:
|
|
104
|
+
self.max_power_per_gpu = max_power_per_gpu
|
|
94
105
|
if mem_total is not None:
|
|
95
106
|
self.mem_total = mem_total
|
|
96
107
|
if mem_util is not None:
|
|
@@ -103,6 +114,10 @@ class V1NodeMetrics(object):
|
|
|
103
114
|
self.per_gpu_mem_used = per_gpu_mem_used
|
|
104
115
|
if per_gpu_power_usage_watts is not None:
|
|
105
116
|
self.per_gpu_power_usage_watts = per_gpu_power_usage_watts
|
|
117
|
+
if per_gpu_sm_active is not None:
|
|
118
|
+
self.per_gpu_sm_active = per_gpu_sm_active
|
|
119
|
+
if per_gpu_sm_occupancy is not None:
|
|
120
|
+
self.per_gpu_sm_occupancy = per_gpu_sm_occupancy
|
|
106
121
|
if per_gpu_temperature_c is not None:
|
|
107
122
|
self.per_gpu_temperature_c = per_gpu_temperature_c
|
|
108
123
|
if per_gpu_util is not None:
|
|
@@ -173,6 +188,27 @@ class V1NodeMetrics(object):
|
|
|
173
188
|
|
|
174
189
|
self._filesystem = filesystem
|
|
175
190
|
|
|
191
|
+
@property
|
|
192
|
+
def max_power_per_gpu(self) -> 'float':
|
|
193
|
+
"""Gets the max_power_per_gpu of this V1NodeMetrics. # noqa: E501
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
:return: The max_power_per_gpu of this V1NodeMetrics. # noqa: E501
|
|
197
|
+
:rtype: float
|
|
198
|
+
"""
|
|
199
|
+
return self._max_power_per_gpu
|
|
200
|
+
|
|
201
|
+
@max_power_per_gpu.setter
|
|
202
|
+
def max_power_per_gpu(self, max_power_per_gpu: 'float'):
|
|
203
|
+
"""Sets the max_power_per_gpu of this V1NodeMetrics.
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
:param max_power_per_gpu: The max_power_per_gpu of this V1NodeMetrics. # noqa: E501
|
|
207
|
+
:type: float
|
|
208
|
+
"""
|
|
209
|
+
|
|
210
|
+
self._max_power_per_gpu = max_power_per_gpu
|
|
211
|
+
|
|
176
212
|
@property
|
|
177
213
|
def mem_total(self) -> 'float':
|
|
178
214
|
"""Gets the mem_total of this V1NodeMetrics. # noqa: E501
|
|
@@ -299,6 +335,48 @@ class V1NodeMetrics(object):
|
|
|
299
335
|
|
|
300
336
|
self._per_gpu_power_usage_watts = per_gpu_power_usage_watts
|
|
301
337
|
|
|
338
|
+
@property
|
|
339
|
+
def per_gpu_sm_active(self) -> 'dict(str, float)':
|
|
340
|
+
"""Gets the per_gpu_sm_active of this V1NodeMetrics. # noqa: E501
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
:return: The per_gpu_sm_active of this V1NodeMetrics. # noqa: E501
|
|
344
|
+
:rtype: dict(str, float)
|
|
345
|
+
"""
|
|
346
|
+
return self._per_gpu_sm_active
|
|
347
|
+
|
|
348
|
+
@per_gpu_sm_active.setter
|
|
349
|
+
def per_gpu_sm_active(self, per_gpu_sm_active: 'dict(str, float)'):
|
|
350
|
+
"""Sets the per_gpu_sm_active of this V1NodeMetrics.
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
:param per_gpu_sm_active: The per_gpu_sm_active of this V1NodeMetrics. # noqa: E501
|
|
354
|
+
:type: dict(str, float)
|
|
355
|
+
"""
|
|
356
|
+
|
|
357
|
+
self._per_gpu_sm_active = per_gpu_sm_active
|
|
358
|
+
|
|
359
|
+
@property
|
|
360
|
+
def per_gpu_sm_occupancy(self) -> 'dict(str, float)':
|
|
361
|
+
"""Gets the per_gpu_sm_occupancy of this V1NodeMetrics. # noqa: E501
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
:return: The per_gpu_sm_occupancy of this V1NodeMetrics. # noqa: E501
|
|
365
|
+
:rtype: dict(str, float)
|
|
366
|
+
"""
|
|
367
|
+
return self._per_gpu_sm_occupancy
|
|
368
|
+
|
|
369
|
+
@per_gpu_sm_occupancy.setter
|
|
370
|
+
def per_gpu_sm_occupancy(self, per_gpu_sm_occupancy: 'dict(str, float)'):
|
|
371
|
+
"""Sets the per_gpu_sm_occupancy of this V1NodeMetrics.
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
:param per_gpu_sm_occupancy: The per_gpu_sm_occupancy of this V1NodeMetrics. # noqa: E501
|
|
375
|
+
:type: dict(str, float)
|
|
376
|
+
"""
|
|
377
|
+
|
|
378
|
+
self._per_gpu_sm_occupancy = per_gpu_sm_occupancy
|
|
379
|
+
|
|
302
380
|
@property
|
|
303
381
|
def per_gpu_temperature_c(self) -> 'dict(str, float)':
|
|
304
382
|
"""Gets the per_gpu_temperature_c of this V1NodeMetrics. # noqa: E501
|
|
@@ -82,6 +82,7 @@ class V1Organization(object):
|
|
|
82
82
|
'preferred_cluster': 'str',
|
|
83
83
|
'preferred_deployment_provider': 'str',
|
|
84
84
|
'preferred_studio_provider': 'str',
|
|
85
|
+
'show_model_apis_tab': 'bool',
|
|
85
86
|
'start_studios_on_spot_instance': 'bool',
|
|
86
87
|
'storage_overuse_bytes': 'str',
|
|
87
88
|
'storage_overuse_deletion_at': 'datetime',
|
|
@@ -135,6 +136,7 @@ class V1Organization(object):
|
|
|
135
136
|
'preferred_cluster': 'preferredCluster',
|
|
136
137
|
'preferred_deployment_provider': 'preferredDeploymentProvider',
|
|
137
138
|
'preferred_studio_provider': 'preferredStudioProvider',
|
|
139
|
+
'show_model_apis_tab': 'showModelApisTab',
|
|
138
140
|
'start_studios_on_spot_instance': 'startStudiosOnSpotInstance',
|
|
139
141
|
'storage_overuse_bytes': 'storageOveruseBytes',
|
|
140
142
|
'storage_overuse_deletion_at': 'storageOveruseDeletionAt',
|
|
@@ -146,7 +148,7 @@ class V1Organization(object):
|
|
|
146
148
|
'workload_max_run_duration': 'workloadMaxRunDuration'
|
|
147
149
|
}
|
|
148
150
|
|
|
149
|
-
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_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =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, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, general_teamspace: 'bool' =None, id: 'str' =None, last_storage_overuse_notification_sent_at: 'datetime' =None, location: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, start_studios_on_spot_instance: 'bool' =None, storage_overuse_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, storage_overuse_notification_count: 'int' =None, switch_to_default_machine_on_idle: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None, workload_max_run_duration: 'str' =None): # noqa: E501
|
|
151
|
+
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_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =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, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, general_teamspace: 'bool' =None, id: 'str' =None, last_storage_overuse_notification_sent_at: 'datetime' =None, location: 'str' =None, name: '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, storage_overuse_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, storage_overuse_notification_count: 'int' =None, switch_to_default_machine_on_idle: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None, workload_max_run_duration: 'str' =None): # noqa: E501
|
|
150
152
|
"""V1Organization - a model defined in Swagger""" # noqa: E501
|
|
151
153
|
self._alerts_config = None
|
|
152
154
|
self._allow_budgeting = None
|
|
@@ -189,6 +191,7 @@ class V1Organization(object):
|
|
|
189
191
|
self._preferred_cluster = None
|
|
190
192
|
self._preferred_deployment_provider = None
|
|
191
193
|
self._preferred_studio_provider = None
|
|
194
|
+
self._show_model_apis_tab = None
|
|
192
195
|
self._start_studios_on_spot_instance = None
|
|
193
196
|
self._storage_overuse_bytes = None
|
|
194
197
|
self._storage_overuse_deletion_at = None
|
|
@@ -281,6 +284,8 @@ class V1Organization(object):
|
|
|
281
284
|
self.preferred_deployment_provider = preferred_deployment_provider
|
|
282
285
|
if preferred_studio_provider is not None:
|
|
283
286
|
self.preferred_studio_provider = preferred_studio_provider
|
|
287
|
+
if show_model_apis_tab is not None:
|
|
288
|
+
self.show_model_apis_tab = show_model_apis_tab
|
|
284
289
|
if start_studios_on_spot_instance is not None:
|
|
285
290
|
self.start_studios_on_spot_instance = start_studios_on_spot_instance
|
|
286
291
|
if storage_overuse_bytes is not None:
|
|
@@ -1163,6 +1168,27 @@ class V1Organization(object):
|
|
|
1163
1168
|
|
|
1164
1169
|
self._preferred_studio_provider = preferred_studio_provider
|
|
1165
1170
|
|
|
1171
|
+
@property
|
|
1172
|
+
def show_model_apis_tab(self) -> 'bool':
|
|
1173
|
+
"""Gets the show_model_apis_tab of this V1Organization. # noqa: E501
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
:return: The show_model_apis_tab of this V1Organization. # noqa: E501
|
|
1177
|
+
:rtype: bool
|
|
1178
|
+
"""
|
|
1179
|
+
return self._show_model_apis_tab
|
|
1180
|
+
|
|
1181
|
+
@show_model_apis_tab.setter
|
|
1182
|
+
def show_model_apis_tab(self, show_model_apis_tab: 'bool'):
|
|
1183
|
+
"""Sets the show_model_apis_tab of this V1Organization.
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
:param show_model_apis_tab: The show_model_apis_tab of this V1Organization. # noqa: E501
|
|
1187
|
+
:type: bool
|
|
1188
|
+
"""
|
|
1189
|
+
|
|
1190
|
+
self._show_model_apis_tab = show_model_apis_tab
|
|
1191
|
+
|
|
1166
1192
|
@property
|
|
1167
1193
|
def start_studios_on_spot_instance(self) -> 'bool':
|
|
1168
1194
|
"""Gets the start_studios_on_spot_instance of this V1Organization. # noqa: E501
|