lightning-sdk 2025.9.16__py3-none-any.whl → 2025.9.29__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. lightning_sdk/__init__.py +4 -3
  2. lightning_sdk/api/cloud_account_api.py +12 -1
  3. lightning_sdk/api/job_api.py +12 -11
  4. lightning_sdk/api/mmt_api.py +1 -1
  5. lightning_sdk/api/studio_api.py +1 -1
  6. lightning_sdk/api/teamspace_api.py +18 -0
  7. lightning_sdk/api/user_api.py +8 -2
  8. lightning_sdk/cli/entrypoint.py +3 -1
  9. lightning_sdk/cli/groups.py +8 -1
  10. lightning_sdk/cli/legacy/entrypoint.py +1 -1
  11. lightning_sdk/cli/studio/create.py +19 -5
  12. lightning_sdk/cli/studio/delete.py +9 -5
  13. lightning_sdk/cli/studio/list.py +5 -1
  14. lightning_sdk/cli/studio/ssh.py +9 -3
  15. lightning_sdk/cli/studio/start.py +26 -3
  16. lightning_sdk/cli/studio/stop.py +7 -3
  17. lightning_sdk/cli/studio/switch.py +21 -5
  18. lightning_sdk/cli/utils/owner_selection.py +110 -0
  19. lightning_sdk/cli/utils/studio_selection.py +22 -15
  20. lightning_sdk/cli/utils/teamspace_selection.py +63 -62
  21. lightning_sdk/cli/vm/__init__.py +20 -0
  22. lightning_sdk/cli/vm/create.py +33 -0
  23. lightning_sdk/cli/vm/delete.py +25 -0
  24. lightning_sdk/cli/vm/list.py +30 -0
  25. lightning_sdk/cli/vm/ssh.py +31 -0
  26. lightning_sdk/cli/vm/start.py +60 -0
  27. lightning_sdk/cli/vm/stop.py +25 -0
  28. lightning_sdk/cli/vm/switch.py +38 -0
  29. lightning_sdk/lightning_cloud/openapi/__init__.py +20 -1
  30. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +2 -95
  31. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +24 -8
  32. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +420 -0
  33. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +121 -0
  34. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +655 -0
  35. lightning_sdk/lightning_cloud/openapi/models/__init__.py +20 -1
  36. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +435 -0
  37. lightning_sdk/lightning_cloud/openapi/models/job_id_reportroutingtelemetry_body.py +123 -0
  38. lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +149 -0
  39. lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +107 -3
  40. lightning_sdk/lightning_cloud/openapi/models/v1_abort_storage_transfer_response.py +97 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_create_machine_response.py +123 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_delete_machine_response.py +97 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  50. lightning_sdk/lightning_cloud/openapi/models/v1_get_machine_response.py +123 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  52. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +27 -1
  53. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_elastic_cluster_v1.py +97 -0
  54. lightning_sdk/lightning_cloud/openapi/models/{v1_get_model_total_usage_metrics_response.py → v1_list_machines_response.py} +37 -37
  55. lightning_sdk/lightning_cloud/openapi/models/v1_list_storage_transfers_response.py +123 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +539 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +123 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_pause_storage_transfer_response.py +97 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_request.py +123 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_report_deployment_routing_telemetry_response.py +97 -0
  61. lightning_sdk/lightning_cloud/openapi/models/v1_resume_storage_transfer_response.py +97 -0
  62. lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +79 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
  64. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +149 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier_type.py +105 -0
  66. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer.py +435 -0
  67. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer_status.py +108 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
  69. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -79
  70. lightning_sdk/machine.py +16 -1
  71. lightning_sdk/studio.py +55 -11
  72. lightning_sdk/teamspace.py +65 -2
  73. {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/METADATA +1 -1
  74. {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/RECORD +78 -50
  75. {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/LICENSE +0 -0
  76. {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/WHEEL +0 -0
  77. {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/entry_points.txt +0 -0
  78. {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/top_level.txt +0 -0
@@ -657,6 +657,111 @@ class ClusterServiceApi(object):
657
657
  _request_timeout=params.get('_request_timeout'),
658
658
  collection_formats=collection_formats)
659
659
 
660
+ def cluster_service_create_machine(self, body: 'CreateMachineRequestRepresentsTheRequestToCreateAMachine', cluster_id: 'str', **kwargs) -> 'V1CreateMachineResponse': # noqa: E501
661
+ """cluster_service_create_machine # noqa: E501
662
+
663
+ This method makes a synchronous HTTP request by default. To make an
664
+ asynchronous HTTP request, please pass async_req=True
665
+ >>> thread = api.cluster_service_create_machine(body, cluster_id, async_req=True)
666
+ >>> result = thread.get()
667
+
668
+ :param async_req bool
669
+ :param CreateMachineRequestRepresentsTheRequestToCreateAMachine body: (required)
670
+ :param str cluster_id: (required)
671
+ :return: V1CreateMachineResponse
672
+ If the method is called asynchronously,
673
+ returns the request thread.
674
+ """
675
+ kwargs['_return_http_data_only'] = True
676
+ if kwargs.get('async_req'):
677
+ return self.cluster_service_create_machine_with_http_info(body, cluster_id, **kwargs) # noqa: E501
678
+ else:
679
+ (data) = self.cluster_service_create_machine_with_http_info(body, cluster_id, **kwargs) # noqa: E501
680
+ return data
681
+
682
+ def cluster_service_create_machine_with_http_info(self, body: 'CreateMachineRequestRepresentsTheRequestToCreateAMachine', cluster_id: 'str', **kwargs) -> 'V1CreateMachineResponse': # noqa: E501
683
+ """cluster_service_create_machine # noqa: E501
684
+
685
+ This method makes a synchronous HTTP request by default. To make an
686
+ asynchronous HTTP request, please pass async_req=True
687
+ >>> thread = api.cluster_service_create_machine_with_http_info(body, cluster_id, async_req=True)
688
+ >>> result = thread.get()
689
+
690
+ :param async_req bool
691
+ :param CreateMachineRequestRepresentsTheRequestToCreateAMachine body: (required)
692
+ :param str cluster_id: (required)
693
+ :return: V1CreateMachineResponse
694
+ If the method is called asynchronously,
695
+ returns the request thread.
696
+ """
697
+
698
+ all_params = ['body', 'cluster_id'] # noqa: E501
699
+ all_params.append('async_req')
700
+ all_params.append('_return_http_data_only')
701
+ all_params.append('_preload_content')
702
+ all_params.append('_request_timeout')
703
+
704
+ params = locals()
705
+ for key, val in six.iteritems(params['kwargs']):
706
+ if key not in all_params:
707
+ raise TypeError(
708
+ "Got an unexpected keyword argument '%s'"
709
+ " to method cluster_service_create_machine" % key
710
+ )
711
+ params[key] = val
712
+ del params['kwargs']
713
+ # verify the required parameter 'body' is set
714
+ if ('body' not in params or
715
+ params['body'] is None):
716
+ raise ValueError("Missing the required parameter `body` when calling `cluster_service_create_machine`") # noqa: E501
717
+ # verify the required parameter 'cluster_id' is set
718
+ if ('cluster_id' not in params or
719
+ params['cluster_id'] is None):
720
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_create_machine`") # noqa: E501
721
+
722
+ collection_formats = {}
723
+
724
+ path_params = {}
725
+ if 'cluster_id' in params:
726
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
727
+
728
+ query_params = []
729
+
730
+ header_params = {}
731
+
732
+ form_params = []
733
+ local_var_files = {}
734
+
735
+ body_params = None
736
+ if 'body' in params:
737
+ body_params = params['body']
738
+ # HTTP header `Accept`
739
+ header_params['Accept'] = self.api_client.select_header_accept(
740
+ ['application/json']) # noqa: E501
741
+
742
+ # HTTP header `Content-Type`
743
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
744
+ ['application/json']) # noqa: E501
745
+
746
+ # Authentication setting
747
+ auth_settings = [] # noqa: E501
748
+
749
+ return self.api_client.call_api(
750
+ '/v1/core/clusters/{clusterId}/machines', 'POST',
751
+ path_params,
752
+ query_params,
753
+ header_params,
754
+ body=body_params,
755
+ post_params=form_params,
756
+ files=local_var_files,
757
+ response_type='V1CreateMachineResponse', # noqa: E501
758
+ auth_settings=auth_settings,
759
+ async_req=params.get('async_req'),
760
+ _return_http_data_only=params.get('_return_http_data_only'),
761
+ _preload_content=params.get('_preload_content', True),
762
+ _request_timeout=params.get('_request_timeout'),
763
+ collection_formats=collection_formats)
764
+
660
765
  def cluster_service_create_project_cluster(self, body: 'ProjectIdClustersBody', project_id: 'str', **kwargs) -> 'Externalv1Cluster': # noqa: E501
661
766
  """cluster_service_create_project_cluster # noqa: E501
662
767
 
@@ -1392,6 +1497,111 @@ class ClusterServiceApi(object):
1392
1497
  _request_timeout=params.get('_request_timeout'),
1393
1498
  collection_formats=collection_formats)
1394
1499
 
1500
+ def cluster_service_delete_machine(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1DeleteMachineResponse': # noqa: E501
1501
+ """Delete a machine # noqa: E501
1502
+
1503
+ This method makes a synchronous HTTP request by default. To make an
1504
+ asynchronous HTTP request, please pass async_req=True
1505
+ >>> thread = api.cluster_service_delete_machine(cluster_id, id, async_req=True)
1506
+ >>> result = thread.get()
1507
+
1508
+ :param async_req bool
1509
+ :param str cluster_id: (required)
1510
+ :param str id: (required)
1511
+ :param str org_id:
1512
+ :return: V1DeleteMachineResponse
1513
+ If the method is called asynchronously,
1514
+ returns the request thread.
1515
+ """
1516
+ kwargs['_return_http_data_only'] = True
1517
+ if kwargs.get('async_req'):
1518
+ return self.cluster_service_delete_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
1519
+ else:
1520
+ (data) = self.cluster_service_delete_machine_with_http_info(cluster_id, id, **kwargs) # noqa: E501
1521
+ return data
1522
+
1523
+ def cluster_service_delete_machine_with_http_info(self, cluster_id: 'str', id: 'str', **kwargs) -> 'V1DeleteMachineResponse': # noqa: E501
1524
+ """Delete a machine # noqa: E501
1525
+
1526
+ This method makes a synchronous HTTP request by default. To make an
1527
+ asynchronous HTTP request, please pass async_req=True
1528
+ >>> thread = api.cluster_service_delete_machine_with_http_info(cluster_id, id, async_req=True)
1529
+ >>> result = thread.get()
1530
+
1531
+ :param async_req bool
1532
+ :param str cluster_id: (required)
1533
+ :param str id: (required)
1534
+ :param str org_id:
1535
+ :return: V1DeleteMachineResponse
1536
+ If the method is called asynchronously,
1537
+ returns the request thread.
1538
+ """
1539
+
1540
+ all_params = ['cluster_id', 'id', 'org_id'] # noqa: E501
1541
+ all_params.append('async_req')
1542
+ all_params.append('_return_http_data_only')
1543
+ all_params.append('_preload_content')
1544
+ all_params.append('_request_timeout')
1545
+
1546
+ params = locals()
1547
+ for key, val in six.iteritems(params['kwargs']):
1548
+ if key not in all_params:
1549
+ raise TypeError(
1550
+ "Got an unexpected keyword argument '%s'"
1551
+ " to method cluster_service_delete_machine" % key
1552
+ )
1553
+ params[key] = val
1554
+ del params['kwargs']
1555
+ # verify the required parameter 'cluster_id' is set
1556
+ if ('cluster_id' not in params or
1557
+ params['cluster_id'] is None):
1558
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_delete_machine`") # noqa: E501
1559
+ # verify the required parameter 'id' is set
1560
+ if ('id' not in params or
1561
+ params['id'] is None):
1562
+ raise ValueError("Missing the required parameter `id` when calling `cluster_service_delete_machine`") # noqa: E501
1563
+
1564
+ collection_formats = {}
1565
+
1566
+ path_params = {}
1567
+ if 'cluster_id' in params:
1568
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
1569
+ if 'id' in params:
1570
+ path_params['id'] = params['id'] # noqa: E501
1571
+
1572
+ query_params = []
1573
+ if 'org_id' in params:
1574
+ query_params.append(('orgId', params['org_id'])) # noqa: E501
1575
+
1576
+ header_params = {}
1577
+
1578
+ form_params = []
1579
+ local_var_files = {}
1580
+
1581
+ body_params = None
1582
+ # HTTP header `Accept`
1583
+ header_params['Accept'] = self.api_client.select_header_accept(
1584
+ ['application/json']) # noqa: E501
1585
+
1586
+ # Authentication setting
1587
+ auth_settings = [] # noqa: E501
1588
+
1589
+ return self.api_client.call_api(
1590
+ '/v1/core/clusters/{clusterId}/machines/{id}', 'DELETE',
1591
+ path_params,
1592
+ query_params,
1593
+ header_params,
1594
+ body=body_params,
1595
+ post_params=form_params,
1596
+ files=local_var_files,
1597
+ response_type='V1DeleteMachineResponse', # noqa: E501
1598
+ auth_settings=auth_settings,
1599
+ async_req=params.get('async_req'),
1600
+ _return_http_data_only=params.get('_return_http_data_only'),
1601
+ _preload_content=params.get('_preload_content', True),
1602
+ _request_timeout=params.get('_request_timeout'),
1603
+ collection_formats=collection_formats)
1604
+
1395
1605
  def cluster_service_delete_project_cluster(self, project_id: 'str', id: 'str', **kwargs) -> 'V1DeleteProjectClusterResponse': # noqa: E501
1396
1606
  """cluster_service_delete_project_cluster # noqa: E501
1397
1607
 
@@ -2111,6 +2321,111 @@ class ClusterServiceApi(object):
2111
2321
  _request_timeout=params.get('_request_timeout'),
2112
2322
  collection_formats=collection_formats)
2113
2323
 
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
+
2114
2429
  def cluster_service_get_project_cluster(self, project_id: 'str', id: 'str', **kwargs) -> 'Externalv1Cluster': # noqa: E501
2115
2430
  """cluster_service_get_project_cluster # noqa: E501
2116
2431
 
@@ -3012,6 +3327,111 @@ class ClusterServiceApi(object):
3012
3327
  _request_timeout=params.get('_request_timeout'),
3013
3328
  collection_formats=collection_formats)
3014
3329
 
3330
+ def cluster_service_list_machines(self, cluster_id: 'str', **kwargs) -> 'V1ListMachinesResponse': # noqa: E501
3331
+ """List machines with optional filtering # noqa: E501
3332
+
3333
+ This method makes a synchronous HTTP request by default. To make an
3334
+ asynchronous HTTP request, please pass async_req=True
3335
+ >>> thread = api.cluster_service_list_machines(cluster_id, async_req=True)
3336
+ >>> result = thread.get()
3337
+
3338
+ :param async_req bool
3339
+ :param str cluster_id: (required)
3340
+ :param str org_id:
3341
+ :param int page_size:
3342
+ :param str page_token:
3343
+ :return: V1ListMachinesResponse
3344
+ If the method is called asynchronously,
3345
+ returns the request thread.
3346
+ """
3347
+ kwargs['_return_http_data_only'] = True
3348
+ if kwargs.get('async_req'):
3349
+ return self.cluster_service_list_machines_with_http_info(cluster_id, **kwargs) # noqa: E501
3350
+ else:
3351
+ (data) = self.cluster_service_list_machines_with_http_info(cluster_id, **kwargs) # noqa: E501
3352
+ return data
3353
+
3354
+ def cluster_service_list_machines_with_http_info(self, cluster_id: 'str', **kwargs) -> 'V1ListMachinesResponse': # noqa: E501
3355
+ """List machines with optional filtering # noqa: E501
3356
+
3357
+ This method makes a synchronous HTTP request by default. To make an
3358
+ asynchronous HTTP request, please pass async_req=True
3359
+ >>> thread = api.cluster_service_list_machines_with_http_info(cluster_id, async_req=True)
3360
+ >>> result = thread.get()
3361
+
3362
+ :param async_req bool
3363
+ :param str cluster_id: (required)
3364
+ :param str org_id:
3365
+ :param int page_size:
3366
+ :param str page_token:
3367
+ :return: V1ListMachinesResponse
3368
+ If the method is called asynchronously,
3369
+ returns the request thread.
3370
+ """
3371
+
3372
+ all_params = ['cluster_id', 'org_id', 'page_size', 'page_token'] # noqa: E501
3373
+ all_params.append('async_req')
3374
+ all_params.append('_return_http_data_only')
3375
+ all_params.append('_preload_content')
3376
+ all_params.append('_request_timeout')
3377
+
3378
+ params = locals()
3379
+ for key, val in six.iteritems(params['kwargs']):
3380
+ if key not in all_params:
3381
+ raise TypeError(
3382
+ "Got an unexpected keyword argument '%s'"
3383
+ " to method cluster_service_list_machines" % key
3384
+ )
3385
+ params[key] = val
3386
+ del params['kwargs']
3387
+ # verify the required parameter 'cluster_id' is set
3388
+ if ('cluster_id' not in params or
3389
+ params['cluster_id'] is None):
3390
+ raise ValueError("Missing the required parameter `cluster_id` when calling `cluster_service_list_machines`") # noqa: E501
3391
+
3392
+ collection_formats = {}
3393
+
3394
+ path_params = {}
3395
+ if 'cluster_id' in params:
3396
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
3397
+
3398
+ query_params = []
3399
+ if 'org_id' in params:
3400
+ query_params.append(('orgId', params['org_id'])) # noqa: E501
3401
+ if 'page_size' in params:
3402
+ query_params.append(('pageSize', params['page_size'])) # noqa: E501
3403
+ if 'page_token' in params:
3404
+ query_params.append(('pageToken', params['page_token'])) # noqa: E501
3405
+
3406
+ header_params = {}
3407
+
3408
+ form_params = []
3409
+ local_var_files = {}
3410
+
3411
+ body_params = None
3412
+ # HTTP header `Accept`
3413
+ header_params['Accept'] = self.api_client.select_header_accept(
3414
+ ['application/json']) # noqa: E501
3415
+
3416
+ # Authentication setting
3417
+ auth_settings = [] # noqa: E501
3418
+
3419
+ return self.api_client.call_api(
3420
+ '/v1/core/clusters/{clusterId}/machines', 'GET',
3421
+ path_params,
3422
+ query_params,
3423
+ header_params,
3424
+ body=body_params,
3425
+ post_params=form_params,
3426
+ files=local_var_files,
3427
+ response_type='V1ListMachinesResponse', # noqa: E501
3428
+ auth_settings=auth_settings,
3429
+ async_req=params.get('async_req'),
3430
+ _return_http_data_only=params.get('_return_http_data_only'),
3431
+ _preload_content=params.get('_preload_content', True),
3432
+ _request_timeout=params.get('_request_timeout'),
3433
+ collection_formats=collection_formats)
3434
+
3015
3435
  def cluster_service_list_organization_cluster_encryption_keys(self, **kwargs) -> 'V1ListOrganizationClusterEncryptionKeysResponse': # noqa: E501
3016
3436
  """cluster_service_list_organization_cluster_encryption_keys # noqa: E501
3017
3437
 
@@ -4058,6 +4058,127 @@ class JobsServiceApi(object):
4058
4058
  _request_timeout=params.get('_request_timeout'),
4059
4059
  collection_formats=collection_formats)
4060
4060
 
4061
+ def jobs_service_report_deployment_routing_telemetry(self, body: 'JobIdReportroutingtelemetryBody', project_id: 'str', deployment_id: 'str', job_id: 'str', **kwargs) -> 'V1ReportDeploymentRoutingTelemetryResponse': # noqa: E501
4062
+ """The tired proxy collects the requests sent to the resource and inform the CP # noqa: E501
4063
+
4064
+ This method makes a synchronous HTTP request by default. To make an
4065
+ asynchronous HTTP request, please pass async_req=True
4066
+ >>> thread = api.jobs_service_report_deployment_routing_telemetry(body, project_id, deployment_id, job_id, async_req=True)
4067
+ >>> result = thread.get()
4068
+
4069
+ :param async_req bool
4070
+ :param JobIdReportroutingtelemetryBody body: (required)
4071
+ :param str project_id: (required)
4072
+ :param str deployment_id: (required)
4073
+ :param str job_id: (required)
4074
+ :return: V1ReportDeploymentRoutingTelemetryResponse
4075
+ If the method is called asynchronously,
4076
+ returns the request thread.
4077
+ """
4078
+ kwargs['_return_http_data_only'] = True
4079
+ if kwargs.get('async_req'):
4080
+ return self.jobs_service_report_deployment_routing_telemetry_with_http_info(body, project_id, deployment_id, job_id, **kwargs) # noqa: E501
4081
+ else:
4082
+ (data) = self.jobs_service_report_deployment_routing_telemetry_with_http_info(body, project_id, deployment_id, job_id, **kwargs) # noqa: E501
4083
+ return data
4084
+
4085
+ def jobs_service_report_deployment_routing_telemetry_with_http_info(self, body: 'JobIdReportroutingtelemetryBody', project_id: 'str', deployment_id: 'str', job_id: 'str', **kwargs) -> 'V1ReportDeploymentRoutingTelemetryResponse': # noqa: E501
4086
+ """The tired proxy collects the requests sent to the resource and inform the CP # noqa: E501
4087
+
4088
+ This method makes a synchronous HTTP request by default. To make an
4089
+ asynchronous HTTP request, please pass async_req=True
4090
+ >>> thread = api.jobs_service_report_deployment_routing_telemetry_with_http_info(body, project_id, deployment_id, job_id, async_req=True)
4091
+ >>> result = thread.get()
4092
+
4093
+ :param async_req bool
4094
+ :param JobIdReportroutingtelemetryBody body: (required)
4095
+ :param str project_id: (required)
4096
+ :param str deployment_id: (required)
4097
+ :param str job_id: (required)
4098
+ :return: V1ReportDeploymentRoutingTelemetryResponse
4099
+ If the method is called asynchronously,
4100
+ returns the request thread.
4101
+ """
4102
+
4103
+ all_params = ['body', 'project_id', 'deployment_id', 'job_id'] # noqa: E501
4104
+ all_params.append('async_req')
4105
+ all_params.append('_return_http_data_only')
4106
+ all_params.append('_preload_content')
4107
+ all_params.append('_request_timeout')
4108
+
4109
+ params = locals()
4110
+ for key, val in six.iteritems(params['kwargs']):
4111
+ if key not in all_params:
4112
+ raise TypeError(
4113
+ "Got an unexpected keyword argument '%s'"
4114
+ " to method jobs_service_report_deployment_routing_telemetry" % key
4115
+ )
4116
+ params[key] = val
4117
+ del params['kwargs']
4118
+ # verify the required parameter 'body' is set
4119
+ if ('body' not in params or
4120
+ params['body'] is None):
4121
+ raise ValueError("Missing the required parameter `body` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4122
+ # verify the required parameter 'project_id' is set
4123
+ if ('project_id' not in params or
4124
+ params['project_id'] is None):
4125
+ raise ValueError("Missing the required parameter `project_id` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4126
+ # verify the required parameter 'deployment_id' is set
4127
+ if ('deployment_id' not in params or
4128
+ params['deployment_id'] is None):
4129
+ raise ValueError("Missing the required parameter `deployment_id` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4130
+ # verify the required parameter 'job_id' is set
4131
+ if ('job_id' not in params or
4132
+ params['job_id'] is None):
4133
+ raise ValueError("Missing the required parameter `job_id` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4134
+
4135
+ collection_formats = {}
4136
+
4137
+ path_params = {}
4138
+ if 'project_id' in params:
4139
+ path_params['projectId'] = params['project_id'] # noqa: E501
4140
+ if 'deployment_id' in params:
4141
+ path_params['deploymentId'] = params['deployment_id'] # noqa: E501
4142
+ if 'job_id' in params:
4143
+ path_params['jobId'] = params['job_id'] # noqa: E501
4144
+
4145
+ query_params = []
4146
+
4147
+ header_params = {}
4148
+
4149
+ form_params = []
4150
+ local_var_files = {}
4151
+
4152
+ body_params = None
4153
+ if 'body' in params:
4154
+ body_params = params['body']
4155
+ # HTTP header `Accept`
4156
+ header_params['Accept'] = self.api_client.select_header_accept(
4157
+ ['application/json']) # noqa: E501
4158
+
4159
+ # HTTP header `Content-Type`
4160
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
4161
+ ['application/json']) # noqa: E501
4162
+
4163
+ # Authentication setting
4164
+ auth_settings = [] # noqa: E501
4165
+
4166
+ return self.api_client.call_api(
4167
+ '/v1/projects/{projectId}/deployment/{deploymentId}/jobs/{jobId}/report-routing-telemetry', 'PUT',
4168
+ path_params,
4169
+ query_params,
4170
+ header_params,
4171
+ body=body_params,
4172
+ post_params=form_params,
4173
+ files=local_var_files,
4174
+ response_type='V1ReportDeploymentRoutingTelemetryResponse', # noqa: E501
4175
+ auth_settings=auth_settings,
4176
+ async_req=params.get('async_req'),
4177
+ _return_http_data_only=params.get('_return_http_data_only'),
4178
+ _preload_content=params.get('_preload_content', True),
4179
+ _request_timeout=params.get('_request_timeout'),
4180
+ collection_formats=collection_formats)
4181
+
4061
4182
  def jobs_service_report_logs_activity(self, body: 'IdReportlogsactivityBody', project_id: 'str', id: 'str', **kwargs) -> 'V1ReportLogsActivityResponse': # noqa: E501
4062
4183
  """The tired proxy collects the time at which the user logs started and inform the CP # noqa: E501
4063
4184