lightning-sdk 0.1.47__py3-none-any.whl → 0.1.49__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 (47) hide show
  1. lightning_sdk/__init__.py +3 -1
  2. lightning_sdk/api/job_api.py +19 -1
  3. lightning_sdk/api/lit_container_api.py +42 -0
  4. lightning_sdk/api/mmt_api.py +6 -0
  5. lightning_sdk/api/utils.py +8 -1
  6. lightning_sdk/cli/delete.py +58 -0
  7. lightning_sdk/cli/entrypoint.py +17 -0
  8. lightning_sdk/cli/inspect.py +31 -0
  9. lightning_sdk/cli/job_and_mmt_action.py +37 -0
  10. lightning_sdk/cli/jobs_menu.py +57 -0
  11. lightning_sdk/cli/list.py +62 -4
  12. lightning_sdk/cli/mmts_menu.py +57 -0
  13. lightning_sdk/cli/run.py +22 -3
  14. lightning_sdk/cli/stop.py +37 -0
  15. lightning_sdk/cli/upload.py +32 -1
  16. lightning_sdk/job/base.py +24 -1
  17. lightning_sdk/job/job.py +34 -9
  18. lightning_sdk/job/v1.py +1 -1
  19. lightning_sdk/job/v2.py +16 -11
  20. lightning_sdk/lightning_cloud/openapi/__init__.py +3 -1
  21. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +124 -23
  22. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +250 -8
  23. lightning_sdk/lightning_cloud/openapi/models/__init__.py +3 -1
  24. lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +1 -29
  26. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_container_response.py → v1_delete_lit_repository_response.py} +6 -6
  27. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +29 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +31 -3
  29. lightning_sdk/lightning_cloud/openapi/models/v1_model.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
  31. lightning_sdk/lightning_cloud/openapi/models/v1_vultr_direct_v1.py +81 -3
  32. lightning_sdk/lightning_cloud/openapi/models/version_default_body.py +149 -0
  33. lightning_sdk/lightning_cloud/openapi/models/versions_version_body.py +123 -0
  34. lightning_sdk/lightning_cloud/utils/data_connection.py +1 -0
  35. lightning_sdk/lit_container.py +78 -0
  36. lightning_sdk/mmt/base.py +18 -1
  37. lightning_sdk/mmt/mmt.py +35 -14
  38. lightning_sdk/mmt/v1.py +8 -2
  39. lightning_sdk/mmt/v2.py +12 -10
  40. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/METADATA +1 -1
  41. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/RECORD +45 -37
  42. lightning_sdk/api/lit_registry_api.py +0 -12
  43. lightning_sdk/lit_registry.py +0 -39
  44. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/LICENSE +0 -0
  45. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/WHEEL +0 -0
  46. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/entry_points.txt +0 -0
  47. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/top_level.txt +0 -0
@@ -294,7 +294,7 @@ class ModelsStoreApi(object):
294
294
  collection_formats=collection_formats)
295
295
 
296
296
  def models_store_create_model(self, body: 'ProjectIdModelsBody', project_id: 'str', **kwargs) -> 'V1ModelVersionArchive': # noqa: E501
297
- """CreateModel creates a new version of a model and marks the upload as incomplete. Files are expected to be uploaded using the multi-part upload APIs below, followed by a completion request after which the model will be fully visible (can list, delete etc.) # noqa: E501
297
+ """CreateModel creates a new model. # noqa: E501
298
298
 
299
299
  This method makes a synchronous HTTP request by default. To make an
300
300
  asynchronous HTTP request, please pass async_req=True
@@ -316,7 +316,7 @@ class ModelsStoreApi(object):
316
316
  return data
317
317
 
318
318
  def models_store_create_model_with_http_info(self, body: 'ProjectIdModelsBody', project_id: 'str', **kwargs) -> 'V1ModelVersionArchive': # noqa: E501
319
- """CreateModel creates a new version of a model and marks the upload as incomplete. Files are expected to be uploaded using the multi-part upload APIs below, followed by a completion request after which the model will be fully visible (can list, delete etc.) # noqa: E501
319
+ """CreateModel creates a new model. # noqa: E501
320
320
 
321
321
  This method makes a synchronous HTTP request by default. To make an
322
322
  asynchronous HTTP request, please pass async_req=True
@@ -399,7 +399,7 @@ class ModelsStoreApi(object):
399
399
  collection_formats=collection_formats)
400
400
 
401
401
  def models_store_create_model_version(self, body: 'ModelIdVersionsBody', project_id: 'str', model_id: 'str', **kwargs) -> 'V1ModelVersionArchive': # noqa: E501
402
- """models_store_create_model_version # noqa: E501
402
+ """CreateModelVersion creates a new version of a model and marks the upload as incomplete. Files are expected to be uploaded using the multi-part upload APIs below, followed by a completion request after which the model will be fully visible (can list, delete etc.) # noqa: E501
403
403
 
