lightning-sdk 0.1.58__py3-none-any.whl → 0.2.1__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 (121) hide show
  1. lightning_sdk/__init__.py +5 -3
  2. lightning_sdk/api/deployment_api.py +23 -11
  3. lightning_sdk/api/job_api.py +42 -7
  4. lightning_sdk/api/lit_container_api.py +23 -3
  5. lightning_sdk/api/mmt_api.py +46 -8
  6. lightning_sdk/api/pipeline_api.py +50 -0
  7. lightning_sdk/api/teamspace_api.py +2 -2
  8. lightning_sdk/api/utils.py +15 -5
  9. lightning_sdk/cli/ai_hub.py +30 -65
  10. lightning_sdk/cli/coloring.py +60 -0
  11. lightning_sdk/cli/configure.py +25 -40
  12. lightning_sdk/cli/connect.py +7 -20
  13. lightning_sdk/cli/create.py +83 -0
  14. lightning_sdk/cli/delete.py +72 -75
  15. lightning_sdk/cli/docker.py +22 -0
  16. lightning_sdk/cli/download.py +78 -113
  17. lightning_sdk/cli/entrypoint.py +44 -65
  18. lightning_sdk/cli/generate.py +28 -43
  19. lightning_sdk/cli/inspect.py +22 -50
  20. lightning_sdk/cli/list.py +281 -222
  21. lightning_sdk/cli/mmts_menu.py +1 -1
  22. lightning_sdk/cli/open.py +62 -0
  23. lightning_sdk/cli/run.py +430 -263
  24. lightning_sdk/cli/serve.py +128 -191
  25. lightning_sdk/cli/start.py +55 -36
  26. lightning_sdk/cli/stop.py +97 -55
  27. lightning_sdk/cli/switch.py +53 -36
  28. lightning_sdk/cli/upload.py +318 -255
  29. lightning_sdk/deployment/__init__.py +2 -0
  30. lightning_sdk/deployment/deployment.py +33 -8
  31. lightning_sdk/lightning_cloud/openapi/__init__.py +23 -0
  32. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  33. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +10 -6
  34. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +355 -4
  35. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +4 -4
  36. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +14 -2
  37. lightning_sdk/lightning_cloud/openapi/api/pipelines_service_api.py +674 -0
  38. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +303 -4
  39. lightning_sdk/lightning_cloud/openapi/models/__init__.py +22 -0
  40. lightning_sdk/lightning_cloud/openapi/models/agents_id_body.py +17 -69
  41. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityreservations_body.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/create.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +53 -1
  44. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +105 -1
  45. lightning_sdk/lightning_cloud/openapi/models/id_visibility_body1.py +1 -27
  46. lightning_sdk/lightning_cloud/openapi/models/id_visibility_body2.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/org_id_memberships_body.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +157 -1
  49. lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body.py +461 -0
  50. lightning_sdk/lightning_cloud/openapi/models/project_id_pipelines_body.py +227 -0
  51. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +157 -1
  52. lightning_sdk/lightning_cloud/openapi/models/slurm_jobs_body.py +79 -1
  53. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body.py +1 -27
  54. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +175 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_agent_job.py +79 -1
  56. lightning_sdk/lightning_cloud/openapi/models/v1_assistant.py +17 -69
  57. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_block_offering.py +27 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_artifact_event_type.py +1 -1
  59. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +131 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +79 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_complete_upload_temporary_artifact_request.py +175 -0
  63. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_request.py +461 -0
  64. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_template_request.py +27 -1
  65. lightning_sdk/lightning_cloud/openapi/models/v1_create_job_request.py +201 -0
  66. lightning_sdk/lightning_cloud/openapi/models/v1_create_managed_endpoint_response.py +149 -0
  67. lightning_sdk/lightning_cloud/openapi/models/v1_create_multi_machine_job_request.py +253 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  69. lightning_sdk/lightning_cloud/openapi/models/v1_delete_pipeline_response.py +149 -0
  70. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +105 -1
  71. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_details.py +175 -0
  72. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template.py +53 -1
  73. lightning_sdk/lightning_cloud/openapi/models/v1_filestore_data_connection.py +201 -0
  74. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_job.py +53 -1
  75. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_mmt.py +53 -1
  76. lightning_sdk/lightning_cloud/openapi/models/v1_find_capacity_block_offering_response.py +29 -3
  77. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +133 -3
  78. lightning_sdk/lightning_cloud/openapi/models/v1_job_artifacts_type.py +103 -0
  79. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +53 -1
  80. lightning_sdk/lightning_cloud/openapi/models/v1_job_timing.py +27 -1
  81. lightning_sdk/lightning_cloud/openapi/models/v1_list_pipelines_response.py +123 -0
  82. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_artifact.py +27 -1
  83. lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +29 -1
  84. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +27 -1
  85. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py +27 -1
  86. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_state.py +2 -0
  87. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +209 -1
  88. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline.py +513 -0
  89. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_schedule.py +149 -0
  90. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step.py +253 -0
  91. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step_status.py +331 -0
  92. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step_type.py +104 -0
  93. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +157 -1
  94. lightning_sdk/lightning_cloud/openapi/models/v1_restart_timing.py +27 -1
  95. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
  96. lightning_sdk/lightning_cloud/openapi/models/v1_shared_filesystem.py +201 -0
  97. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_job.py +27 -1
  98. lightning_sdk/lightning_cloud/openapi/models/v1_update_job_visibility_response.py +97 -0
  99. lightning_sdk/lightning_cloud/openapi/models/v1_upload_temporary_artifact_request.py +123 -0
  100. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +95 -355
  101. lightning_sdk/lightning_cloud/openapi/models/validate.py +27 -1
  102. lightning_sdk/lightning_cloud/rest_client.py +4 -2
  103. lightning_sdk/machine.py +25 -1
  104. lightning_sdk/models.py +18 -12
  105. lightning_sdk/pipeline/__init__.py +4 -0
  106. lightning_sdk/pipeline/pipeline.py +109 -0
  107. lightning_sdk/pipeline/types.py +268 -0
  108. lightning_sdk/pipeline/utils.py +69 -0
  109. lightning_sdk/plugin.py +9 -10
  110. lightning_sdk/serve.py +134 -0
  111. lightning_sdk/services/utilities.py +2 -2
  112. lightning_sdk/studio.py +5 -1
  113. lightning_sdk/teamspace.py +1 -1
  114. lightning_sdk/utils/resolve.py +12 -1
  115. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.1.dist-info}/METADATA +6 -8
  116. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.1.dist-info}/RECORD +120 -88
  117. lightning_sdk/cli/legacy.py +0 -135
  118. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.1.dist-info}/LICENSE +0 -0
  119. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.1.dist-info}/WHEEL +0 -0
  120. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.1.dist-info}/entry_points.txt +0 -0
  121. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.1.dist-info}/top_level.txt +0 -0
