lightning-sdk 0.1.54__py3-none-any.whl → 0.1.56__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/ai_hub.py +22 -0
- lightning_sdk/api/ai_hub_api.py +21 -2
- lightning_sdk/api/deployment_api.py +4 -3
- lightning_sdk/api/job_api.py +5 -10
- lightning_sdk/api/lit_container_api.py +27 -7
- lightning_sdk/api/mmt_api.py +1 -4
- lightning_sdk/api/studio_api.py +5 -7
- lightning_sdk/api/teamspace_api.py +7 -0
- lightning_sdk/api/utils.py +1 -27
- lightning_sdk/cli/configure.py +92 -0
- lightning_sdk/cli/connect.py +31 -0
- lightning_sdk/cli/delete.py +32 -3
- lightning_sdk/cli/download.py +1 -1
- lightning_sdk/cli/entrypoint.py +14 -1
- lightning_sdk/cli/generate.py +35 -0
- lightning_sdk/cli/inspect.py +4 -2
- lightning_sdk/cli/jobs_menu.py +2 -1
- lightning_sdk/cli/list.py +49 -6
- lightning_sdk/cli/mmts_menu.py +2 -1
- lightning_sdk/cli/run.py +3 -3
- lightning_sdk/cli/serve.py +1 -2
- lightning_sdk/cli/start.py +43 -0
- lightning_sdk/cli/stop.py +30 -2
- lightning_sdk/cli/studios_menu.py +24 -1
- lightning_sdk/cli/switch.py +43 -0
- lightning_sdk/cli/teamspace_menu.py +2 -1
- lightning_sdk/cli/upload.py +6 -4
- lightning_sdk/lightning_cloud/openapi/__init__.py +6 -0
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +115 -2
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
- lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +216 -2
- lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +1 -5
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +6 -0
- lightning_sdk/lightning_cloud/openapi/models/cluster_id_usagerestrictions_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/id_reportrestarttimings_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/project_id_litregistry_body.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/usagerestrictions_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +3 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_get_cluster_accelerator_demand_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_job.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +55 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_registry_repository_image_artifact_versions_response.py +231 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_artifact.py +279 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_project.py +8 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_report_restart_timings_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_restart_timing.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
- lightning_sdk/lightning_cloud/openapi/models/v1_validate_deployment_image_request.py +27 -1
- lightning_sdk/machine.py +59 -27
- lightning_sdk/studio.py +5 -1
- lightning_sdk/teamspace.py +25 -0
- {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/METADATA +2 -1
- {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/RECORD +61 -50
- {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/LICENSE +0 -0
- {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/WHEEL +0 -0
- {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/top_level.txt +0 -0
|
@@ -43,25 +43,30 @@ class UsagerestrictionsIdBody(object):
|
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'instance_type': 'str',
|
|
45
45
|
'max_instances': 'int',
|
|
46
|
+
'org_id': 'str',
|
|
46
47
|
'restriction_type': 'str'
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
attribute_map = {
|
|
50
51
|
'instance_type': 'instanceType',
|
|
51
52
|
'max_instances': 'maxInstances',
|
|
53
|
+
'org_id': 'orgId',
|
|
52
54
|
'restriction_type': 'restrictionType'
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
def __init__(self, instance_type: 'str' =None, max_instances: 'int' =None, restriction_type: 'str' =None): # noqa: E501
|
|
57
|
+
def __init__(self, instance_type: 'str' =None, max_instances: 'int' =None, org_id: 'str' =None, restriction_type: 'str' =None): # noqa: E501
|
|
56
58
|
"""UsagerestrictionsIdBody - a model defined in Swagger""" # noqa: E501
|
|
57
59
|
self._instance_type = None
|
|
58
60
|
self._max_instances = None
|
|
61
|
+
self._org_id = None
|
|
59
62
|
self._restriction_type = None
|
|
60
63
|
self.discriminator = None
|
|
61
64
|
if instance_type is not None:
|
|
62
65
|
self.instance_type = instance_type
|
|
63
66
|
if max_instances is not None:
|
|
64
67
|
self.max_instances = max_instances
|
|
68
|
+
if org_id is not None:
|
|
69
|
+
self.org_id = org_id
|
|
65
70
|
if restriction_type is not None:
|
|
66
71
|
self.restriction_type = restriction_type
|
|
67
72
|
|
|
@@ -107,6 +112,27 @@ class UsagerestrictionsIdBody(object):
|
|
|
107
112
|
|
|
108
113
|
self._max_instances = max_instances
|
|
109
114
|
|
|
115
|
+
@property
|
|
116
|
+
def org_id(self) -> 'str':
|
|
117
|
+
"""Gets the org_id of this UsagerestrictionsIdBody. # noqa: E501
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
:return: The org_id of this UsagerestrictionsIdBody. # noqa: E501
|
|
121
|
+
:rtype: str
|
|
122
|
+
"""
|
|
123
|
+
return self._org_id
|
|
124
|
+
|
|
125
|
+
@org_id.setter
|
|
126
|
+
def org_id(self, org_id: 'str'):
|
|
127
|
+
"""Sets the org_id of this UsagerestrictionsIdBody.
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
:param org_id: The org_id of this UsagerestrictionsIdBody. # noqa: E501
|
|
131
|
+
:type: str
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
self._org_id = org_id
|
|
135
|
+
|
|
110
136
|
@property
|
|
111
137
|
def restriction_type(self) -> 'str':
|
|
112
138
|
"""Gets the restriction_type of this UsagerestrictionsIdBody. # noqa: E501
|
|
@@ -37,9 +37,12 @@ class V1CloudProvider(object):
|
|
|
37
37
|
"""
|
|
38
38
|
allowed enum values
|
|
39
39
|
"""
|
|
40
|
+
CLOUD_PROVIDER_UNSPECIFIED = "CLOUD_PROVIDER_UNSPECIFIED"
|
|
40
41
|
AWS = "AWS"
|
|
41
42
|
GCP = "GCP"
|
|
42
43
|
VULTR = "VULTR"
|
|
44
|
+
LAMBDA_LABS = "LAMBDA_LABS"
|
|
45
|
+
SLURM = "SLURM"
|
|
43
46
|
"""
|
|
44
47
|
Attributes:
|
|
45
48
|
swagger_types (dict): The key is attribute name
|
|
@@ -66,6 +66,7 @@ class V1ClusterAccelerator(object):
|
|
|
66
66
|
'local_disk_supported': 'bool',
|
|
67
67
|
'max_available_quota': 'str',
|
|
68
68
|
'non_spot': 'bool',
|
|
69
|
+
'provider': 'V1CloudProvider',
|
|
69
70
|
'quota_checked_at': 'datetime',
|
|
70
71
|
'quota_code': 'str',
|
|
71
72
|
'quota_name': 'str',
|
|
@@ -77,6 +78,7 @@ class V1ClusterAccelerator(object):
|
|
|
77
78
|
'reservation_available_zones': 'list[str]',
|
|
78
79
|
'resources': 'V1Resources',
|
|
79
80
|
'slug': 'str',
|
|
81
|
+
'slug_multi_cloud': 'str',
|
|
80
82
|
'spot_price': 'float',
|
|
81
83
|
'spot_quota_code': 'str',
|
|
82
84
|
'spot_quota_name': 'str',
|
|
@@ -109,6 +111,7 @@ class V1ClusterAccelerator(object):
|
|
|
109
111
|
'local_disk_supported': 'localDiskSupported',
|
|
110
112
|
'max_available_quota': 'maxAvailableQuota',
|
|
111
113
|
'non_spot': 'nonSpot',
|
|
114
|
+
'provider': 'provider',
|
|
112
115
|
'quota_checked_at': 'quotaCheckedAt',
|
|
113
116
|
'quota_code': 'quotaCode',
|
|
114
117
|
'quota_name': 'quotaName',
|
|
@@ -120,13 +123,14 @@ class V1ClusterAccelerator(object):
|
|
|
120
123
|
'reservation_available_zones': 'reservationAvailableZones',
|
|
121
124
|
'resources': 'resources',
|
|
122
125
|
'slug': 'slug',
|
|
126
|
+
'slug_multi_cloud': 'slugMultiCloud',
|
|
123
127
|
'spot_price': 'spotPrice',
|
|
124
128
|
'spot_quota_code': 'spotQuotaCode',
|
|
125
129
|
'spot_quota_name': 'spotQuotaName',
|
|
126
130
|
'spot_quota_page_url': 'spotQuotaPageUrl'
|
|
127
131
|
}
|
|
128
132
|
|
|
129
|
-
def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_only: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, resources: 'V1Resources' =None, slug: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
|
|
133
|
+
def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_only: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, provider: 'V1CloudProvider' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, resources: 'V1Resources' =None, slug: 'str' =None, slug_multi_cloud: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
|
|
130
134
|
"""V1ClusterAccelerator - a model defined in Swagger""" # noqa: E501
|
|
131
135
|
self._accelerator_type = None
|
|
132
136
|
self._allowed_resources = None
|
|
@@ -153,6 +157,7 @@ class V1ClusterAccelerator(object):
|
|
|
153
157
|
self._local_disk_supported = None
|
|
154
158
|
self._max_available_quota = None
|
|
155
159
|
self._non_spot = None
|
|
160
|
+
self._provider = None
|
|
156
161
|
self._quota_checked_at = None
|
|
157
162
|
self._quota_code = None
|
|
158
163
|
self._quota_name = None
|
|
@@ -164,6 +169,7 @@ class V1ClusterAccelerator(object):
|
|
|
164
169
|
self._reservation_available_zones = None
|
|
165
170
|
self._resources = None
|
|
166
171
|
self._slug = None
|
|
172
|
+
self._slug_multi_cloud = None
|
|
167
173
|
self._spot_price = None
|
|
168
174
|
self._spot_quota_code = None
|
|
169
175
|
self._spot_quota_name = None
|
|
@@ -219,6 +225,8 @@ class V1ClusterAccelerator(object):
|
|
|
219
225
|
self.max_available_quota = max_available_quota
|
|
220
226
|
if non_spot is not None:
|
|
221
227
|
self.non_spot = non_spot
|
|
228
|
+
if provider is not None:
|
|
229
|
+
self.provider = provider
|
|
222
230
|
if quota_checked_at is not None:
|
|
223
231
|
self.quota_checked_at = quota_checked_at
|
|
224
232
|
if quota_code is not None:
|
|
@@ -241,6 +249,8 @@ class V1ClusterAccelerator(object):
|
|
|
241
249
|
self.resources = resources
|
|
242
250
|
if slug is not None:
|
|
243
251
|
self.slug = slug
|
|
252
|
+
if slug_multi_cloud is not None:
|
|
253
|
+
self.slug_multi_cloud = slug_multi_cloud
|
|
244
254
|
if spot_price is not None:
|
|
245
255
|
self.spot_price = spot_price
|
|
246
256
|
if spot_quota_code is not None:
|
|
@@ -775,6 +785,27 @@ class V1ClusterAccelerator(object):
|
|
|
775
785
|
|
|
776
786
|
self._non_spot = non_spot
|
|
777
787
|
|
|
788
|
+
@property
|
|
789
|
+
def provider(self) -> 'V1CloudProvider':
|
|
790
|
+
"""Gets the provider of this V1ClusterAccelerator. # noqa: E501
|
|
791
|
+
|
|
792
|
+
|
|
793
|
+
:return: The provider of this V1ClusterAccelerator. # noqa: E501
|
|
794
|
+
:rtype: V1CloudProvider
|
|
795
|
+
"""
|
|
796
|
+
return self._provider
|
|
797
|
+
|
|
798
|
+
@provider.setter
|
|
799
|
+
def provider(self, provider: 'V1CloudProvider'):
|
|
800
|
+
"""Sets the provider of this V1ClusterAccelerator.
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
:param provider: The provider of this V1ClusterAccelerator. # noqa: E501
|
|
804
|
+
:type: V1CloudProvider
|
|
805
|
+
"""
|
|
806
|
+
|
|
807
|
+
self._provider = provider
|
|
808
|
+
|
|
778
809
|
@property
|
|
779
810
|
def quota_checked_at(self) -> 'datetime':
|
|
780
811
|
"""Gets the quota_checked_at of this V1ClusterAccelerator. # noqa: E501
|
|
@@ -1006,6 +1037,27 @@ class V1ClusterAccelerator(object):
|
|
|
1006
1037
|
|
|
1007
1038
|
self._slug = slug
|
|
1008
1039
|
|
|
1040
|
+
@property
|
|
1041
|
+
def slug_multi_cloud(self) -> 'str':
|
|
1042
|
+
"""Gets the slug_multi_cloud of this V1ClusterAccelerator. # noqa: E501
|
|
1043
|
+
|
|
1044
|
+
|
|
1045
|
+
:return: The slug_multi_cloud of this V1ClusterAccelerator. # noqa: E501
|
|
1046
|
+
:rtype: str
|
|
1047
|
+
"""
|
|
1048
|
+
return self._slug_multi_cloud
|
|
1049
|
+
|
|
1050
|
+
@slug_multi_cloud.setter
|
|
1051
|
+
def slug_multi_cloud(self, slug_multi_cloud: 'str'):
|
|
1052
|
+
"""Sets the slug_multi_cloud of this V1ClusterAccelerator.
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
:param slug_multi_cloud: The slug_multi_cloud of this V1ClusterAccelerator. # noqa: E501
|
|
1056
|
+
:type: str
|
|
1057
|
+
"""
|
|
1058
|
+
|
|
1059
|
+
self._slug_multi_cloud = slug_multi_cloud
|
|
1060
|
+
|
|
1009
1061
|
@property
|
|
1010
1062
|
def spot_price(self) -> 'float':
|
|
1011
1063
|
"""Gets the spot_price of this V1ClusterAccelerator. # 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 V1GetClusterAcceleratorDemandResponse(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
|
+
'num_waiting': 'str'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'num_waiting': 'numWaiting'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, num_waiting: 'str' =None): # noqa: E501
|
|
52
|
+
"""V1GetClusterAcceleratorDemandResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._num_waiting = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if num_waiting is not None:
|
|
56
|
+
self.num_waiting = num_waiting
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def num_waiting(self) -> 'str':
|
|
60
|
+
"""Gets the num_waiting of this V1GetClusterAcceleratorDemandResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The num_waiting of this V1GetClusterAcceleratorDemandResponse. # noqa: E501
|
|
64
|
+
:rtype: str
|
|
65
|
+
"""
|
|
66
|
+
return self._num_waiting
|
|
67
|
+
|
|
68
|
+
@num_waiting.setter
|
|
69
|
+
def num_waiting(self, num_waiting: 'str'):
|
|
70
|
+
"""Sets the num_waiting of this V1GetClusterAcceleratorDemandResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param num_waiting: The num_waiting of this V1GetClusterAcceleratorDemandResponse. # noqa: E501
|
|
74
|
+
:type: str
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._num_waiting = num_waiting
|
|
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(V1GetClusterAcceleratorDemandResponse, 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: 'V1GetClusterAcceleratorDemandResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1GetClusterAcceleratorDemandResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1GetClusterAcceleratorDemandResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
|
@@ -53,6 +53,8 @@ class V1Job(object):
|
|
|
53
53
|
'project_id': 'str',
|
|
54
54
|
'ready_at': 'datetime',
|
|
55
55
|
'release_id': 'str',
|
|
56
|
+
'restart_count': 'int',
|
|
57
|
+
'restart_timings': 'list[V1RestartTiming]',
|
|
56
58
|
'server_error': 'str',
|
|
57
59
|
'spec': 'V1JobSpec',
|
|
58
60
|
'started_at': 'datetime',
|
|
@@ -80,6 +82,8 @@ class V1Job(object):
|
|
|
80
82
|
'project_id': 'projectId',
|
|
81
83
|
'ready_at': 'readyAt',
|
|
82
84
|
'release_id': 'releaseId',
|
|
85
|
+
'restart_count': 'restartCount',
|
|
86
|
+
'restart_timings': 'restartTimings',
|
|
83
87
|
'server_error': 'serverError',
|
|
84
88
|
'spec': 'spec',
|
|
85
89
|
'started_at': 'startedAt',
|
|
@@ -94,7 +98,7 @@ class V1Job(object):
|
|
|
94
98
|
'user_logs_started_at': 'userLogsStartedAt'
|
|
95
99
|
}
|
|
96
100
|
|
|
97
|
-
def __init__(self, created_at: 'datetime' =None, deployment_id: 'str' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_healthy: 'bool' =None, message: 'str' =None, multi_machine_job_id: 'str' =None, name: 'str' =None, overprovisioned: 'bool' =None, project_id: 'str' =None, ready_at: 'datetime' =None, release_id: 'str' =None, server_error: 'str' =None, spec: 'V1JobSpec' =None, started_at: 'datetime' =None, state: 'str' =None, stopped_at: 'datetime' =None, timings: 'dict(str, V1JobTiming)' =None, total_cost: 'float' =None, total_size_bytes: 'str' =None, updated_at: 'datetime' =None, urls: 'list[str]' =None, user_id: 'str' =None, user_logs_started_at: 'datetime' =None): # noqa: E501
|
|
101
|
+
def __init__(self, created_at: 'datetime' =None, deployment_id: 'str' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_healthy: 'bool' =None, message: 'str' =None, multi_machine_job_id: 'str' =None, name: 'str' =None, overprovisioned: 'bool' =None, project_id: 'str' =None, ready_at: 'datetime' =None, release_id: 'str' =None, restart_count: 'int' =None, restart_timings: 'list[V1RestartTiming]' =None, server_error: 'str' =None, spec: 'V1JobSpec' =None, started_at: 'datetime' =None, state: 'str' =None, stopped_at: 'datetime' =None, timings: 'dict(str, V1JobTiming)' =None, total_cost: 'float' =None, total_size_bytes: 'str' =None, updated_at: 'datetime' =None, urls: 'list[str]' =None, user_id: 'str' =None, user_logs_started_at: 'datetime' =None): # noqa: E501
|
|
98
102
|
"""V1Job - a model defined in Swagger""" # noqa: E501
|
|
99
103
|
self._created_at = None
|
|
100
104
|
self._deployment_id = None
|
|
@@ -108,6 +112,8 @@ class V1Job(object):
|
|
|
108
112
|
self._project_id = None
|
|
109
113
|
self._ready_at = None
|
|
110
114
|
self._release_id = None
|
|
115
|
+
self._restart_count = None
|
|
116
|
+
self._restart_timings = None
|
|
111
117
|
self._server_error = None
|
|
112
118
|
self._spec = None
|
|
113
119
|
self._started_at = None
|
|
@@ -145,6 +151,10 @@ class V1Job(object):
|
|
|
145
151
|
self.ready_at = ready_at
|
|
146
152
|
if release_id is not None:
|
|
147
153
|
self.release_id = release_id
|
|
154
|
+
if restart_count is not None:
|
|
155
|
+
self.restart_count = restart_count
|
|
156
|
+
if restart_timings is not None:
|
|
157
|
+
self.restart_timings = restart_timings
|
|
148
158
|
if server_error is not None:
|
|
149
159
|
self.server_error = server_error
|
|
150
160
|
if spec is not None:
|
|
@@ -424,6 +434,48 @@ class V1Job(object):
|
|
|
424
434
|
|
|
425
435
|
self._release_id = release_id
|
|
426
436
|
|
|
437
|
+
@property
|
|
438
|
+
def restart_count(self) -> 'int':
|
|
439
|
+
"""Gets the restart_count of this V1Job. # noqa: E501
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
:return: The restart_count of this V1Job. # noqa: E501
|
|
443
|
+
:rtype: int
|
|
444
|
+
"""
|
|
445
|
+
return self._restart_count
|
|
446
|
+
|
|
447
|
+
@restart_count.setter
|
|
448
|
+
def restart_count(self, restart_count: 'int'):
|
|
449
|
+
"""Sets the restart_count of this V1Job.
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
:param restart_count: The restart_count of this V1Job. # noqa: E501
|
|
453
|
+
:type: int
|
|
454
|
+
"""
|
|
455
|
+
|
|
456
|
+
self._restart_count = restart_count
|
|
457
|
+
|
|
458
|
+
@property
|
|
459
|
+
def restart_timings(self) -> 'list[V1RestartTiming]':
|
|
460
|
+
"""Gets the restart_timings of this V1Job. # noqa: E501
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
:return: The restart_timings of this V1Job. # noqa: E501
|
|
464
|
+
:rtype: list[V1RestartTiming]
|
|
465
|
+
"""
|
|
466
|
+
return self._restart_timings
|
|
467
|
+
|
|
468
|
+
@restart_timings.setter
|
|
469
|
+
def restart_timings(self, restart_timings: 'list[V1RestartTiming]'):
|
|
470
|
+
"""Sets the restart_timings of this V1Job.
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
:param restart_timings: The restart_timings of this V1Job. # noqa: E501
|
|
474
|
+
:type: list[V1RestartTiming]
|
|
475
|
+
"""
|
|
476
|
+
|
|
477
|
+
self._restart_timings = restart_timings
|
|
478
|
+
|
|
427
479
|
@property
|
|
428
480
|
def server_error(self) -> 'str':
|
|
429
481
|
"""Gets the server_error of this V1Job. # noqa: E501
|
|
@@ -59,6 +59,7 @@ class V1JobSpec(object):
|
|
|
59
59
|
'path_mappings': 'list[V1PathMapping]',
|
|
60
60
|
'readiness_probe': 'V1JobHealthCheckConfig',
|
|
61
61
|
'regions': 'list[str]',
|
|
62
|
+
'requested_run_duration_seconds': 'str',
|
|
62
63
|
'resources': 'V1Resources',
|
|
63
64
|
'restart_policy': 'str',
|
|
64
65
|
'run_id': 'str',
|
|
@@ -85,6 +86,7 @@ class V1JobSpec(object):
|
|
|
85
86
|
'path_mappings': 'pathMappings',
|
|
86
87
|
'readiness_probe': 'readinessProbe',
|
|
87
88
|
'regions': 'regions',
|
|
89
|
+
'requested_run_duration_seconds': 'requestedRunDurationSeconds',
|
|
88
90
|
'resources': 'resources',
|
|
89
91
|
'restart_policy': 'restartPolicy',
|
|
90
92
|
'run_id': 'runId',
|
|
@@ -92,7 +94,7 @@ class V1JobSpec(object):
|
|
|
92
94
|
'volumes': 'volumes'
|
|
93
95
|
}
|
|
94
96
|
|
|
95
|
-
def __init__(self, artifacts_destination: 'str' =None, artifacts_source: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, command: 'str' =None, data_paths: 'list[V1DataPath]' =None, entrypoint: 'str' =None, env: 'list[V1EnvVar]' =None, image: 'str' =None, image_cluster_credentials: 'bool' =None, image_secret_ref: 'str' =None, include_credentials: 'bool' =None, instance_name: 'str' =None, instance_type: 'str' =None, modified_volume: 'bool' =None, path_mappings: 'list[V1PathMapping]' =None, readiness_probe: 'V1JobHealthCheckConfig' =None, regions: 'list[str]' =None, resources: 'V1Resources' =None, restart_policy: 'str' =None, run_id: 'str' =None, spot: 'bool' =None, volumes: 'list[V1Volume]' =None): # noqa: E501
|
|
97
|
+
def __init__(self, artifacts_destination: 'str' =None, artifacts_source: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, command: 'str' =None, data_paths: 'list[V1DataPath]' =None, entrypoint: 'str' =None, env: 'list[V1EnvVar]' =None, image: 'str' =None, image_cluster_credentials: 'bool' =None, image_secret_ref: 'str' =None, include_credentials: 'bool' =None, instance_name: 'str' =None, instance_type: 'str' =None, modified_volume: 'bool' =None, path_mappings: 'list[V1PathMapping]' =None, readiness_probe: 'V1JobHealthCheckConfig' =None, regions: 'list[str]' =None, requested_run_duration_seconds: 'str' =None, resources: 'V1Resources' =None, restart_policy: 'str' =None, run_id: 'str' =None, spot: 'bool' =None, volumes: 'list[V1Volume]' =None): # noqa: E501
|
|
96
98
|
"""V1JobSpec - a model defined in Swagger""" # noqa: E501
|
|
97
99
|
self._artifacts_destination = None
|
|
98
100
|
self._artifacts_source = None
|
|
@@ -112,6 +114,7 @@ class V1JobSpec(object):
|
|
|
112
114
|
self._path_mappings = None
|
|
113
115
|
self._readiness_probe = None
|
|
114
116
|
self._regions = None
|
|
117
|
+
self._requested_run_duration_seconds = None
|
|
115
118
|
self._resources = None
|
|
116
119
|
self._restart_policy = None
|
|
117
120
|
self._run_id = None
|
|
@@ -154,6 +157,8 @@ class V1JobSpec(object):
|
|
|
154
157
|
self.readiness_probe = readiness_probe
|
|
155
158
|
if regions is not None:
|
|
156
159
|
self.regions = regions
|
|
160
|
+
if requested_run_duration_seconds is not None:
|
|
161
|
+
self.requested_run_duration_seconds = requested_run_duration_seconds
|
|
157
162
|
if resources is not None:
|
|
158
163
|
self.resources = resources
|
|
159
164
|
if restart_policy is not None:
|
|
@@ -543,6 +548,27 @@ class V1JobSpec(object):
|
|
|
543
548
|
|
|
544
549
|
self._regions = regions
|
|
545
550
|
|
|
551
|
+
@property
|
|
552
|
+
def requested_run_duration_seconds(self) -> 'str':
|
|
553
|
+
"""Gets the requested_run_duration_seconds of this V1JobSpec. # noqa: E501
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
:return: The requested_run_duration_seconds of this V1JobSpec. # noqa: E501
|
|
557
|
+
:rtype: str
|
|
558
|
+
"""
|
|
559
|
+
return self._requested_run_duration_seconds
|
|
560
|
+
|
|
561
|
+
@requested_run_duration_seconds.setter
|
|
562
|
+
def requested_run_duration_seconds(self, requested_run_duration_seconds: 'str'):
|
|
563
|
+
"""Sets the requested_run_duration_seconds of this V1JobSpec.
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
:param requested_run_duration_seconds: The requested_run_duration_seconds of this V1JobSpec. # noqa: E501
|
|
567
|
+
:type: str
|
|
568
|
+
"""
|
|
569
|
+
|
|
570
|
+
self._requested_run_duration_seconds = requested_run_duration_seconds
|
|
571
|
+
|
|
546
572
|
@property
|
|
547
573
|
def resources(self) -> 'V1Resources':
|
|
548
574
|
"""Gets the resources of this V1JobSpec. # noqa: E501
|
|
@@ -42,23 +42,33 @@ class V1LambdaLabsDirectV1(object):
|
|
|
42
42
|
"""
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'credentials_secret_id': 'str',
|
|
45
|
-
'parent_cluster_id': 'str'
|
|
45
|
+
'parent_cluster_id': 'str',
|
|
46
|
+
'primary_region': 'str',
|
|
47
|
+
'regions': 'list[str]'
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
attribute_map = {
|
|
49
51
|
'credentials_secret_id': 'credentialsSecretId',
|
|
50
|
-
'parent_cluster_id': 'parentClusterId'
|
|
52
|
+
'parent_cluster_id': 'parentClusterId',
|
|
53
|
+
'primary_region': 'primaryRegion',
|
|
54
|
+
'regions': 'regions'
|
|
51
55
|
}
|
|
52
56
|
|
|
53
|
-
def __init__(self, credentials_secret_id: 'str' =None, parent_cluster_id: 'str' =None): # noqa: E501
|
|
57
|
+
def __init__(self, credentials_secret_id: 'str' =None, parent_cluster_id: 'str' =None, primary_region: 'str' =None, regions: 'list[str]' =None): # noqa: E501
|
|
54
58
|
"""V1LambdaLabsDirectV1 - a model defined in Swagger""" # noqa: E501
|
|
55
59
|
self._credentials_secret_id = None
|
|
56
60
|
self._parent_cluster_id = None
|
|
61
|
+
self._primary_region = None
|
|
62
|
+
self._regions = None
|
|
57
63
|
self.discriminator = None
|
|
58
64
|
if credentials_secret_id is not None:
|
|
59
65
|
self.credentials_secret_id = credentials_secret_id
|
|
60
66
|
if parent_cluster_id is not None:
|
|
61
67
|
self.parent_cluster_id = parent_cluster_id
|
|
68
|
+
if primary_region is not None:
|
|
69
|
+
self.primary_region = primary_region
|
|
70
|
+
if regions is not None:
|
|
71
|
+
self.regions = regions
|
|
62
72
|
|
|
63
73
|
@property
|
|
64
74
|
def credentials_secret_id(self) -> 'str':
|
|
@@ -106,6 +116,48 @@ class V1LambdaLabsDirectV1(object):
|
|
|
106
116
|
|
|
107
117
|
self._parent_cluster_id = parent_cluster_id
|
|
108
118
|
|
|
119
|
+
@property
|
|
120
|
+
def primary_region(self) -> 'str':
|
|
121
|
+
"""Gets the primary_region of this V1LambdaLabsDirectV1. # noqa: E501
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
:return: The primary_region of this V1LambdaLabsDirectV1. # noqa: E501
|
|
125
|
+
:rtype: str
|
|
126
|
+
"""
|
|
127
|
+
return self._primary_region
|
|
128
|
+
|
|
129
|
+
@primary_region.setter
|
|
130
|
+
def primary_region(self, primary_region: 'str'):
|
|
131
|
+
"""Sets the primary_region of this V1LambdaLabsDirectV1.
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
:param primary_region: The primary_region of this V1LambdaLabsDirectV1. # noqa: E501
|
|
135
|
+
:type: str
|
|
136
|
+
"""
|
|
137
|
+
|
|
138
|
+
self._primary_region = primary_region
|
|
139
|
+
|
|
140
|
+
@property
|
|
141
|
+
def regions(self) -> 'list[str]':
|
|
142
|
+
"""Gets the regions of this V1LambdaLabsDirectV1. # noqa: E501
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
:return: The regions of this V1LambdaLabsDirectV1. # noqa: E501
|
|
146
|
+
:rtype: list[str]
|
|
147
|
+
"""
|
|
148
|
+
return self._regions
|
|
149
|
+
|
|
150
|
+
@regions.setter
|
|
151
|
+
def regions(self, regions: 'list[str]'):
|
|
152
|
+
"""Sets the regions of this V1LambdaLabsDirectV1.
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
:param regions: The regions of this V1LambdaLabsDirectV1. # noqa: E501
|
|
156
|
+
:type: list[str]
|
|
157
|
+
"""
|
|
158
|
+
|
|
159
|
+
self._regions = regions
|
|
160
|
+
|
|
109
161
|
def to_dict(self) -> dict:
|
|
110
162
|
"""Returns the model properties as a dict"""
|
|
111
163
|
result = {}
|