lightning-sdk 0.2.21rc1__py3-none-any.whl → 0.2.23__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 (70) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/license_api.py +2 -2
  3. lightning_sdk/api/llm_api.py +69 -27
  4. lightning_sdk/api/pipeline_api.py +49 -9
  5. lightning_sdk/api/studio_api.py +2 -0
  6. lightning_sdk/cli/configure.py +34 -27
  7. lightning_sdk/cli/connect.py +2 -2
  8. lightning_sdk/cli/download.py +38 -2
  9. lightning_sdk/cli/entrypoint.py +15 -13
  10. lightning_sdk/cli/start.py +5 -2
  11. lightning_sdk/lightning_cloud/openapi/__init__.py +9 -0
  12. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +206 -0
  13. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +98 -5
  14. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +113 -0
  15. lightning_sdk/lightning_cloud/openapi/api/pipelines_service_api.py +118 -1
  16. lightning_sdk/lightning_cloud/openapi/api/schedules_service_api.py +5 -1
  17. lightning_sdk/lightning_cloud/openapi/models/__init__.py +9 -0
  18. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +29 -3
  19. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_visibility_body.py +123 -0
  20. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body.py +27 -1
  23. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +27 -1
  24. lightning_sdk/lightning_cloud/openapi/models/project_id_pipelines_body.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/v1_check_cluster_name_availability_request.py +123 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_check_cluster_name_availability_response.py +123 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +53 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_session.py +29 -3
  32. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_request.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_registry_repository_image_artifact_version_by_digest_response.py +97 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster.py +253 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +827 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_get_project_storage_metadata_response.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +105 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_breakdown_response.py +53 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_instance_overprovisioning_spec.py +29 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_run.py +53 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_list_clusters_response.py +6 -6
  44. lightning_sdk/lightning_cloud/openapi/models/v1_list_project_clusters_response.py +6 -6
  45. lightning_sdk/lightning_cloud/openapi/models/v1_lite_published_cloud_space_response.py +513 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +27 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/v1_shared_filesystem.py +131 -1
  50. lightning_sdk/lightning_cloud/openapi/models/v1_update_cloud_space_visibility_response.py +97 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +79 -1
  52. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +53 -183
  53. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +78 -104
  54. lightning_sdk/lightning_cloud/openapi/models/v1_volume_state.py +104 -0
  55. lightning_sdk/llm/llm.py +6 -1
  56. lightning_sdk/pipeline/__init__.py +12 -2
  57. lightning_sdk/pipeline/pipeline.py +59 -17
  58. lightning_sdk/pipeline/printer.py +121 -0
  59. lightning_sdk/pipeline/schedule.py +8 -0
  60. lightning_sdk/pipeline/{types.py → steps.py} +77 -59
  61. lightning_sdk/pipeline/utils.py +39 -17
  62. lightning_sdk/sandbox.py +157 -0
  63. lightning_sdk/services/license.py +12 -6
  64. lightning_sdk/studio.py +7 -1
  65. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/METADATA +1 -1
  66. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/RECORD +70 -58
  67. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/LICENSE +0 -0
  68. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/WHEEL +0 -0
  69. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/entry_points.txt +0 -0
  70. {lightning_sdk-0.2.21rc1.dist-info → lightning_sdk-0.2.23.dist-info}/top_level.txt +0 -0
@@ -44,8 +44,10 @@ class V1ClusterSpec(object):
44
44
  'auth_token': 'str',
45
45
  'available_accelerators': 'list[str]',
46
46
  'aws_v1': 'V1AWSDirectV1',
47
+ 'cloud_pricing_enabled': 'bool',
47
48
  'cloudflare_v1': 'V1CloudflareV1',
48
49
  'cluster_type': 'V1ClusterType',
50
+ 'compute_cluster_ids': 'list[str]',
49
51
  'deletion_options': 'V1ClusterDeletionOptions',
50
52
  'desired_state': 'V1ClusterState',
51
53
  'domain': 'str',
@@ -54,6 +56,7 @@ class V1ClusterSpec(object):
54
56
  'google_cloud_v1': 'V1GoogleCloudDirectV1',
55
57
  'insurer_disabled': 'bool',