@@ -41,35 +41,61 @@ class ProjectsIdBody(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'allow_aws_saas': 'bool',
45
+ 'allow_gcp_saas': 'bool',
46
+ 'allow_lambda_saas': 'bool',
47
+ 'allow_vultr_saas': 'bool',
44
48
  'description': 'str',
45
49
  'display_name': 'str',
46
50
  'name': 'str',
47
51
  'preferred_cluster': 'str',
52
+ 'preferred_deployment_provider': 'str',
53
+ 'preferred_studio_provider': 'str',
48
54
  'quotas': 'V1Quotas',
49
55
  'same_compute_on_resume': 'bool',
50
56
  'start_studio_on_spot_instance': 'bool'
51
57
  }
52
58
 
53
59
  attribute_map = {
60
+ 'allow_aws_saas': 'allowAwsSaas',
61
+ 'allow_gcp_saas': 'allowGcpSaas',
62
+ 'allow_lambda_saas': 'allowLambdaSaas',
63
+ 'allow_vultr_saas': 'allowVultrSaas',
54
64
  'description': 'description',
55
65
  'display_name': 'displayName',
56
66
  'name': 'name',
57
67
  'preferred_cluster': 'preferredCluster',
68
+ 'preferred_deployment_provider': 'preferredDeploymentProvider',
69
+ 'preferred_studio_provider': 'preferredStudioProvider',
58
70
  'quotas': 'quotas',
59
71
  'same_compute_on_resume': 'sameComputeOnResume',
60
72
  'start_studio_on_spot_instance': 'startStudioOnSpotInstance'
61
73
  }
