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
@@ -62,8 +62,10 @@ class V1ClusterAccelerator(object):
62
62
  'instance_id': 'str',
63
63
  'is_custom': 'bool',
64
64
  'is_tier_restricted': 'bool',
65
+ 'local_disk_included': 'bool',
65
66
  'local_disk_size': 'str',
66
67
  'local_disk_supported': 'bool',
68
+ 'local_disks_count': 'str',
67
69
  'max_available_quota': 'str',
68
70
  'non_spot': 'bool',
69
71
  'provider': 'V1CloudProvider',
@@ -76,6 +78,9 @@ class V1ClusterAccelerator(object):
76
78
  'quota_value': 'str',
77
79
  'reservable': 'bool',
78
80
  'reservation_available_zones': 'list[str]',
81
+ 'reservation_quota_code': 'str',
82
+ 'reservation_quota_name': 'str',
83
+ 'reservation_quota_page_url': 'str',
79
84
  'resources': 'V1Resources',
80
85
  'slug': 'str',
81
86
  'slug_multi_cloud': 'str',
@@ -107,8 +112,10 @@ class V1ClusterAccelerator(object):
107
112
  'instance_id': 'instanceId',
108
113
  'is_custom': 'isCustom',
109
114
  'is_tier_restricted': 'isTierRestricted',
115
+ 'local_disk_included': 'localDiskIncluded',
110
116
  'local_disk_size': 'localDiskSize',
111
117
  'local_disk_supported': 'localDiskSupported',
118
+ 'local_disks_count': 'localDisksCount',
112
119
  'max_available_quota': 'maxAvailableQuota',
113
120
  'non_spot': 'nonSpot',
114
121
  'provider': 'provider',
@@ -121,6 +128,9 @@ class V1ClusterAccelerator(object):
121
128
  'quota_value': 'quotaValue',
122
129
  'reservable': 'reservable',
123
130
  'reservation_available_zones': 'reservationAvailableZones',
131
+ 'reservation_quota_code': 'reservationQuotaCode',
132
+ 'reservation_quota_name': 'reservationQuotaName',
133
+ 'reservation_quota_page_url': 'reservationQuotaPageUrl',
124
134
  'resources': 'resources',
125
135
  'slug': 'slug',
126
136
  'slug_multi_cloud': 'slugMultiCloud',
@@ -130,7 +140,7 @@ class V1ClusterAccelerator(object):
130
140
  'spot_quota_page_url': 'spotQuotaPageUrl'
131
141
  }
132
142
 
133
- def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_only: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, provider: 'V1CloudProvider' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, resources: 'V1Resources' =None, slug: 'str' =None, slug_multi_cloud: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
143
+ def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_only: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_included: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, local_disks_count: 'str' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, provider: 'V1CloudProvider' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, reservation_quota_code: 'str' =None, reservation_quota_name: 'str' =None, reservation_quota_page_url: 'str' =None, resources: 'V1Resources' =None, slug: 'str' =None, slug_multi_cloud: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
134
144
  """V1ClusterAccelerator - a model defined in Swagger""" # noqa: E501
135
145
  self._accelerator_type = None
136
146
  self._allowed_resources = None
@@ -153,8 +163,10 @@ class V1ClusterAccelerator(object):
153
163
  self._instance_id = None
154
164
  self._is_custom = None
155
165
  self._is_tier_restricted = None
166
+ self._local_disk_included = None
156
167
  self._local_disk_size = None
157
168
  self._local_disk_supported = None
169
+ self._local_disks_count = None
158
170
  self._max_available_quota = None
159
171
  self._non_spot = None
160
172
  self._provider = None
@@ -167,6 +179,9 @@ class V1ClusterAccelerator(object):
167
179
  self._quota_value = None
168
180
  self._reservable = None
169
181
  self._reservation_available_zones = None
182
+ self._reservation_quota_code = None
183
+ self._reservation_quota_name = None
184
+ self._reservation_quota_page_url = None
170
185
  self._resources = None
