lightning-sdk 2025.12.9__py3-none-any.whl → 2025.12.17__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 (78) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/job_api.py +16 -0
  3. lightning_sdk/api/org_api.py +7 -0
  4. lightning_sdk/api/studio_api.py +28 -3
  5. lightning_sdk/api/teamspace_api.py +42 -5
  6. lightning_sdk/api/user_api.py +5 -0
  7. lightning_sdk/cli/legacy/download.py +2 -1
  8. lightning_sdk/cli/legacy/studios_menu.py +8 -1
  9. lightning_sdk/job/base.py +26 -4
  10. lightning_sdk/job/job.py +16 -5
  11. lightning_sdk/job/v1.py +7 -2
  12. lightning_sdk/job/v2.py +41 -1
  13. lightning_sdk/lightning_cloud/openapi/__init__.py +26 -1
  14. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  15. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +5 -1
  16. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +517 -0
  17. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  18. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  19. lightning_sdk/lightning_cloud/openapi/api/kubernetes_virtual_machine_service_api.py +557 -0
  20. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  21. lightning_sdk/lightning_cloud/openapi/models/__init__.py +25 -1
  22. lightning_sdk/lightning_cloud/openapi/models/cloud_space_environment_template_service_update_cloud_space_environment_template_body.py +27 -1
  23. lightning_sdk/lightning_cloud/openapi/models/cluster_service_add_container_registry_body.py +123 -0
  24. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/cluster_service_refresh_container_registry_credentials_body.py +97 -0
  26. lightning_sdk/lightning_cloud/openapi/models/cluster_service_validate_container_registry_body.py +97 -0
  27. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +513 -0
  28. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py +97 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_add_container_registry_response.py +123 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +1 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +253 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +281 -0
  34. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_integration.py +123 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_status.py +105 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/v1_delete_container_registry_response.py +97 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_delete_kubernetes_virtual_machine_response.py +97 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config.py +175 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config_input.py +123 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_details.py +201 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  43. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_virtual_machine.py +383 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +305 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_provider_configuration.py +227 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_configuration.py +149 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +201 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +123 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_virtual_machines_response.py +123 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -1
  53. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +27 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +123 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_search_user.py +27 -1
  56. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +79 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_validate_container_registry_response.py +149 -0
  58. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  59. lightning_sdk/machine.py +1 -0
  60. lightning_sdk/mmt/base.py +26 -7
  61. lightning_sdk/mmt/mmt.py +11 -6
  62. lightning_sdk/mmt/v1.py +5 -2
  63. lightning_sdk/mmt/v2.py +5 -2
  64. lightning_sdk/organization.py +10 -1
  65. lightning_sdk/owner.py +4 -0
  66. lightning_sdk/pipeline/steps.py +3 -0
  67. lightning_sdk/plugin.py +2 -2
  68. lightning_sdk/studio.py +33 -2
  69. lightning_sdk/teamspace.py +44 -4
  70. lightning_sdk/user.py +22 -2
  71. lightning_sdk/utils/resolve.py +9 -7
  72. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/METADATA +1 -1
  73. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/RECORD +78 -53
  74. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mm_ts_response.py → v1_list_filesystem_mmts_response.py} +0 -0
  75. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/LICENSE +0 -0
  76. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/WHEEL +0 -0
  77. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/entry_points.txt +0 -0
  78. {lightning_sdk-2025.12.9.dist-info → lightning_sdk-2025.12.17.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,7 @@ from lightning_sdk.lightning_cloud.openapi.api.git_credentials_service_api impor
23
23
  from lightning_sdk.lightning_cloud.openapi.api.incidents_service_api import IncidentsServiceApi
24
24
  from lightning_sdk.lightning_cloud.openapi.api.jobs_service_api import JobsServiceApi
25
25
  from lightning_sdk.lightning_cloud.openapi.api.k8_s_cluster_service_api import K8SClusterServiceApi
26
+ from lightning_sdk.lightning_cloud.openapi.api.kubernetes_virtual_machine_service_api import KubernetesVirtualMachineServiceApi
26
27
  from lightning_sdk.lightning_cloud.openapi.api.lightningapp_instance_service_api import LightningappInstanceServiceApi
27
28
  from lightning_sdk.lightning_cloud.openapi.api.lightningapp_v2_service_api import LightningappV2ServiceApi
28
29
  from lightning_sdk.lightning_cloud.openapi.api.lightningwork_service_api import LightningworkServiceApi
@@ -3073,6 +3073,7 @@ class CloudSpaceServiceApi(object):
3073
3073
  :param bool include_download_url:
3074
3074
  :param str cluster_id:
3075
3075
  :param bool local_index: if true, fetch from the local index
3076
+ :param bool include_folder_index: if true, include the folder index in the response
3076
3077
  :return: V1GetArtifactsPageResponse
3077
3078
  If the method is called asynchronously,
3078
3079
  returns the request thread.
@@ -3100,12 +3101,13 @@ class CloudSpaceServiceApi(object):
3100
3101
  :param bool include_download_url:
3101
3102
  :param str cluster_id:
3102
3103
  :param bool local_index: if true, fetch from the local index
3104
+ :param bool include_folder_index: if true, include the folder index in the response
3103
3105
  :return: V1GetArtifactsPageResponse
3104
3106
  If the method is called asynchronously,
3105
3107
  returns the request thread.
3106
3108
  """
3107
3109
 
3108
- all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index'] # noqa: E501
3110
+ all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index', 'include_folder_index'] # noqa: E501
3109
3111
  all_params.append('async_req')
3110
3112
  all_params.append('_return_http_data_only')
3111
3113
  all_params.append('_preload_content')
@@ -3148,6 +3150,8 @@ class CloudSpaceServiceApi(object):
3148
3150
  query_params.append(('clusterId', params['cluster_id'])) # noqa: E501
3149
3151
  if 'local_index' in params:
3150
3152
  query_params.append(('localIndex', params['local_index'])) # noqa: E501
3153
+ if 'include_folder_index' in params:
3154
+ query_params.append(('includeFolderIndex', params['include_folder_index'])) # noqa: E501
3151
3155
 
3152
3156
  header_params = {}
3153
3157
 
@@ -43,6 +43,111 @@ class ClusterServiceApi(object):
43
43
  api_client = ApiClient()
44
44
  self.api_client = api_client
45
45
 
46
+ def cluster_service_add_container_registry(self, body: 'ClusterServiceAddContainerRegistryBody', cluster_id: 'str', **kwargs) -> 'V1AddContainerRegistryResponse': # noqa: E501
47
+ """Add a new container registry to a cluster # noqa: E501
48
+
49
+ This method makes a synchronous HTTP request by default. To make an
50
+ asynchronous HTTP request, please pass async_req=True
51
+ >>> thread = api.cluster_service_add_container_registry(body, cluster_id, async_req=True)
52
+ >>> result = thread.get()
53
+
54
+ :param async_req bool
55
+ :param ClusterServiceAddContainerRegistryBody body: (required)
56
+ :param str cluster_id: (required)
57
+ :return: V1AddContainerRegistryResponse
58
+ If the method is called asynchronously,
59
+ returns the request thread.
60
+ """
61
+ kwargs['_return_http_data_only'] = True
62
+ if kwargs.get('async_req'):
63
+ return self.cluster_service_add_container_registry_with_http_info(body, cluster_id, **kwargs) # noqa: E501
64
+ else:
65
+ (data) = self.cluster_service_add_container_registry_with_http_info(body, cluster_id, **kwargs) # noqa: E501
66
+ return data
67
+
68
+ def cluster_service_add_container_registry_with_http_info(self, body: 'ClusterServiceAddContainerRegistryBody', cluster_id: 'str', **kwargs) -> 'V1AddContainerRegistryResponse': # noqa: E501
69
+ """Add a new container registry to a cluster # noqa: E501
70
+
71
+ This method makes a synchronous HTTP request by default. To make an
72
+ asynchronous HTTP request, please pass async_req=True
73
+ >>> thread = api.cluster_service_add_container_registry_with_http_info(body, cluster_id, async_req=True)
74
+ >>> result = thread.get()
75
+
76
+ :param async_req bool
77
+ :param ClusterServiceAddContainerRegistryBody body: (required)
78
+ :param str cluster_id: (required)
79
+ :return: V1AddContainerRegistryResponse
80
+ If the method is called asynchronously,
81
+ returns the request thread.
82
+ """
83
+
84
+ all_params = ['body', 'cluster_id'] # noqa: E501
85
+ all_params.append('async_req')
86
+ all_params.append('_return_http_data_only')
87
+ all_params.append('_preload_content')
88
+ all_params.append('_request_timeout')
89
+
90
+ params = locals()
91
+ for key, val in six.iteritems(params['kwargs']):
92
+ if key not in all_params:
93
+ raise TypeError(
94
+ "Got an unexpected keyword argument '%s'"
95
+ " to method cluster_service_add_container_registry" % key
96
+ )
97
+ params[key] = val
98
+ del params['kwargs']
99
+ # verify the required parameter 'body' is set
100
+ if ('body' not in params or
101
+ params['body'] is None):
102
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_add_container_registry`") # noqa: E501
103
+ # verify the required parameter 'cluster_id' is set
104
+ if ('cluster_id' not in params or
105
+ params['cluster_id'] is None):
106
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_add_container_registry`") # noqa: E501
107
+
108
+ collection_formats = {}
109
+
110
+ path_params = {}
111
+ if 'cluster_id' in params:
112
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
113
+
114
+ query_params = []
115
+
116
+ header_params = {}
117
+
118
+ form_params = []
119
+ local_var_files = {}
120
+
121
+ body_params = None
122
+ if 'body' in params:
123
+ body_params = params['body']
124
+ # HTTP header `Accept`
125
+ header_params['Accept'] = self.api_client.select_header_accept(
126
+ ['application/json']) # noqa: E501
127
+
128
+ # HTTP header `Content-Type`
129
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
130
+ ['application/json']) # noqa: E501
131
+
132
+ # Authentication setting
133
+ auth_settings = [] # noqa: E501
134
+
135
+ return self.api_client.call_api(
136
+ '/v1/clusters/{clusterId}/container-registries', 'POST',
137
+ path_params,
138
+ query_params,
139
+ header_params,
140
+ body=body_params,
141
+ post_params=form_params,
142
+ files=local_var_files,
143
+ response_type='V1AddContainerRegistryResponse', # noqa: E501
144
+ auth_settings=auth_settings,
145
+ async_req=params.get('async_req'),
146
+ _return_http_data_only=params.get('_return_http_data_only'),
147
+ _preload_content=params.get('_preload_content', True),
148
+ _request_timeout=params.get('_request_timeout'),
149
+ collection_formats=collection_formats)
150
+
46
151
  def cluster_service_check_cluster_name_availability(self, body: 'V1CheckClusterNameAvailabilityRequest', **kwargs) -> 'V1CheckClusterNameAvailabilityResponse': # noqa: E501
47
152
  """cluster_service_check_cluster_name_availability # noqa: E501
48
153
 
@@ -1497,6 +1602,107 @@ class ClusterServiceApi(object):
1497
1602
  _request_timeout=params.get('_request_timeout'),
1498
1603
  collection_formats=collection_formats)
