lightning-sdk 2025.8.8__py3-none-any.whl → 2025.8.14__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 (41) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/studio_api.py +26 -4
  3. lightning_sdk/job/base.py +12 -5
  4. lightning_sdk/lightning_cloud/openapi/__init__.py +7 -0
  5. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +5 -1
  6. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
  7. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +0 -97
  8. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +339 -0
  9. lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -0
  10. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +27 -1
  11. lightning_sdk/lightning_cloud/openapi/models/create.py +27 -1
  12. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  13. lightning_sdk/lightning_cloud/openapi/models/id_sleepconfig_body.py +175 -0
  14. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +0 -1
  15. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_transfer_metadata.py +69 -17
  16. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +53 -1
  17. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
  19. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
  20. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +29 -3
  21. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metrics_response.py +123 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_metrics_response.py +123 -0
  23. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_user_metrics_response.py +123 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_lustre_data_connection.py +149 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +1 -27
  26. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +591 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +435 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +55 -3
  29. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
  31. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -79
  32. lightning_sdk/llm/llm.py +67 -37
  33. lightning_sdk/llm/public_assistants.py +3 -3
  34. lightning_sdk/studio.py +11 -3
  35. lightning_sdk/utils/resolve.py +13 -0
  36. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/METADATA +1 -1
  37. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/RECORD +41 -34
  38. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/LICENSE +0 -0
  39. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/WHEEL +0 -0
  40. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/entry_points.txt +0 -0
  41. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/top_level.txt +0 -0
lightning_sdk/__init__.py CHANGED
@@ -32,6 +32,6 @@ __all__ = [
32
32
  "User",
33
33
  ]
34
34
 
35
- __version__ = "2025.08.08"
35
+ __version__ = "2025.08.14"
36
36
  _check_version_and_prompt_upgrade(__version__)
37
37
  _set_tqdm_envvars_noninteractive()
@@ -253,8 +253,25 @@ class StudioApi:
253
253
  )
254
254
 
255
255
  # Wait until it's time to switch
256
+ requested_was_found = False
257
+ startup_status = None
256
258
  while True:
257
- startup_status = self.get_studio_status(studio_id, teamspace_id).requested.startup_status
259
+ status = self.get_studio_status(studio_id, teamspace_id)
260
+ requested_machine = status.requested
261
+
262
+ if requested_machine is not None:
263
+ requested_was_found = True
264
+ startup_status = requested_machine.startup_status
265
+
266
+ # if the requested machine was found in the past, use the in_use status instead.
267
+ # it might be that it either was cancelled or it actually is ready.
268
+ # Either way, since we're actually blocking below for the in use startup status
269
+ # it's safe to switch at this point
270
+ elif requested_was_found:
271
+ in_use_machine = status.in_use
272
+ if in_use_machine is not None:
273
+ startup_status = in_use_machine.startup_status
274
+
258
275
  if startup_status and startup_status.initial_restore_finished:
259
276
  break
260
277
  time.sleep(1)
@@ -263,7 +280,10 @@ class StudioApi:
263
280
 
264
281
  # Wait until the new machine is ready to use
265
282
  while True:
266
- startup_status = self.get_studio_status(studio_id, teamspace_id).in_use.startup_status
283
+ in_use = self.get_studio_status(studio_id, teamspace_id).in_use
284
+ if in_use is None:
285
+ continue
286
+ startup_status = in_use.startup_status
267
287
  if startup_status and startup_status.top_up_restore_finished:
268
288
  break
269
289
  time.sleep(1)
@@ -441,7 +461,9 @@ class StudioApi:
441
461
  body=body,
442
462
  )
443
463
 
444
- def duplicate_studio(self, studio_id: str, teamspace_id: str, target_teamspace_id: str) -> Dict[str, Any]:
464
+ def duplicate_studio(
465
+ self, studio_id: str, teamspace_id: str, target_teamspace_id: str, machine: Machine = Machine.CPU
466
+ ) -> Dict[str, Any]:
445
467
  """Duplicates the given Studio from a given Teamspace into a given target Teamspace."""
446
468
  target_teamspace = self._client.projects_service_get_project(target_teamspace_id)
447
469
  init_kwargs = {}
@@ -464,7 +486,7 @@ class StudioApi:
464
486
  init_kwargs["name"] = new_cloudspace.name
465
487
  init_kwargs["teamspace"] = target_teamspace.name
466
488
 
