lightning-sdk 2025.8.8.post1__py3-none-any.whl → 2025.8.14.post0__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.
- lightning_sdk/__init__.py +1 -1
- lightning_sdk/api/studio_api.py +33 -14
- lightning_sdk/lightning_cloud/openapi/__init__.py +7 -0
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +5 -1
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
- lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +0 -97
- lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +339 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -0
- lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/create.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/id_sleepconfig_body.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +0 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_transfer_metadata.py +69 -17
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +29 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metrics_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_metrics_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_user_metrics_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_lustre_data_connection.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +1 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +591 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +435 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +55 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
- lightning_sdk/studio.py +11 -6
- {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.post0.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.post0.dist-info}/RECORD +37 -30
- {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.post0.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.post0.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.post0.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.post0.dist-info}/top_level.txt +0 -0
lightning_sdk/__init__.py
CHANGED
lightning_sdk/api/studio_api.py
CHANGED
|
@@ -29,6 +29,7 @@ from lightning_sdk.lightning_cloud.openapi import (
|
|
|
29
29
|
IdCodeconfigBody,
|
|
30
30
|
IdExecuteBody1,
|
|
31
31
|
IdForkBody1,
|
|
32
|
+
IdSleepconfigBody,
|
|
32
33
|
IdStartBody,
|
|
33
34
|
ProjectIdCloudspacesBody,
|
|
34
35
|
V1Assistant,
|
|
@@ -253,8 +254,25 @@ class StudioApi:
|
|
|
253
254
|
)
|
|
254
255
|
|
|
255
256
|
# Wait until it's time to switch
|
|
257
|
+
requested_was_found = False
|
|
258
|
+
startup_status = None
|
|
256
259
|
while True:
|
|
257
|
-
|
|
260
|
+
status = self.get_studio_status(studio_id, teamspace_id)
|
|
261
|
+
requested_machine = status.requested
|
|
262
|
+
|
|
263
|
+
if requested_machine is not None:
|
|
264
|
+
requested_was_found = True
|
|
265
|
+
startup_status = requested_machine.startup_status
|
|
266
|
+
|
|
267
|
+
# if the requested machine was found in the past, use the in_use status instead.
|
|
268
|
+
# it might be that it either was cancelled or it actually is ready.
|
|
269
|
+
# Either way, since we're actually blocking below for the in use startup status
|
|
270
|
+
# it's safe to switch at this point
|
|
271
|
+
elif requested_was_found:
|
|
272
|
+
in_use_machine = status.in_use
|
|
273
|
+
if in_use_machine is not None:
|
|
274
|
+
startup_status = in_use_machine.startup_status
|
|
275
|
+
|
|
258
276
|
if startup_status and startup_status.initial_restore_finished:
|
|
259
277
|
break
|
|
260
278
|
time.sleep(1)
|
|
@@ -263,7 +281,10 @@ class StudioApi:
|
|
|
263
281
|
|
|
264
282
|
# Wait until the new machine is ready to use
|
|
265
283
|
while True:
|
|
266
|
-
|
|
284
|
+
in_use = self.get_studio_status(studio_id, teamspace_id).in_use
|
|
285
|
+
if in_use is None:
|
|
286
|
+
continue
|
|
287
|
+
startup_status = in_use.startup_status
|
|
267
288
|
if startup_status and startup_status.top_up_restore_finished:
|
|
268
289
|
break
|
|
269
290
|
time.sleep(1)
|
|
@@ -423,25 +444,23 @@ class StudioApi:
|
|
|
423
444
|
self,
|
|
424
445
|
studio_id: str,
|
|
425
446
|
teamspace_id: str,
|
|
426
|
-
studio: V1CloudSpace,
|
|
427
447
|
enabled: Optional[bool] = None,
|
|
428
|
-
idle_shutdown_seconds: int =
|
|
429
|
-
) ->
|
|
430
|
-
"""Update the autoshutdown time of the given Studio."""
|
|
431
|
-
|
|
432
|
-
enabled
|
|
433
|
-
body = IdCodeconfigBody(
|
|
434
|
-
disable_auto_shutdown=not enabled,
|
|
448
|
+
idle_shutdown_seconds: Optional[int] = None,
|
|
449
|
+
) -> V1CloudSpaceInstanceConfig:
|
|
450
|
+
"""Update the autoshutdown time and behaviour of the given Studio."""
|
|
451
|
+
body = IdSleepconfigBody(
|
|
452
|
+
disable_auto_shutdown=not enabled if enabled is not None else None,
|
|
435
453
|
idle_shutdown_seconds=idle_shutdown_seconds,
|
|
436
|
-
compute_config=studio.code_config.compute_config,
|
|
437
454
|
)
|
|
438
|
-
self._client.
|
|
455
|
+
return self._client.cloud_space_service_update_cloud_space_sleep_config(
|
|
439
456
|
id=studio_id,
|
|
440
457
|
project_id=teamspace_id,
|
|
441
458
|
body=body,
|
|
442
459
|
)
|
|
443
460
|
|
|
444
|
-
def duplicate_studio(
|
|
461
|
+
def duplicate_studio(
|
|
462
|
+
self, studio_id: str, teamspace_id: str, target_teamspace_id: str, machine: Machine = Machine.CPU
|
|
463
|
+
) -> Dict[str, Any]:
|
|
445
464
|
"""Duplicates the given Studio from a given Teamspace into a given target Teamspace."""
|
|
446
465
|
target_teamspace = self._client.projects_service_get_project(target_teamspace_id)
|
|
447
466
|
init_kwargs = {}
|
|
@@ -464,7 +483,7 @@ class StudioApi:
|
|
|
464
483
|
init_kwargs["name"] = new_cloudspace.name
|
|
465
484
|
init_kwargs["teamspace"] = target_teamspace.name
|
|
466
485
|
|
|
467
|
-
self.start_studio(new_cloudspace.id, target_teamspace_id,
|
|
486
|
+
self.start_studio(new_cloudspace.id, target_teamspace_id, machine, False, None)
|
|
468
487
|
return init_kwargs
|
|
469
488
|
|
|
470
489
|
def delete_studio(self, studio_id: str, teamspace_id: str) -> None:
|
|
@@ -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
|
|