62
74
 
63
- def __init__(self, description: 'str' =None, display_name: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None): # noqa: E501
75
+ def __init__(self, allow_aws_saas: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, description: 'str' =None, display_name: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None): # noqa: E501
64
76
  """ProjectsIdBody - a model defined in Swagger""" # noqa: E501
77
+ self._allow_aws_saas = None
78
+ self._allow_gcp_saas = None
79
+ self._allow_lambda_saas = None
80
+ self._allow_vultr_saas = None
65
81
  self._description = None
66
82
  self._display_name = None
67
83
  self._name = None
68
84
  self._preferred_cluster = None
85
+ self._preferred_deployment_provider = None
86
+ self._preferred_studio_provider = None
69
87
  self._quotas = None
70
88
  self._same_compute_on_resume = None
71
89
  self._start_studio_on_spot_instance = None
72
90
  self.discriminator = None
91
+ if allow_aws_saas is not None:
92
+ self.allow_aws_saas = allow_aws_saas
93
+ if allow_gcp_saas is not None:
94
+ self.allow_gcp_saas = allow_gcp_saas
95
+ if allow_lambda_saas is not None:
96
+ self.allow_lambda_saas = allow_lambda_saas
97
+ if allow_vultr_saas is not None:
98
+ self.allow_vultr_saas = allow_vultr_saas
73
99
  if description is not None:
74
100
  self.description = description
75
101
  if display_name is not None:
@@ -78,6 +104,10 @@ class ProjectsIdBody(object):
78
104
  self.name = name
79
105
  if preferred_cluster is not None:
80
106
  self.preferred_cluster = preferred_cluster
107
+ if preferred_deployment_provider is not None:
108
+ self.preferred_deployment_provider = preferred_deployment_provider
109
+ if preferred_studio_provider is not None:
110
+ self.preferred_studio_provider = preferred_studio_provider
81
111
  if quotas is not None:
82
112
  self.quotas = quotas
83
113
  if same_compute_on_resume is not None:
@@ -85,6 +115,90 @@ class ProjectsIdBody(object):
85
115
  if start_studio_on_spot_instance is not None:
86
116
  self.start_studio_on_spot_instance = start_studio_on_spot_instance
87
117
 
118
+ @property
119
+ def allow_aws_saas(self) -> 'bool':
120
+ """Gets the allow_aws_saas of this ProjectsIdBody. # noqa: E501
121
+
122
+
123
+ :return: The allow_aws_saas of this ProjectsIdBody. # noqa: E501
124
+ :rtype: bool
125
+ """
126
+ return self._allow_aws_saas
127
+
128
+ @allow_aws_saas.setter
129
+ def allow_aws_saas(self, allow_aws_saas: 'bool'):
130
+ """Sets the allow_aws_saas of this ProjectsIdBody.
131
+
132
+
133
+ :param allow_aws_saas: The allow_aws_saas of this ProjectsIdBody. # noqa: E501
134
+ :type: bool
135
+ """
136
+
137
+ self._allow_aws_saas = allow_aws_saas
138
+
139
+ @property
140
+ def allow_gcp_saas(self) -> 'bool':
141
+ """Gets the allow_gcp_saas of this ProjectsIdBody. # noqa: E501
142
+
143
+
144
+ :return: The allow_gcp_saas of this ProjectsIdBody. # noqa: E501
145
+ :rtype: bool
146
+ """
147
+ return self._allow_gcp_saas
148
+
149
+ @allow_gcp_saas.setter
150
+ def allow_gcp_saas(self, allow_gcp_saas: 'bool'):
151
+ """Sets the allow_gcp_saas of this ProjectsIdBody.
152
+
153
+
154
+ :param allow_gcp_saas: The allow_gcp_saas of this ProjectsIdBody. # noqa: E501
155
+ :type: bool
156
+ """
157
+
158
+ self._allow_gcp_saas = allow_gcp_saas
159
+
160
+ @property
161
+ def allow_lambda_saas(self) -> 'bool':
162
+ """Gets the allow_lambda_saas of this ProjectsIdBody. # noqa: E501
163
+
164
+
165
+ :return: The allow_lambda_saas of this ProjectsIdBody. # noqa: E501
166
+ :rtype: bool
167
+ """
168
+ return self._allow_lambda_saas
169
+
170
+ @allow_lambda_saas.setter
171
+ def allow_lambda_saas(self, allow_lambda_saas: 'bool'):
172
+ """Sets the allow_lambda_saas of this ProjectsIdBody.
173
+
174
+
175
+ :param allow_lambda_saas: The allow_lambda_saas of this ProjectsIdBody. # noqa: E501
176
+ :type: bool
177
+ """
178
+
179
+ self._allow_lambda_saas = allow_lambda_saas
180
+
181
+ @property
182
+ def allow_vultr_saas(self) -> 'bool':
183
+ """Gets the allow_vultr_saas of this ProjectsIdBody. # noqa: E501
184
+
185
+
186
+ :return: The allow_vultr_saas of this ProjectsIdBody. # noqa: E501
187
+ :rtype: bool
188
+ """
189
+ return self._allow_vultr_saas
190
+
191
+ @allow_vultr_saas.setter
192
+ def allow_vultr_saas(self, allow_vultr_saas: 'bool'):
193
+ """Sets the allow_vultr_saas of this ProjectsIdBody.
194
+
195
+
196
+ :param allow_vultr_saas: The allow_vultr_saas of this ProjectsIdBody. # noqa: E501
197
+ :type: bool
198
+ """
199
+
200
+ self._allow_vultr_saas = allow_vultr_saas
201
+
88
202
  @property