467
- self.start_studio(new_cloudspace.id, target_teamspace_id, Machine.CPU, False, None)
489
+ self.start_studio(new_cloudspace.id, target_teamspace_id, machine, False, None)
468
490
  return init_kwargs
469
491
 
470
492
  def delete_studio(self, studio_id: str, teamspace_id: str) -> None:
lightning_sdk/job/base.py CHANGED
@@ -4,7 +4,7 @@ from typing import TYPE_CHECKING, Any, Dict, Optional, TypedDict, Union
4
4
 
5
5
  from lightning_sdk.api.cloud_account_api import CloudAccountApi
6
6
  from lightning_sdk.api.utils import _get_cloud_url
7
- from lightning_sdk.utils.resolve import _resolve_deprecated_cluster, _resolve_teamspace, in_studio
7
+ from lightning_sdk.utils.resolve import _resolve_deprecated_cluster, _resolve_teamspace, in_studio, skip_studio_setup
8
8
 
9
9
  if TYPE_CHECKING:
10
10
  from lightning_sdk.machine import CloudProvider, Machine
@@ -145,9 +145,15 @@ class _BaseJob(ABC):
145
145
 
146
146
  if image is None:
147
147
  if not isinstance(studio, Studio):
148
- studio = Studio(
149
- name=studio, teamspace=teamspace, org=org, user=user, cloud_account=cloud_account, create_ok=False
150
- )
148
+ with skip_studio_setup():
149
+ studio = Studio(
150
+ name=studio,
151
+ teamspace=teamspace,
152
+ org=org,
153
+ user=user,
154
+ cloud_account=cloud_account,
155
+ create_ok=False,
156
+ )
151
157
 
152
158
  # studio is a Studio instance at this point
153
159
  if teamspace is None:
@@ -192,7 +198,8 @@ class _BaseJob(ABC):
192
198
  )
193
199
  if cloud_account is None and in_studio():
194
200
  try:
195
- resolve_studio = Studio(teamspace=teamspace, user=user, org=org)
201
+ with skip_studio_setup():
202
+ resolve_studio = Studio(teamspace=teamspace, user=user, org=org)
196
203
  cloud_account = resolve_studio.cloud_account
197
204
  except (ValueError, ApiException):
198
205
  warnings.warn("Could not infer cloud account from studio. Using teamspace default.")
@@ -148,6 +148,7 @@ from lightning_sdk.lightning_cloud.openapi.models.id_publications_body1 import I
148
148
  from lightning_sdk.lightning_cloud.openapi.models.id_release_body import IdReleaseBody
149
149
  from lightning_sdk.lightning_cloud.openapi.models.id_reportlogsactivity_body import IdReportlogsactivityBody
150
150
  from lightning_sdk.lightning_cloud.openapi.models.id_reportrestarttimings_body import IdReportrestarttimingsBody
151
+ from lightning_sdk.lightning_cloud.openapi.models.id_sleepconfig_body import IdSleepconfigBody
151
152
  from lightning_sdk.lightning_cloud.openapi.models.id_start_body import IdStartBody
152
153
  from lightning_sdk.lightning_cloud.openapi.models.id_transfer_body import IdTransferBody
153
154
  from lightning_sdk.lightning_cloud.openapi.models.id_uploads_body import IdUploadsBody
@@ -654,6 +655,9 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cloudy_experts_respons
654
655
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_accelerators_response import V1ListClusterAcceleratorsResponse
655
656
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_availabilities_response import V1ListClusterAvailabilitiesResponse
656
657
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_capacity_reservations_response import V1ListClusterCapacityReservationsResponse
658
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_metrics_response import V1ListClusterMetricsResponse
659
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_namespace_metrics_response import V1ListClusterNamespaceMetricsResponse
660
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_namespace_user_metrics_response import V1ListClusterNamespaceUserMetricsResponse
657
661
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_proxies_response import V1ListClusterProxiesResponse
658
662
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_usage_restrictions_response import V1ListClusterUsageRestrictionsResponse
659
663
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_clusters_response import V1ListClustersResponse
@@ -753,6 +757,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_login_response import V1Log
753
757
  from lightning_sdk.lightning_cloud.openapi.models.v1_logout_request import V1LogoutRequest
754
758
  from lightning_sdk.lightning_cloud.openapi.models.v1_logout_response import V1LogoutResponse
755
759
  from lightning_sdk.lightning_cloud.openapi.models.v1_logs_response import V1LogsResponse