404
404
  This method makes a synchronous HTTP request by default. To make an
405
405
  asynchronous HTTP request, please pass async_req=True
@@ -422,7 +422,7 @@ class ModelsStoreApi(object):
422
422
  return data
423
423
 
424
424
  def models_store_create_model_version_with_http_info(self, body: 'ModelIdVersionsBody', project_id: 'str', model_id: 'str', **kwargs) -> 'V1ModelVersionArchive': # noqa: E501
425
- """models_store_create_model_version # noqa: E501
425
+ """CreateModelVersion creates a new version of a model and marks the upload as incomplete. Files are expected to be uploaded using the multi-part upload APIs below, followed by a completion request after which the model will be fully visible (can list, delete etc.) # noqa: E501
426
426
 
427
427
  This method makes a synchronous HTTP request by default. To make an
428
428
  asynchronous HTTP request, please pass async_req=True
@@ -1827,8 +1827,129 @@ class ModelsStoreApi(object):
1827
1827
  _request_timeout=params.get('_request_timeout'),
1828
1828
  collection_formats=collection_formats)
1829
1829
 
1830
+ def models_store_set_model_default_version(self, body: 'VersionDefaultBody', project_id: 'str', model_id: 'str', version: 'str', **kwargs) -> 'V1Model': # noqa: E501
1831
+ """models_store_set_model_default_version # noqa: E501
1832
+
1833
+ This method makes a synchronous HTTP request by default. To make an
1834
+ asynchronous HTTP request, please pass async_req=True
1835
+ >>> thread = api.models_store_set_model_default_version(body, project_id, model_id, version, async_req=True)
1836
+ >>> result = thread.get()
1837
+
1838
+ :param async_req bool
1839
+ :param VersionDefaultBody body: (required)
1840
+ :param str project_id: (required)
1841
+ :param str model_id: (required)
1842
+ :param str version: (required)
1843
+ :return: V1Model
1844
+ If the method is called asynchronously,
1845
+ returns the request thread.
1846
+ """
1847
+ kwargs['_return_http_data_only'] = True
1848
+ if kwargs.get('async_req'):
1849
+ return self.models_store_set_model_default_version_with_http_info(body, project_id, model_id, version, **kwargs) # noqa: E501
1850
+ else:
1851
+ (data) = self.models_store_set_model_default_version_with_http_info(body, project_id, model_id, version, **kwargs) # noqa: E501
1852
+ return data
1853
+
1854
+ def models_store_set_model_default_version_with_http_info(self, body: 'VersionDefaultBody', project_id: 'str', model_id: 'str', version: 'str', **kwargs) -> 'V1Model': # noqa: E501
1855
+ """models_store_set_model_default_version # noqa: E501
1856
+
1857
+ This method makes a synchronous HTTP request by default. To make an
1858
+ asynchronous HTTP request, please pass async_req=True
1859
+ >>> thread = api.models_store_set_model_default_version_with_http_info(body, project_id, model_id, version, async_req=True)
1860
+ >>> result = thread.get()
1861
+
1862
+ :param async_req bool
1863
+ :param VersionDefaultBody body: (required)
1864
+ :param str project_id: (required)
1865
+ :param str model_id: (required)
1866
+ :param str version: (required)
1867
+ :return: V1Model
1868
+ If the method is called asynchronously,
1869
+ returns the request thread.
1870
+ """
1871
+
1872
+ all_params = ['body', 'project_id', 'model_id', 'version'] # noqa: E501
1873
+ all_params.append('async_req')
1874
+ all_params.append('_return_http_data_only')
1875
+ all_params.append('_preload_content')
1876
+ all_params.append('_request_timeout')
1877
+
1878
+ params = locals()
1879
+ for key, val in six.iteritems(params['kwargs']):
1880
+ if key not in all_params:
1881
+ raise TypeError(
1882
+ "Got an unexpected keyword argument '%s'"
1883
+ " to method models_store_set_model_default_version" % key
1884
+ )
1885
+ params[key] = val
1886
+ del params['kwargs']
1887
+ # verify the required parameter 'body' is set
1888
+ if ('body' not in params or
1889
+ params['body'] is None):
1890
+ raise ValueError("Missing the required parameter `body` when calling `models_store_set_model_default_version`") # noqa: E501
1891
+ # verify the required parameter 'project_id' is set
1892
+ if ('project_id' not in params or
1893
+ params['project_id'] is None):
1894
+ raise ValueError("Missing the required parameter `project_id` when calling `models_store_set_model_default_version`") # noqa: E501
1895
+ # verify the required parameter 'model_id' is set
1896
+ if ('model_id' not in params or
1897
+ params['model_id'] is None):
1898
+ raise ValueError("Missing the required parameter `model_id` when calling `models_store_set_model_default_version`") # noqa: E501
1899
+ # verify the required parameter 'version' is set
1900
+ if ('version' not in params or
1901
+ params['version'] is None):
1902
+ raise ValueError("Missing the required parameter `version` when calling `models_store_set_model_default_version`") # noqa: E501
1903
+
1904
+ collection_formats = {}
1905
+
1906
+ path_params = {}
1907
+ if 'project_id' in params:
1908
+ path_params['projectId'] = params['project_id'] # noqa: E501
1909
+ if 'model_id' in params:
1910
+ path_params['modelId'] = params['model_id'] # noqa: E501
1911
+ if 'version' in params:
1912
+ path_params['version'] = params['version'] # noqa: E501
1913
+
1914
+ query_params = []
1915
+
1916
+ header_params = {}
1917
+
1918
+ form_params = []
1919
+ local_var_files = {}
1920
+
1921
+ body_params = None
1922
+ if 'body' in params:
1923
+ body_params = params['body']
1924
+ # HTTP header `Accept`
1925
+ header_params['Accept'] = self.api_client.select_header_accept(
1926
+ ['application/json']) # noqa: E501
1927
+
1928
+ # HTTP header `Content-Type`
1929
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
1930
+ ['application/json']) # noqa: E501
1931
+
1932
+ # Authentication setting
1933
+ auth_settings = [] # noqa: E501
1934
+
1935
+ return self.api_client.call_api(
1936
+ '/v1/projects/{projectId}/models/{modelId}/versions/{version}/default', 'PUT',
1937
+ path_params,
1938
+ query_params,
1939
+ header_params,
1940
+ body=body_params,
1941
+ post_params=form_params,
1942
+ files=local_var_files,
1943
+ response_type='V1Model', # noqa: E501
1944
+ auth_settings=auth_settings,
1945
+ async_req=params.get('async_req'),
1946
+ _return_http_data_only=params.get('_return_http_data_only'),
1947
+ _preload_content=params.get('_preload_content', True),
1948
+ _request_timeout=params.get('_request_timeout'),
1949
+ collection_formats=collection_formats)
1950
+
1830
1951
  def models_store_update_model(self, body: 'ModelsModelIdBody', project_id: 'str', model_id: 'str', **kwargs) -> 'V1Model': # noqa: E501