171
186
  self._slug = None
172
187
  self._slug_multi_cloud = None
@@ -217,10 +232,14 @@ class V1ClusterAccelerator(object):
217
232
  self.is_custom = is_custom
218
233
  if is_tier_restricted is not None:
219
234
  self.is_tier_restricted = is_tier_restricted
235
+ if local_disk_included is not None:
236
+ self.local_disk_included = local_disk_included
220
237
  if local_disk_size is not None:
221
238
  self.local_disk_size = local_disk_size
222
239
  if local_disk_supported is not None:
223
240
  self.local_disk_supported = local_disk_supported
241
+ if local_disks_count is not None:
242
+ self.local_disks_count = local_disks_count
224
243
  if max_available_quota is not None:
225
244
  self.max_available_quota = max_available_quota
226
245
  if non_spot is not None:
@@ -245,6 +264,12 @@ class V1ClusterAccelerator(object):
245
264
  self.reservable = reservable
246
265
  if reservation_available_zones is not None:
247
266
  self.reservation_available_zones = reservation_available_zones
267
+ if reservation_quota_code is not None:
268
+ self.reservation_quota_code = reservation_quota_code
269
+ if reservation_quota_name is not None:
270
+ self.reservation_quota_name = reservation_quota_name
271
+ if reservation_quota_page_url is not None:
272
+ self.reservation_quota_page_url = reservation_quota_page_url
248
273
  if resources is not None:
249
274
  self.resources = resources
250
275
  if slug is not None:
@@ -701,6 +726,27 @@ class V1ClusterAccelerator(object):
701
726
 
702
727
  self._is_tier_restricted = is_tier_restricted
703
728
 
729
+ @property
730
+ def local_disk_included(self) -> 'bool':
731
+ """Gets the local_disk_included of this V1ClusterAccelerator. # noqa: E501
732
+
733
+
734
+ :return: The local_disk_included of this V1ClusterAccelerator. # noqa: E501
735
+ :rtype: bool
736
+ """
737
+ return self._local_disk_included
738
+
739
+ @local_disk_included.setter
740
+ def local_disk_included(self, local_disk_included: 'bool'):
741
+ """Sets the local_disk_included of this V1ClusterAccelerator.
742
+
743
+
744
+ :param local_disk_included: The local_disk_included of this V1ClusterAccelerator. # noqa: E501
745
+ :type: bool
746
+ """
747
+
748
+ self._local_disk_included = local_disk_included
749
+
704
750
  @property
705
751
  def local_disk_size(self) -> 'str':
706
752
  """Gets the local_disk_size of this V1ClusterAccelerator. # noqa: E501
@@ -743,6 +789,27 @@ class V1ClusterAccelerator(object):
743
789
 
744
790
  self._local_disk_supported = local_disk_supported
745
791
 
792
+ @property
793
+ def local_disks_count(self) -> 'str':
794
+ """Gets the local_disks_count of this V1ClusterAccelerator. # noqa: E501
795
+
796
+
797
+ :return: The local_disks_count of this V1ClusterAccelerator. # noqa: E501
798
+ :rtype: str
799
+ """
800
+ return self._local_disks_count
801
+
802
+ @local_disks_count.setter
803
+ def local_disks_count(self, local_disks_count: 'str'):
804
+ """Sets the local_disks_count of this V1ClusterAccelerator.
805
+
806
+
807
+ :param local_disks_count: The local_disks_count of this V1ClusterAccelerator. # noqa: E501
808
+ :type: str
809
+ """
810
+
811
+ self._local_disks_count = local_disks_count
812
+
746
813
  @property
747
814
  def max_available_quota(self) -> 'str':
748
815
  """Gets the max_available_quota of this V1ClusterAccelerator. # noqa: E501
@@ -995,6 +1062,69 @@ class V1ClusterAccelerator(object):
995
1062
 