760
+ from lightning_sdk.lightning_cloud.openapi.models.v1_lustre_data_connection import V1LustreDataConnection
756
761
  from lightning_sdk.lightning_cloud.openapi.models.v1_machines_selector import V1MachinesSelector
757
762
  from lightning_sdk.lightning_cloud.openapi.models.v1_magic_link_login_request import V1MagicLinkLoginRequest
758
763
  from lightning_sdk.lightning_cloud.openapi.models.v1_magic_link_login_response import V1MagicLinkLoginResponse
@@ -783,6 +788,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_multi_machine_job_fault_tol
783
788
  from lightning_sdk.lightning_cloud.openapi.models.v1_multi_machine_job_state import V1MultiMachineJobState
784
789
  from lightning_sdk.lightning_cloud.openapi.models.v1_multi_machine_job_status import V1MultiMachineJobStatus
785
790
  from lightning_sdk.lightning_cloud.openapi.models.v1_named_get_logger_metrics import V1NamedGetLoggerMetrics
791
+ from lightning_sdk.lightning_cloud.openapi.models.v1_namespace_metrics import V1NamespaceMetrics
792
+ from lightning_sdk.lightning_cloud.openapi.models.v1_namespace_user_metrics import V1NamespaceUserMetrics
786
793
  from lightning_sdk.lightning_cloud.openapi.models.v1_nebius_direct_v1 import V1NebiusDirectV1
787
794
  from lightning_sdk.lightning_cloud.openapi.models.v1_network_config import V1NetworkConfig
788
795
  from lightning_sdk.lightning_cloud.openapi.models.v1_new_feature import V1NewFeature
@@ -248,6 +248,7 @@ class CloudSpaceEnvironmentTemplateServiceApi(object):
248
248
  :param async_req bool
249
249
  :param str id: (required)
250
250
  :param str org_id:
251
+ :param str project_id:
251
252
  :return: V1CloudSpaceEnvironmentTemplate
252
253
  If the method is called asynchronously,
253
254
  returns the request thread.
@@ -270,12 +271,13 @@ class CloudSpaceEnvironmentTemplateServiceApi(object):
270
271
  :param async_req bool
271
272
  :param str id: (required)
272
273
  :param str org_id:
274
+ :param str project_id:
273
275
  :return: V1CloudSpaceEnvironmentTemplate
274
276
  If the method is called asynchronously,
275
277
  returns the request thread.