1499
1604
 
1605
+ def cluster_service_delete_container_registry(self, cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1DeleteContainerRegistryResponse': # noqa: E501
1606
+ """Delete a container registry from a cluster # noqa: E501
1607
+
1608
+ This method makes a synchronous HTTP request by default. To make an
1609
+ asynchronous HTTP request, please pass async_req=True
1610
+ >>> thread = api.cluster_service_delete_container_registry(cluster_id, registry_id, async_req=True)
1611
+ >>> result = thread.get()
1612
+
1613
+ :param async_req bool
1614
+ :param str cluster_id: (required)
1615
+ :param str registry_id: (required)
1616
+ :return: V1DeleteContainerRegistryResponse
1617
+ If the method is called asynchronously,
1618
+ returns the request thread.
1619
+ """
1620
+ kwargs['_return_http_data_only'] = True
1621
+ if kwargs.get('async_req'):
1622
+ return self.cluster_service_delete_container_registry_with_http_info(cluster_id, registry_id, **kwargs) # noqa: E501
1623
+ else:
1624
+ (data) = self.cluster_service_delete_container_registry_with_http_info(cluster_id, registry_id, **kwargs) # noqa: E501
1625
+ return data
1626
+
1627
+ def cluster_service_delete_container_registry_with_http_info(self, cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1DeleteContainerRegistryResponse': # noqa: E501
1628
+ """Delete a container registry from a cluster # noqa: E501
1629
+
1630
+ This method makes a synchronous HTTP request by default. To make an
1631
+ asynchronous HTTP request, please pass async_req=True
1632
+ >>> thread = api.cluster_service_delete_container_registry_with_http_info(cluster_id, registry_id, async_req=True)
1633
+ >>> result = thread.get()
1634
+
1635
+ :param async_req bool
1636
+ :param str cluster_id: (required)
1637
+ :param str registry_id: (required)
1638
+ :return: V1DeleteContainerRegistryResponse
1639
+ If the method is called asynchronously,
1640
+ returns the request thread.
1641
+ """
1642
+
1643
+ all_params = ['cluster_id', 'registry_id'] # noqa: E501
1644
+ all_params.append('async_req')
1645
+ all_params.append('_return_http_data_only')
1646
+ all_params.append('_preload_content')
1647
+ all_params.append('_request_timeout')
1648
+
1649
+ params = locals()
1650
+ for key, val in six.iteritems(params['kwargs']):
1651
+ if key not in all_params:
1652
+ raise TypeError(
1653
+ "Got an unexpected keyword argument '%s'"
1654
+ " to method cluster_service_delete_container_registry" % key
1655
+ )
1656
+ params[key] = val
1657
+ del params['kwargs']
1658
+ # verify the required parameter 'cluster_id' is set
1659
+ if ('cluster_id' not in params or
1660
+ params['cluster_id'] is None):
1661
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_delete_container_registry`") # noqa: E501
1662
+ # verify the required parameter 'registry_id' is set
1663
+ if ('registry_id' not in params or
1664
+ params['registry_id'] is None):
1665
+ raise ValueError("Missing the required parameter `registry_id` when calling `cluster_service_delete_container_registry`") # noqa: E501
1666
+
1667
+ collection_formats = {}
1668
+
1669
+ path_params = {}
1670
+ if 'cluster_id' in params:
1671
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
1672
+ if 'registry_id' in params:
1673
+ path_params['registryId'] = params['registry_id'] # noqa: E501
1674
+
1675
+ query_params = []
1676
+
1677
+ header_params = {}
1678
+
1679
+ form_params = []
1680
+ local_var_files = {}
1681
+
1682
+ body_params = None
1683
+ # HTTP header `Accept`
1684
+ header_params['Accept'] = self.api_client.select_header_accept(
1685
+ ['application/json']) # noqa: E501
1686
+
1687
+ # Authentication setting
1688
+ auth_settings = [] # noqa: E501
1689
+
1690
+ return self.api_client.call_api(
1691
+ '/v1/clusters/{clusterId}/container-registries/{registryId}', 'DELETE',
1692
+ path_params,
1693
+ query_params,
1694
+ header_params,
1695
+ body=body_params,
1696
+ post_params=form_params,
1697
+ files=local_var_files,
1698
+ response_type='V1DeleteContainerRegistryResponse', # noqa: E501
1699
+ auth_settings=auth_settings,
1700
+ async_req=params.get('async_req'),
1701
+ _return_http_data_only=params.get('_return_http_data_only'),
1702
+ _preload_content=params.get('_preload_content', True),
1703
+ _request_timeout=params.get('_request_timeout'),
1704
+ collection_formats=collection_formats)
1705
+
1500
1706
  def cluster_service_delete_machine(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1DeleteMachineResponse': # noqa: E501
1501
1707
  """Delete a machine # noqa: E501
1502
1708
 
@@ -3238,6 +3444,99 @@ class ClusterServiceApi(object):
3238
3444
  _request_timeout=params.get('_request_timeout'),
3239
3445
  collection_formats=collection_formats)
3240
3446
 
3447
+ def cluster_service_list_container_registries(self, cluster_id: 'str', **kwargs) -> 'V1ListContainerRegistriesResponse': # noqa: E501
3448
+ """List all container registries configured for a cluster # noqa: E501
3449
+
3450
+ This method makes a synchronous HTTP request by default. To make an
3451
+ asynchronous HTTP request, please pass async_req=True
3452
+ >>> thread = api.cluster_service_list_container_registries(cluster_id, async_req=True)
3453
+ >>> result = thread.get()
3454
+
3455
+ :param async_req bool
3456
+ :param str cluster_id: (required)
3457
+ :return: V1ListContainerRegistriesResponse
3458
+ If the method is called asynchronously,
3459
+ returns the request thread.
3460
+ """
3461
+ kwargs['_return_http_data_only'] = True
3462
+ if kwargs.get('async_req'):
3463
+ return self.cluster_service_list_container_registries_with_http_info(cluster_id, **kwargs) # noqa: E501
3464
+ else:
3465
+ (data) = self.cluster_service_list_container_registries_with_http_info(cluster_id, **kwargs) # noqa: E501
3466
+ return data
3467
+
3468
+ def cluster_service_list_container_registries_with_http_info(self, cluster_id: 'str', **kwargs) -> 'V1ListContainerRegistriesResponse': # noqa: E501
3469
+ """List all container registries configured for a cluster # noqa: E501
3470
+
3471
+ This method makes a synchronous HTTP request by default. To make an
3472
+ asynchronous HTTP request, please pass async_req=True
3473
+ >>> thread = api.cluster_service_list_container_registries_with_http_info(cluster_id, async_req=True)
3474
+ >>> result = thread.get()
3475
+
3476
+ :param async_req bool
3477
+ :param str cluster_id: (required)
3478
+ :return: V1ListContainerRegistriesResponse
3479
+ If the method is called asynchronously,
3480
+ returns the request thread.
3481
+ """
3482
+
3483
+ all_params = ['cluster_id'] # noqa: E501
3484
+ all_params.append('async_req')
3485
+ all_params.append('_return_http_data_only')
3486
+ all_params.append('_preload_content')
3487
+ all_params.append('_request_timeout')
3488
+
3489
+ params = locals()
3490
+ for key, val in six.iteritems(params['kwargs']):
3491
+ if key not in all_params:
3492
+ raise TypeError(
3493
+ "Got an unexpected keyword argument '%s'"
3494
+ " to method cluster_service_list_container_registries" % key
3495
+ )
3496
+ params[key] = val
3497
+ del params['kwargs']
3498
+ # verify the required parameter 'cluster_id' is set
3499
+ if ('cluster_id' not in params or
3500
+ params['cluster_id'] is None):
3501
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_list_container_registries`") # noqa: E501
3502
+
3503
+ collection_formats = {}
3504
+
3505
+ path_params = {}
3506
+ if 'cluster_id' in params:
3507
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
3508
+
3509
+ query_params = []
3510
+
3511
+ header_params = {}
3512
+
3513
+ form_params = []
3514
+ local_var_files = {}
3515
+
3516
+ body_params = None
3517
+ # HTTP header `Accept`
3518
+ header_params['Accept'] = self.api_client.select_header_accept(
3519
+ ['application/json']) # noqa: E501
3520
+
3521
+ # Authentication setting
3522
+ auth_settings = [] # noqa: E501
3523
+
3524
+ return self.api_client.call_api(
3525
+ '/v1/clusters/{clusterId}/container-registries', 'GET',
3526
+ path_params,
3527
+ query_params,
3528
+ header_params,
3529
+ body=body_params,
3530
+ post_params=form_params,
3531
+ files=local_var_files,
3532
+ response_type='V1ListContainerRegistriesResponse', # noqa: E501
3533
+ auth_settings=auth_settings,
3534
+ async_req=params.get('async_req'),
3535
+ _return_http_data_only=params.get('_return_http_data_only'),
3536
+ _preload_content=params.get('_preload_content', True),
3537
+ _request_timeout=params.get('_request_timeout'),
3538
+ collection_formats=collection_formats)
3539
+
3241
3540
  def cluster_service_list_default_cluster_accelerators(self, **kwargs) -> 'V1ListDefaultClusterAcceleratorsResponse': # noqa: E501
3242
3541
  """cluster_service_list_default_cluster_accelerators # noqa: E501
3243
3542
 
@@ -3840,6 +4139,111 @@ class ClusterServiceApi(object):
3840
4139
  _request_timeout=params.get('_request_timeout'),
3841
4140
  collection_formats=collection_formats)
3842
4141
 
4142
+ def cluster_service_refresh_container_registry_credentials(self, body: 'ClusterServiceRefreshContainerRegistryCredentialsBody', cluster_id: 'str', **kwargs) -> 'V1RefreshContainerRegistryCredentialsResponse': # noqa: E501
4143
+ """Refresh credentials for container registries and deploy to cluster # noqa: E501
4144
+
4145
+ This method makes a synchronous HTTP request by default. To make an
4146
+ asynchronous HTTP request, please pass async_req=True
4147
+ >>> thread = api.cluster_service_refresh_container_registry_credentials(body, cluster_id, async_req=True)
4148
+ >>> result = thread.get()
4149
+
4150
+ :param async_req bool
4151
+ :param ClusterServiceRefreshContainerRegistryCredentialsBody body: (required)
4152
+ :param str cluster_id: (required)
4153
+ :return: V1RefreshContainerRegistryCredentialsResponse
4154
+ If the method is called asynchronously,
4155
+ returns the request thread.
4156
+ """
4157
+ kwargs['_return_http_data_only'] = True
4158
+ if kwargs.get('async_req'):
4159
+ return self.cluster_service_refresh_container_registry_credentials_with_http_info(body, cluster_id, **kwargs) # noqa: E501
4160
+ else:
4161
+ (data) = self.cluster_service_refresh_container_registry_credentials_with_http_info(body, cluster_id, **kwargs) # noqa: E501
4162
+ return data
4163
+
4164
+ def cluster_service_refresh_container_registry_credentials_with_http_info(self, body: 'ClusterServiceRefreshContainerRegistryCredentialsBody', cluster_id: 'str', **kwargs) -> 'V1RefreshContainerRegistryCredentialsResponse': # noqa: E501
4165
+ """Refresh credentials for container registries and deploy to cluster # noqa: E501
4166
+
4167
+ This method makes a synchronous HTTP request by default. To make an
4168
+ asynchronous HTTP request, please pass async_req=True
4169
+ >>> thread = api.cluster_service_refresh_container_registry_credentials_with_http_info(body, cluster_id, async_req=True)
4170
+ >>> result = thread.get()
4171
+
4172
+ :param async_req bool
4173
+ :param ClusterServiceRefreshContainerRegistryCredentialsBody body: (required)
4174
+ :param str cluster_id: (required)
4175
+ :return: V1RefreshContainerRegistryCredentialsResponse
4176
+ If the method is called asynchronously,
4177
+ returns the request thread.
4178
+ """
4179
+
4180
+ all_params = ['body', 'cluster_id'] # noqa: E501
4181
+ all_params.append('async_req')
4182
+ all_params.append('_return_http_data_only')
4183
+ all_params.append('_preload_content')
4184
+ all_params.append('_request_timeout')
4185
+
4186
+ params = locals()
4187
+ for key, val in six.iteritems(params['kwargs']):
4188
+ if key not in all_params:
4189
+ raise TypeError(
4190
+ "Got an unexpected keyword argument '%s'"
4191
+ " to method cluster_service_refresh_container_registry_credentials" % key
4192
+ )
4193
+ params[key] = val
4194
+ del params['kwargs']
4195
+ # verify the required parameter 'body' is set
4196
+ if ('body' not in params or
4197
+ params['body'] is None):
4198
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_refresh_container_registry_credentials`") # noqa: E501
4199
+ # verify the required parameter 'cluster_id' is set
4200
+ if ('cluster_id' not in params or
4201
+ params['cluster_id'] is None):
4202
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_refresh_container_registry_credentials`") # noqa: E501
4203
+
4204
+ collection_formats = {}
4205
+
4206
+ path_params = {}
4207
+ if 'cluster_id' in params:
4208
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
4209
+
4210
+ query_params = []
4211
+
4212
+ header_params = {}
4213
+
4214
+ form_params = []
4215
+ local_var_files = {}
4216
+
4217
+ body_params = None
4218
+ if 'body' in params:
4219
+ body_params = params['body']
4220
+ # HTTP header `Accept`
4221
+ header_params['Accept'] = self.api_client.select_header_accept(
4222
+ ['application/json']) # noqa: E501
4223
+
4224
+ # HTTP header `Content-Type`
4225
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
4226
+ ['application/json']) # noqa: E501
4227
+
4228
+ # Authentication setting
4229
+ auth_settings = [] # noqa: E501
4230
+
4231
+ return self.api_client.call_api(
4232
+ '/v1/clusters/{clusterId}/container-registries/refresh-credentials', 'POST',
4233
+ path_params,
4234
+ query_params,
4235
+ header_params,
4236
+ body=body_params,
4237
+ post_params=form_params,
4238
+ files=local_var_files,
4239
+ response_type='V1RefreshContainerRegistryCredentialsResponse', # noqa: E501
4240
+ auth_settings=auth_settings,
4241
+ async_req=params.get('async_req'),
4242
+ _return_http_data_only=params.get('_return_http_data_only'),
4243
+ _preload_content=params.get('_preload_content', True),
4244
+ _request_timeout=params.get('_request_timeout'),
4245
+ collection_formats=collection_formats)
4246
+
3843
4247
  def cluster_service_request_cluster_access(self, body: 'V1RequestClusterAccessRequest', **kwargs) -> 'V1RequestClusterAccessResponse': # noqa: E501
3844
4248
  """cluster_service_request_cluster_access # noqa: E501
3845
4249
 
@@ -4772,3 +5176,116 @@ class ClusterServiceApi(object):
4772
5176
  _preload_content=params.get('_preload_content', True),
4773
5177
  _request_timeout=params.get('_request_timeout'),
4774
5178
  collection_formats=collection_formats)
5179
+
5180
+ def cluster_service_validate_container_registry(self, body: 'ClusterServiceValidateContainerRegistryBody', cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1ValidateContainerRegistryResponse': # noqa: E501
5181
+ """Validate that Lightning can pull from a container registry # noqa: E501
5182
+
5183
+ This method makes a synchronous HTTP request by default. To make an
5184
+ asynchronous HTTP request, please pass async_req=True
5185
+ >>> thread = api.cluster_service_validate_container_registry(body, cluster_id, registry_id, async_req=True)
5186
+ >>> result = thread.get()
5187
+
5188
+ :param async_req bool
5189
+ :param ClusterServiceValidateContainerRegistryBody body: (required)
5190
+ :param str cluster_id: (required)
5191
+ :param str registry_id: (required)
5192
+ :return: V1ValidateContainerRegistryResponse
5193
+ If the method is called asynchronously,
5194
+ returns the request thread.
5195
+ """
5196
+ kwargs['_return_http_data_only'] = True
5197
+ if kwargs.get('async_req'):
5198
+ return self.cluster_service_validate_container_registry_with_http_info(body, cluster_id, registry_id, **kwargs) # noqa: E501
5199
+ else:
5200
+ (data) = self.cluster_service_validate_container_registry_with_http_info(body, cluster_id, registry_id, **kwargs) # noqa: E501
5201
+ return data
5202
+
5203
+ def cluster_service_validate_container_registry_with_http_info(self, body: 'ClusterServiceValidateContainerRegistryBody', cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1ValidateContainerRegistryResponse': # noqa: E501
5204
+ """Validate that Lightning can pull from a container registry # noqa: E501
5205
+
5206
+ This method makes a synchronous HTTP request by default. To make an
5207
+ asynchronous HTTP request, please pass async_req=True
5208
+ >>> thread = api.cluster_service_validate_container_registry_with_http_info(body, cluster_id, registry_id, async_req=True)
5209
+ >>> result = thread.get()
5210
+
5211
+ :param async_req bool
5212
+ :param ClusterServiceValidateContainerRegistryBody body: (required)
5213
+ :param str cluster_id: (required)
5214
+ :param str registry_id: (required)
5215
+ :return: V1ValidateContainerRegistryResponse
5216
+ If the method is called asynchronously,
5217
+ returns the request thread.
5218
+ """
5219
+
5220
+ all_params = ['body', 'cluster_id', 'registry_id'] # noqa: E501
5221
+ all_params.append('async_req')
5222
+ all_params.append('_return_http_data_only')
5223
+ all_params.append('_preload_content')
5224
+ all_params.append('_request_timeout')
5225
+
5226
+ params = locals()
5227
+ for key, val in six.iteritems(params['kwargs']):
5228
+ if key not in all_params:
5229
+ raise TypeError(
5230
+ "Got an unexpected keyword argument '%s'"
5231
+ " to method cluster_service_validate_container_registry" % key
5232
+ )
5233
+ params[key] = val
5234
+ del params['kwargs']
5235
+ # verify the required parameter 'body' is set
5236
+ if ('body' not in params or
5237
+ params['body'] is None):
5238
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_validate_container_registry`") # noqa: E501
5239
+ # verify the required parameter 'cluster_id' is set
5240
+ if ('cluster_id' not in params or
5241
+ params['cluster_id'] is None):
5242
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_validate_container_registry`") # noqa: E501
5243
+ # verify the required parameter 'registry_id' is set
5244
+ if ('registry_id' not in params or
5245
+ params['registry_id'] is None):
5246
+ raise ValueError("Missing the required parameter `registry_id` when calling `cluster_service_validate_container_registry`") # noqa: E501
5247
+
5248
+ collection_formats = {}
5249
+
5250
+ path_params = {}
5251
+ if 'cluster_id' in params:
5252
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
5253
+ if 'registry_id' in params:
5254
+ path_params['registryId'] = params['registry_id'] # noqa: E501
5255
+
5256
+ query_params = []
5257
+
5258
+ header_params = {}
5259
+
5260
+ form_params = []
5261
+ local_var_files = {}
5262
+
5263
+ body_params = None
5264
+ if 'body' in params:
5265
+ body_params = params['body']
5266
+ # HTTP header `Accept`
5267
+ header_params['Accept'] = self.api_client.select_header_accept(
5268
+ ['application/json']) # noqa: E501
5269
+
5270
+ # HTTP header `Content-Type`
5271
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
5272
+ ['application/json']) # noqa: E501
5273
+
5274
+ # Authentication setting
5275
+ auth_settings = [] # noqa: E501
5276
+
5277
+ return self.api_client.call_api(
5278
+ '/v1/clusters/{clusterId}/container-registries/{registryId}/validate', 'POST',
5279
+ path_params,
5280
+ query_params,
5281
+ header_params,
5282
+ body=body_params,
5283
+ post_params=form_params,
5284
+ files=local_var_files,
5285
+ response_type='V1ValidateContainerRegistryResponse', # noqa: E501
5286
+ auth_settings=auth_settings,
5287
+ async_req=params.get('async_req'),
5288
+ _return_http_data_only=params.get('_return_http_data_only'),
5289
+ _preload_content=params.get('_preload_content', True),
5290
+ _request_timeout=params.get('_request_timeout'),
5291
+ collection_formats=collection_formats)
@@ -366,6 +366,7 @@ class DataConnectionServiceApi(object):
366
366
  :param bool include_download_url:
367
367
  :param str cluster_id:
368
368
  :param bool local_index: if true, fetch from the local index
369
+ :param bool include_folder_index: if true, include the folder index in the response
369
370
  :return: V1GetArtifactsPageResponse
370
371
  If the method is called asynchronously,
371
372
  returns the request thread.
@@ -393,12 +394,13 @@ class DataConnectionServiceApi(object):
393
394
  :param bool include_download_url:
394
395
  :param str cluster_id:
395
396
  :param bool local_index: if true, fetch from the local index
397
+ :param bool include_folder_index: if true, include the folder index in the response
396
398
  :return: V1GetArtifactsPageResponse
397
399
  If the method is called asynchronously,
398
400
  returns the request thread.
399
401
  """
400
402
 
401
- all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index'] # noqa: E501
403
+ all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index', 'include_folder_index'] # noqa: E501
402
404
  all_params.append('async_req')
403
405
  all_params.append('_return_http_data_only')
404
406
  all_params.append('_preload_content')
@@ -441,6 +443,8 @@ class DataConnectionServiceApi(object):
441
443
  query_params.append(('clusterId', params['cluster_id'])) # noqa: E501
442
444
  if 'local_index' in params:
443
445
  query_params.append(('localIndex', params['local_index'])) # noqa: E501
446
+ if 'include_folder_index' in params:
447
+ query_params.append(('includeFolderIndex', params['include_folder_index'])) # noqa: E501
444
448
 
445
449
  header_params = {}
446
450