lightning-sdk 2025.12.16__py3-none-any.whl → 2026.1.22__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 (141) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/k8s_api.py +75 -29
  3. lightning_sdk/api/org_api.py +7 -0
  4. lightning_sdk/api/studio_api.py +223 -36
  5. lightning_sdk/api/teamspace_api.py +28 -9
  6. lightning_sdk/api/user_api.py +5 -0
  7. lightning_sdk/cli/cp/__init__.py +64 -0
  8. lightning_sdk/cli/entrypoint.py +2 -0
  9. lightning_sdk/cli/groups.py +22 -0
  10. lightning_sdk/cli/legacy/clusters_menu.py +2 -2
  11. lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
  12. lightning_sdk/cli/legacy/download.py +2 -1
  13. lightning_sdk/cli/legacy/run.py +13 -2
  14. lightning_sdk/cli/legacy/studios_menu.py +8 -1
  15. lightning_sdk/cli/studio/__init__.py +4 -0
  16. lightning_sdk/cli/studio/cp.py +20 -64
  17. lightning_sdk/cli/studio/ls.py +57 -0
  18. lightning_sdk/cli/studio/rm.py +71 -0
  19. lightning_sdk/cli/utils/logging.py +2 -1
  20. lightning_sdk/cli/utils/studio_filesystem.py +65 -0
  21. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  22. lightning_sdk/exceptions.py +4 -0
  23. lightning_sdk/job/base.py +24 -5
  24. lightning_sdk/job/job.py +12 -5
  25. lightning_sdk/job/v1.py +5 -2
  26. lightning_sdk/job/v2.py +9 -1
  27. lightning_sdk/k8s_cluster.py +9 -10
  28. lightning_sdk/lightning_cloud/__version__.py +1 -1
  29. lightning_sdk/lightning_cloud/openapi/__init__.py +46 -3
  30. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  31. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +118 -1
  32. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +787 -125
  33. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  34. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  35. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  36. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  37. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  38. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  39. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  40. lightning_sdk/lightning_cloud/openapi/api/virtual_machine_service_api.py +557 -0
  41. lightning_sdk/lightning_cloud/openapi/models/__init__.py +45 -3
  42. lightning_sdk/lightning_cloud/openapi/models/cloud_space_environment_template_service_update_cloud_space_environment_template_body.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/cluster_service_add_container_registry_body.py +123 -0
  44. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +79 -1
  46. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  47. lightning_sdk/lightning_cloud/openapi/models/cluster_service_refresh_container_registry_credentials_body.py +97 -0
  48. lightning_sdk/lightning_cloud/openapi/models/cluster_service_report_machine_system_metrics_body.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/cluster_service_validate_container_registry_body.py +97 -0
  50. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  52. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  53. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_add_container_registry_response.py +123 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +1 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -27
  63. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  64. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +253 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +281 -0
  66. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_integration.py +123 -0
  67. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_status.py +105 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +27 -1
  69. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  70. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  71. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  72. lightning_sdk/lightning_cloud/openapi/models/v1_cudo_direct_v1.py +175 -0
  73. lightning_sdk/lightning_cloud/openapi/models/v1_delete_container_registry_response.py +97 -0
  74. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_logger_media_response.py +97 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_delete_virtual_machine_response.py +97 -0
  76. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_ecr_registry_config.py} +49 -49
  77. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config_input.py +123 -0
  78. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_details.py +201 -0
  79. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  80. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  81. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  82. lightning_sdk/lightning_cloud/openapi/models/v1_get_kubernetes_pod_logs_response.py +149 -0
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  84. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  85. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  86. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  87. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_setting.py +149 -0
  88. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  89. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  90. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +105 -1
  91. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  92. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  93. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +357 -0
  94. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +123 -0
  95. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  96. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  97. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  98. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  99. lightning_sdk/lightning_cloud/openapi/models/v1_list_virtual_machines_response.py +123 -0
  100. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  101. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +53 -53
  102. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  103. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  104. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  105. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +27 -1
  106. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  107. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +123 -0
  108. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_idle_state_response.py +97 -0
  109. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  110. lightning_sdk/lightning_cloud/openapi/models/v1_search_user.py +27 -1
  111. lightning_sdk/lightning_cloud/openapi/models/v1_tenant_credentials.py +201 -0
  112. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +217 -113
  113. lightning_sdk/lightning_cloud/openapi/models/v1_validate_container_registry_response.py +149 -0
  114. lightning_sdk/lightning_cloud/openapi/models/v1_virtual_machine.py +409 -0
  115. lightning_sdk/lightning_cloud/openapi/models/v1_vm_configuration.py +149 -0
  116. lightning_sdk/lightning_cloud/openapi/models/v1_vm_provider_configuration.py +227 -0
  117. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  118. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  119. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  120. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  121. lightning_sdk/machine.py +3 -3
  122. lightning_sdk/mmt/base.py +26 -7
  123. lightning_sdk/mmt/mmt.py +11 -6
  124. lightning_sdk/mmt/v1.py +5 -2
  125. lightning_sdk/mmt/v2.py +5 -2
  126. lightning_sdk/organization.py +10 -1
  127. lightning_sdk/owner.py +4 -0
  128. lightning_sdk/plugin.py +2 -2
  129. lightning_sdk/studio.py +47 -6
  130. lightning_sdk/user.py +22 -2
  131. lightning_sdk/utils/logging.py +2 -1
  132. lightning_sdk/utils/resolve.py +9 -7
  133. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/METADATA +1 -5
  134. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/RECORD +139 -94
  135. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/WHEEL +1 -1
  136. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  137. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  138. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mm_ts_response.py → v1_list_filesystem_mmts_response.py} +0 -0
  139. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/LICENSE +0 -0
  140. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/entry_points.txt +0 -0
  141. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2026.1.22.dist-info}/top_level.txt +0 -0
@@ -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
 
@@ -238,7 +343,7 @@ class ClusterServiceApi(object):
238
343
  collection_formats=collection_formats)
239
344
 