996
1063
  self._reservation_available_zones = reservation_available_zones
997
1064
 
1065
+ @property
1066
+ def reservation_quota_code(self) -> 'str':
1067
+ """Gets the reservation_quota_code of this V1ClusterAccelerator. # noqa: E501
1068
+
1069
+
1070
+ :return: The reservation_quota_code of this V1ClusterAccelerator. # noqa: E501
1071
+ :rtype: str
1072
+ """
1073
+ return self._reservation_quota_code
1074
+
1075
+ @reservation_quota_code.setter
1076
+ def reservation_quota_code(self, reservation_quota_code: 'str'):
1077
+ """Sets the reservation_quota_code of this V1ClusterAccelerator.
1078
+
1079
+
1080
+ :param reservation_quota_code: The reservation_quota_code of this V1ClusterAccelerator. # noqa: E501
1081
+ :type: str
1082
+ """
1083
+
1084
+ self._reservation_quota_code = reservation_quota_code
1085
+
1086
+ @property
1087
+ def reservation_quota_name(self) -> 'str':
1088
+ """Gets the reservation_quota_name of this V1ClusterAccelerator. # noqa: E501
1089
+
1090
+
1091
+ :return: The reservation_quota_name of this V1ClusterAccelerator. # noqa: E501
1092
+ :rtype: str
1093
+ """
1094
+ return self._reservation_quota_name
1095
+
1096
+ @reservation_quota_name.setter
1097
+ def reservation_quota_name(self, reservation_quota_name: 'str'):
1098
+ """Sets the reservation_quota_name of this V1ClusterAccelerator.
1099
+
1100
+
1101
+ :param reservation_quota_name: The reservation_quota_name of this V1ClusterAccelerator. # noqa: E501
1102
+ :type: str
1103
+ """
1104
+
1105
+ self._reservation_quota_name = reservation_quota_name
1106
+
1107
+ @property
1108
+ def reservation_quota_page_url(self) -> 'str':
1109
+ """Gets the reservation_quota_page_url of this V1ClusterAccelerator. # noqa: E501
1110
+
1111
+
1112
+ :return: The reservation_quota_page_url of this V1ClusterAccelerator. # noqa: E501
1113
+ :rtype: str
1114
+ """
1115
+ return self._reservation_quota_page_url
1116
+
1117
+ @reservation_quota_page_url.setter
1118
+ def reservation_quota_page_url(self, reservation_quota_page_url: 'str'):
1119
+ """Sets the reservation_quota_page_url of this V1ClusterAccelerator.
1120
+
1121
+
1122
+ :param reservation_quota_page_url: The reservation_quota_page_url of this V1ClusterAccelerator. # noqa: E501
1123
+ :type: str
1124
+ """
1125
+
1126
+ self._reservation_quota_page_url = reservation_quota_page_url
1127
+
998
1128
  @property
999
1129
  def resources(self) -> 'V1Resources':