89
203
  def description(self) -> 'str':
90
204
  """Gets the description of this ProjectsIdBody. # noqa: E501
@@ -169,6 +283,48 @@ class ProjectsIdBody(object):
169
283
 
170
284
  self._preferred_cluster = preferred_cluster
171
285
 
286
+ @property
287
+ def preferred_deployment_provider(self) -> 'str':
288
+ """Gets the preferred_deployment_provider of this ProjectsIdBody. # noqa: E501
289
+
290
+
291
+ :return: The preferred_deployment_provider of this ProjectsIdBody. # noqa: E501
292
+ :rtype: str
293
+ """
294
+ return self._preferred_deployment_provider
295
+
296
+ @preferred_deployment_provider.setter
297
+ def preferred_deployment_provider(self, preferred_deployment_provider: 'str'):
298
+ """Sets the preferred_deployment_provider of this ProjectsIdBody.
299
+
300
+
301
+ :param preferred_deployment_provider: The preferred_deployment_provider of this ProjectsIdBody. # noqa: E501
302
+ :type: str
303
+ """
304
+
305
+ self._preferred_deployment_provider = preferred_deployment_provider
306
+
307
+ @property
308
+ def preferred_studio_provider(self) -> 'str':
309
+ """Gets the preferred_studio_provider of this ProjectsIdBody. # noqa: E501
310
+
311
+
312
+ :return: The preferred_studio_provider of this ProjectsIdBody. # noqa: E501
313
+ :rtype: str
314
+ """
315
+ return self._preferred_studio_provider
316
+
317
+ @preferred_studio_provider.setter
318
+ def preferred_studio_provider(self, preferred_studio_provider: 'str'):
319
+ """Sets the preferred_studio_provider of this ProjectsIdBody.
320
+
321
+
322
+ :param preferred_studio_provider: The preferred_studio_provider of this ProjectsIdBody. # noqa: E501
323
+ :type: str
324
+ """
325
+
326
+ self._preferred_studio_provider = preferred_studio_provider
327
+
172
328
  @property
173
329
  def quotas(self) -> 'V1Quotas':
174
330
  """Gets the quotas of this ProjectsIdBody. # noqa: E501
@@ -45,6 +45,9 @@ class SlurmJobsBody(object):
45
45
  'cloudspace_id': 'str',
46
46
  'cluster_id': 'str',
47
47
  'command': 'str',
48
+ 'entrypoint': 'str',
49
+ 'image': 'str',
50
+ 'image_secret_ref': 'str',
48
51
  'name': 'str',
