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.
Files changed (53) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/ai_hub.py +22 -0
  3. lightning_sdk/api/ai_hub_api.py +21 -2
  4. lightning_sdk/api/deployment_api.py +4 -3
  5. lightning_sdk/api/job_api.py +5 -10
  6. lightning_sdk/api/mmt_api.py +1 -4
  7. lightning_sdk/api/studio_api.py +5 -7
  8. lightning_sdk/api/teamspace_api.py +7 -0
  9. lightning_sdk/api/utils.py +1 -27
  10. lightning_sdk/cli/configure.py +92 -0
  11. lightning_sdk/cli/connect.py +31 -0
  12. lightning_sdk/cli/delete.py +6 -4
  13. lightning_sdk/cli/download.py +1 -1
  14. lightning_sdk/cli/entrypoint.py +8 -1
  15. lightning_sdk/cli/generate.py +13 -36
  16. lightning_sdk/cli/inspect.py +4 -2
  17. lightning_sdk/cli/jobs_menu.py +2 -1
  18. lightning_sdk/cli/list.py +5 -10
  19. lightning_sdk/cli/mmts_menu.py +2 -1
  20. lightning_sdk/cli/run.py +3 -3
  21. lightning_sdk/cli/serve.py +1 -2
  22. lightning_sdk/cli/start.py +2 -2
  23. lightning_sdk/cli/stop.py +5 -3
  24. lightning_sdk/cli/studios_menu.py +24 -1
  25. lightning_sdk/cli/switch.py +2 -2
  26. lightning_sdk/cli/teamspace_menu.py +2 -1
  27. lightning_sdk/cli/upload.py +6 -4
  28. lightning_sdk/lightning_cloud/openapi/__init__.py +4 -0
  29. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +105 -0
  30. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
  31. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +7 -3
  32. lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +1 -5
  33. lightning_sdk/lightning_cloud/openapi/models/__init__.py +4 -0
  34. lightning_sdk/lightning_cloud/openapi/models/id_reportrestarttimings_body.py +123 -0
  35. lightning_sdk/lightning_cloud/openapi/models/project_id_litregistry_body.py +2 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/v1_get_cluster_accelerator_demand_response.py +123 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_artifact.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_project.py +8 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_report_restart_timings_response.py +97 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_restart_timing.py +175 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_validate_deployment_image_request.py +27 -1
  45. lightning_sdk/machine.py +59 -27
  46. lightning_sdk/studio.py +5 -1
  47. lightning_sdk/teamspace.py +25 -0
  48. {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/METADATA +2 -1
  49. {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/RECORD +53 -47
  50. {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/LICENSE +0 -0
  51. {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/WHEEL +0 -0
  52. {lightning_sdk-0.1.55.dist-info → lightning_sdk-0.1.56.dist-info}/entry_points.txt +0 -0
  53. {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