1000
1130
  """Gets the resources of this V1ClusterAccelerator. # noqa: E501
@@ -46,9 +46,12 @@ class V1ClusterCapacityReservation(object):
46
46
  'cluster_id': 'str',
47
47
  'end_time': 'datetime',
48
48
  'id': 'str',
49
+ 'in_use': 'str',
49
50
  'instance_type': 'str',
50
51
  'match_pattern': 'str',
52
+ 'num_instances': 'str',
51
53
  'project_id': 'str',
54
+ 'region': 'str',
52
55
  'start_time': 'datetime'
53
56
  }
54
57
 
@@ -58,22 +61,28 @@ class V1ClusterCapacityReservation(object):
58
61
  'cluster_id': 'clusterId',
59
62
  'end_time': 'endTime',
60
63
  'id': 'id',
64
+ 'in_use': 'inUse',
61
65
  'instance_type': 'instanceType',
62
66
  'match_pattern': 'matchPattern',
67
+ 'num_instances': 'numInstances',
63
68
  'project_id': 'projectId',
69
+ 'region': 'region',
64
70
  'start_time': 'startTime'
65
71
  }
66
72
 
67
- def __init__(self, capacity_reservation_type: 'str' =None, cloud_provider_capacity_reservation_id: 'str' =None, cluster_id: 'str' =None, end_time: 'datetime' =None, id: 'str' =None, instance_type: 'str' =None, match_pattern: 'str' =None, project_id: 'str' =None, start_time: 'datetime' =None): # noqa: E501
73
+ def __init__(self, capacity_reservation_type: 'str' =None, cloud_provider_capacity_reservation_id: 'str' =None, cluster_id: 'str' =None, end_time: 'datetime' =None, id: 'str' =None, in_use: 'str' =None, instance_type: 'str' =None, match_pattern: 'str' =None, num_instances: 'str' =None, project_id: 'str' =None, region: 'str' =None, start_time: 'datetime' =None): # noqa: E501
68
74
  """V1ClusterCapacityReservation - a model defined in Swagger""" # noqa: E501
69
75
  self._capacity_reservation_type = None
70
76
  self._cloud_provider_capacity_reservation_id = None
71
77
  self._cluster_id = None
72
78
  self._end_time = None
73
79
  self._id = None
80
+ self._in_use = None
74
81
  self._instance_type = None
75
82
  self._match_pattern = None
83
+ self._num_instances = None
76
84
  self._project_id = None
85
+ self._region = None
77
86
  self._start_time = None
78
87
  self.discriminator = None
79
88
  if capacity_reservation_type is not None:
@@ -86,12 +95,18 @@ class V1ClusterCapacityReservation(object):
86
95
  self.end_time = end_time
87
96
  if id is not None:
88
97
  self.id = id
98
+ if in_use is not None:
99
+ self.in_use = in_use
89
100
  if instance_type is not None:
90
101
  self.instance_type = instance_type
91
102
  if match_pattern is not None:
92
103
  self.match_pattern = match_pattern
104
+ if num_instances is not None:
105
+ self.num_instances = num_instances
93
106
  if project_id is not None:
94
107
  self.project_id = project_id
108
+ if region is not None:
109
+ self.region = region
95
110
  if start_time is not None:
96
111
  self.start_time = start_time
97
112
 
@@ -200,6 +215,27 @@ class V1ClusterCapacityReservation(object):
200
215
 
201
216
  self._id = id
202
217
 
218
+ @property
219
+ def in_use(self) -> 'str':
220
+ """Gets the in_use of this V1ClusterCapacityReservation. # noqa: E501
221
+
222
+
223
+ :return: The in_use of this V1ClusterCapacityReservation. # noqa: E501
224
+ :rtype: str
225
+ """
226
+ return self._in_use
227
+
228
+ @in_use.setter
229
+ def in_use(self, in_use: 'str'):
230
+ """Sets the in_use of this V1ClusterCapacityReservation.
231
+
232
+
233
+ :param in_use: The in_use of this V1ClusterCapacityReservation. # noqa: E501
234
+ :type: str
235
+ """
236
+
237
+ self._in_use = in_use
238
+
203
239
  @property
204
240
  def instance_type(self) -> 'str':
205
241
  """Gets the instance_type of this V1ClusterCapacityReservation. # noqa: E501
@@ -242,6 +278,27 @@ class V1ClusterCapacityReservation(object):
242
278
 
243
279
  self._match_pattern = match_pattern
244
280
 
281
+ @property
282
+ def num_instances(self) -> 'str':
283
+ """Gets the num_instances of this V1ClusterCapacityReservation. # noqa: E501
284
+
285
+
286
+ :return: The num_instances of this V1ClusterCapacityReservation. # noqa: E501
287
+ :rtype: str
288
+ """
289
+ return self._num_instances
290
+
291
+ @num_instances.setter
292
+ def num_instances(self, num_instances: 'str'):
293
+ """Sets the num_instances of this V1ClusterCapacityReservation.
294
+
295
+
296
+ :param num_instances: The num_instances of this V1ClusterCapacityReservation. # noqa: E501
297
+ :type: str
298
+ """
299
+
300
+ self._num_instances = num_instances
301
+
245
302
  @property