49
52
  'num_gpus': 'str',
50
53
  'service_id': 'str',
@@ -57,6 +60,9 @@ class SlurmJobsBody(object):
57
60
  'cloudspace_id': 'cloudspaceId',
58
61
  'cluster_id': 'clusterId',
59
62
  'command': 'command',
63
+ 'entrypoint': 'entrypoint',
64
+ 'image': 'image',
65
+ 'image_secret_ref': 'imageSecretRef',
60
66
  'name': 'name',
61
67
  'num_gpus': 'numGpus',
62
68
  'service_id': 'serviceId',
@@ -64,12 +70,15 @@ class SlurmJobsBody(object):
64
70
  'work_dir': 'workDir'
65
71
  }
66
72
 
67
- def __init__(self, cache_id: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, command: 'str' =None, name: 'str' =None, num_gpus: 'str' =None, service_id: 'str' =None, sync_env: 'bool' =None, work_dir: 'str' =None): # noqa: E501
73
+ def __init__(self, cache_id: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, command: 'str' =None, entrypoint: 'str' =None, image: 'str' =None, image_secret_ref: 'str' =None, name: 'str' =None, num_gpus: 'str' =None, service_id: 'str' =None, sync_env: 'bool' =None, work_dir: 'str' =None): # noqa: E501
68
74
  """SlurmJobsBody - a model defined in Swagger""" # noqa: E501
69
75
  self._cache_id = None
70
76
  self._cloudspace_id = None
71
77
  self._cluster_id = None
72
78
  self._command = None
79
+ self._entrypoint = None
80
+ self._image = None
81
+ self._image_secret_ref = None
73
82
  self._name = None
74
83
  self._num_gpus = None
75
84
  self._service_id = None
@@ -84,6 +93,12 @@ class SlurmJobsBody(object):
84
93
  self.cluster_id = cluster_id
85
94
  if command is not None:
86
95
  self.command = command
96
+ if entrypoint is not None:
97
+ self.entrypoint = entrypoint
98
+ if image is not None:
99
+ self.image = image
100
+ if image_secret_ref is not None:
101
+ self.image_secret_ref = image_secret_ref
87
102
  if name is not None:
88
103
  self.name = name
89
104
  if num_gpus is not None:
@@ -179,6 +194,69 @@ class SlurmJobsBody(object):
179
194
 
180
195
  self._command = command
181
196
 
197
+ @property
198
+ def entrypoint(self) -> 'str':
199
+ """Gets the entrypoint of this SlurmJobsBody. # noqa: E501
200
+
201
+
202
+ :return: The entrypoint of this SlurmJobsBody. # noqa: E501
203
+ :rtype: str
204
+ """
205
+ return self._entrypoint
206
+
207
+ @entrypoint.setter
208
+ def entrypoint(self, entrypoint: 'str'):
209
+ """Sets the entrypoint of this SlurmJobsBody.
210
+
211
+
212
+ :param entrypoint: The entrypoint of this SlurmJobsBody. # noqa: E501
213
+ :type: str
214
+ """
215
+
216
+ self._entrypoint = entrypoint
217
+
218
+ @property
219
+ def image(self) -> 'str':
220
+ """Gets the image of this SlurmJobsBody. # noqa: E501
221
+
222
+
223
+ :return: The image of this SlurmJobsBody. # noqa: E501
224
+ :rtype: str
225
+ """
226
+ return self._image
227
+
228
+ @image.setter
229
+ def image(self, image: 'str'):
230
+ """Sets the image of this SlurmJobsBody.
231
+
232
+
233
+ :param image: The image of this SlurmJobsBody. # noqa: E501
234
+ :type: str
235
+ """
236
+
237
+ self._image = image
238
+
239
+ @property
240
+ def image_secret_ref(self) -> 'str':
241
+ """Gets the image_secret_ref of this SlurmJobsBody. # noqa: E501
242
+
243
+
244
+ :return: The image_secret_ref of this SlurmJobsBody. # noqa: E501
245
+ :rtype: str
246
+ """
247
+ return self._image_secret_ref
248
+
249
+ @image_secret_ref.setter
250
+ def image_secret_ref(self, image_secret_ref: 'str'):
251
+ """Sets the image_secret_ref of this SlurmJobsBody.
252
+
253
+
254
+ :param image_secret_ref: The image_secret_ref of this SlurmJobsBody. # noqa: E501
255
+ :type: str
256
+ """
257
+
258
+ self._image_secret_ref = image_secret_ref
259
+
182
260
  @property
