lightning-sdk 0.1.58__py3-none-any.whl → 0.2.0__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 (118) 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 +7 -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 +77 -0
  16. lightning_sdk/cli/download.py +71 -111
  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 +162 -189
  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 +21 -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 +670 -0
  38. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +303 -4
  39. lightning_sdk/lightning_cloud/openapi/models/__init__.py +20 -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 +435 -0
  50. lightning_sdk/lightning_cloud/openapi/models/project_id_pipelines_body.py +201 -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 +27 -1
  75. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_mmt.py +27 -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_spec.py +53 -1
  79. lightning_sdk/lightning_cloud/openapi/models/v1_job_timing.py +27 -1
  80. lightning_sdk/lightning_cloud/openapi/models/v1_list_pipelines_response.py +123 -0
  81. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_artifact.py +27 -1
  82. lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +29 -1
  83. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +27 -1
  84. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py +27 -1
  85. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_state.py +2 -0
  86. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +157 -1
  87. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline.py +487 -0
  88. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step.py +253 -0
  89. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step_status.py +331 -0
  90. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step_type.py +104 -0
  91. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +157 -1
  92. lightning_sdk/lightning_cloud/openapi/models/v1_restart_timing.py +27 -1
  93. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
  94. lightning_sdk/lightning_cloud/openapi/models/v1_shared_filesystem.py +201 -0
  95. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_job.py +27 -1
  96. lightning_sdk/lightning_cloud/openapi/models/v1_update_job_visibility_response.py +97 -0
  97. lightning_sdk/lightning_cloud/openapi/models/v1_upload_temporary_artifact_request.py +123 -0
  98. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +95 -355
  99. lightning_sdk/lightning_cloud/openapi/models/validate.py +27 -1
  100. lightning_sdk/lightning_cloud/rest_client.py +4 -2
  101. lightning_sdk/machine.py +25 -1
  102. lightning_sdk/models.py +18 -12
  103. lightning_sdk/pipeline/__init__.py +4 -0
  104. lightning_sdk/pipeline/pipeline.py +109 -0
  105. lightning_sdk/pipeline/types.py +268 -0
  106. lightning_sdk/pipeline/utils.py +69 -0
  107. lightning_sdk/plugin.py +9 -10
  108. lightning_sdk/services/utilities.py +2 -2
  109. lightning_sdk/studio.py +5 -1
  110. lightning_sdk/teamspace.py +1 -1
  111. lightning_sdk/utils/resolve.py +12 -1
  112. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.0.dist-info}/METADATA +6 -8
  113. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.0.dist-info}/RECORD +117 -88
  114. lightning_sdk/cli/legacy.py +0 -135
  115. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.0.dist-info}/LICENSE +0 -0
  116. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.0.dist-info}/WHEEL +0 -0
  117. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.0.dist-info}/entry_points.txt +0 -0
  118. {lightning_sdk-0.1.58.dist-info → lightning_sdk-0.2.0.dist-info}/top_level.txt +0 -0
@@ -41,9 +41,13 @@ class OrgsIdBody(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',
44
46
  'allow_guest': 'bool',
47
+ 'allow_lambda_saas': 'bool',
45
48
  'allow_member_invitations': 'bool',
46
49
  'allow_member_teamspace_creation': 'bool',
50
+ 'allow_vultr_saas': 'bool',
47
51
  'auto_invite_by_domain': 'bool',
48
52
  'auto_join_domains': 'list[str]',
49
53
  'description': 'str',
@@ -53,15 +57,21 @@ class OrgsIdBody(object):
53
57
  'featured_gallery': 'bool',
54
58
  'location': 'str',
55
59
  'preferred_cluster': 'str',
60
+ 'preferred_deployment_provider': 'str',
61
+ 'preferred_studio_provider': 'str',
56
62
  'start_studios_on_spot_instance': 'bool',
57
63
  'teamspace_default_credits': 'float',
58
64
  'twitter_username': 'str'
59
65
  }
60
66
 