246
303
  def project_id(self) -> 'str':
247
304
  """Gets the project_id of this V1ClusterCapacityReservation. # noqa: E501
@@ -263,6 +320,27 @@ class V1ClusterCapacityReservation(object):
263
320
 
264
321
  self._project_id = project_id
265
322
 
323
+ @property
324
+ def region(self) -> 'str':
325
+ """Gets the region of this V1ClusterCapacityReservation. # noqa: E501
326
+
327
+
328
+ :return: The region of this V1ClusterCapacityReservation. # noqa: E501
329
+ :rtype: str
330
+ """
331
+ return self._region
332
+
333
+ @region.setter
334
+ def region(self, region: 'str'):
335
+ """Sets the region of this V1ClusterCapacityReservation.
336
+
337
+
338
+ :param region: The region of this V1ClusterCapacityReservation. # noqa: E501
339
+ :type: str
340
+ """
341
+
342
+ self._region = region
343
+
266
344
  @property
267
345
  def start_time(self) -> 'datetime':
268
346
  """Gets the start_time of this V1ClusterCapacityReservation. # noqa: E501
@@ -46,6 +46,7 @@ class V1ClusterSecurityOptions(object):
46
46
  'disable_public_ip': 'bool',
47
47
  'encrypt_cluster_bucket': 'bool',
48
48
  'encrypt_instance_volumes': 'bool',
49
+ 'extra_policy': 'str',
49
50
  'kms_key_id': 'str',
50
51
  'protect_instance_metadata': 'bool',
51
52
  'rootless_docker': 'bool',
@@ -59,6 +60,7 @@ class V1ClusterSecurityOptions(object):
59
60
  'disable_public_ip': 'disablePublicIp',
60
61
  'encrypt_cluster_bucket': 'encryptClusterBucket',
61
62
  'encrypt_instance_volumes': 'encryptInstanceVolumes',
63
+ 'extra_policy': 'extraPolicy',
62
64
  'kms_key_id': 'kmsKeyId',
63
65
  'protect_instance_metadata': 'protectInstanceMetadata',
64
66
  'rootless_docker': 'rootlessDocker',
@@ -66,13 +68,14 @@ class V1ClusterSecurityOptions(object):
66
68
  'ssh_disabled': 'sshDisabled'
67
69
  }
68
70
 