56
58
  'lambda_labs_v1': 'V1LambdaLabsDirectV1',
59
+ 'lock_overprovisioning': 'bool',
57
60
  'locked_zones': 'list[str]',
58
61
  'monitor_deletion_disabled': 'bool',
59
62
  'nebius_v1': 'V1NebiusDirectV1',
@@ -76,8 +79,10 @@ class V1ClusterSpec(object):
76
79
  'auth_token': 'authToken',
77
80
  'available_accelerators': 'availableAccelerators',
78
81
  'aws_v1': 'awsV1',
82
+ 'cloud_pricing_enabled': 'cloudPricingEnabled',
79
83
  'cloudflare_v1': 'cloudflareV1',
80
84
  'cluster_type': 'clusterType',
85
+ 'compute_cluster_ids': 'computeClusterIds',
81
86
  'deletion_options': 'deletionOptions',
82
87
  'desired_state': 'desiredState',
83
88
  'domain': 'domain',
@@ -86,6 +91,7 @@ class V1ClusterSpec(object):
86
91
  'google_cloud_v1': 'googleCloudV1',
87
92
  'insurer_disabled': 'insurerDisabled',
88
93
  'lambda_labs_v1': 'lambdaLabsV1',
94
+ 'lock_overprovisioning': 'lockOverprovisioning',
89
95
  'locked_zones': 'lockedZones',
90
96
  'monitor_deletion_disabled': 'monitorDeletionDisabled',
91
97
  'nebius_v1': 'nebiusV1',
@@ -104,13 +110,15 @@ class V1ClusterSpec(object):
104
110
  'vultr_v1': 'vultrV1'
105
111
  }
106
112
 
107
- def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
113
+ def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
108
114
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
109
115
  self._auth_token = None
110
116
  self._available_accelerators = None
111
117
  self._aws_v1 = None
118
+ self._cloud_pricing_enabled = None
112
119
  self._cloudflare_v1 = None
113
120
  self._cluster_type = None
121
+ self._compute_cluster_ids = None
114
122
  self._deletion_options = None
115
123
  self._desired_state = None
116
124
  self._domain = None
@@ -119,6 +127,7 @@ class V1ClusterSpec(object):
119
127
  self._google_cloud_v1 = None
120
128
  self._insurer_disabled = None
121
129
  self._lambda_labs_v1 = None
130
+ self._lock_overprovisioning = None
122
131
  self._locked_zones = None
123
132
  self._monitor_deletion_disabled = None
124
133
  self._nebius_v1 = None
@@ -142,10 +151,14 @@ class V1ClusterSpec(object):
142
151
  self.available_accelerators = available_accelerators
143
152
  if aws_v1 is not None:
144
153
  self.aws_v1 = aws_v1
154
+ if cloud_pricing_enabled is not None:
155
+ self.cloud_pricing_enabled = cloud_pricing_enabled
145
156
  if cloudflare_v1 is not None:
146
157
  self.cloudflare_v1 = cloudflare_v1
147
158
  if cluster_type is not None:
148
159
  self.cluster_type = cluster_type
160
+ if compute_cluster_ids is not None:
161
+ self.compute_cluster_ids = compute_cluster_ids
149
162
  if deletion_options is not None:
150
163
  self.deletion_options = deletion_options
151
164
  if desired_state is not None:
@@ -162,6 +175,8 @@ class V1ClusterSpec(object):
162
175
  self.insurer_disabled = insurer_disabled
163
176
  if lambda_labs_v1 is not None:
164
177
  self.lambda_labs_v1 = lambda_labs_v1
178
+ if lock_overprovisioning is not None:
179
+ self.lock_overprovisioning = lock_overprovisioning
165
180
  if locked_zones is not None:
166
181
  self.locked_zones = locked_zones
167
182
  if monitor_deletion_disabled is not None:
@@ -258,6 +273,27 @@ class V1ClusterSpec(object):
258
273
 
259
274
  self._aws_v1 = aws_v1
260
275
 