61
67
  attribute_map = {
68
+ 'allow_aws_saas': 'allowAwsSaas',
69
+ 'allow_gcp_saas': 'allowGcpSaas',
62
70
  'allow_guest': 'allowGuest',
71
+ 'allow_lambda_saas': 'allowLambdaSaas',
63
72
  'allow_member_invitations': 'allowMemberInvitations',
64
73
  'allow_member_teamspace_creation': 'allowMemberTeamspaceCreation',
74
+ 'allow_vultr_saas': 'allowVultrSaas',
65
75
  'auto_invite_by_domain': 'autoInviteByDomain',
66
76
  'auto_join_domains': 'autoJoinDomains',
67
77
  'description': 'description',
@@ -71,16 +81,22 @@ class OrgsIdBody(object):
71
81
  'featured_gallery': 'featuredGallery',
72
82
  'location': 'location',
73
83
  'preferred_cluster': 'preferredCluster',
84
+ 'preferred_deployment_provider': 'preferredDeploymentProvider',
85
+ 'preferred_studio_provider': 'preferredStudioProvider',
74
86
  'start_studios_on_spot_instance': 'startStudiosOnSpotInstance',
75
87
  'teamspace_default_credits': 'teamspaceDefaultCredits',
76
88
  'twitter_username': 'twitterUsername'
77
89
  }
78
90
 
79
- def __init__(self, allow_guest: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domains: 'list[str]' =None, description: 'str' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, location: 'str' =None, preferred_cluster: 'str' =None, start_studios_on_spot_instance: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None): # noqa: E501
91
+ def __init__(self, allow_aws_saas: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_guest: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domains: 'list[str]' =None, description: 'str' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, location: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, start_studios_on_spot_instance: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None): # noqa: E501
80
92
  """OrgsIdBody - a model defined in Swagger""" # noqa: E501
93
+ self._allow_aws_saas = None
94
+ self._allow_gcp_saas = None
81
95
  self._allow_guest = None
96
+ self._allow_lambda_saas = None
82
97
  self._allow_member_invitations = None
83
98
  self._allow_member_teamspace_creation = None
99
+ self._allow_vultr_saas = None
84
100
  self._auto_invite_by_domain = None
85
101
  self._auto_join_domains = None
86
102
  self._description = None
@@ -90,16 +106,26 @@ class OrgsIdBody(object):
90
106
  self._featured_gallery = None
91
107
  self._location = None
92
108
  self._preferred_cluster = None
109
+ self._preferred_deployment_provider = None
110
+ self._preferred_studio_provider = None
93
111
  self._start_studios_on_spot_instance = None
94
112
  self._teamspace_default_credits = None
95
113
  self._twitter_username = None
96
114
  self.discriminator = None
115
+ if allow_aws_saas is not None:
116
+ self.allow_aws_saas = allow_aws_saas
117
+ if allow_gcp_saas is not None:
118
+ self.allow_gcp_saas = allow_gcp_saas
97
119
  if allow_guest is not None:
98
120
  self.allow_guest = allow_guest
121
+ if allow_lambda_saas is not None:
122
+ self.allow_lambda_saas = allow_lambda_saas
99
123
  if allow_member_invitations is not None:
100
124
  self.allow_member_invitations = allow_member_invitations
101
125
  if allow_member_teamspace_creation is not None:
102
126
  self.allow_member_teamspace_creation = allow_member_teamspace_creation
127
+ if allow_vultr_saas is not None:
128
+ self.allow_vultr_saas = allow_vultr_saas
103
129
  if auto_invite_by_domain is not None:
104
130
  self.auto_invite_by_domain = auto_invite_by_domain
105
131
  if auto_join_domains is not None:
@@ -118,6 +144,10 @@ class OrgsIdBody(object):
118
144
  self.location = location
119
145
  if preferred_cluster is not None:
120
146
  self.preferred_cluster = preferred_cluster
147
+ if preferred_deployment_provider is not None:
148
+ self.preferred_deployment_provider = preferred_deployment_provider
149
+ if preferred_studio_provider is not None:
150
+ self.preferred_studio_provider = preferred_studio_provider
121
151
  if start_studios_on_spot_instance is not None:
122
152
  self.start_studios_on_spot_instance = start_studios_on_spot_instance
123
153
  if teamspace_default_credits is not None:
@@ -125,6 +155,48 @@ class OrgsIdBody(object):
125
155
  if twitter_username is not None:
126
156
  self.twitter_username = twitter_username
127
157
 
158
+ @property
159
+ def allow_aws_saas(self) -> 'bool':
160
+ """Gets the allow_aws_saas of this OrgsIdBody. # noqa: E501
161
+
162
+
163
+ :return: The allow_aws_saas of this OrgsIdBody. # noqa: E501
164
+ :rtype: bool
165
+ """
166
+ return self._allow_aws_saas
167
+
168
+ @allow_aws_saas.setter
169
+ def allow_aws_saas(self, allow_aws_saas: 'bool'):
170
+ """Sets the allow_aws_saas of this OrgsIdBody.
171
+
172
+
173
+ :param allow_aws_saas: The allow_aws_saas of this OrgsIdBody. # noqa: E501
174
+ :type: bool
175
+ """
176
+
177
+ self._allow_aws_saas = allow_aws_saas
178
+
179
+ @property
180
+ def allow_gcp_saas(self) -> 'bool':
181
+ """Gets the allow_gcp_saas of this OrgsIdBody. # noqa: E501
182
+
183
+
184
+ :return: The allow_gcp_saas of this OrgsIdBody. # noqa: E501
185
+ :rtype: bool
186
+ """
187
+ return self._allow_gcp_saas
188
+
189
+ @allow_gcp_saas.setter
190
+ def allow_gcp_saas(self, allow_gcp_saas: 'bool'):
191
+ """Sets the allow_gcp_saas of this OrgsIdBody.
192
+
193
+
194
+ :param allow_gcp_saas: The allow_gcp_saas of this OrgsIdBody. # noqa: E501
195
+ :type: bool
196
+ """
197
+
198
+ self._allow_gcp_saas = allow_gcp_saas
199
+
128
200
  @property
129
201
  def allow_guest(self) -> 'bool':
130
202
  """Gets the allow_guest of this OrgsIdBody. # noqa: E501
@@ -146,6 +218,27 @@ class OrgsIdBody(object):
146
218
 
147
219
  self._allow_guest = allow_guest
148
220
 
221
+ @property
222
+ def allow_lambda_saas(self) -> 'bool':
223
+ """Gets the allow_lambda_saas of this OrgsIdBody. # noqa: E501
224
+
225
+
226
+ :return: The allow_lambda_saas of this OrgsIdBody. # noqa: E501
227
+ :rtype: bool
228
+ """
229
+ return self._allow_lambda_saas
230
+
231
+ @allow_lambda_saas.setter
232
+ def allow_lambda_saas(self, allow_lambda_saas: 'bool'):
233
+ """Sets the allow_lambda_saas of this OrgsIdBody.
234
+
235
+
236
+ :param allow_lambda_saas: The allow_lambda_saas of this OrgsIdBody. # noqa: E501
237
+ :type: bool
238
+ """
239
+
240
+ self._allow_lambda_saas = allow_lambda_saas
241
+
149
242
  @property
150
243
  def allow_member_invitations(self) -> 'bool':
151
244
  """Gets the allow_member_invitations of this OrgsIdBody. # noqa: E501
@@ -188,6 +281,27 @@ class OrgsIdBody(object):
188
281
 
189
282
  self._allow_member_teamspace_creation = allow_member_teamspace_creation
190
283
 
284
+ @property
285
+ def allow_vultr_saas(self) -> 'bool':
286
+ """Gets the allow_vultr_saas of this OrgsIdBody. # noqa: E501
287
+
288
+
289
+ :return: The allow_vultr_saas of this OrgsIdBody. # noqa: E501
290
+ :rtype: bool
291
+ """
292
+ return self._allow_vultr_saas
293
+
294
+ @allow_vultr_saas.setter
295
+ def allow_vultr_saas(self, allow_vultr_saas: 'bool'):
296
+ """Sets the allow_vultr_saas of this OrgsIdBody.
297
+
298
+
299
+ :param allow_vultr_saas: The allow_vultr_saas of this OrgsIdBody. # noqa: E501
300
+ :type: bool
301
+ """
302
+
303
+ self._allow_vultr_saas = allow_vultr_saas
304
+
191
305
  @property