276
278
  """
277
279
 
278
- all_params = ['id', 'org_id'] # noqa: E501
280
+ all_params = ['id', 'org_id', 'project_id'] # noqa: E501
279
281
  all_params.append('async_req')
280
282
  all_params.append('_return_http_data_only')
281
283
  all_params.append('_preload_content')
@@ -304,6 +306,8 @@ class CloudSpaceEnvironmentTemplateServiceApi(object):
304
306
  query_params = []
305
307
  if 'org_id' in params:
306
308
  query_params.append(('orgId', params['org_id'])) # noqa: E501
309
+ if 'project_id' in params:
310
+ query_params.append(('projectId', params['project_id'])) # noqa: E501
307
311
 
308
312
  header_params = {}
309
313
 
@@ -9066,6 +9066,119 @@ class CloudSpaceServiceApi(object):
9066
9066
  _request_timeout=params.get('_request_timeout'),
9067
9067
  collection_formats=collection_formats)
9068
9068
 
9069
+ def cloud_space_service_update_cloud_space_sleep_config(self, body: 'IdSleepconfigBody', project_id: 'str', id: 'str', **kwargs) -> 'V1CloudSpaceInstanceConfig': # noqa: E501
9070
+ """cloud_space_service_update_cloud_space_sleep_config # noqa: E501
9071
+
9072
+ This method makes a synchronous HTTP request by default. To make an
9073
+ asynchronous HTTP request, please pass async_req=True
9074
+ >>> thread = api.cloud_space_service_update_cloud_space_sleep_config(body, project_id, id, async_req=True)
9075
+ >>> result = thread.get()
9076
+
9077
+ :param async_req bool
9078
+ :param IdSleepconfigBody body: (required)
9079
+ :param str project_id: (required)
9080
+ :param str id: (required)
9081
+ :return: V1CloudSpaceInstanceConfig
9082
+ If the method is called asynchronously,
9083
+ returns the request thread.
9084
+ """
9085
+ kwargs['_return_http_data_only'] = True
9086
+ if kwargs.get('async_req'):
9087
+ return self.cloud_space_service_update_cloud_space_sleep_config_with_http_info(body, project_id, id, **kwargs) # noqa: E501
9088
+ else:
9089
+ (data) = self.cloud_space_service_update_cloud_space_sleep_config_with_http_info(body, project_id, id, **kwargs) # noqa: E501
9090
+ return data
9091
+
9092
+ def cloud_space_service_update_cloud_space_sleep_config_with_http_info(self, body: 'IdSleepconfigBody', project_id: 'str', id: 'str', **kwargs) -> 'V1CloudSpaceInstanceConfig': # noqa: E501
9093
+ """cloud_space_service_update_cloud_space_sleep_config # noqa: E501
9094
+
9095
+ This method makes a synchronous HTTP request by default. To make an
9096
+ asynchronous HTTP request, please pass async_req=True
9097
+ >>> thread = api.cloud_space_service_update_cloud_space_sleep_config_with_http_info(body, project_id, id, async_req=True)
9098
+ >>> result = thread.get()
9099
+
9100
+ :param async_req bool
9101
+ :param IdSleepconfigBody body: (required)
9102
+ :param str project_id: (required)
9103
+ :param str id: (required)
9104
+ :return: V1CloudSpaceInstanceConfig
9105
+ If the method is called asynchronously,
9106
+ returns the request thread.
9107
+ """
9108
+
9109
+ all_params = ['body', 'project_id', 'id'] # noqa: E501
9110
+ all_params.append('async_req')
9111
+ all_params.append('_return_http_data_only')
9112
+ all_params.append('_preload_content')
9113
+ all_params.append('_request_timeout')
9114
+
9115
+ params = locals()
9116
+ for key, val in six.iteritems(params['kwargs']):
9117
+ if key not in all_params:
9118
+ raise TypeError(
9119
+ "Got an unexpected keyword argument '%s'"
9120
+ " to method cloud_space_service_update_cloud_space_sleep_config" % key
9121
+ )
9122
+ params[key] = val
9123
+ del params['kwargs']
9124
+ # verify the required parameter 'body' is set
9125
+ if ('body' not in params or
9126
+ params['body'] is None):
9127
+ raise ValueError("Missing the required parameter `body` when calling `cloud_space_service_update_cloud_space_sleep_config`") # noqa: E501
9128
+ # verify the required parameter 'project_id' is set
9129
+ if ('project_id' not in params or
9130
+ params['project_id'] is None):
9131
+ raise ValueError("Missing the required parameter `project_id` when calling `cloud_space_service_update_cloud_space_sleep_config`") # noqa: E501
9132
+ # verify the required parameter 'id' is set
9133
+ if ('id' not in params or
9134
+ params['id'] is None):
9135
+ raise ValueError("Missing the required parameter `id` when calling `cloud_space_service_update_cloud_space_sleep_config`") # noqa: E501
9136
+
9137
+ collection_formats = {}
9138
+
9139
+ path_params = {}
9140
+ if 'project_id' in params:
9141
+ path_params['projectId'] = params['project_id'] # noqa: E501
9142
+ if 'id' in params:
9143
+ path_params['id'] = params['id'] # noqa: E501
9144
+
9145
+ query_params = []
9146
+
9147
+ header_params = {}
9148
+
9149
+ form_params = []
9150
+ local_var_files = {}
9151
+
9152
+ body_params = None
9153
+ if 'body' in params:
9154
+ body_params = params['body']
9155
+ # HTTP header `Accept`
9156
+ header_params['Accept'] = self.api_client.select_header_accept(
9157
+ ['application/json']) # noqa: E501
9158
+
9159
+ # HTTP header `Content-Type`
9160
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
9161
+ ['application/json']) # noqa: E501
9162
+
9163
+ # Authentication setting
9164
+ auth_settings = [] # noqa: E501
9165
+
9166
+ return self.api_client.call_api(
9167
+ '/v1/projects/{projectId}/cloudspaces/{id}/sleepconfig', 'PUT',
9168
+ path_params,
9169
+ query_params,
9170
+ header_params,
9171
+ body=body_params,
9172
+ post_params=form_params,
9173
+ files=local_var_files,
9174
+ response_type='V1CloudSpaceInstanceConfig', # noqa: E501
9175
+ auth_settings=auth_settings,
9176
+ async_req=params.get('async_req'),
9177
+ _return_http_data_only=params.get('_return_http_data_only'),
9178
+ _preload_content=params.get('_preload_content', True),
9179
+ _request_timeout=params.get('_request_timeout'),
9180
+ collection_formats=collection_formats)
9181
+
9069
9182
  def cloud_space_service_update_cloud_space_version(self, body: 'VersionsIdBody', project_id: 'str', cloud_space_id: 'str', id: 'str', **kwargs) -> 'V1CloudSpaceVersion': # noqa: E501
9070
9183
  """cloud_space_service_update_cloud_space_version # noqa: E501