183
261
  def name(self) -> 'str':
184
262
  """Gets the name of this SlurmJobsBody. # noqa: E501
@@ -41,51 +41,25 @@ class UploadsUploadIdBody(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'cluster_id': 'str',
45
44
  'filename': 'str',
46
45
  'parts': 'list[str]'
47
46
  }
48
47
 
49
48
  attribute_map = {
50
- 'cluster_id': 'clusterId',
51
49
  'filename': 'filename',
52
50
  'parts': 'parts'
53
51
  }
54
52
 
55
- def __init__(self, cluster_id: 'str' =None, filename: 'str' =None, parts: 'list[str]' =None): # noqa: E501
53
+ def __init__(self, filename: 'str' =None, parts: 'list[str]' =None): # noqa: E501
56
54
  """UploadsUploadIdBody - a model defined in Swagger""" # noqa: E501
57
- self._cluster_id = None
58
55
  self._filename = None
59
56
  self._parts = None
60
57
  self.discriminator = None
61
- if cluster_id is not None:
62
- self.cluster_id = cluster_id
63
58
  if filename is not None:
64
59
  self.filename = filename
65
60
  if parts is not None:
66
61
  self.parts = parts
67
62
 
68
- @property
69
- def cluster_id(self) -> 'str':
70
- """Gets the cluster_id of this UploadsUploadIdBody. # noqa: E501
71
-
72
-
73
- :return: The cluster_id of this UploadsUploadIdBody. # noqa: E501
74
- :rtype: str
75
- """
76
- return self._cluster_id
77
-
78
- @cluster_id.setter
79
- def cluster_id(self, cluster_id: 'str'):
80
- """Sets the cluster_id of this UploadsUploadIdBody.
81
-
82
-
83
- :param cluster_id: The cluster_id of this UploadsUploadIdBody. # noqa: E501
84
- :type: str
85
- """
86
-
87
- self._cluster_id = cluster_id
88
-
89
63
  @property
90
64
  def filename(self) -> 'str':
91
65
  """Gets the filename of this UploadsUploadIdBody. # noqa: E501