192
306
  def auto_invite_by_domain(self) -> 'bool':
193
307
  """Gets the auto_invite_by_domain of this OrgsIdBody. # noqa: E501
@@ -377,6 +491,48 @@ class OrgsIdBody(object):
377
491
 
378
492
  self._preferred_cluster = preferred_cluster
379
493
 
494
+ @property
495
+ def preferred_deployment_provider(self) -> 'str':
496
+ """Gets the preferred_deployment_provider of this OrgsIdBody. # noqa: E501
497
+
498
+
499
+ :return: The preferred_deployment_provider of this OrgsIdBody. # noqa: E501
500
+ :rtype: str
501
+ """
502
+ return self._preferred_deployment_provider
503
+
504
+ @preferred_deployment_provider.setter
505
+ def preferred_deployment_provider(self, preferred_deployment_provider: 'str'):
506
+ """Sets the preferred_deployment_provider of this OrgsIdBody.
507
+
508
+
509
+ :param preferred_deployment_provider: The preferred_deployment_provider of this OrgsIdBody. # noqa: E501
510
+ :type: str
511
+ """
512
+
513
+ self._preferred_deployment_provider = preferred_deployment_provider
514
+
515
+ @property
516
+ def preferred_studio_provider(self) -> 'str':
517
+ """Gets the preferred_studio_provider of this OrgsIdBody. # noqa: E501
518
+
519
+
520
+ :return: The preferred_studio_provider of this OrgsIdBody. # noqa: E501
521
+ :rtype: str
522
+ """
523
+ return self._preferred_studio_provider
524
+
525
+ @preferred_studio_provider.setter
526
+ def preferred_studio_provider(self, preferred_studio_provider: 'str'):
527
+ """Sets the preferred_studio_provider of this OrgsIdBody.
528
+
529
+
530
+ :param preferred_studio_provider: The preferred_studio_provider of this OrgsIdBody. # noqa: E501
531
+ :type: str
532
+ """
533
+
534
+ self._preferred_studio_provider = preferred_studio_provider
535
+
380
536
  @property
381
537
  def start_studios_on_spot_instance(self) -> 'bool':
382
538
  """Gets the start_studios_on_spot_instance of this OrgsIdBody. # noqa: E501