69
- def __init__(self, bucket_kms_key: 'str' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
71
+ def __init__(self, bucket_kms_key: 'str' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, extra_policy: 'str' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
70
72
  """V1ClusterSecurityOptions - a model defined in Swagger""" # noqa: E501
71
73
  self._bucket_kms_key = None
72
74
  self._containers_non_privileged = None
73
75
  self._disable_public_ip = None
74
76
  self._encrypt_cluster_bucket = None
75
77
  self._encrypt_instance_volumes = None
78
+ self._extra_policy = None
76
79
  self._kms_key_id = None
77
80
  self._protect_instance_metadata = None
78
81
  self._rootless_docker = None
@@ -89,6 +92,8 @@ class V1ClusterSecurityOptions(object):
89
92
  self.encrypt_cluster_bucket = encrypt_cluster_bucket
90
93
  if encrypt_instance_volumes is not None:
91
94
  self.encrypt_instance_volumes = encrypt_instance_volumes
95
+ if extra_policy is not None:
96
+ self.extra_policy = extra_policy
92
97
  if kms_key_id is not None:
93
98
  self.kms_key_id = kms_key_id
94
99
  if protect_instance_metadata is not None:
@@ -205,6 +210,27 @@ class V1ClusterSecurityOptions(object):
205
210
 
206
211
  self._encrypt_instance_volumes = encrypt_instance_volumes
207
212
 
213
+ @property
214
+ def extra_policy(self) -> 'str':
215
+ """Gets the extra_policy of this V1ClusterSecurityOptions. # noqa: E501
216
+
217
+
218
+ :return: The extra_policy of this V1ClusterSecurityOptions. # noqa: E501
219
+ :rtype: str
220
+ """
221
+ return self._extra_policy
222
+
223
+ @extra_policy.setter
224
+ def extra_policy(self, extra_policy: 'str'):
225
+ """Sets the extra_policy of this V1ClusterSecurityOptions.
226
+
227
+
228
+ :param extra_policy: The extra_policy of this V1ClusterSecurityOptions. # noqa: E501
229
+ :type: str
230
+ """
231
+
232
+ self._extra_policy = extra_policy
233
+
208
234
  @property
209
235
  def kms_key_id(self) -> 'str':
210
236
  """Gets the kms_key_id of this V1ClusterSecurityOptions. # 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 V1CompleteUploadTemporaryArtifactRequest(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
+ 'filename': 'str',
45
+ 'parts': 'list[V1CompleteUpload]',
46
+ 'upload_id': 'str'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'filename': 'filename',
51
+ 'parts': 'parts',
52
+ 'upload_id': 'uploadId'
53
+ }
54
+
55
+ def __init__(self, filename: 'str' =None, parts: 'list[V1CompleteUpload]' =None, upload_id: 'str' =None): # noqa: E501
56
+ """V1CompleteUploadTemporaryArtifactRequest - a model defined in Swagger""" # noqa: E501
57
+ self._filename = None
58
+ self._parts = None
59
+ self._upload_id = None
60
+ self.discriminator = None
61
+ if filename is not None:
62
+ self.filename = filename
63
+ if parts is not None:
64
+ self.parts = parts
65
+ if upload_id is not None:
66
+ self.upload_id = upload_id
67
+
68
+ @property
69
+ def filename(self) -> 'str':
70
+ """Gets the filename of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
71
+
72
+
73
+ :return: The filename of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._filename
77
+
78
+ @filename.setter
79
+ def filename(self, filename: 'str'):
80
+ """Sets the filename of this V1CompleteUploadTemporaryArtifactRequest.
81
+
82
+
83
+ :param filename: The filename of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._filename = filename
88
+
89
+ @property
90
+ def parts(self) -> 'list[V1CompleteUpload]':
91
+ """Gets the parts of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
92
+
93
+
94
+ :return: The parts of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
95
+ :rtype: list[V1CompleteUpload]
96
+ """
97
+ return self._parts
98
+
99
+ @parts.setter
100
+ def parts(self, parts: 'list[V1CompleteUpload]'):
101
+ """Sets the parts of this V1CompleteUploadTemporaryArtifactRequest.
102
+
103
+
104
+ :param parts: The parts of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
105
+ :type: list[V1CompleteUpload]
106
+ """
107
+
108
+ self._parts = parts
109
+
110
+ @property
111
+ def upload_id(self) -> 'str':
112
+ """Gets the upload_id of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
113
+
114
+
115
+ :return: The upload_id of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
116
+ :rtype: str
117
+ """
118
+ return self._upload_id
119
+
120
+ @upload_id.setter
121
+ def upload_id(self, upload_id: 'str'):
122
+ """Sets the upload_id of this V1CompleteUploadTemporaryArtifactRequest.
123
+
124
+
125
+ :param upload_id: The upload_id of this V1CompleteUploadTemporaryArtifactRequest. # noqa: E501
126
+ :type: str
127
+ """
128
+
129
+ self._upload_id = upload_id
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(V1CompleteUploadTemporaryArtifactRequest, 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: 'V1CompleteUploadTemporaryArtifactRequest') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, V1CompleteUploadTemporaryArtifactRequest):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'V1CompleteUploadTemporaryArtifactRequest') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other