1831
- """models_store_update_model # noqa: E501
1952
+ """UpdateModel updates the model, in particular the model's name. # noqa: E501
1832
1953
 
1833
1954
  This method makes a synchronous HTTP request by default. To make an
1834
1955
  asynchronous HTTP request, please pass async_req=True
@@ -1851,7 +1972,7 @@ class ModelsStoreApi(object):
1851
1972
  return data
1852
1973
 
1853
1974
  def models_store_update_model_with_http_info(self, body: 'ModelsModelIdBody', project_id: 'str', model_id: 'str', **kwargs) -> 'V1Model': # noqa: E501
1854
- """models_store_update_model # noqa: E501
1975
+ """UpdateModel updates the model, in particular the model's name. # noqa: E501
1855
1976
 
1856
1977
  This method makes a synchronous HTTP request by default. To make an
1857
1978
  asynchronous HTTP request, please pass async_req=True
@@ -1940,8 +2061,129 @@ class ModelsStoreApi(object):
1940
2061
  _request_timeout=params.get('_request_timeout'),
1941
2062
  collection_formats=collection_formats)
1942
2063
 
2064
+ def models_store_update_model_version(self, body: 'VersionsVersionBody', project_id: 'str', model_id: 'str', version: 'str', **kwargs) -> 'V1ModelVersionArchive': # noqa: E501
2065
+ """UpdateModelVersion updates the model version, in particular the model version's name. # noqa: E501
2066
+
2067
+ This method makes a synchronous HTTP request by default. To make an
2068
+ asynchronous HTTP request, please pass async_req=True
2069
+ >>> thread = api.models_store_update_model_version(body, project_id, model_id, version, async_req=True)
2070
+ >>> result = thread.get()
2071
+
2072
+ :param async_req bool
2073
+ :param VersionsVersionBody body: (required)
2074
+ :param str project_id: (required)
2075
+ :param str model_id: (required)
2076
+ :param str version: (required)
2077
+ :return: V1ModelVersionArchive
2078
+ If the method is called asynchronously,
2079
+ returns the request thread.
2080
+ """
2081
+ kwargs['_return_http_data_only'] = True
2082
+ if kwargs.get('async_req'):
2083
+ return self.models_store_update_model_version_with_http_info(body, project_id, model_id, version, **kwargs) # noqa: E501
2084
+ else:
2085
+ (data) = self.models_store_update_model_version_with_http_info(body, project_id, model_id, version, **kwargs) # noqa: E501
2086
+ return data
2087
+
2088
+ def models_store_update_model_version_with_http_info(self, body: 'VersionsVersionBody', project_id: 'str', model_id: 'str', version: 'str', **kwargs) -> 'V1ModelVersionArchive': # noqa: E501
2089
+ """UpdateModelVersion updates the model version, in particular the model version's name. # noqa: E501
2090
+
2091
+ This method makes a synchronous HTTP request by default. To make an
2092
+ asynchronous HTTP request, please pass async_req=True
2093
+ >>> thread = api.models_store_update_model_version_with_http_info(body, project_id, model_id, version, async_req=True)
2094
+ >>> result = thread.get()
2095
+
2096
+ :param async_req bool
2097
+ :param VersionsVersionBody body: (required)
2098
+ :param str project_id: (required)
2099
+ :param str model_id: (required)
2100
+ :param str version: (required)
2101
+ :return: V1ModelVersionArchive
2102
+ If the method is called asynchronously,
2103
+ returns the request thread.
2104
+ """
2105
+
2106
+ all_params = ['body', 'project_id', 'model_id', 'version'] # noqa: E501
2107
+ all_params.append('async_req')
2108
+ all_params.append('_return_http_data_only')
2109
+ all_params.append('_preload_content')
2110
+ all_params.append('_request_timeout')
2111
+
2112
+ params = locals()
2113
+ for key, val in six.iteritems(params['kwargs']):
2114
+ if key not in all_params:
2115
+ raise TypeError(
2116
+ "Got an unexpected keyword argument '%s'"
2117
+ " to method models_store_update_model_version" % key
2118
+ )
2119
+ params[key] = val
2120
+ del params['kwargs']
2121
+ # verify the required parameter 'body' is set
2122
+ if ('body' not in params or
2123
+ params['body'] is None):
2124
+ raise ValueError("Missing the required parameter `body` when calling `models_store_update_model_version`") # noqa: E501
2125
+ # verify the required parameter 'project_id' is set
2126
+ if ('project_id' not in params or
2127
+ params['project_id'] is None):
2128
+ raise ValueError("Missing the required parameter `project_id` when calling `models_store_update_model_version`") # noqa: E501
2129
+ # verify the required parameter 'model_id' is set
2130
+ if ('model_id' not in params or
2131
+ params['model_id'] is None):
2132
+ raise ValueError("Missing the required parameter `model_id` when calling `models_store_update_model_version`") # noqa: E501
2133
+ # verify the required parameter 'version' is set
2134
+ if ('version' not in params or
2135
+ params['version'] is None):
2136
+ raise ValueError("Missing the required parameter `version` when calling `models_store_update_model_version`") # noqa: E501
2137
+
2138
+ collection_formats = {}
2139
+
2140
+ path_params = {}
2141
+ if 'project_id' in params:
2142
+ path_params['projectId'] = params['project_id'] # noqa: E501
2143
+ if 'model_id' in params:
2144
+ path_params['modelId'] = params['model_id'] # noqa: E501
2145
+ if 'version' in params:
2146
+ path_params['version'] = params['version'] # noqa: E501
2147
+
2148
+ query_params = []
2149
+
2150
+ header_params = {}
2151
+
2152
+ form_params = []
2153
+ local_var_files = {}
2154
+
2155
+ body_params = None
2156
+ if 'body' in params:
2157
+ body_params = params['body']
2158
+ # HTTP header `Accept`
2159
+ header_params['Accept'] = self.api_client.select_header_accept(
2160
+ ['application/json']) # noqa: E501
2161
+
2162
+ # HTTP header `Content-Type`
2163
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
2164
+ ['application/json']) # noqa: E501
2165
+
2166
+ # Authentication setting
2167
+ auth_settings = [] # noqa: E501
2168
+
2169
+ return self.api_client.call_api(
2170
+ '/v1/projects/{projectId}/models/{modelId}/versions/{version}', 'PUT',
2171
+ path_params,
2172
+ query_params,
2173
+ header_params,
2174
+ body=body_params,
2175
+ post_params=form_params,
2176
+ files=local_var_files,
2177
+ response_type='V1ModelVersionArchive', # noqa: E501
2178
+ auth_settings=auth_settings,
2179
+ async_req=params.get('async_req'),
2180
+ _return_http_data_only=params.get('_return_http_data_only'),
2181
+ _preload_content=params.get('_preload_content', True),
2182
+ _request_timeout=params.get('_request_timeout'),
2183
+ collection_formats=collection_formats)
2184
+
1943
2185
  def models_store_update_model_visibility(self, body: 'ModelIdVisibilityBody', project_id: 'str', model_id: 'str', **kwargs) -> 'V1UpdateModelVisibilityResponse': # noqa: E501