@@ -0,0 +1,435 @@
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 PipelinesIdBody(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
+ 'created_at': 'datetime',
46
+ 'display_name': 'str',
47
+ 'error': 'str',
48
+ 'message': 'str',
49
+ 'name': 'str',
50
+ 'parent_id': 'str',
51
+ 'shared_filesystem': 'V1SharedFilesystem',
52
+ 'state': 'str',
53
+ 'statuses': 'list[V1PipelineStepStatus]',
54
+ 'steps': 'list[V1PipelineStep]',
55
+ 'updated_at': 'datetime',
56
+ 'user_id': 'str'
57
+ }
58
+
59
+ attribute_map = {
60
+ 'cluster_id': 'clusterId',
61
+ 'created_at': 'createdAt',
62
+ 'display_name': 'displayName',
63
+ 'error': 'error',
64
+ 'message': 'message',
65
+ 'name': 'name',
66
+ 'parent_id': 'parentId',
67
+ 'shared_filesystem': 'sharedFilesystem',
68
+ 'state': 'state',
69
+ 'statuses': 'statuses',
70
+ 'steps': 'steps',
71
+ 'updated_at': 'updatedAt',
72
+ 'user_id': 'userId'
73
+ }
74
+
75
+ def __init__(self, cluster_id: 'str' =None, created_at: 'datetime' =None, display_name: 'str' =None, error: 'str' =None, message: 'str' =None, name: 'str' =None, parent_id: 'str' =None, shared_filesystem: 'V1SharedFilesystem' =None, state: 'str' =None, statuses: 'list[V1PipelineStepStatus]' =None, steps: 'list[V1PipelineStep]' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
76
+ """PipelinesIdBody - a model defined in Swagger""" # noqa: E501
77
+ self._cluster_id = None
78
+ self._created_at = None
79
+ self._display_name = None
80
+ self._error = None
81
+ self._message = None
82
+ self._name = None
83
+ self._parent_id = None
84
+ self._shared_filesystem = None
85
+ self._state = None
86
+ self._statuses = None
87
+ self._steps = None
88
+ self._updated_at = None
89
+ self._user_id = None
90
+ self.discriminator = None
91
+ if cluster_id is not None:
92
+ self.cluster_id = cluster_id
93
+ if created_at is not None:
94
+ self.created_at = created_at
95
+ if display_name is not None:
96
+ self.display_name = display_name
97
+ if error is not None:
98
+ self.error = error
99
+ if message is not None:
100
+ self.message = message
101
+ if name is not None:
102
+ self.name = name
103
+ if parent_id is not None:
104
+ self.parent_id = parent_id
105
+ if shared_filesystem is not None:
106
+ self.shared_filesystem = shared_filesystem
107
+ if state is not None:
108
+ self.state = state
109
+ if statuses is not None:
110
+ self.statuses = statuses
111
+ if steps is not None:
112
+ self.steps = steps
113
+ if updated_at is not None:
114
+ self.updated_at = updated_at
115
+ if user_id is not None:
116
+ self.user_id = user_id
117
+
118
+ @property
119
+ def cluster_id(self) -> 'str':
120
+ """Gets the cluster_id of this PipelinesIdBody. # noqa: E501
121
+
122
+
123
+ :return: The cluster_id of this PipelinesIdBody. # noqa: E501
124
+ :rtype: str
125
+ """
126
+ return self._cluster_id
127
+
128
+ @cluster_id.setter
129
+ def cluster_id(self, cluster_id: 'str'):
130
+ """Sets the cluster_id of this PipelinesIdBody.
131
+
132
+
133
+ :param cluster_id: The cluster_id of this PipelinesIdBody. # noqa: E501
134
+ :type: str
135
+ """
136
+
137
+ self._cluster_id = cluster_id
138
+
139
+ @property
140
+ def created_at(self) -> 'datetime':
141
+ """Gets the created_at of this PipelinesIdBody. # noqa: E501
142
+
143
+
144
+ :return: The created_at of this PipelinesIdBody. # noqa: E501
145
+ :rtype: datetime
146
+ """
147
+ return self._created_at
148
+
149
+ @created_at.setter
150
+ def created_at(self, created_at: 'datetime'):
151
+ """Sets the created_at of this PipelinesIdBody.
152
+
153
+
154
+ :param created_at: The created_at of this PipelinesIdBody. # noqa: E501
155
+ :type: datetime
156
+ """
157
+
158
+ self._created_at = created_at
159
+
160
+ @property
161
+ def display_name(self) -> 'str':
162
+ """Gets the display_name of this PipelinesIdBody. # noqa: E501
163
+
164
+
165
+ :return: The display_name of this PipelinesIdBody. # noqa: E501
166
+ :rtype: str
167
+ """
168
+ return self._display_name
169
+
170
+ @display_name.setter
171
+ def display_name(self, display_name: 'str'):
172
+ """Sets the display_name of this PipelinesIdBody.
173
+
174
+
175
+ :param display_name: The display_name of this PipelinesIdBody. # noqa: E501
176
+ :type: str
177
+ """
178
+
179
+ self._display_name = display_name
180
+
181
+ @property
182
+ def error(self) -> 'str':
183
+ """Gets the error of this PipelinesIdBody. # noqa: E501
184
+
185
+
186
+ :return: The error of this PipelinesIdBody. # noqa: E501
187
+ :rtype: str
188
+ """
189
+ return self._error
190
+
191
+ @error.setter
192
+ def error(self, error: 'str'):
193
+ """Sets the error of this PipelinesIdBody.
194
+
195
+
196
+ :param error: The error of this PipelinesIdBody. # noqa: E501
197
+ :type: str
198
+ """
199
+
200
+ self._error = error
201
+
202
+ @property
203
+ def message(self) -> 'str':
204
+ """Gets the message of this PipelinesIdBody. # noqa: E501
205
+
206
+
207
+ :return: The message of this PipelinesIdBody. # noqa: E501
208
+ :rtype: str
209
+ """
210
+ return self._message
211
+
212
+ @message.setter
213
+ def message(self, message: 'str'):
214
+ """Sets the message of this PipelinesIdBody.
215
+
216
+
217
+ :param message: The message of this PipelinesIdBody. # noqa: E501
218
+ :type: str
219
+ """
220
+
221
+ self._message = message
222
+
223
+ @property
224
+ def name(self) -> 'str':
225
+ """Gets the name of this PipelinesIdBody. # noqa: E501
226
+
227
+
228
+ :return: The name of this PipelinesIdBody. # noqa: E501
229
+ :rtype: str
230
+ """
231
+ return self._name
232
+
233
+ @name.setter
234
+ def name(self, name: 'str'):
235
+ """Sets the name of this PipelinesIdBody.
236
+
237
+
238
+ :param name: The name of this PipelinesIdBody. # noqa: E501
239
+ :type: str
240
+ """
241
+
242
+ self._name = name
243
+
244
+ @property
245
+ def parent_id(self) -> 'str':
246
+ """Gets the parent_id of this PipelinesIdBody. # noqa: E501
247
+
248
+
249
+ :return: The parent_id of this PipelinesIdBody. # noqa: E501
250
+ :rtype: str
251
+ """
252
+ return self._parent_id
253
+
254
+ @parent_id.setter
255
+ def parent_id(self, parent_id: 'str'):
256
+ """Sets the parent_id of this PipelinesIdBody.
257
+
258
+
259
+ :param parent_id: The parent_id of this PipelinesIdBody. # noqa: E501
260
+ :type: str
261
+ """
262
+
263
+ self._parent_id = parent_id
264
+
265
+ @property
266
+ def shared_filesystem(self) -> 'V1SharedFilesystem':
267
+ """Gets the shared_filesystem of this PipelinesIdBody. # noqa: E501
268
+
269
+
270
+ :return: The shared_filesystem of this PipelinesIdBody. # noqa: E501
271
+ :rtype: V1SharedFilesystem
272
+ """
273
+ return self._shared_filesystem
274
+
275
+ @shared_filesystem.setter
276
+ def shared_filesystem(self, shared_filesystem: 'V1SharedFilesystem'):
277
+ """Sets the shared_filesystem of this PipelinesIdBody.
278
+
279
+
280
+ :param shared_filesystem: The shared_filesystem of this PipelinesIdBody. # noqa: E501
281
+ :type: V1SharedFilesystem
282
+ """
283
+
284
+ self._shared_filesystem = shared_filesystem
285
+
286
+ @property
287
+ def state(self) -> 'str':
288
+ """Gets the state of this PipelinesIdBody. # noqa: E501
289
+
290
+
291
+ :return: The state of this PipelinesIdBody. # noqa: E501
292
+ :rtype: str
293
+ """
294
+ return self._state
295
+
296
+ @state.setter
297
+ def state(self, state: 'str'):
298
+ """Sets the state of this PipelinesIdBody.
299
+
300
+
301
+ :param state: The state of this PipelinesIdBody. # noqa: E501
302
+ :type: str
303
+ """
304
+
305
+ self._state = state
306
+
307
+ @property
308
+ def statuses(self) -> 'list[V1PipelineStepStatus]':
309
+ """Gets the statuses of this PipelinesIdBody. # noqa: E501
310
+
311
+
312
+ :return: The statuses of this PipelinesIdBody. # noqa: E501
313
+ :rtype: list[V1PipelineStepStatus]
314
+ """
315
+ return self._statuses
316
+
317
+ @statuses.setter
318
+ def statuses(self, statuses: 'list[V1PipelineStepStatus]'):
319
+ """Sets the statuses of this PipelinesIdBody.
320
+
321
+
322
+ :param statuses: The statuses of this PipelinesIdBody. # noqa: E501
323
+ :type: list[V1PipelineStepStatus]
324
+ """
325
+
326
+ self._statuses = statuses
327
+
328
+ @property
329
+ def steps(self) -> 'list[V1PipelineStep]':
330
+ """Gets the steps of this PipelinesIdBody. # noqa: E501
331
+
332
+
333
+ :return: The steps of this PipelinesIdBody. # noqa: E501
334
+ :rtype: list[V1PipelineStep]
335
+ """
336
+ return self._steps
337
+
338
+ @steps.setter
339
+ def steps(self, steps: 'list[V1PipelineStep]'):
340
+ """Sets the steps of this PipelinesIdBody.
341
+
342
+
343
+ :param steps: The steps of this PipelinesIdBody. # noqa: E501
344
+ :type: list[V1PipelineStep]
345
+ """
346
+
347
+ self._steps = steps
348
+
349
+ @property
350
+ def updated_at(self) -> 'datetime':
351
+ """Gets the updated_at of this PipelinesIdBody. # noqa: E501
352
+
353
+
354
+ :return: The updated_at of this PipelinesIdBody. # noqa: E501
355
+ :rtype: datetime
356
+ """
357
+ return self._updated_at
358
+
359
+ @updated_at.setter
360
+ def updated_at(self, updated_at: 'datetime'):
361
+ """Sets the updated_at of this PipelinesIdBody.
362
+
363
+
364
+ :param updated_at: The updated_at of this PipelinesIdBody. # noqa: E501
365
+ :type: datetime
366
+ """
367
+
368
+ self._updated_at = updated_at
369
+
370
+ @property
371
+ def user_id(self) -> 'str':
372
+ """Gets the user_id of this PipelinesIdBody. # noqa: E501
373
+
374
+
375
+ :return: The user_id of this PipelinesIdBody. # noqa: E501
376
+ :rtype: str
377
+ """
378
+ return self._user_id
379
+
380
+ @user_id.setter
381
+ def user_id(self, user_id: 'str'):
382
+ """Sets the user_id of this PipelinesIdBody.
383
+
384
+
385
+ :param user_id: The user_id of this PipelinesIdBody. # noqa: E501
386
+ :type: str
387
+ """
388
+
389
+ self._user_id = user_id
390
+
391
+ def to_dict(self) -> dict:
392
+ """Returns the model properties as a dict"""
393
+ result = {}
394
+
395
+ for attr, _ in six.iteritems(self.swagger_types):
396
+ value = getattr(self, attr)
397
+ if isinstance(value, list):
398
+ result[attr] = list(map(
399
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
400
+ value
401
+ ))
402
+ elif hasattr(value, "to_dict"):
403
+ result[attr] = value.to_dict()
404
+ elif isinstance(value, dict):
405
+ result[attr] = dict(map(
406
+ lambda item: (item[0], item[1].to_dict())
407
+ if hasattr(item[1], "to_dict") else item,
408
+ value.items()
409
+ ))
410
+ else:
411
+ result[attr] = value
412
+ if issubclass(PipelinesIdBody, dict):
413
+ for key, value in self.items():
414
+ result[key] = value
415
+
416
+ return result
417
+
418
+ def to_str(self) -> str:
419
+ """Returns the string representation of the model"""
420
+ return pprint.pformat(self.to_dict())
421
+
422
+ def __repr__(self) -> str:
423
+ """For `print` and `pprint`"""
424
+ return self.to_str()
425
+
426
+ def __eq__(self, other: 'PipelinesIdBody') -> bool:
427
+ """Returns true if both objects are equal"""
428
+ if not isinstance(other, PipelinesIdBody):
429
+ return False
430
+
431
+ return self.__dict__ == other.__dict__
432
+
433
+ def __ne__(self, other: 'PipelinesIdBody') -> bool:
434
+ """Returns true if both objects are not equal"""
435
+ return not self == other