lightning-sdk 0.1.55__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/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 +6 -4
- lightning_sdk/cli/download.py +1 -1
- lightning_sdk/cli/entrypoint.py +8 -1
- lightning_sdk/cli/generate.py +13 -36
- lightning_sdk/cli/inspect.py +4 -2
- lightning_sdk/cli/jobs_menu.py +2 -1
- lightning_sdk/cli/list.py +5 -10
- 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 +2 -2
- lightning_sdk/cli/stop.py +5 -3
- lightning_sdk/cli/studios_menu.py +24 -1
- lightning_sdk/cli/switch.py +2 -2
- lightning_sdk/cli/teamspace_menu.py +2 -1
- lightning_sdk/cli/upload.py +6 -4
- lightning_sdk/lightning_cloud/openapi/__init__.py +4 -0
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +105 -0
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
- lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +7 -3
- lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +1 -5
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +4 -0
- 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/v1_cluster_accelerator.py +27 -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 +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_artifact.py +27 -1
- 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_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.55.dist-info → lightning_sdk-0.1.56.dist-info}/METADATA +2 -1
- {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/RECORD +53 -47
- {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/LICENSE +0 -0
- {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/WHEEL +0 -0
- {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/top_level.txt +0 -0
|
@@ -87,6 +87,7 @@ from lightning_sdk.lightning_cloud.openapi.models.id_publications_body import Id
|
|
|
87
87
|
from lightning_sdk.lightning_cloud.openapi.models.id_publications_body1 import IdPublicationsBody1
|
|
88
88
|
from lightning_sdk.lightning_cloud.openapi.models.id_release_body import IdReleaseBody
|
|
89
89
|
from lightning_sdk.lightning_cloud.openapi.models.id_reportlogsactivity_body import IdReportlogsactivityBody
|
|
90
|
+
from lightning_sdk.lightning_cloud.openapi.models.id_reportrestarttimings_body import IdReportrestarttimingsBody
|
|
90
91
|
from lightning_sdk.lightning_cloud.openapi.models.id_start_body import IdStartBody
|
|
91
92
|
from lightning_sdk.lightning_cloud.openapi.models.id_storage_body import IdStorageBody
|
|
92
93
|
from lightning_sdk.lightning_cloud.openapi.models.id_uploads_body import IdUploadsBody
|
|
@@ -409,6 +410,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_get_agent_job_logs_metadata
|
|
|
409
410
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_artifacts_page_response import V1GetArtifactsPageResponse
|
|
410
411
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_cloud_space_instance_status_response import V1GetCloudSpaceInstanceStatusResponse
|
|
411
412
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_cloud_space_size_response import V1GetCloudSpaceSizeResponse
|
|
413
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_get_cluster_accelerator_demand_response import V1GetClusterAcceleratorDemandResponse
|
|
412
414
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_cluster_credentials_response import V1GetClusterCredentialsResponse
|
|
413
415
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_deployment_routing_telemetry_aggregated_response import V1GetDeploymentRoutingTelemetryAggregatedResponse
|
|
414
416
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_deployment_routing_telemetry_response import V1GetDeploymentRoutingTelemetryResponse
|
|
@@ -664,6 +666,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_refresh_response import V1R
|
|
|
664
666
|
from lightning_sdk.lightning_cloud.openapi.models.v1_region_state import V1RegionState
|
|
665
667
|
from lightning_sdk.lightning_cloud.openapi.models.v1_regional_load_balancer import V1RegionalLoadBalancer
|
|
666
668
|
from lightning_sdk.lightning_cloud.openapi.models.v1_report_logs_activity_response import V1ReportLogsActivityResponse
|
|
669
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_report_restart_timings_response import V1ReportRestartTimingsResponse
|
|
667
670
|
from lightning_sdk.lightning_cloud.openapi.models.v1_request_cluster_access_request import V1RequestClusterAccessRequest
|
|
668
671
|
from lightning_sdk.lightning_cloud.openapi.models.v1_request_cluster_access_response import V1RequestClusterAccessResponse
|
|
669
672
|
from lightning_sdk.lightning_cloud.openapi.models.v1_request_verification_code_response import V1RequestVerificationCodeResponse
|
|
@@ -673,6 +676,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_resources import V1Resource
|
|
|
673
676
|
from lightning_sdk.lightning_cloud.openapi.models.v1_response_choice import V1ResponseChoice
|
|
674
677
|
from lightning_sdk.lightning_cloud.openapi.models.v1_response_choice_delta import V1ResponseChoiceDelta
|
|
675
678
|
from lightning_sdk.lightning_cloud.openapi.models.v1_restart_cloud_space_instance_response import V1RestartCloudSpaceInstanceResponse
|
|
679
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_restart_timing import V1RestartTiming
|
|
676
680
|
from lightning_sdk.lightning_cloud.openapi.models.v1_restore_deployment_release_response import V1RestoreDeploymentReleaseResponse
|
|
677
681
|
from lightning_sdk.lightning_cloud.openapi.models.v1_role import V1Role
|
|
678
682
|
from lightning_sdk.lightning_cloud.openapi.models.v1_rolling_update_strategy import V1RollingUpdateStrategy
|
|
@@ -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 IdReportrestarttimingsBody(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
|
+
'timings': 'list[V1RestartTiming]'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'timings': 'timings'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, timings: 'list[V1RestartTiming]' =None): # noqa: E501
|
|
52
|
+
"""IdReportrestarttimingsBody - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._timings = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if timings is not None:
|
|
56
|
+
self.timings = timings
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def timings(self) -> 'list[V1RestartTiming]':
|
|
60
|
+
"""Gets the timings of this IdReportrestarttimingsBody. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The timings of this IdReportrestarttimingsBody. # noqa: E501
|
|
64
|
+
:rtype: list[V1RestartTiming]
|
|
65
|
+
"""
|
|
66
|
+
return self._timings
|
|
67
|
+
|
|
68
|
+
@timings.setter
|
|
69
|
+
def timings(self, timings: 'list[V1RestartTiming]'):
|
|
70
|
+
"""Sets the timings of this IdReportrestarttimingsBody.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param timings: The timings of this IdReportrestarttimingsBody. # noqa: E501
|
|
74
|
+
:type: list[V1RestartTiming]
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._timings = timings
|
|
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(IdReportrestarttimingsBody, 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: 'IdReportrestarttimingsBody') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, IdReportrestarttimingsBody):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'IdReportrestarttimingsBody') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
|
@@ -59,6 +59,7 @@ class ProjectIdLitregistryBody(object):
|
|
|
59
59
|
def lit_reg_project_name(self) -> 'str':
|
|
60
60
|
"""Gets the lit_reg_project_name of this ProjectIdLitregistryBody. # noqa: E501
|
|
61
61
|
|
|
62
|
+
This will be the name of the project in the registry, 1:1 with org-name|username/teamspace-name name. # noqa: E501
|
|
62
63
|
|
|
63
64
|
:return: The lit_reg_project_name of this ProjectIdLitregistryBody. # noqa: E501
|
|
64
65
|
:rtype: str
|
|
@@ -69,6 +70,7 @@ class ProjectIdLitregistryBody(object):
|
|
|
69
70
|
def lit_reg_project_name(self, lit_reg_project_name: 'str'):
|
|
70
71
|
"""Sets the lit_reg_project_name of this ProjectIdLitregistryBody.
|
|
71
72
|
|
|
73
|
+
This will be the name of the project in the registry, 1:1 with org-name|username/teamspace-name name. # noqa: E501
|
|
72
74
|
|
|
73
75
|
:param lit_reg_project_name: The lit_reg_project_name of this ProjectIdLitregistryBody. # noqa: E501
|
|
74
76
|
:type: str
|
|
@@ -78,6 +78,7 @@ class V1ClusterAccelerator(object):
|
|
|
78
78
|
'reservation_available_zones': 'list[str]',
|
|
79
79
|
'resources': 'V1Resources',
|
|
80
80
|
'slug': 'str',
|
|
81
|
+
'slug_multi_cloud': 'str',
|
|
81
82
|
'spot_price': 'float',
|
|
82
83
|
'spot_quota_code': 'str',
|
|
83
84
|
'spot_quota_name': 'str',
|
|
@@ -122,13 +123,14 @@ class V1ClusterAccelerator(object):
|
|
|
122
123
|
'reservation_available_zones': 'reservationAvailableZones',
|
|
123
124
|
'resources': 'resources',
|
|
124
125
|
'slug': 'slug',
|
|
126
|
+
'slug_multi_cloud': 'slugMultiCloud',
|
|
125
127
|
'spot_price': 'spotPrice',
|
|
126
128
|
'spot_quota_code': 'spotQuotaCode',
|
|
127
129
|
'spot_quota_name': 'spotQuotaName',
|
|
128
130
|
'spot_quota_page_url': 'spotQuotaPageUrl'
|
|
129
131
|
}
|
|
130
132
|
|
|
131
|
-
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, 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
|
|
132
134
|
"""V1ClusterAccelerator - a model defined in Swagger""" # noqa: E501
|
|
133
135
|
self._accelerator_type = None
|
|
134
136
|
self._allowed_resources = None
|
|
@@ -167,6 +169,7 @@ class V1ClusterAccelerator(object):
|
|
|
167
169
|
self._reservation_available_zones = None
|
|
168
170
|
self._resources = None
|
|
169
171
|
self._slug = None
|
|
172
|
+
self._slug_multi_cloud = None
|
|
170
173
|
self._spot_price = None
|
|
171
174
|
self._spot_quota_code = None
|
|
172
175
|
self._spot_quota_name = None
|
|
@@ -246,6 +249,8 @@ class V1ClusterAccelerator(object):
|
|
|
246
249
|
self.resources = resources
|
|
247
250
|
if slug is not None:
|
|
248
251
|
self.slug = slug
|
|
252
|
+
if slug_multi_cloud is not None:
|
|
253
|
+
self.slug_multi_cloud = slug_multi_cloud
|
|
249
254
|
if spot_price is not None:
|
|
250
255
|
self.spot_price = spot_price
|
|
251
256
|
if spot_quota_code is not None:
|
|
@@ -1032,6 +1037,27 @@ class V1ClusterAccelerator(object):
|
|
|
1032
1037
|
|
|
1033
1038
|
self._slug = slug
|
|
1034
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
|
+
|
|
1035
1061
|
@property
|
|
1036
1062
|
def spot_price(self) -> 'float':
|
|
1037
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
|
|
@@ -54,6 +54,7 @@ class V1Job(object):
|
|
|
54
54
|
'ready_at': 'datetime',
|
|
55
55
|
'release_id': 'str',
|
|
56
56
|
'restart_count': 'int',
|
|
57
|
+
'restart_timings': 'list[V1RestartTiming]',
|
|
57
58
|
'server_error': 'str',
|
|
58
59
|
'spec': 'V1JobSpec',
|
|
59
60
|
'started_at': 'datetime',
|
|
@@ -82,6 +83,7 @@ class V1Job(object):
|
|
|
82
83
|
'ready_at': 'readyAt',
|
|
83
84
|
'release_id': 'releaseId',
|
|
84
85
|
'restart_count': 'restartCount',
|
|
86
|
+
'restart_timings': 'restartTimings',
|
|
85
87
|
'server_error': 'serverError',
|
|
86
88
|
'spec': 'spec',
|
|
87
89
|
'started_at': 'startedAt',
|
|
@@ -96,7 +98,7 @@ class V1Job(object):
|
|
|
96
98
|
'user_logs_started_at': 'userLogsStartedAt'
|
|
97
99
|
}
|
|
98
100
|
|
|
99
|
-
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, 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
|
|
100
102
|
"""V1Job - a model defined in Swagger""" # noqa: E501
|
|
101
103
|
self._created_at = None
|
|
102
104
|
self._deployment_id = None
|
|
@@ -111,6 +113,7 @@ class V1Job(object):
|
|
|
111
113
|
self._ready_at = None
|
|
112
114
|
self._release_id = None
|
|
113
115
|
self._restart_count = None
|
|
116
|
+
self._restart_timings = None
|
|
114
117
|
self._server_error = None
|
|
115
118
|
self._spec = None
|
|
116
119
|
self._started_at = None
|
|
@@ -150,6 +153,8 @@ class V1Job(object):
|
|
|
150
153
|
self.release_id = release_id
|
|
151
154
|
if restart_count is not None:
|
|
152
155
|
self.restart_count = restart_count
|
|
156
|
+
if restart_timings is not None:
|
|
157
|
+
self.restart_timings = restart_timings
|
|
153
158
|
if server_error is not None:
|
|
154
159
|
self.server_error = server_error
|
|
155
160
|
if spec is not None:
|
|
@@ -450,6 +455,27 @@ class V1Job(object):
|
|
|
450
455
|
|
|
451
456
|
self._restart_count = restart_count
|
|
452
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
|
+
|
|
453
479
|
@property
|
|
454
480
|
def server_error(self) -> 'str':
|
|
455
481
|
"""Gets the server_error of this V1Job. # noqa: E501
|
|
@@ -42,6 +42,7 @@ class V1LitRegistryArtifact(object):
|
|
|
42
42
|
"""
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'full_hash_digest': 'str',
|
|
45
|
+
'location': 'str',
|
|
45
46
|
'pull_time': 'datetime',
|
|
46
47
|
'push_time': 'datetime',
|
|
47
48
|
'short_hash_digest': 'str',
|
|
@@ -51,6 +52,7 @@ class V1LitRegistryArtifact(object):
|
|
|
51
52
|
|
|
52
53
|
attribute_map = {
|
|
53
54
|
'full_hash_digest': 'fullHashDigest',
|
|
55
|
+
'location': 'location',
|
|
54
56
|
'pull_time': 'pullTime',
|
|
55
57
|
'push_time': 'pushTime',
|
|
56
58
|
'short_hash_digest': 'shortHashDigest',
|
|
@@ -58,9 +60,10 @@ class V1LitRegistryArtifact(object):
|
|
|
58
60
|
'tag_name': 'tagName'
|
|
59
61
|
}
|
|
60
62
|
|
|
61
|
-
def __init__(self, full_hash_digest: 'str' =None, pull_time: 'datetime' =None, push_time: 'datetime' =None, short_hash_digest: 'str' =None, size: 'str' =None, tag_name: 'str' =None): # noqa: E501
|
|
63
|
+
def __init__(self, full_hash_digest: 'str' =None, location: 'str' =None, pull_time: 'datetime' =None, push_time: 'datetime' =None, short_hash_digest: 'str' =None, size: 'str' =None, tag_name: 'str' =None): # noqa: E501
|
|
62
64
|
"""V1LitRegistryArtifact - a model defined in Swagger""" # noqa: E501
|
|
63
65
|
self._full_hash_digest = None
|
|
66
|
+
self._location = None
|
|
64
67
|
self._pull_time = None
|
|
65
68
|
self._push_time = None
|
|
66
69
|
self._short_hash_digest = None
|
|
@@ -69,6 +72,8 @@ class V1LitRegistryArtifact(object):
|
|
|
69
72
|
self.discriminator = None
|
|
70
73
|
if full_hash_digest is not None:
|
|
71
74
|
self.full_hash_digest = full_hash_digest
|
|
75
|
+
if location is not None:
|
|
76
|
+
self.location = location
|
|
72
77
|
if pull_time is not None:
|
|
73
78
|
self.pull_time = pull_time
|
|
74
79
|
if push_time is not None:
|
|
@@ -101,6 +106,27 @@ class V1LitRegistryArtifact(object):
|
|
|
101
106
|
|
|
102
107
|
self._full_hash_digest = full_hash_digest
|
|
103
108
|
|
|
109
|
+
@property
|
|
110
|
+
def location(self) -> 'str':
|
|
111
|
+
"""Gets the location of this V1LitRegistryArtifact. # noqa: E501
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
:return: The location of this V1LitRegistryArtifact. # noqa: E501
|
|
115
|
+
:rtype: str
|
|
116
|
+
"""
|
|
117
|
+
return self._location
|
|
118
|
+
|
|
119
|
+
@location.setter
|
|
120
|
+
def location(self, location: 'str'):
|
|
121
|
+
"""Sets the location of this V1LitRegistryArtifact.
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
:param location: The location of this V1LitRegistryArtifact. # noqa: E501
|
|
125
|
+
:type: str
|
|
126
|
+
"""
|
|
127
|
+
|
|
128
|
+
self._location = location
|
|
129
|
+
|
|
104
130
|
@property
|
|
105
131
|
def pull_time(self) -> 'datetime':
|
|
106
132
|
"""Gets the pull_time of this V1LitRegistryArtifact. # noqa: E501
|
|
@@ -79,6 +79,7 @@ class V1LitRegistryProject(object):
|
|
|
79
79
|
def id(self) -> 'int':
|
|
80
80
|
"""Gets the id of this V1LitRegistryProject. # noqa: E501
|
|
81
81
|
|
|
82
|
+
This is the litcr project ID. # noqa: E501
|
|
82
83
|
|
|
83
84
|
:return: The id of this V1LitRegistryProject. # noqa: E501
|
|
84
85
|
:rtype: int
|
|
@@ -89,6 +90,7 @@ class V1LitRegistryProject(object):
|
|
|
89
90
|
def id(self, id: 'int'):
|
|
90
91
|
"""Sets the id of this V1LitRegistryProject.
|
|
91
92
|
|
|
93
|
+
This is the litcr project ID. # noqa: E501
|
|
92
94
|
|
|
93
95
|
:param id: The id of this V1LitRegistryProject. # noqa: E501
|
|
94
96
|
:type: int
|
|
@@ -121,6 +123,7 @@ class V1LitRegistryProject(object):
|
|
|
121
123
|
def project_id(self) -> 'str':
|
|
122
124
|
"""Gets the project_id of this V1LitRegistryProject. # noqa: E501
|
|
123
125
|
|
|
126
|
+
This is the lightning AI teamspace project ID. # noqa: E501
|
|
124
127
|
|
|
125
128
|
:return: The project_id of this V1LitRegistryProject. # noqa: E501
|
|
126
129
|
:rtype: str
|
|
@@ -131,6 +134,7 @@ class V1LitRegistryProject(object):
|
|
|
131
134
|
def project_id(self, project_id: 'str'):
|
|
132
135
|
"""Sets the project_id of this V1LitRegistryProject.
|
|
133
136
|
|
|
137
|
+
This is the lightning AI teamspace project ID. # noqa: E501
|
|
134
138
|
|
|
135
139
|
:param project_id: The project_id of this V1LitRegistryProject. # noqa: E501
|
|
136
140
|
:type: str
|
|
@@ -142,6 +146,7 @@ class V1LitRegistryProject(object):
|
|
|
142
146
|
def repo_count(self) -> 'str':
|
|
143
147
|
"""Gets the repo_count of this V1LitRegistryProject. # noqa: E501
|
|
144
148
|
|
|
149
|
+
This is how many repositories exist in a project. This will be the same as the number of repository objects we return. # noqa: E501
|
|
145
150
|
|
|
146
151
|
:return: The repo_count of this V1LitRegistryProject. # noqa: E501
|
|
147
152
|
:rtype: str
|
|
@@ -152,6 +157,7 @@ class V1LitRegistryProject(object):
|
|
|
152
157
|
def repo_count(self, repo_count: 'str'):
|
|
153
158
|
"""Sets the repo_count of this V1LitRegistryProject.
|
|
154
159
|
|
|
160
|
+
This is how many repositories exist in a project. This will be the same as the number of repository objects we return. # noqa: E501
|
|
155
161
|
|
|
156
162
|
:param repo_count: The repo_count of this V1LitRegistryProject. # noqa: E501
|
|
157
163
|
:type: str
|
|
@@ -163,6 +169,7 @@ class V1LitRegistryProject(object):
|
|
|
163
169
|
def repositories(self) -> 'list[V1LitRepository]':
|
|
164
170
|
"""Gets the repositories of this V1LitRegistryProject. # noqa: E501
|
|
165
171
|
|
|
172
|
+
This is the list of repositories that belong to a project in our registry. # noqa: E501
|
|
166
173
|
|
|
167
174
|
:return: The repositories of this V1LitRegistryProject. # noqa: E501
|
|
168
175
|
:rtype: list[V1LitRepository]
|
|
@@ -173,6 +180,7 @@ class V1LitRegistryProject(object):
|
|
|
173
180
|
def repositories(self, repositories: 'list[V1LitRepository]'):
|
|
174
181
|
"""Sets the repositories of this V1LitRegistryProject.
|
|
175
182
|
|
|
183
|
+
This is the list of repositories that belong to a project in our registry. # noqa: E501
|
|
176
184
|
|
|
177
185
|
:param repositories: The repositories of this V1LitRegistryProject. # noqa: E501
|
|
178
186
|
:type: list[V1LitRepository]
|
|
@@ -45,6 +45,7 @@ class V1LitRepository(object):
|
|
|
45
45
|
'creation_time': 'datetime',
|
|
46
46
|
'description': 'str',
|
|
47
47
|
'id': 'str',
|
|
48
|
+
'latest_artifact': 'V1LitRegistryArtifact',
|
|
48
49
|
'name': 'str',
|
|
49
50
|
'pull_count': 'str',
|
|
50
51
|
'update_time': 'datetime'
|
|
@@ -55,17 +56,19 @@ class V1LitRepository(object):
|
|
|
55
56
|
'creation_time': 'creationTime',
|
|
56
57
|
'description': 'description',
|
|
57
58
|
'id': 'id',
|
|
59
|
+
'latest_artifact': 'latestArtifact',
|
|
58
60
|
'name': 'name',
|
|
59
61
|
'pull_count': 'pullCount',
|
|
60
62
|
'update_time': 'updateTime'
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
def __init__(self, artifact_count: 'str' =None, creation_time: 'datetime' =None, description: 'str' =None, id: 'str' =None, name: 'str' =None, pull_count: 'str' =None, update_time: 'datetime' =None): # noqa: E501
|
|
65
|
+
def __init__(self, artifact_count: 'str' =None, creation_time: 'datetime' =None, description: 'str' =None, id: 'str' =None, latest_artifact: 'V1LitRegistryArtifact' =None, name: 'str' =None, pull_count: 'str' =None, update_time: 'datetime' =None): # noqa: E501
|
|
64
66
|
"""V1LitRepository - a model defined in Swagger""" # noqa: E501
|
|
65
67
|
self._artifact_count = None
|
|
66
68
|
self._creation_time = None
|
|
67
69
|
self._description = None
|
|
68
70
|
self._id = None
|
|
71
|
+
self._latest_artifact = None
|
|
69
72
|
self._name = None
|
|
70
73
|
self._pull_count = None
|
|
71
74
|
self._update_time = None
|
|
@@ -78,6 +81,8 @@ class V1LitRepository(object):
|
|
|
78
81
|
self.description = description
|
|
79
82
|
if id is not None:
|
|
80
83
|
self.id = id
|
|
84
|
+
if latest_artifact is not None:
|
|
85
|
+
self.latest_artifact = latest_artifact
|
|
81
86
|
if name is not None:
|
|
82
87
|
self.name = name
|
|
83
88
|
if pull_count is not None:
|
|
@@ -169,6 +174,27 @@ class V1LitRepository(object):
|
|
|
169
174
|
|
|
170
175
|
self._id = id
|
|
171
176
|
|
|
177
|
+
@property
|
|
178
|
+
def latest_artifact(self) -> 'V1LitRegistryArtifact':
|
|
179
|
+
"""Gets the latest_artifact of this V1LitRepository. # noqa: E501
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
:return: The latest_artifact of this V1LitRepository. # noqa: E501
|
|
183
|
+
:rtype: V1LitRegistryArtifact
|
|
184
|
+
"""
|
|
185
|
+
return self._latest_artifact
|
|
186
|
+
|
|
187
|
+
@latest_artifact.setter
|
|
188
|
+
def latest_artifact(self, latest_artifact: 'V1LitRegistryArtifact'):
|
|
189
|
+
"""Sets the latest_artifact of this V1LitRepository.
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
:param latest_artifact: The latest_artifact of this V1LitRepository. # noqa: E501
|
|
193
|
+
:type: V1LitRegistryArtifact
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
self._latest_artifact = latest_artifact
|
|
197
|
+
|
|
172
198
|
@property
|
|
173
199
|
def name(self) -> 'str':
|
|
174
200
|
"""Gets the name of this V1LitRepository. # noqa: E501
|