276
+ @property
277
+ def cloud_pricing_enabled(self) -> 'bool':
278
+ """Gets the cloud_pricing_enabled of this V1ClusterSpec. # noqa: E501
279
+
280
+
281
+ :return: The cloud_pricing_enabled of this V1ClusterSpec. # noqa: E501
282
+ :rtype: bool
283
+ """
284
+ return self._cloud_pricing_enabled
285
+
286
+ @cloud_pricing_enabled.setter
287
+ def cloud_pricing_enabled(self, cloud_pricing_enabled: 'bool'):
288
+ """Sets the cloud_pricing_enabled of this V1ClusterSpec.
289
+
290
+
291
+ :param cloud_pricing_enabled: The cloud_pricing_enabled of this V1ClusterSpec. # noqa: E501
292
+ :type: bool
293
+ """
294
+
295
+ self._cloud_pricing_enabled = cloud_pricing_enabled
296
+
261
297
  @property
262
298
  def cloudflare_v1(self) -> 'V1CloudflareV1':
263
299
  """Gets the cloudflare_v1 of this V1ClusterSpec. # noqa: E501
@@ -300,6 +336,27 @@ class V1ClusterSpec(object):
300
336
 
301
337
  self._cluster_type = cluster_type
302
338
 
339
+ @property
340
+ def compute_cluster_ids(self) -> 'list[str]':
341
+ """Gets the compute_cluster_ids of this V1ClusterSpec. # noqa: E501
342
+
343
+
344
+ :return: The compute_cluster_ids of this V1ClusterSpec. # noqa: E501
345
+ :rtype: list[str]
346
+ """
347
+ return self._compute_cluster_ids
348
+
349
+ @compute_cluster_ids.setter
350
+ def compute_cluster_ids(self, compute_cluster_ids: 'list[str]'):
351
+ """Sets the compute_cluster_ids of this V1ClusterSpec.
352
+
353
+
354
+ :param compute_cluster_ids: The compute_cluster_ids of this V1ClusterSpec. # noqa: E501
355
+ :type: list[str]
356
+ """
357
+
358
+ self._compute_cluster_ids = compute_cluster_ids
359
+
303
360
  @property
304
361
  def deletion_options(self) -> 'V1ClusterDeletionOptions':
305
362
  """Gets the deletion_options of this V1ClusterSpec. # noqa: E501
@@ -470,6 +527,27 @@ class V1ClusterSpec(object):
470
527
 
471
528
  self._lambda_labs_v1 = lambda_labs_v1
472
529
 
530
+ @property
531
+ def lock_overprovisioning(self) -> 'bool':
532
+ """Gets the lock_overprovisioning of this V1ClusterSpec. # noqa: E501
533
+
534
+
535
+ :return: The lock_overprovisioning of this V1ClusterSpec. # noqa: E501
536
+ :rtype: bool
537
+ """
538
+ return self._lock_overprovisioning
539
+
540
+ @lock_overprovisioning.setter
541
+ def lock_overprovisioning(self, lock_overprovisioning: 'bool'):
542
+ """Sets the lock_overprovisioning of this V1ClusterSpec.
543
+
544
+
545
+ :param lock_overprovisioning: The lock_overprovisioning of this V1ClusterSpec. # noqa: E501
546
+ :type: bool
547
+ """
548
+
549
+ self._lock_overprovisioning = lock_overprovisioning
550
+
473
551
  @property
474
552
  def locked_zones(self) -> 'list[str]':