1944
- """models_store_update_model_visibility # noqa: E501
2186
+ """UpdateModelVisibility updates the model version, mainly switch between public and private # noqa: E501
1945
2187
 
1946
2188
  This method makes a synchronous HTTP request by default. To make an
1947
2189
  asynchronous HTTP request, please pass async_req=True
@@ -1964,7 +2206,7 @@ class ModelsStoreApi(object):
1964
2206
  return data
1965
2207
 
1966
2208
  def models_store_update_model_visibility_with_http_info(self, body: 'ModelIdVisibilityBody', project_id: 'str', model_id: 'str', **kwargs) -> 'V1UpdateModelVisibilityResponse': # noqa: E501
1967
- """models_store_update_model_visibility # noqa: E501
2209
+ """UpdateModelVisibility updates the model version, mainly switch between public and private # noqa: E501
1968
2210
 
1969
2211
  This method makes a synchronous HTTP request by default. To make an
1970
2212
  asynchronous HTTP request, please pass async_req=True
@@ -290,7 +290,6 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_capacity_res
290
290
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_encryption_key_response import V1DeleteClusterEncryptionKeyResponse
291
291
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_proxy_response import V1DeleteClusterProxyResponse
292
292
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_response import V1DeleteClusterResponse
293
- from lightning_sdk.lightning_cloud.openapi.models.v1_delete_container_response import V1DeleteContainerResponse
294
293
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_conversation_response import V1DeleteConversationResponse
295
294
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_data_connection_response import V1DeleteDataConnectionResponse
296
295
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_dataset_response import V1DeleteDatasetResponse
@@ -305,6 +304,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningapp_instanc
305
304
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningapp_instance_response import V1DeleteLightningappInstanceResponse
306
305
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningwork_response import V1DeleteLightningworkResponse
307
306
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lit_page_response import V1DeleteLitPageResponse
307
+ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lit_repository_response import V1DeleteLitRepositoryResponse
308
308
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_logger_artifact_response import V1DeleteLoggerArtifactResponse
309
309
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_managed_endpoint_response import V1DeleteManagedEndpointResponse
310
310
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_metrics_stream_response import V1DeleteMetricsStreamResponse
@@ -757,6 +757,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_vultr_direct_v1 import V1Vu
757
757
  from lightning_sdk.lightning_cloud.openapi.models.v1_work import V1Work