240
345
  def cluster_service_create_cluster_capacity_reservation(self, body: 'ClusterServiceCreateClusterCapacityReservationBody', project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1CreateClusterCapacityReservationResponse': # noqa: E501
241
- """cluster_service_create_cluster_capacity_reservation # noqa: E501
346
+ """capacity reservation # noqa: E501
242
347
 
243
348
  This method makes a synchronous HTTP request by default. To make an
244
349
  asynchronous HTTP request, please pass async_req=True
@@ -261,7 +366,7 @@ class ClusterServiceApi(object):
261
366
  return data
262
367
 
263
368
  def cluster_service_create_cluster_capacity_reservation_with_http_info(self, body: 'ClusterServiceCreateClusterCapacityReservationBody', project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1CreateClusterCapacityReservationResponse': # noqa: E501
264
- """cluster_service_create_cluster_capacity_reservation # noqa: E501
369
+ """capacity reservation # noqa: E501
265
370
 
266
371
  This method makes a synchronous HTTP request by default. To make an
267
372
  asynchronous HTTP request, please pass async_req=True
@@ -762,6 +867,119 @@ class ClusterServiceApi(object):
762
867
  _request_timeout=params.get('_request_timeout'),
763
868
  collection_formats=collection_formats)
764
869
 
870
+ def cluster_service_create_org_cluster_capacity_reservation(self, body: 'ClusterServiceCreateOrgClusterCapacityReservationBody', org_id: 'str', cluster_id: 'str', **kwargs) -> 'V1CreateOrgClusterCapacityReservationResponse': # noqa: E501
871
+ """cluster_service_create_org_cluster_capacity_reservation # noqa: E501
872
+
873
+ This method makes a synchronous HTTP request by default. To make an
874
+ asynchronous HTTP request, please pass async_req=True
875
+ >>> thread = api.cluster_service_create_org_cluster_capacity_reservation(body, org_id, cluster_id, async_req=True)
876
+ >>> result = thread.get()
877
+
878
+ :param async_req bool
879
+ :param ClusterServiceCreateOrgClusterCapacityReservationBody body: (required)
880
+ :param str org_id: (required)
881
+ :param str cluster_id: (required)
882
+ :return: V1CreateOrgClusterCapacityReservationResponse
883
+ If the method is called asynchronously,
884
+ returns the request thread.
885
+ """
886
+ kwargs['_return_http_data_only'] = True
887
+ if kwargs.get('async_req'):
888
+ return self.cluster_service_create_org_cluster_capacity_reservation_with_http_info(body, org_id, cluster_id, **kwargs) # noqa: E501
889
+ else:
890
+ (data) = self.cluster_service_create_org_cluster_capacity_reservation_with_http_info(body, org_id, cluster_id, **kwargs) # noqa: E501
891
+ return data
892
+
893
+ def cluster_service_create_org_cluster_capacity_reservation_with_http_info(self, body: 'ClusterServiceCreateOrgClusterCapacityReservationBody', org_id: 'str', cluster_id: 'str', **kwargs) -> 'V1CreateOrgClusterCapacityReservationResponse': # noqa: E501
894
+ """cluster_service_create_org_cluster_capacity_reservation # noqa: E501
895
+
896
+ This method makes a synchronous HTTP request by default. To make an
897
+ asynchronous HTTP request, please pass async_req=True
898
+ >>> thread = api.cluster_service_create_org_cluster_capacity_reservation_with_http_info(body, org_id, cluster_id, async_req=True)
899
+ >>> result = thread.get()
900
+
901
+ :param async_req bool
902
+ :param ClusterServiceCreateOrgClusterCapacityReservationBody body: (required)
903
+ :param str org_id: (required)
904
+ :param str cluster_id: (required)
905
+ :return: V1CreateOrgClusterCapacityReservationResponse
906
+ If the method is called asynchronously,
907
+ returns the request thread.
908
+ """
909
+
910
+ all_params = ['body', 'org_id', 'cluster_id'] # noqa: E501
911
+ all_params.append('async_req')
912
+ all_params.append('_return_http_data_only')
913
+ all_params.append('_preload_content')
914
+ all_params.append('_request_timeout')
915
+
916
+ params = locals()
917
+ for key, val in six.iteritems(params['kwargs']):
918
+ if key not in all_params:
919
+ raise TypeError(
920
+ "Got an unexpected keyword argument '%s'"
921
+ " to method cluster_service_create_org_cluster_capacity_reservation" % key
922
+ )
923
+ params[key] = val
924
+ del params['kwargs']
925
+ # verify the required parameter 'body' is set
926
+ if ('body' not in params or
927
+ params['body'] is None):
928
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_create_org_cluster_capacity_reservation`") # noqa: E501
929
+ # verify the required parameter 'org_id' is set
930
+ if ('org_id' not in params or
931
+ params['org_id'] is None):
932
+ raise ValueError("Missing the required parameter `org_id` when calling `cluster_service_create_org_cluster_capacity_reservation`") # noqa: E501
933
+ # verify the required parameter 'cluster_id' is set
934
+ if ('cluster_id' not in params or
935
+ params['cluster_id'] is None):
936
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_create_org_cluster_capacity_reservation`") # noqa: E501
937
+
938
+ collection_formats = {}
939
+
940
+ path_params = {}
941
+ if 'org_id' in params:
942
+ path_params['orgId'] = params['org_id'] # noqa: E501
943
+ if 'cluster_id' in params:
944
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
945
+
946
+ query_params = []
947
+
948
+ header_params = {}
949
+
950
+ form_params = []
951
+ local_var_files = {}
952
+
953
+ body_params = None
954
+ if 'body' in params:
955
+ body_params = params['body']
956
+ # HTTP header `Accept`
957
+ header_params['Accept'] = self.api_client.select_header_accept(
958
+ ['application/json']) # noqa: E501
959
+
960
+ # HTTP header `Content-Type`
961
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
962
+ ['application/json']) # noqa: E501
963
+
964
+ # Authentication setting
965
+ auth_settings = [] # noqa: E501
966
+
967
+ return self.api_client.call_api(
968
+ '/v1/orgs/{orgId}/clusters/{clusterId}/capacity-reservations', 'POST',
969
+ path_params,
970
+ query_params,
971
+ header_params,
972
+ body=body_params,
973
+ post_params=form_params,
974
+ files=local_var_files,
975
+ response_type='V1CreateOrgClusterCapacityReservationResponse', # noqa: E501
976
+ auth_settings=auth_settings,
977
+ async_req=params.get('async_req'),
978
+ _return_http_data_only=params.get('_return_http_data_only'),
979
+ _preload_content=params.get('_preload_content', True),
980
+ _request_timeout=params.get('_request_timeout'),
981
+ collection_formats=collection_formats)
982
+
765
983
  def cluster_service_create_project_cluster(self, body: 'ClusterServiceCreateProjectClusterBody', project_id: 'str', **kwargs) -> 'Externalv1Cluster': # noqa: E501