475
553
  """Gets the locked_zones of this V1ClusterSpec. # noqa: E501
@@ -52,6 +52,7 @@ class V1CreateDeploymentRequest(object):
52
52
  'name': 'str',
53
53
  'parameter_spec': 'V1ParameterizationSpec',
54
54
  'parent_template_id': 'str',
55
+ 'pipeline_reuse_deployment_between_runs': 'bool',
55
56
  'project_id': 'str',
56
57
  'recipients': 'V1DeploymentAlertingRecipients',
57
58
  'replicas': 'int',
@@ -71,6 +72,7 @@ class V1CreateDeploymentRequest(object):
71
72
  'name': 'name',
72
73
  'parameter_spec': 'parameterSpec',
73
74
  'parent_template_id': 'parentTemplateId',
75
+ 'pipeline_reuse_deployment_between_runs': 'pipelineReuseDeploymentBetweenRuns',
74
76
  'project_id': 'projectId',
75
77
  'recipients': 'recipients',
76
78
  'replicas': 'replicas',
@@ -78,7 +80,7 @@ class V1CreateDeploymentRequest(object):
78
80
  'strategy': 'strategy'
79
81
  }
80
82
 
81
- def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, endpoint: 'V1Endpoint' =None, from_litserve: 'bool' =None, from_onboarding: 'bool' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, parent_template_id: 'str' =None, project_id: 'str' =None, recipients: 'V1DeploymentAlertingRecipients' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, strategy: 'V1DeploymentStrategy' =None): # noqa: E501
83
+ def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, endpoint: 'V1Endpoint' =None, from_litserve: 'bool' =None, from_onboarding: 'bool' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, parent_template_id: 'str' =None, pipeline_reuse_deployment_between_runs: 'bool' =None, project_id: 'str' =None, recipients: 'V1DeploymentAlertingRecipients' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, strategy: 'V1DeploymentStrategy' =None): # noqa: E501
82
84
  """V1CreateDeploymentRequest - a model defined in Swagger""" # noqa: E501
83
85
  self._api_standard = None
84
86
  self._apis = None
@@ -91,6 +93,7 @@ class V1CreateDeploymentRequest(object):
91
93
  self._name = None
92
94
  self._parameter_spec = None
93
95
  self._parent_template_id = None
96
+ self._pipeline_reuse_deployment_between_runs = None
94
97
  self._project_id = None
95
98
  self._recipients = None
96
99
  self._replicas = None
@@ -119,6 +122,8 @@ class V1CreateDeploymentRequest(object):
119
122
  self.parameter_spec = parameter_spec
120
123
  if parent_template_id is not None:
121
124
  self.parent_template_id = parent_template_id
125
+ if pipeline_reuse_deployment_between_runs is not None:
126
+ self.pipeline_reuse_deployment_between_runs = pipeline_reuse_deployment_between_runs
122
127
  if project_id is not None:
123
128
  self.project_id = project_id
124
129
  if recipients is not None:
@@ -361,6 +366,27 @@ class V1CreateDeploymentRequest(object):
361
366
 
362
367
  self._parent_template_id = parent_template_id
363
368
 
369
+ @property
370
+ def pipeline_reuse_deployment_between_runs(self) -> 'bool':
371
+ """Gets the pipeline_reuse_deployment_between_runs of this V1CreateDeploymentRequest. # noqa: E501
372
+
373
+
374
+ :return: The pipeline_reuse_deployment_between_runs of this V1CreateDeploymentRequest. # noqa: E501
375
+ :rtype: bool
376
+ """
377
+ return self._pipeline_reuse_deployment_between_runs
378
+
379
+ @pipeline_reuse_deployment_between_runs.setter
380
+ def pipeline_reuse_deployment_between_runs(self, pipeline_reuse_deployment_between_runs: 'bool'):
381
+ """Sets the pipeline_reuse_deployment_between_runs of this V1CreateDeploymentRequest.
382
+
383
+
384
+ :param pipeline_reuse_deployment_between_runs: The pipeline_reuse_deployment_between_runs of this V1CreateDeploymentRequest. # noqa: E501
385
+ :type: bool
386
+ """
387
+
388
+ self._pipeline_reuse_deployment_between_runs = pipeline_reuse_deployment_between_runs
389
+
364
390
  @property
365
391
  def project_id(self) -> 'str':
366
392
  """Gets the project_id of this V1CreateDeploymentRequest. # noqa: E501