758
758
  from lightning_sdk.lightning_cloud.openapi.models.validate import Validate
759
759
  from lightning_sdk.lightning_cloud.openapi.models.validateautojoindomain_domain_body import ValidateautojoindomainDomainBody
760
+ from lightning_sdk.lightning_cloud.openapi.models.version_default_body import VersionDefaultBody
760
761
  from lightning_sdk.lightning_cloud.openapi.models.version_uploads_body import VersionUploadsBody
761
762
  from lightning_sdk.lightning_cloud.openapi.models.versions_id_body import VersionsIdBody
763
+ from lightning_sdk.lightning_cloud.openapi.models.versions_version_body import VersionsVersionBody
762
764
  from lightning_sdk.lightning_cloud.openapi.models.works_id_body import WorksIdBody
@@ -41,6 +41,7 @@ class V1AWSDirectV1(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'ami_owner_id': 'str',
44
45
  'bucket_endpoint': 'str',
45
46
  'bucket_name': 'str',
46
47
  'cloud_formation_disabled': 'bool',
@@ -55,6 +56,7 @@ class V1AWSDirectV1(object):
55
56
  }
56
57
 
57
58
  attribute_map = {
59
+ 'ami_owner_id': 'amiOwnerId',
58
60
  'bucket_endpoint': 'bucketEndpoint',
59
61
  'bucket_name': 'bucketName',
60
62
  'cloud_formation_disabled': 'cloudFormationDisabled',
@@ -68,8 +70,9 @@ class V1AWSDirectV1(object):
68
70
  'use_launch_templates': 'useLaunchTemplates'
69
71
  }
70
72
 
71
- def __init__(self, bucket_endpoint: 'str' =None, bucket_name: 'str' =None, cloud_formation_disabled: 'bool' =None, efs_enabled: 'bool' =None, external_id: 'str' =None, primary_region: 'str' =None, regional_load_balancers: 'list[V1RegionalLoadBalancer]' =None, regions: 'list[str]' =None, role_arn: 'str' =None, source_cidr_ips: 'list[str]' =None, use_launch_templates: 'bool' =None): # noqa: E501
73
+ def __init__(self, ami_owner_id: 'str' =None, bucket_endpoint: 'str' =None, bucket_name: 'str' =None, cloud_formation_disabled: 'bool' =None, efs_enabled: 'bool' =None, external_id: 'str' =None, primary_region: 'str' =None, regional_load_balancers: 'list[V1RegionalLoadBalancer]' =None, regions: 'list[str]' =None, role_arn: 'str' =None, source_cidr_ips: 'list[str]' =None, use_launch_templates: 'bool' =None): # noqa: E501
72
74
  """V1AWSDirectV1 - a model defined in Swagger""" # noqa: E501