9071
9184
 
@@ -43,103 +43,6 @@ class CloudyServiceApi(object):
43
43
  api_client = ApiClient()
44
44
  self.api_client = api_client
45
45
 
46
- def cloudy_service_create_user_cloudy_settings(self, body: 'V1CloudySettings', **kwargs) -> 'V1CloudySettings': # noqa: E501
47
- """cloudy_service_create_user_cloudy_settings # 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.cloudy_service_create_user_cloudy_settings(body, async_req=True)
52
- >>> result = thread.get()
53
-
54
- :param async_req bool
55
- :param V1CloudySettings body: (required)
56
- :return: V1CloudySettings
57
- If the method is called asynchronously,
58
- returns the request thread.
59
- """
60
- kwargs['_return_http_data_only'] = True
61
- if kwargs.get('async_req'):
62
- return self.cloudy_service_create_user_cloudy_settings_with_http_info(body, **kwargs) # noqa: E501
63
- else:
64
- (data) = self.cloudy_service_create_user_cloudy_settings_with_http_info(body, **kwargs) # noqa: E501
65
- return data
66
-
67
- def cloudy_service_create_user_cloudy_settings_with_http_info(self, body: 'V1CloudySettings', **kwargs) -> 'V1CloudySettings': # noqa: E501
68
- """cloudy_service_create_user_cloudy_settings # noqa: E501
69
-
70
- This method makes a synchronous HTTP request by default. To make an
71
- asynchronous HTTP request, please pass async_req=True
72
- >>> thread = api.cloudy_service_create_user_cloudy_settings_with_http_info(body, async_req=True)
73
- >>> result = thread.get()
74
-
75
- :param async_req bool
76
- :param V1CloudySettings body: (required)
77
- :return: V1CloudySettings
78
- If the method is called asynchronously,
79
- returns the request thread.
80
- """
81
-
82
- all_params = ['body'] # noqa: E501
83
- all_params.append('async_req')
84
- all_params.append('_return_http_data_only')
85
- all_params.append('_preload_content')
86
- all_params.append('_request_timeout')
87
-
88
- params = locals()
89
- for key, val in six.iteritems(params['kwargs']):
90
- if key not in all_params:
91
- raise TypeError(
92
- "Got an unexpected keyword argument '%s'"
93
- " to method cloudy_service_create_user_cloudy_settings" % key
94
- )
95
- params[key] = val
96
- del params['kwargs']
97
- # verify the required parameter 'body' is set
98
- if ('body' not in params or
99
- params['body'] is None):
100
- raise ValueError("Missing the required parameter `body` when calling `cloudy_service_create_user_cloudy_settings`") # noqa: E501
101
-
102
- collection_formats = {}
103
-
104
- path_params = {}
105
-
106
- query_params = []
107
-
108
- header_params = {}
109
-
110
- form_params = []
111
- local_var_files = {}
112
-
113
- body_params = None
114
- if 'body' in params:
115
- body_params = params['body']
116
- # HTTP header `Accept`
117
- header_params['Accept'] = self.api_client.select_header_accept(
118
- ['application/json']) # noqa: E501
119
-
120
- # HTTP header `Content-Type`
121
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
122
- ['application/json']) # noqa: E501
123
-
124
- # Authentication setting
125
- auth_settings = [] # noqa: E501
126
-
127
- return self.api_client.call_api(
128
- '/v1/cloudy/settings/user', 'POST',
129
- path_params,
130
- query_params,
131
- header_params,
132
- body=body_params,
133
- post_params=form_params,
134
- files=local_var_files,
135
- response_type='V1CloudySettings', # noqa: E501
136
- auth_settings=auth_settings,
137
- async_req=params.get('async_req'),
138
- _return_http_data_only=params.get('_return_http_data_only'),
139
- _preload_content=params.get('_preload_content', True),
140
- _request_timeout=params.get('_request_timeout'),
141
- collection_formats=collection_formats)
142
-
143
46
  def cloudy_service_get_user_cloudy_settings(self, user_id: 'str', **kwargs) -> 'V1CloudySettings': # noqa: E501
144
47
  """cloudy_service_get_user_cloudy_settings # noqa: E501
145
48