@@ -0,0 +1,97 @@
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 V1DeleteLitRegistryRepositoryImageArtifactVersionByDigestResponse(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
+ }
45
+
46
+ attribute_map = {
47
+ }
48
+
49
+ def __init__(self): # noqa: E501
50
+ """V1DeleteLitRegistryRepositoryImageArtifactVersionByDigestResponse - a model defined in Swagger""" # noqa: E501
51
+ self.discriminator = None
52
+
53
+ def to_dict(self) -> dict:
54
+ """Returns the model properties as a dict"""
55
+ result = {}
56
+
57
+ for attr, _ in six.iteritems(self.swagger_types):
58
+ value = getattr(self, attr)
59
+ if isinstance(value, list):
60
+ result[attr] = list(map(
61
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
62
+ value
63
+ ))
64
+ elif hasattr(value, "to_dict"):
65
+ result[attr] = value.to_dict()
66
+ elif isinstance(value, dict):
67
+ result[attr] = dict(map(
68
+ lambda item: (item[0], item[1].to_dict())
69
+ if hasattr(item[1], "to_dict") else item,
70
+ value.items()
71
+ ))
72
+ else:
73
+ result[attr] = value
74
+ if issubclass(V1DeleteLitRegistryRepositoryImageArtifactVersionByDigestResponse, dict):
75
+ for key, value in self.items():
76
+ result[key] = value
77
+
78
+ return result
79
+
80
+ def to_str(self) -> str:
81
+ """Returns the string representation of the model"""
82
+ return pprint.pformat(self.to_dict())
83
+
84
+ def __repr__(self) -> str:
85
+ """For `print` and `pprint`"""
86
+ return self.to_str()
87
+
88
+ def __eq__(self, other: 'V1DeleteLitRegistryRepositoryImageArtifactVersionByDigestResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1DeleteLitRegistryRepositoryImageArtifactVersionByDigestResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1DeleteLitRegistryRepositoryImageArtifactVersionByDigestResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other
@@ -0,0 +1,253 @@
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 V1ExternalCluster(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
+ 'created_at': 'datetime',
45
+ 'id': 'str',
46
+ 'name': 'str',
47
+ 'protected': 'bool',
48
+ 'spec': 'V1ExternalClusterSpec',
49
+ 'status': 'V1ClusterStatus'
50
+ }
51
+
52
+ attribute_map = {
53
+ 'created_at': 'createdAt',
54
+ 'id': 'id',
55
+ 'name': 'name',
56
+ 'protected': 'protected',
57
+ 'spec': 'spec',
58
+ 'status': 'status'
59
+ }
60
+
61
+ def __init__(self, created_at: 'datetime' =None, id: 'str' =None, name: 'str' =None, protected: 'bool' =None, spec: 'V1ExternalClusterSpec' =None, status: 'V1ClusterStatus' =None): # noqa: E501
62
+ """V1ExternalCluster - a model defined in Swagger""" # noqa: E501
63
+ self._created_at = None
64
+ self._id = None
65
+ self._name = None
66
+ self._protected = None
67
+ self._spec = None
68
+ self._status = None
69
+ self.discriminator = None
70
+ if created_at is not None:
71
+ self.created_at = created_at
72
+ if id is not None:
73
+ self.id = id
74
+ if name is not None:
75
+ self.name = name
76
+ if protected is not None:
77
+ self.protected = protected
78
+ if spec is not None:
79
+ self.spec = spec
80
+ if status is not None:
81
+ self.status = status
82
+
83
+ @property
84
+ def created_at(self) -> 'datetime':
85
+ """Gets the created_at of this V1ExternalCluster. # noqa: E501
86
+
87
+
88
+ :return: The created_at of this V1ExternalCluster. # noqa: E501
89
+ :rtype: datetime
90
+ """
91
+ return self._created_at
92
+
93
+ @created_at.setter
94
+ def created_at(self, created_at: 'datetime'):
95
+ """Sets the created_at of this V1ExternalCluster.
96
+
97
+
98
+ :param created_at: The created_at of this V1ExternalCluster. # noqa: E501
99
+ :type: datetime
100
+ """
101
+
102
+ self._created_at = created_at
103
+
104
+ @property
105
+ def id(self) -> 'str':
106
+ """Gets the id of this V1ExternalCluster. # noqa: E501
107
+
108
+
109
+ :return: The id of this V1ExternalCluster. # noqa: E501
110
+ :rtype: str
111
+ """
112
+ return self._id
113
+
114
+ @id.setter
115
+ def id(self, id: 'str'):
116
+ """Sets the id of this V1ExternalCluster.
117
+
118
+
119
+ :param id: The id of this V1ExternalCluster. # noqa: E501
120
+ :type: str
121
+ """
122
+
123
+ self._id = id
124
+
125
+ @property
126
+ def name(self) -> 'str':
127
+ """Gets the name of this V1ExternalCluster. # noqa: E501
128
+
129
+
130
+ :return: The name of this V1ExternalCluster. # noqa: E501
131
+ :rtype: str
132
+ """
133
+ return self._name
134
+
135
+ @name.setter
136
+ def name(self, name: 'str'):
137
+ """Sets the name of this V1ExternalCluster.
138
+
139
+
140
+ :param name: The name of this V1ExternalCluster. # noqa: E501
141
+ :type: str
142
+ """
143
+
144
+ self._name = name
145
+
146
+ @property
147
+ def protected(self) -> 'bool':
148
+ """Gets the protected of this V1ExternalCluster. # noqa: E501
149
+
150
+
151
+ :return: The protected of this V1ExternalCluster. # noqa: E501
152
+ :rtype: bool
153
+ """
154
+ return self._protected
155
+
156
+ @protected.setter
157
+ def protected(self, protected: 'bool'):
158
+ """Sets the protected of this V1ExternalCluster.
159
+
160
+
161
+ :param protected: The protected of this V1ExternalCluster. # noqa: E501
162
+ :type: bool
163
+ """
164
+
165
+ self._protected = protected
166
+
167
+ @property
168
+ def spec(self) -> 'V1ExternalClusterSpec':
169
+ """Gets the spec of this V1ExternalCluster. # noqa: E501
170
+
171
+
172
+ :return: The spec of this V1ExternalCluster. # noqa: E501
173
+ :rtype: V1ExternalClusterSpec
174
+ """
175
+ return self._spec
176
+
177
+ @spec.setter
178
+ def spec(self, spec: 'V1ExternalClusterSpec'):
179
+ """Sets the spec of this V1ExternalCluster.
180
+
181
+
182
+ :param spec: The spec of this V1ExternalCluster. # noqa: E501
183
+ :type: V1ExternalClusterSpec
184
+ """
185
+
186
+ self._spec = spec
187
+
188
+ @property
189
+ def status(self) -> 'V1ClusterStatus':
190
+ """Gets the status of this V1ExternalCluster. # noqa: E501
191
+
192
+
193
+ :return: The status of this V1ExternalCluster. # noqa: E501
194
+ :rtype: V1ClusterStatus
195
+ """
196
+ return self._status
197
+
198
+ @status.setter
199
+ def status(self, status: 'V1ClusterStatus'):
200
+ """Sets the status of this V1ExternalCluster.
201
+
202
+
203
+ :param status: The status of this V1ExternalCluster. # noqa: E501
204
+ :type: V1ClusterStatus
205
+ """
206
+
207
+ self._status = status
208
+
209
+ def to_dict(self) -> dict:
210
+ """Returns the model properties as a dict"""
211
+ result = {}
212
+
213
+ for attr, _ in six.iteritems(self.swagger_types):
214
+ value = getattr(self, attr)
215
+ if isinstance(value, list):
216
+ result[attr] = list(map(
217
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
218
+ value
219
+ ))
220
+ elif hasattr(value, "to_dict"):
221
+ result[attr] = value.to_dict()
222
+ elif isinstance(value, dict):
223
+ result[attr] = dict(map(
224
+ lambda item: (item[0], item[1].to_dict())
225
+ if hasattr(item[1], "to_dict") else item,
226
+ value.items()
227
+ ))
228
+ else:
229
+ result[attr] = value
230
+ if issubclass(V1ExternalCluster, dict):
231
+ for key, value in self.items():
232
+ result[key] = value
233
+
234
+ return result
235
+
236
+ def to_str(self) -> str:
237
+ """Returns the string representation of the model"""
238
+ return pprint.pformat(self.to_dict())
239
+
240
+ def __repr__(self) -> str:
241
+ """For `print` and `pprint`"""
242
+ return self.to_str()
243
+
244
+ def __eq__(self, other: 'V1ExternalCluster') -> bool:
245
+ """Returns true if both objects are equal"""
246
+ if not isinstance(other, V1ExternalCluster):
247
+ return False
248
+
249
+ return self.__dict__ == other.__dict__
250
+
251
+ def __ne__(self, other: 'V1ExternalCluster') -> bool:
252
+ """Returns true if both objects are not equal"""
253
+ return not self == other