75
+ self._ami_owner_id = None
73
76
  self._bucket_endpoint = None
74
77
  self._bucket_name = None
75
78
  self._cloud_formation_disabled = None
@@ -82,6 +85,8 @@ class V1AWSDirectV1(object):
82
85
  self._source_cidr_ips = None
83
86
  self._use_launch_templates = None
84
87
  self.discriminator = None
88
+ if ami_owner_id is not None:
89
+ self.ami_owner_id = ami_owner_id
85
90
  if bucket_endpoint is not None:
86
91
  self.bucket_endpoint = bucket_endpoint
87
92
  if bucket_name is not None:
@@ -105,6 +110,27 @@ class V1AWSDirectV1(object):
105
110
  if use_launch_templates is not None:
106
111
  self.use_launch_templates = use_launch_templates
107
112
 
113
+ @property
114
+ def ami_owner_id(self) -> 'str':
115
+ """Gets the ami_owner_id of this V1AWSDirectV1. # noqa: E501
116
+
117
+
118
+ :return: The ami_owner_id of this V1AWSDirectV1. # noqa: E501
119
+ :rtype: str
120
+ """
121
+ return self._ami_owner_id
122
+
123
+ @ami_owner_id.setter
124
+ def ami_owner_id(self, ami_owner_id: 'str'):
125
+ """Sets the ami_owner_id of this V1AWSDirectV1.
126
+
127
+
128
+ :param ami_owner_id: The ami_owner_id of this V1AWSDirectV1. # noqa: E501
129
+ :type: str
130
+ """
131
+
132
+ self._ami_owner_id = ami_owner_id
133
+
108
134
  @property
109
135
  def bucket_endpoint(self) -> 'str':
110
136
  """Gets the bucket_endpoint of this V1AWSDirectV1. # noqa: E501
@@ -42,7 +42,6 @@ class V1ClusterSpec(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'auth_token': 'str',
45
- 'available_instance_types': 'list[str]',
46
45
  'aws_v1': 'V1AWSDirectV1',
47
46
  'cluster_type': 'V1ClusterType',
48
47
  'deletion_options': 'V1ClusterDeletionOptions',
@@ -63,7 +62,6 @@ class V1ClusterSpec(object):
63
62
 
64
63
  attribute_map = {
65
64
  'auth_token': 'authToken',
66
- 'available_instance_types': 'availableInstanceTypes',
67
65
  'aws_v1': 'awsV1',
68
66
  'cluster_type': 'clusterType',
69
67
  'deletion_options': 'deletionOptions',
@@ -82,10 +80,9 @@ class V1ClusterSpec(object):
82
80
  'vultr_v1': 'vultrV1'
83
81
  }
84
82
 
85
- def __init__(self, auth_token: 'str' =None, available_instance_types: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cluster_type: 'V1ClusterType' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, pause_automation: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
83
+ def __init__(self, auth_token: 'str' =None, aws_v1: 'V1AWSDirectV1' =None, cluster_type: 'V1ClusterType' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, pause_automation: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
86
84
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
87
85
  self._auth_token = None
88
- self._available_instance_types = None
89
86
  self._aws_v1 = None
90
87
  self._cluster_type = None
91
88
  self._deletion_options = None
@@ -105,8 +102,6 @@ class V1ClusterSpec(object):
105
102
  self.discriminator = None
106
103
  if auth_token is not None:
107
104
  self.auth_token = auth_token
108
- if available_instance_types is not None:
109
- self.available_instance_types = available_instance_types
110
105
  if aws_v1 is not None:
111
106
  self.aws_v1 = aws_v1
112
107
  if cluster_type is not None:
@@ -161,29 +156,6 @@ class V1ClusterSpec(object):
161
156
 
162
157
  self._auth_token = auth_token
163
158
 
164
- @property
165
- def available_instance_types(self) -> 'list[str]':
166
- """Gets the available_instance_types of this V1ClusterSpec. # noqa: E501
167
-
168
- available_instance_types is a list of instance types that are available for the cluster. This is just a soft filter to prevent users from using instances that we haven't prepared for. If the list is empty, no filtering is done. # noqa: E501
169
-
170
- :return: The available_instance_types of this V1ClusterSpec. # noqa: E501
171
- :rtype: list[str]
172
- """
173
- return self._available_instance_types
174
-
175
- @available_instance_types.setter
176
- def available_instance_types(self, available_instance_types: 'list[str]'):
177
- """Sets the available_instance_types of this V1ClusterSpec.
178
-
179
- available_instance_types is a list of instance types that are available for the cluster. This is just a soft filter to prevent users from using instances that we haven't prepared for. If the list is empty, no filtering is done. # noqa: E501
180
-
181
- :param available_instance_types: The available_instance_types of this V1ClusterSpec. # noqa: E501
182
- :type: list[str]
183
- """
184
-
185
- self._available_instance_types = available_instance_types
186
-
187
159
  @property
188
160
  def aws_v1(self) -> 'V1AWSDirectV1':
189
161
  """Gets the aws_v1 of this V1ClusterSpec. # noqa: E501
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from datetime import datetime
29
29
  from lightning_sdk.lightning_cloud.openapi.models import *