@@ -0,0 +1,175 @@
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 UploadsUploadIdBody1(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
+ 'cluster_id': 'str',
45
+ 'filename': 'str',
46
+ 'parts': 'list[str]'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'cluster_id': 'clusterId',
51
+ 'filename': 'filename',
52
+ 'parts': 'parts'
53
+ }
54
+
55
+ def __init__(self, cluster_id: 'str' =None, filename: 'str' =None, parts: 'list[str]' =None): # noqa: E501
56
+ """UploadsUploadIdBody1 - a model defined in Swagger""" # noqa: E501
57
+ self._cluster_id = None
58
+ self._filename = None
59
+ self._parts = None
60
+ self.discriminator = None
61
+ if cluster_id is not None:
62
+ self.cluster_id = cluster_id
63
+ if filename is not None:
64
+ self.filename = filename
65
+ if parts is not None:
66
+ self.parts = parts
67
+
68
+ @property
69
+ def cluster_id(self) -> 'str':
70
+ """Gets the cluster_id of this UploadsUploadIdBody1. # noqa: E501
71
+
72
+
73
+ :return: The cluster_id of this UploadsUploadIdBody1. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._cluster_id
77
+
78
+ @cluster_id.setter
79
+ def cluster_id(self, cluster_id: 'str'):
80
+ """Sets the cluster_id of this UploadsUploadIdBody1.
81
+
82
+
83
+ :param cluster_id: The cluster_id of this UploadsUploadIdBody1. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._cluster_id = cluster_id
88
+
89
+ @property
90
+ def filename(self) -> 'str':
91
+ """Gets the filename of this UploadsUploadIdBody1. # noqa: E501
92
+
93
+
94
+ :return: The filename of this UploadsUploadIdBody1. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._filename
98
+
99
+ @filename.setter
100
+ def filename(self, filename: 'str'):
101
+ """Sets the filename of this UploadsUploadIdBody1.
102
+
103
+
104
+ :param filename: The filename of this UploadsUploadIdBody1. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._filename = filename
109
+
110
+ @property
111
+ def parts(self) -> 'list[str]':
112
+ """Gets the parts of this UploadsUploadIdBody1. # noqa: E501
113
+
114
+
115
+ :return: The parts of this UploadsUploadIdBody1. # noqa: E501
116
+ :rtype: list[str]
117
+ """
118
+ return self._parts
119
+
120
+ @parts.setter
121
+ def parts(self, parts: 'list[str]'):
122
+ """Sets the parts of this UploadsUploadIdBody1.
123
+
124
+
125
+ :param parts: The parts of this UploadsUploadIdBody1. # noqa: E501
126
+ :type: list[str]
127
+ """
128
+
129
+ self._parts = parts
130
+
131
+ def to_dict(self) -> dict:
132
+ """Returns the model properties as a dict"""
133
+ result = {}
134
+
135
+ for attr, _ in six.iteritems(self.swagger_types):
136
+ value = getattr(self, attr)
137
+ if isinstance(value, list):
138
+ result[attr] = list(map(
139
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
140
+ value
141
+ ))
142
+ elif hasattr(value, "to_dict"):
143
+ result[attr] = value.to_dict()
144
+ elif isinstance(value, dict):
145
+ result[attr] = dict(map(
146
+ lambda item: (item[0], item[1].to_dict())
147
+ if hasattr(item[1], "to_dict") else item,
148
+ value.items()
149
+ ))
150
+ else:
151
+ result[attr] = value
152
+ if issubclass(UploadsUploadIdBody1, dict):
153
+ for key, value in self.items():
154
+ result[key] = value
155
+
156
+ return result
157
+
158
+ def to_str(self) -> str:
159
+ """Returns the string representation of the model"""
160
+ return pprint.pformat(self.to_dict())
161
+
162
+ def __repr__(self) -> str:
163
+ """For `print` and `pprint`"""
164
+ return self.to_str()
165
+
166
+ def __eq__(self, other: 'UploadsUploadIdBody1') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, UploadsUploadIdBody1):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'UploadsUploadIdBody1') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -49,6 +49,9 @@ class V1AgentJob(object):
49
49
  'conda_env_path': 'str',
50
50
  'created_at': 'datetime',
51
51
  'id': 'str',
52
+ 'image': 'str',
53
+ 'image_login_command': 'str',
54
+ 'image_secret_ref': 'str',
52
55
  'linked_project_id': 'str',
53
56
  'linked_user_id': 'str',
54
57
  'message': 'str',
@@ -75,6 +78,9 @@ class V1AgentJob(object):
75
78
  'conda_env_path': 'condaEnvPath',
76
79
  'created_at': 'createdAt',
77
80
  'id': 'id',
81
+ 'image': 'image',
82
+ 'image_login_command': 'imageLoginCommand',
83
+ 'image_secret_ref': 'imageSecretRef',
78
84
  'linked_project_id': 'linkedProjectId',
79
85
  'linked_user_id': 'linkedUserId',
80
86
  'message': 'message',
@@ -92,7 +98,7 @@ class V1AgentJob(object):
92
98
  'work_dir': 'workDir'
93
99
  }
94
100
 