766
984
  """cluster_service_create_project_cluster # noqa: E501
767
985
 
@@ -1497,6 +1715,107 @@ class ClusterServiceApi(object):
1497
1715
  _request_timeout=params.get('_request_timeout'),
1498
1716
  collection_formats=collection_formats)
1499
1717
 
1718
+ def cluster_service_delete_container_registry(self, cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1DeleteContainerRegistryResponse': # noqa: E501
1719
+ """Delete a container registry from a cluster # noqa: E501
1720
+
1721
+ This method makes a synchronous HTTP request by default. To make an
1722
+ asynchronous HTTP request, please pass async_req=True
1723
+ >>> thread = api.cluster_service_delete_container_registry(cluster_id, registry_id, async_req=True)
1724
+ >>> result = thread.get()
1725
+
1726
+ :param async_req bool
1727
+ :param str cluster_id: (required)
1728
+ :param str registry_id: (required)
1729
+ :return: V1DeleteContainerRegistryResponse
1730
+ If the method is called asynchronously,
1731
+ returns the request thread.
1732
+ """
1733
+ kwargs['_return_http_data_only'] = True
1734
+ if kwargs.get('async_req'):
1735
+ return self.cluster_service_delete_container_registry_with_http_info(cluster_id, registry_id, **kwargs) # noqa: E501
1736
+ else:
1737
+ (data) = self.cluster_service_delete_container_registry_with_http_info(cluster_id, registry_id, **kwargs) # noqa: E501
1738
+ return data
1739
+
1740
+ def cluster_service_delete_container_registry_with_http_info(self, cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1DeleteContainerRegistryResponse': # noqa: E501
1741
+ """Delete a container registry from a cluster # noqa: E501
1742
+
1743
+ This method makes a synchronous HTTP request by default. To make an
1744
+ asynchronous HTTP request, please pass async_req=True
1745
+ >>> thread = api.cluster_service_delete_container_registry_with_http_info(cluster_id, registry_id, async_req=True)
1746
+ >>> result = thread.get()
1747
+
1748
+ :param async_req bool
1749
+ :param str cluster_id: (required)
1750
+ :param str registry_id: (required)
1751
+ :return: V1DeleteContainerRegistryResponse
1752
+ If the method is called asynchronously,
1753
+ returns the request thread.
1754
+ """
1755
+
1756
+ all_params = ['cluster_id', 'registry_id'] # noqa: E501
1757
+ all_params.append('async_req')
1758
+ all_params.append('_return_http_data_only')
1759
+ all_params.append('_preload_content')
1760
+ all_params.append('_request_timeout')
1761
+
1762
+ params = locals()
1763
+ for key, val in six.iteritems(params['kwargs']):
1764
+ if key not in all_params:
1765
+ raise TypeError(
1766
+ "Got an unexpected keyword argument '%s'"
1767
+ " to method cluster_service_delete_container_registry" % key
1768
+ )
1769
+ params[key] = val
1770
+ del params['kwargs']
1771
+ # verify the required parameter 'cluster_id' is set
1772
+ if ('cluster_id' not in params or
1773
+ params['cluster_id'] is None):
1774
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_delete_container_registry`") # noqa: E501
1775
+ # verify the required parameter 'registry_id' is set
1776
+ if ('registry_id' not in params or
1777
+ params['registry_id'] is None):
1778
+ raise ValueError("Missing the required parameter `registry_id` when calling `cluster_service_delete_container_registry`") # noqa: E501
1779
+
1780
+ collection_formats = {}
1781
+
1782
+ path_params = {}
1783
+ if 'cluster_id' in params:
1784
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
1785
+ if 'registry_id' in params:
1786
+ path_params['registryId'] = params['registry_id'] # noqa: E501
1787
+
1788
+ query_params = []
1789
+
1790
+ header_params = {}
1791
+
1792
+ form_params = []
1793
+ local_var_files = {}
1794
+
1795
+ body_params = None
1796
+ # HTTP header `Accept`
1797
+ header_params['Accept'] = self.api_client.select_header_accept(
1798
+ ['application/json']) # noqa: E501
1799
+
1800
+ # Authentication setting
1801
+ auth_settings = [] # noqa: E501
1802
+
1803
+ return self.api_client.call_api(
1804
+ '/v1/clusters/{clusterId}/container-registries/{registryId}', 'DELETE',
1805
+ path_params,
1806
+ query_params,
1807
+ header_params,
1808
+ body=body_params,
1809
+ post_params=form_params,
1810
+ files=local_var_files,
1811
+ response_type='V1DeleteContainerRegistryResponse', # noqa: E501
1812
+ auth_settings=auth_settings,
1813
+ async_req=params.get('async_req'),
1814
+ _return_http_data_only=params.get('_return_http_data_only'),
1815
+ _preload_content=params.get('_preload_content', True),
1816
+ _request_timeout=params.get('_request_timeout'),
1817
+ collection_formats=collection_formats)
1818
+
1500
1819
  def cluster_service_delete_machine(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1DeleteMachineResponse': # noqa: E501
1501
1820
  """Delete a machine # noqa: E501
1502
1821
 
@@ -2321,113 +2640,8 @@ class ClusterServiceApi(object):
2321
2640
  _request_timeout=params.get('_request_timeout'),
2322
2641
  collection_formats=collection_formats)
2323
2642
 