30
30
 
31
- class V1DeleteContainerResponse(object):
31
+ class V1DeleteLitRepositoryResponse(object):
32
32
  """NOTE: This class is auto generated by the swagger code generator program.
33
33
 
34
34
  Do not edit the class manually.
@@ -47,7 +47,7 @@ class V1DeleteContainerResponse(object):
47
47
  }
48
48
 
49
49
  def __init__(self): # noqa: E501
50
- """V1DeleteContainerResponse - a model defined in Swagger""" # noqa: E501
50
+ """V1DeleteLitRepositoryResponse - a model defined in Swagger""" # noqa: E501
51
51
  self.discriminator = None
52
52
 
53
53
  def to_dict(self) -> dict:
@@ -71,7 +71,7 @@ class V1DeleteContainerResponse(object):
71
71
  ))
72
72
  else:
73
73
  result[attr] = value
74
- if issubclass(V1DeleteContainerResponse, dict):
74
+ if issubclass(V1DeleteLitRepositoryResponse, dict):
75
75
  for key, value in self.items():
76
76
  result[key] = value
77
77
 
@@ -85,13 +85,13 @@ class V1DeleteContainerResponse(object):
85
85
  """For `print` and `pprint`"""
86
86
  return self.to_str()
87
87
 
88
- def __eq__(self, other: 'V1DeleteContainerResponse') -> bool:
88
+ def __eq__(self, other: 'V1DeleteLitRepositoryResponse') -> bool:
89
89
  """Returns true if both objects are equal"""
90
- if not isinstance(other, V1DeleteContainerResponse):
90
+ if not isinstance(other, V1DeleteLitRepositoryResponse):
91
91
  return False
92
92
 
93
93
  return self.__dict__ == other.__dict__
94
94
 
95
- def __ne__(self, other: 'V1DeleteContainerResponse') -> bool:
95
+ def __ne__(self, other: 'V1DeleteLitRepositoryResponse') -> bool:
96
96
  """Returns true if both objects are not equal"""
97
97
  return not self == other
@@ -47,6 +47,7 @@ class V1GoogleCloudDirectV1(object):
47
47
  'credentials_service_account_email': 'str',
48
48
  'primary_region': 'str',
49
49
  'project_id': 'str',
50
+ 'project_sa_enabled': 'bool',
50
51
  'regions': 'list[str]',
51
52
  'service_account_email': 'str',
52
53
  'source_cidr_ips': 'list[str]'
@@ -59,12 +60,13 @@ class V1GoogleCloudDirectV1(object):
59
60
  'credentials_service_account_email': 'credentialsServiceAccountEmail',
60
61
  'primary_region': 'primaryRegion',
61
62
  'project_id': 'projectId',
63
+ 'project_sa_enabled': 'projectSaEnabled',
62
64
  'regions': 'regions',
63
65
  'service_account_email': 'serviceAccountEmail',
64
66
  'source_cidr_ips': 'sourceCidrIps'
65
67
  }
66
68
 
67
- def __init__(self, bucket_name: 'str' =None, compute_project_role: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, primary_region: 'str' =None, project_id: 'str' =None, regions: 'list[str]' =None, service_account_email: 'str' =None, source_cidr_ips: 'list[str]' =None): # noqa: E501
69
+ def __init__(self, bucket_name: 'str' =None, compute_project_role: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, primary_region: 'str' =None, project_id: 'str' =None, project_sa_enabled: 'bool' =None, regions: 'list[str]' =None, service_account_email: 'str' =None, source_cidr_ips: 'list[str]' =None): # noqa: E501
68
70
  """V1GoogleCloudDirectV1 - a model defined in Swagger""" # noqa: E501
69
71
  self._bucket_name = None
70
72
  self._compute_project_role = None
@@ -72,6 +74,7 @@ class V1GoogleCloudDirectV1(object):
72
74
  self._credentials_service_account_email = None
73
75
  self._primary_region = None
74
76
  self._project_id = None
77
+ self._project_sa_enabled = None
75
78
  self._regions = None
76
79
  self._service_account_email = None
77
80
  self._source_cidr_ips = None
@@ -88,6 +91,8 @@ class V1GoogleCloudDirectV1(object):
88
91
  self.primary_region = primary_region
89
92
  if project_id is not None:
90
93
  self.project_id = project_id
94
+ if project_sa_enabled is not None:
95
+ self.project_sa_enabled = project_sa_enabled
91
96
  if regions is not None:
92
97
  self.regions = regions
93
98
  if service_account_email is not None:
@@ -223,6 +228,29 @@ class V1GoogleCloudDirectV1(object):
223
228
 
224
229
  self._project_id = project_id
225
230
 
231
+ @property
232
+ def project_sa_enabled(self) -> 'bool':
233
+ """Gets the project_sa_enabled of this V1GoogleCloudDirectV1. # noqa: E501
234
+
235
+ If enabled, we will set up and use (for compute machines) service accounts with fine-graned permissions, to allow access objects under the teamspace prefix only. This flag assumed to be removed once this is dogfooded well ehough. # noqa: E501
236
+
237
+ :return: The project_sa_enabled of this V1GoogleCloudDirectV1. # noqa: E501
238
+ :rtype: bool
239
+ """
240
+ return self._project_sa_enabled
241
+
242
+ @project_sa_enabled.setter
243
+ def project_sa_enabled(self, project_sa_enabled: 'bool'):
244
+ """Sets the project_sa_enabled of this V1GoogleCloudDirectV1.
245
+
246
+ If enabled, we will set up and use (for compute machines) service accounts with fine-graned permissions, to allow access objects under the teamspace prefix only. This flag assumed to be removed once this is dogfooded well ehough. # noqa: E501
247
+
248
+ :param project_sa_enabled: The project_sa_enabled of this V1GoogleCloudDirectV1. # noqa: E501
249
+ :type: bool
250
+ """
251
+
252
+ self._project_sa_enabled = project_sa_enabled
253
+
226
254
  @property
227
255
  def regions(self) -> 'list[str]':
228
256
  """Gets the regions of this V1GoogleCloudDirectV1. # noqa: E501