95
- def __init__(self, cache_id: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, command: 'str' =None, conda_checksum: 'str' =None, conda_env_path: 'str' =None, created_at: 'datetime' =None, id: 'str' =None, linked_project_id: 'str' =None, linked_user_id: 'str' =None, message: 'str' =None, name: 'str' =None, num_gpus: 'str' =None, project_id: 'str' =None, run_id: 'str' =None, service_id: 'str' =None, slurm_v1_status: 'V1SlurmV1JobStatus' =None, state: 'str' =None, updated_at: 'datetime' =None, upload_eta_seconds: 'str' =None, upload_in_progress: 'bool' =None, upload_percentage: 'str' =None, work_dir: 'str' =None): # noqa: E501
101
+ def __init__(self, cache_id: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, command: 'str' =None, conda_checksum: 'str' =None, conda_env_path: 'str' =None, created_at: 'datetime' =None, id: 'str' =None, image: 'str' =None, image_login_command: 'str' =None, image_secret_ref: 'str' =None, linked_project_id: 'str' =None, linked_user_id: 'str' =None, message: 'str' =None, name: 'str' =None, num_gpus: 'str' =None, project_id: 'str' =None, run_id: 'str' =None, service_id: 'str' =None, slurm_v1_status: 'V1SlurmV1JobStatus' =None, state: 'str' =None, updated_at: 'datetime' =None, upload_eta_seconds: 'str' =None, upload_in_progress: 'bool' =None, upload_percentage: 'str' =None, work_dir: 'str' =None): # noqa: E501
96
102
  """V1AgentJob - a model defined in Swagger""" # noqa: E501
97
103
  self._cache_id = None
98
104
  self._cloudspace_id = None
@@ -102,6 +108,9 @@ class V1AgentJob(object):
102
108
  self._conda_env_path = None
103
109
  self._created_at = None
104
110
  self._id = None
111
+ self._image = None
112
+ self._image_login_command = None
113
+ self._image_secret_ref = None
105
114
  self._linked_project_id = None
106
115
  self._linked_user_id = None
107
116
  self._message = None
@@ -134,6 +143,12 @@ class V1AgentJob(object):
134
143
  self.created_at = created_at
135
144
  if id is not None:
136
145
  self.id = id
146
+ if image is not None:
147
+ self.image = image
148
+ if image_login_command is not None:
149
+ self.image_login_command = image_login_command
150
+ if image_secret_ref is not None:
151
+ self.image_secret_ref = image_secret_ref
137
152
  if linked_project_id is not None:
138
153
  self.linked_project_id = linked_project_id
139
154
  if linked_user_id is not None:
@@ -333,6 +348,69 @@ class V1AgentJob(object):
333
348
 
334
349
  self._id = id
335
350
 
351
+ @property
352
+ def image(self) -> 'str':
353
+ """Gets the image of this V1AgentJob. # noqa: E501
354
+
355
+
356
+ :return: The image of this V1AgentJob. # noqa: E501
357
+ :rtype: str
358
+ """
359
+ return self._image
360
+
361
+ @image.setter
362
+ def image(self, image: 'str'):
363
+ """Sets the image of this V1AgentJob.
364
+
365
+
366
+ :param image: The image of this V1AgentJob. # noqa: E501
367
+ :type: str
368
+ """
369
+
370
+ self._image = image
371
+
372
+ @property
373
+ def image_login_command(self) -> 'str':
374
+ """Gets the image_login_command of this V1AgentJob. # noqa: E501
375
+
376
+
377
+ :return: The image_login_command of this V1AgentJob. # noqa: E501
378
+ :rtype: str
379
+ """
380
+ return self._image_login_command
381
+
382
+ @image_login_command.setter
383
+ def image_login_command(self, image_login_command: 'str'):
384
+ """Sets the image_login_command of this V1AgentJob.
385
+
386
+
387
+ :param image_login_command: The image_login_command of this V1AgentJob. # noqa: E501
388
+ :type: str
389
+ """
390
+
391
+ self._image_login_command = image_login_command
392
+
393
+ @property
394
+ def image_secret_ref(self) -> 'str':
395
+ """Gets the image_secret_ref of this V1AgentJob. # noqa: E501
396
+
397
+
398
+ :return: The image_secret_ref of this V1AgentJob. # noqa: E501
399
+ :rtype: str
400
+ """
401
+ return self._image_secret_ref
402
+
403
+ @image_secret_ref.setter
404
+ def image_secret_ref(self, image_secret_ref: 'str'):
405
+ """Sets the image_secret_ref of this V1AgentJob.
406
+
407
+
408
+ :param image_secret_ref: The image_secret_ref of this V1AgentJob. # noqa: E501
409
+ :type: str
410
+ """
411
+
412
+ self._image_secret_ref = image_secret_ref
413
+
336
414
  @property
337
415
  def linked_project_id(self) -> 'str':
338
416
  """Gets the linked_project_id of this V1AgentJob. # noqa: E501