2324
- def cluster_service_get_machine(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1GetMachineResponse': # noqa: E501
2325
- """Get a machine by ID # noqa: E501
2326
-
2327
- This method makes a synchronous HTTP request by default. To make an
2328
- asynchronous HTTP request, please pass async_req=True
2329
- >>> thread = api.cluster_service_get_machine(cluster_id, id, async_req=True)
2330
- >>> result = thread.get()
2331
-
2332
- :param async_req bool
2333
- :param str cluster_id: (required)
2334
- :param str id: (required)
2335
- :param str org_id:
2336
- :return: V1GetMachineResponse
2337
- If the method is called asynchronously,
2338
- returns the request thread.
2339
- """
2340
- kwargs['_return_http_data_only'] = True
2341
- if kwargs.get('async_req'):
2342
- return self.cluster_service_get_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
2343
- else:
2344
- (data) = self.cluster_service_get_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
2345
- return data
2346
-
2347
- def cluster_service_get_machine_with_http_info(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1GetMachineResponse': # noqa: E501
2348
- """Get a machine by ID # noqa: E501
2349
-
2350
- This method makes a synchronous HTTP request by default. To make an
2351
- asynchronous HTTP request, please pass async_req=True
2352
- >>> thread = api.cluster_service_get_machine_with_http_info(cluster_id, id, async_req=True)
2353
- >>> result = thread.get()
2354
-
2355
- :param async_req bool
2356
- :param str cluster_id: (required)
2357
- :param str id: (required)
2358
- :param str org_id:
2359
- :return: V1GetMachineResponse
2360
- If the method is called asynchronously,
2361
- returns the request thread.
2362
- """
2363
-
2364
- all_params = ['cluster_id', 'id', 'org_id'] # noqa: E501
2365
- all_params.append('async_req')
2366
- all_params.append('_return_http_data_only')
2367
- all_params.append('_preload_content')
2368
- all_params.append('_request_timeout')
2369
-
2370
- params = locals()
2371
- for key, val in six.iteritems(params['kwargs']):
2372
- if key not in all_params:
2373
- raise TypeError(
2374
- "Got an unexpected keyword argument '%s'"
2375
- " to method cluster_service_get_machine" % key
2376
- )
2377
- params[key] = val
2378
- del params['kwargs']
2379
- # verify the required parameter 'cluster_id' is set
2380
- if ('cluster_id' not in params or
2381
- params['cluster_id'] is None):
2382
- raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_get_machine`") # noqa: E501
2383
- # verify the required parameter 'id' is set
2384
- if ('id' not in params or
2385
- params['id'] is None):
2386
- raise ValueError("Missing the required parameter `id` when calling `cluster_service_get_machine`") # noqa: E501
2387
-
2388
- collection_formats = {}
2389
-
2390
- path_params = {}
2391
- if 'cluster_id' in params:
2392
- path_params['clusterId'] = params['cluster_id'] # noqa: E501
2393
- if 'id' in params:
2394
- path_params['id'] = params['id'] # noqa: E501
2395
-
2396
- query_params = []
2397
- if 'org_id' in params:
2398
- query_params.append(('orgId', params['org_id'])) # noqa: E501
2399
-
2400
- header_params = {}
2401
-
2402
- form_params = []
2403
- local_var_files = {}
2404
-
2405
- body_params = None
2406
- # HTTP header `Accept`
2407
- header_params['Accept'] = self.api_client.select_header_accept(
2408
- ['application/json']) # noqa: E501
2409
-
2410
- # Authentication setting
2411
- auth_settings = [] # noqa: E501
2412
-
2413
- return self.api_client.call_api(
2414
- '/v1/core/clusters/{clusterId}/machines/{id}', 'GET',
2415
- path_params,
2416
- query_params,
2417
- header_params,
2418
- body=body_params,
2419
- post_params=form_params,
2420
- files=local_var_files,
2421
- response_type='V1GetMachineResponse', # noqa: E501
2422
- auth_settings=auth_settings,
2423
- async_req=params.get('async_req'),
2424
- _return_http_data_only=params.get('_return_http_data_only'),
2425
- _preload_content=params.get('_preload_content', True),
2426
- _request_timeout=params.get('_request_timeout'),
2427
- collection_formats=collection_formats)
2428
-
2429
- def cluster_service_get_project_cluster(self, project_id: 'str', id: 'str', **kwargs) -> 'Externalv1Cluster': # noqa: E501
2430
- """cluster_service_get_project_cluster # noqa: E501
2643
+ def cluster_service_get_project_cluster(self, project_id: 'str', id: 'str', **kwargs) -> 'Externalv1Cluster': # noqa: E501
2644
+ """cluster_service_get_project_cluster # noqa: E501
2431
2645
 
2432
2646
  This method makes a synchronous HTTP request by default. To make an
2433
2647
  asynchronous HTTP request, please pass async_req=True
@@ -2826,20 +3040,26 @@ class ClusterServiceApi(object):
2826
3040
  _request_timeout=params.get('_request_timeout'),
2827
3041
  collection_formats=collection_formats)
2828
3042
 
2829
- def cluster_service_list_cluster_capacity_reservations(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterCapacityReservationsResponse': # noqa: E501
3043
+ def cluster_service_list_cluster_capacity_reservations(self, org_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterCapacityReservationsResponse': # noqa: E501
2830
3044
  """cluster_service_list_cluster_capacity_reservations # noqa: E501
2831
3045
 
2832
3046
  This method makes a synchronous HTTP request by default. To make an
2833
3047
  asynchronous HTTP request, please pass async_req=True
2834
- >>> thread = api.cluster_service_list_cluster_capacity_reservations(project_id, cluster_id, async_req=True)
3048
+ >>> thread = api.cluster_service_list_cluster_capacity_reservations(org_id, cluster_id, async_req=True)
2835
3049
  >>> result = thread.get()
2836
3050
 
2837
3051
  :param async_req bool
2838
- :param str project_id: (required)
3052
+ :param str org_id: (required)
2839
3053
  :param str cluster_id: (required)
3054
+ :param str project_id:
2840
3055
  :param datetime start_time:
2841
3056
  :param datetime end_time:
2842
3057
  :param bool available_only:
3058
+ :param str region:
3059
+ :param str zone:
3060
+ :param str instance_type:
3061
+ :param bool include_all:
3062
+ :param bool find_used_by: whether to find which cloudspace_ids and jobs_ids are using the reservations
2843
3063
  :param bool from_aggregate:
2844
3064
  :param str apparent_provider: only required if from aggregate, storage.providertype (eg `lightningaggregate`)
2845
3065
  :return: V1ListClusterCapacityReservationsResponse
@@ -2848,25 +3068,31 @@ class ClusterServiceApi(object):
2848
3068
  """
2849
3069
  kwargs['_return_http_data_only'] = True
2850
3070
  if kwargs.get('async_req'):
2851
- return self.cluster_service_list_cluster_capacity_reservations_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
3071
+ return self.cluster_service_list_cluster_capacity_reservations_with_http_info(org_id, cluster_id, **kwargs) # noqa: E501
2852
3072
  else:
2853
- (data) = self.cluster_service_list_cluster_capacity_reservations_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
3073
+ (data) = self.cluster_service_list_cluster_capacity_reservations_with_http_info(org_id, cluster_id, **kwargs) # noqa: E501
2854
3074
  return data
2855
3075
 
2856
- def cluster_service_list_cluster_capacity_reservations_with_http_info(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterCapacityReservationsResponse': # noqa: E501
3076
+ def cluster_service_list_cluster_capacity_reservations_with_http_info(self, org_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterCapacityReservationsResponse': # noqa: E501
2857
3077
  """cluster_service_list_cluster_capacity_reservations # noqa: E501
2858
3078
 
2859
3079
  This method makes a synchronous HTTP request by default. To make an
2860
3080
  asynchronous HTTP request, please pass async_req=True
2861
- >>> thread = api.cluster_service_list_cluster_capacity_reservations_with_http_info(project_id, cluster_id, async_req=True)
3081
+ >>> thread = api.cluster_service_list_cluster_capacity_reservations_with_http_info(org_id, cluster_id, async_req=True)
2862
3082
  >>> result = thread.get()
2863
3083
 
2864
3084
  :param async_req bool
2865
- :param str project_id: (required)
3085
+ :param str org_id: (required)
2866
3086
  :param str cluster_id: (required)
3087
+ :param str project_id:
2867
3088
  :param datetime start_time:
2868
3089
  :param datetime end_time:
2869
3090
  :param bool available_only:
3091
+ :param str region:
3092
+ :param str zone:
3093
+ :param str instance_type:
3094
+ :param bool include_all:
3095
+ :param bool find_used_by: whether to find which cloudspace_ids and jobs_ids are using the reservations
2870
3096
  :param bool from_aggregate:
2871
3097
  :param str apparent_provider: only required if from aggregate, storage.providertype (eg `lightningaggregate`)
2872
3098
  :return: V1ListClusterCapacityReservationsResponse
@@ -2874,7 +3100,7 @@ class ClusterServiceApi(object):
2874
3100
  returns the request thread.
2875
3101
  """
2876
3102
 
2877
- all_params = ['project_id', 'cluster_id', 'start_time', 'end_time', 'available_only', 'from_aggregate', 'apparent_provider'] # noqa: E501
3103
+ all_params = ['org_id', 'cluster_id', 'project_id', 'start_time', 'end_time', 'available_only', 'region', 'zone', 'instance_type', 'include_all', 'find_used_by', 'from_aggregate', 'apparent_provider'] # noqa: E501
2878
3104
  all_params.append('async_req')
2879
3105
  all_params.append('_return_http_data_only')
2880
3106
  all_params.append('_preload_content')
@@ -2889,10 +3115,10 @@ class ClusterServiceApi(object):
2889
3115
  )
2890
3116
  params[key] = val
2891
3117
  del params['kwargs']
2892
- # verify the required parameter 'project_id' is set
2893
- if ('project_id' not in params or
2894
- params['project_id'] is None):
2895
- raise ValueError("Missing the required parameter `project_id` when calling `cluster_service_list_cluster_capacity_reservations`") # noqa: E501
3118
+ # verify the required parameter 'org_id' is set
3119
+ if ('org_id' not in params or
3120
+ params['org_id'] is None):
3121
+ raise ValueError("Missing the required parameter `org_id` when calling `cluster_service_list_cluster_capacity_reservations`") # noqa: E501
2896
3122
  # verify the required parameter 'cluster_id' is set
2897
3123
  if ('cluster_id' not in params or
2898
3124
  params['cluster_id'] is None):
@@ -2901,18 +3127,30 @@ class ClusterServiceApi(object):
2901
3127
  collection_formats = {}
2902
3128
 
2903
3129
  path_params = {}
2904
- if 'project_id' in params:
2905
- path_params['projectId'] = params['project_id'] # noqa: E501
3130
+ if 'org_id' in params:
3131
+ path_params['orgId'] = params['org_id'] # noqa: E501
2906
3132
  if 'cluster_id' in params:
2907
3133
  path_params['clusterId'] = params['cluster_id'] # noqa: E501
2908
3134
 
2909
3135
  query_params = []
3136
+ if 'project_id' in params:
3137
+ query_params.append(('projectId', params['project_id'])) # noqa: E501
2910
3138
  if 'start_time' in params:
2911
3139
  query_params.append(('startTime', params['start_time'])) # noqa: E501
2912
3140
  if 'end_time' in params:
2913
3141
  query_params.append(('endTime', params['end_time'])) # noqa: E501
2914
3142
  if 'available_only' in params:
2915
3143
  query_params.append(('availableOnly', params['available_only'])) # noqa: E501
3144
+ if 'region' in params:
3145
+ query_params.append(('region', params['region'])) # noqa: E501
3146
+ if 'zone' in params:
3147
+ query_params.append(('zone', params['zone'])) # noqa: E501
3148
+ if 'instance_type' in params:
3149
+ query_params.append(('instanceType', params['instance_type'])) # noqa: E501
3150
+ if 'include_all' in params:
3151
+ query_params.append(('includeAll', params['include_all'])) # noqa: E501
3152
+ if 'find_used_by' in params:
3153
+ query_params.append(('findUsedBy', params['find_used_by'])) # noqa: E501
2916
3154
  if 'from_aggregate' in params:
2917
3155
  query_params.append(('fromAggregate', params['from_aggregate'])) # noqa: E501
2918
3156
  if 'apparent_provider' in params:
@@ -2932,7 +3170,7 @@ class ClusterServiceApi(object):
2932
3170
  auth_settings = [] # noqa: E501
2933
3171
 
2934
3172
  return self.api_client.call_api(
2935
- '/v1/projects/{projectId}/clusters/{clusterId}/capacity-reservations', 'GET',
3173
+ '/v1/orgs/{orgId}/clusters/{clusterId}/capacity-reservations', 'GET',
2936
3174
  path_params,
2937
3175
  query_params,
2938
3176
  header_params,
@@ -3238,6 +3476,99 @@ class ClusterServiceApi(object):
3238
3476
  _request_timeout=params.get('_request_timeout'),
3239
3477
  collection_formats=collection_formats)
3240
3478
 
3479
+ def cluster_service_list_container_registries(self, cluster_id: 'str', **kwargs) -> 'V1ListContainerRegistriesResponse': # noqa: E501
3480
+ """List all container registries configured for a cluster # noqa: E501
3481
+
3482
+ This method makes a synchronous HTTP request by default. To make an
3483
+ asynchronous HTTP request, please pass async_req=True
3484
+ >>> thread = api.cluster_service_list_container_registries(cluster_id, async_req=True)
3485
+ >>> result = thread.get()
3486
+
3487
+ :param async_req bool
3488
+ :param str cluster_id: (required)
3489
+ :return: V1ListContainerRegistriesResponse
3490
+ If the method is called asynchronously,
3491
+ returns the request thread.
3492
+ """
3493
+ kwargs['_return_http_data_only'] = True
3494
+ if kwargs.get('async_req'):
3495
+ return self.cluster_service_list_container_registries_with_http_info(cluster_id, **kwargs) # noqa: E501
3496
+ else:
3497
+ (data) = self.cluster_service_list_container_registries_with_http_info(cluster_id, **kwargs) # noqa: E501
3498
+ return data
3499
+
3500
+ def cluster_service_list_container_registries_with_http_info(self, cluster_id: 'str', **kwargs) -> 'V1ListContainerRegistriesResponse': # noqa: E501
3501
+ """List all container registries configured for a cluster # noqa: E501
3502
+
3503
+ This method makes a synchronous HTTP request by default. To make an
3504
+ asynchronous HTTP request, please pass async_req=True
3505
+ >>> thread = api.cluster_service_list_container_registries_with_http_info(cluster_id, async_req=True)
3506
+ >>> result = thread.get()
3507
+
3508
+ :param async_req bool
3509
+ :param str cluster_id: (required)
3510
+ :return: V1ListContainerRegistriesResponse
3511
+ If the method is called asynchronously,
3512
+ returns the request thread.
3513
+ """
3514
+
3515
+ all_params = ['cluster_id'] # noqa: E501
3516
+ all_params.append('async_req')
3517
+ all_params.append('_return_http_data_only')
3518
+ all_params.append('_preload_content')
3519
+ all_params.append('_request_timeout')
3520
+
3521
+ params = locals()
3522
+ for key, val in six.iteritems(params['kwargs']):
3523
+ if key not in all_params:
3524
+ raise TypeError(
3525
+ "Got an unexpected keyword argument '%s'"
3526
+ " to method cluster_service_list_container_registries" % key
3527
+ )
3528
+ params[key] = val
3529
+ del params['kwargs']
3530
+ # verify the required parameter 'cluster_id' is set
3531
+ if ('cluster_id' not in params or
3532
+ params['cluster_id'] is None):
3533
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_list_container_registries`") # noqa: E501
3534
+
3535
+ collection_formats = {}
3536
+
3537
+ path_params = {}
3538
+ if 'cluster_id' in params:
3539
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
3540
+
3541
+ query_params = []
3542
+
3543
+ header_params = {}
3544
+
3545
+ form_params = []
3546
+ local_var_files = {}
3547
+
3548
+ body_params = None
3549
+ # HTTP header `Accept`
3550
+ header_params['Accept'] = self.api_client.select_header_accept(
3551
+ ['application/json']) # noqa: E501
3552
+
3553
+ # Authentication setting
3554
+ auth_settings = [] # noqa: E501
3555
+
3556
+ return self.api_client.call_api(
3557
+ '/v1/clusters/{clusterId}/container-registries', 'GET',
3558
+ path_params,
3559
+ query_params,
3560
+ header_params,
3561
+ body=body_params,
3562
+ post_params=form_params,
3563
+ files=local_var_files,
3564
+ response_type='V1ListContainerRegistriesResponse', # noqa: E501
3565
+ auth_settings=auth_settings,
3566
+ async_req=params.get('async_req'),
3567
+ _return_http_data_only=params.get('_return_http_data_only'),
3568
+ _preload_content=params.get('_preload_content', True),
3569
+ _request_timeout=params.get('_request_timeout'),
3570
+ collection_formats=collection_formats)
3571
+
3241
3572
  def cluster_service_list_default_cluster_accelerators(self, **kwargs) -> 'V1ListDefaultClusterAcceleratorsResponse': # noqa: E501
3242
3573
  """cluster_service_list_default_cluster_accelerators # noqa: E501
3243
3574
 
@@ -3840,6 +4171,224 @@ class ClusterServiceApi(object):
3840
4171
  _request_timeout=params.get('_request_timeout'),
3841
4172
  collection_formats=collection_formats)
3842
4173
 
4174
+ def cluster_service_refresh_container_registry_credentials(self, body: 'ClusterServiceRefreshContainerRegistryCredentialsBody', cluster_id: 'str', **kwargs) -> 'V1RefreshContainerRegistryCredentialsResponse': # noqa: E501
4175
+ """Refresh credentials for container registries and deploy to cluster # noqa: E501
4176
+
4177
+ This method makes a synchronous HTTP request by default. To make an
4178
+ asynchronous HTTP request, please pass async_req=True
4179
+ >>> thread = api.cluster_service_refresh_container_registry_credentials(body, cluster_id, async_req=True)
4180
+ >>> result = thread.get()
4181
+
4182
+ :param async_req bool
4183
+ :param ClusterServiceRefreshContainerRegistryCredentialsBody body: (required)
4184
+ :param str cluster_id: (required)
4185
+ :return: V1RefreshContainerRegistryCredentialsResponse
4186
+ If the method is called asynchronously,
4187
+ returns the request thread.
4188
+ """
4189
+ kwargs['_return_http_data_only'] = True
4190
+ if kwargs.get('async_req'):
4191
+ return self.cluster_service_refresh_container_registry_credentials_with_http_info(body, cluster_id, **kwargs) # noqa: E501
4192
+ else:
4193
+ (data) = self.cluster_service_refresh_container_registry_credentials_with_http_info(body, cluster_id, **kwargs) # noqa: E501
4194
+ return data
4195
+
4196
+ def cluster_service_refresh_container_registry_credentials_with_http_info(self, body: 'ClusterServiceRefreshContainerRegistryCredentialsBody', cluster_id: 'str', **kwargs) -> 'V1RefreshContainerRegistryCredentialsResponse': # noqa: E501
4197
+ """Refresh credentials for container registries and deploy to cluster # noqa: E501
4198
+
4199
+ This method makes a synchronous HTTP request by default. To make an
4200
+ asynchronous HTTP request, please pass async_req=True
4201
+ >>> thread = api.cluster_service_refresh_container_registry_credentials_with_http_info(body, cluster_id, async_req=True)
4202
+ >>> result = thread.get()
4203
+
4204
+ :param async_req bool
4205
+ :param ClusterServiceRefreshContainerRegistryCredentialsBody body: (required)
4206
+ :param str cluster_id: (required)
4207
+ :return: V1RefreshContainerRegistryCredentialsResponse
4208
+ If the method is called asynchronously,
4209
+ returns the request thread.
4210
+ """
4211
+
4212
+ all_params = ['body', 'cluster_id'] # noqa: E501
4213
+ all_params.append('async_req')
4214
+ all_params.append('_return_http_data_only')
4215
+ all_params.append('_preload_content')
4216
+ all_params.append('_request_timeout')
4217
+
4218
+ params = locals()
4219
+ for key, val in six.iteritems(params['kwargs']):
4220
+ if key not in all_params:
4221
+ raise TypeError(
4222
+ "Got an unexpected keyword argument '%s'"
4223
+ " to method cluster_service_refresh_container_registry_credentials" % key
4224
+ )
4225
+ params[key] = val
4226
+ del params['kwargs']
4227
+ # verify the required parameter 'body' is set
4228
+ if ('body' not in params or
4229
+ params['body'] is None):
4230
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_refresh_container_registry_credentials`") # noqa: E501
4231
+ # verify the required parameter 'cluster_id' is set
4232
+ if ('cluster_id' not in params or
4233
+ params['cluster_id'] is None):
4234
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_refresh_container_registry_credentials`") # noqa: E501
4235
+
4236
+ collection_formats = {}
4237
+
4238
+ path_params = {}
4239
+ if 'cluster_id' in params:
4240
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
4241
+
4242
+ query_params = []
4243
+
4244
+ header_params = {}
4245
+
4246
+ form_params = []
4247
+ local_var_files = {}
4248
+
4249
+ body_params = None
4250
+ if 'body' in params:
4251
+ body_params = params['body']
4252
+ # HTTP header `Accept`
4253
+ header_params['Accept'] = self.api_client.select_header_accept(
4254
+ ['application/json']) # noqa: E501
4255
+
4256
+ # HTTP header `Content-Type`
4257
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
4258
+ ['application/json']) # noqa: E501
4259
+
4260
+ # Authentication setting
4261
+ auth_settings = [] # noqa: E501
4262
+
4263
+ return self.api_client.call_api(
4264
+ '/v1/clusters/{clusterId}/container-registries/refresh-credentials', 'POST',
4265
+ path_params,
4266
+ query_params,
4267
+ header_params,
4268
+ body=body_params,
4269
+ post_params=form_params,
4270
+ files=local_var_files,
4271
+ response_type='V1RefreshContainerRegistryCredentialsResponse', # noqa: E501
4272
+ auth_settings=auth_settings,
4273
+ async_req=params.get('async_req'),
4274
+ _return_http_data_only=params.get('_return_http_data_only'),
4275
+ _preload_content=params.get('_preload_content', True),
4276
+ _request_timeout=params.get('_request_timeout'),
4277
+ collection_formats=collection_formats)
4278
+
4279
+ def cluster_service_report_machine_system_metrics(self, body: 'ClusterServiceReportMachineSystemMetricsBody', cluster_id: 'str', machine_id: 'str', **kwargs) -> 'V1ReportMachineSystemMetricsResponse': # noqa: E501
4280
+ """cluster_service_report_machine_system_metrics # noqa: E501
4281
+
4282
+ This method makes a synchronous HTTP request by default. To make an
4283
+ asynchronous HTTP request, please pass async_req=True
4284
+ >>> thread = api.cluster_service_report_machine_system_metrics(body, cluster_id, machine_id, async_req=True)
4285
+ >>> result = thread.get()
4286
+
4287
+ :param async_req bool
4288
+ :param ClusterServiceReportMachineSystemMetricsBody body: (required)
4289
+ :param str cluster_id: (required)
4290
+ :param str machine_id: (required)
4291
+ :return: V1ReportMachineSystemMetricsResponse
4292
+ If the method is called asynchronously,
4293
+ returns the request thread.
4294
+ """
4295
+ kwargs['_return_http_data_only'] = True
4296
+ if kwargs.get('async_req'):
4297
+ return self.cluster_service_report_machine_system_metrics_with_http_info(body, cluster_id, machine_id, **kwargs) # noqa: E501
4298
+ else:
4299
+ (data) = self.cluster_service_report_machine_system_metrics_with_http_info(body, cluster_id, machine_id, **kwargs) # noqa: E501
4300
+ return data
4301
+
4302
+ def cluster_service_report_machine_system_metrics_with_http_info(self, body: 'ClusterServiceReportMachineSystemMetricsBody', cluster_id: 'str', machine_id: 'str', **kwargs) -> 'V1ReportMachineSystemMetricsResponse': # noqa: E501
4303
+ """cluster_service_report_machine_system_metrics # noqa: E501
4304
+
4305
+ This method makes a synchronous HTTP request by default. To make an
4306
+ asynchronous HTTP request, please pass async_req=True
4307
+ >>> thread = api.cluster_service_report_machine_system_metrics_with_http_info(body, cluster_id, machine_id, async_req=True)
4308
+ >>> result = thread.get()
4309
+
4310
+ :param async_req bool
4311
+ :param ClusterServiceReportMachineSystemMetricsBody body: (required)
4312
+ :param str cluster_id: (required)
4313
+ :param str machine_id: (required)
4314
+ :return: V1ReportMachineSystemMetricsResponse
4315
+ If the method is called asynchronously,
4316
+ returns the request thread.
4317
+ """
4318
+
4319
+ all_params = ['body', 'cluster_id', 'machine_id'] # noqa: E501
4320
+ all_params.append('async_req')
4321
+ all_params.append('_return_http_data_only')
4322
+ all_params.append('_preload_content')
4323
+ all_params.append('_request_timeout')
4324
+
4325
+ params = locals()
4326
+ for key, val in six.iteritems(params['kwargs']):
4327
+ if key not in all_params:
4328
+ raise TypeError(
4329
+ "Got an unexpected keyword argument '%s'"
4330
+ " to method cluster_service_report_machine_system_metrics" % key
4331
+ )
4332
+ params[key] = val
4333
+ del params['kwargs']
4334
+ # verify the required parameter 'body' is set
4335
+ if ('body' not in params or
4336
+ params['body'] is None):
4337
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_report_machine_system_metrics`") # noqa: E501
4338
+ # verify the required parameter 'cluster_id' is set
4339
+ if ('cluster_id' not in params or
4340
+ params['cluster_id'] is None):
4341
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_report_machine_system_metrics`") # noqa: E501
4342
+ # verify the required parameter 'machine_id' is set
4343
+ if ('machine_id' not in params or
4344
+ params['machine_id'] is None):
4345
+ raise ValueError("Missing the required parameter `machine_id` when calling `cluster_service_report_machine_system_metrics`") # noqa: E501
4346
+
4347
+ collection_formats = {}
4348
+
4349
+ path_params = {}
4350
+ if 'cluster_id' in params:
4351
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
4352
+ if 'machine_id' in params:
4353
+ path_params['machineId'] = params['machine_id'] # noqa: E501
4354
+
4355
+ query_params = []
4356
+
4357
+ header_params = {}
4358
+
4359
+ form_params = []
4360
+ local_var_files = {}
4361
+
4362
+ body_params = None
4363
+ if 'body' in params:
4364
+ body_params = params['body']
4365
+ # HTTP header `Accept`
4366
+ header_params['Accept'] = self.api_client.select_header_accept(
4367
+ ['application/json']) # noqa: E501
4368
+
4369
+ # HTTP header `Content-Type`
4370
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
4371
+ ['application/json']) # noqa: E501
4372
+
4373
+ # Authentication setting
4374
+ auth_settings = [] # noqa: E501
4375
+
4376
+ return self.api_client.call_api(
4377
+ '/v1/core/clusters/{clusterId}/machines/{machineId}/system-metrics', 'POST',
4378
+ path_params,
4379
+ query_params,
4380
+ header_params,
4381
+ body=body_params,
4382
+ post_params=form_params,
4383
+ files=local_var_files,
4384
+ response_type='V1ReportMachineSystemMetricsResponse', # noqa: E501
4385
+ auth_settings=auth_settings,
4386
+ async_req=params.get('async_req'),
4387
+ _return_http_data_only=params.get('_return_http_data_only'),
4388
+ _preload_content=params.get('_preload_content', True),
4389
+ _request_timeout=params.get('_request_timeout'),
4390
+ collection_formats=collection_formats)
4391
+
3843
4392
  def cluster_service_request_cluster_access(self, body: 'V1RequestClusterAccessRequest', **kwargs) -> 'V1RequestClusterAccessResponse': # noqa: E501
3844
4393
  """cluster_service_request_cluster_access # noqa: E501
3845
4394
 
@@ -4772,3 +5321,116 @@ class ClusterServiceApi(object):
4772
5321
  _preload_content=params.get('_preload_content', True),
4773
5322
  _request_timeout=params.get('_request_timeout'),
4774
5323
  collection_formats=collection_formats)
5324
+
5325
+ def cluster_service_validate_container_registry(self, body: 'ClusterServiceValidateContainerRegistryBody', cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1ValidateContainerRegistryResponse': # noqa: E501
5326
+ """Validate that Lightning can pull from a container registry # noqa: E501
5327
+
5328
+ This method makes a synchronous HTTP request by default. To make an
5329
+ asynchronous HTTP request, please pass async_req=True
5330
+ >>> thread = api.cluster_service_validate_container_registry(body, cluster_id, registry_id, async_req=True)
5331
+ >>> result = thread.get()
5332
+
5333
+ :param async_req bool
5334
+ :param ClusterServiceValidateContainerRegistryBody body: (required)
5335
+ :param str cluster_id: (required)
5336
+ :param str registry_id: (required)
5337
+ :return: V1ValidateContainerRegistryResponse
5338
+ If the method is called asynchronously,
5339
+ returns the request thread.
5340
+ """
5341
+ kwargs['_return_http_data_only'] = True
5342
+ if kwargs.get('async_req'):
5343
+ return self.cluster_service_validate_container_registry_with_http_info(body, cluster_id, registry_id, **kwargs) # noqa: E501
5344
+ else:
5345
+ (data) = self.cluster_service_validate_container_registry_with_http_info(body, cluster_id, registry_id, **kwargs) # noqa: E501
5346
+ return data
5347
+
5348
+ def cluster_service_validate_container_registry_with_http_info(self, body: 'ClusterServiceValidateContainerRegistryBody', cluster_id: 'str', registry_id: 'str', **kwargs) -> 'V1ValidateContainerRegistryResponse': # noqa: E501
5349
+ """Validate that Lightning can pull from a container registry # noqa: E501
5350
+
5351
+ This method makes a synchronous HTTP request by default. To make an
5352
+ asynchronous HTTP request, please pass async_req=True
5353
+ >>> thread = api.cluster_service_validate_container_registry_with_http_info(body, cluster_id, registry_id, async_req=True)
5354
+ >>> result = thread.get()
5355
+
5356
+ :param async_req bool
5357
+ :param ClusterServiceValidateContainerRegistryBody body: (required)
5358
+ :param str cluster_id: (required)
5359
+ :param str registry_id: (required)
5360
+ :return: V1ValidateContainerRegistryResponse
5361
+ If the method is called asynchronously,
5362
+ returns the request thread.
5363
+ """
5364
+
5365
+ all_params = ['body', 'cluster_id', 'registry_id'] # noqa: E501
5366
+ all_params.append('async_req')
5367
+ all_params.append('_return_http_data_only')
5368
+ all_params.append('_preload_content')
5369
+ all_params.append('_request_timeout')
5370
+
5371
+ params = locals()
5372
+ for key, val in six.iteritems(params['kwargs']):
5373
+ if key not in all_params:
5374
+ raise TypeError(
5375
+ "Got an unexpected keyword argument '%s'"
5376
+ " to method cluster_service_validate_container_registry" % key
5377
+ )
5378
+ params[key] = val
5379
+ del params['kwargs']
5380
+ # verify the required parameter 'body' is set
5381
+ if ('body' not in params or
5382
+ params['body'] is None):
5383
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_validate_container_registry`") # noqa: E501
5384
+ # verify the required parameter 'cluster_id' is set
5385
+ if ('cluster_id' not in params or
5386
+ params['cluster_id'] is None):
5387
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_validate_container_registry`") # noqa: E501
5388
+ # verify the required parameter 'registry_id' is set
5389
+ if ('registry_id' not in params or
5390
+ params['registry_id'] is None):
5391
+ raise ValueError("Missing the required parameter `registry_id` when calling `cluster_service_validate_container_registry`") # noqa: E501
5392
+
5393
+ collection_formats = {}
5394
+
5395
+ path_params = {}
5396
+ if 'cluster_id' in params:
5397
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
5398
+ if 'registry_id' in params:
5399
+ path_params['registryId'] = params['registry_id'] # noqa: E501
5400
+
5401
+ query_params = []
5402
+
5403
+ header_params = {}
5404
+
5405
+ form_params = []
5406
+ local_var_files = {}
5407
+
5408
+ body_params = None
5409
+ if 'body' in params:
5410
+ body_params = params['body']
5411
+ # HTTP header `Accept`
5412
+ header_params['Accept'] = self.api_client.select_header_accept(
5413
+ ['application/json']) # noqa: E501
5414
+
5415
+ # HTTP header `Content-Type`
5416
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
5417
+ ['application/json']) # noqa: E501
5418
+
5419
+ # Authentication setting
5420
+ auth_settings = [] # noqa: E501
5421
+
5422
+ return self.api_client.call_api(
5423
+ '/v1/clusters/{clusterId}/container-registries/{registryId}/validate', 'POST',
5424
+ path_params,
5425
+ query_params,
5426
+ header_params,
5427
+ body=body_params,
5428
+ post_params=form_params,
5429
+ files=local_var_files,
5430
+ response_type='V1ValidateContainerRegistryResponse', # noqa: E501
5431
+ auth_settings=auth_settings,
5432
+ async_req=params.get('async_req'),
5433
+ _return_http_data_only=params.get('_return_http_data_only'),
5434
+ _preload_content=params.get('_preload_content', True),
5435
+ _request_timeout=params.get('_request_timeout'),
5436
+ collection_formats=collection_formats)