@@ -41,19 +41,24 @@ class V1LambdaLabsDirectV1(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'credentials_secret_id': 'str'
44
+ 'credentials_secret_id': 'str',
45
+ 'parent_cluster_id': 'str'
45
46
  }
46
47
 
47
48
  attribute_map = {
48
- 'credentials_secret_id': 'credentialsSecretId'
49
+ 'credentials_secret_id': 'credentialsSecretId',
50
+ 'parent_cluster_id': 'parentClusterId'
49
51
  }
50
52
 
51
- def __init__(self, credentials_secret_id: 'str' =None): # noqa: E501
53
+ def __init__(self, credentials_secret_id: 'str' =None, parent_cluster_id: 'str' =None): # noqa: E501
52
54
  """V1LambdaLabsDirectV1 - a model defined in Swagger""" # noqa: E501
53
55
  self._credentials_secret_id = None
56
+ self._parent_cluster_id = None
54
57
  self.discriminator = None
55
58
  if credentials_secret_id is not None:
56
59
  self.credentials_secret_id = credentials_secret_id
60
+ if parent_cluster_id is not None:
61
+ self.parent_cluster_id = parent_cluster_id
57
62
 
58
63
  @property
59
64
  def credentials_secret_id(self) -> 'str':
@@ -78,6 +83,29 @@ class V1LambdaLabsDirectV1(object):
78
83
 
79
84
  self._credentials_secret_id = credentials_secret_id
80
85
 
86
+ @property
87
+ def parent_cluster_id(self) -> 'str':
88
+ """Gets the parent_cluster_id of this V1LambdaLabsDirectV1. # noqa: E501
89
+
90
+ Note: LambdaLabs is missing object store in their offering, we will need to use either GCP or AWS S3 for that. # noqa: E501
91
+
92
+ :return: The parent_cluster_id of this V1LambdaLabsDirectV1. # noqa: E501
93
+ :rtype: str
94
+ """
95
+ return self._parent_cluster_id
96
+
97
+ @parent_cluster_id.setter
98
+ def parent_cluster_id(self, parent_cluster_id: 'str'):
99
+ """Sets the parent_cluster_id of this V1LambdaLabsDirectV1.
100
+
101
+ Note: LambdaLabs is missing object store in their offering, we will need to use either GCP or AWS S3 for that. # noqa: E501
102
+
103
+ :param parent_cluster_id: The parent_cluster_id of this V1LambdaLabsDirectV1. # noqa: E501
104
+ :type: str
105
+ """
106
+
107
+ self._parent_cluster_id = parent_cluster_id
108
+
81
109
  def to_dict(self) -> dict:
82
110
  """Returns the model properties as a dict"""
83
111
  result = {}