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.
- lightning_sdk/__init__.py +4 -3
- lightning_sdk/api/cloud_account_api.py +12 -1
- lightning_sdk/api/job_api.py +12 -11
- lightning_sdk/api/mmt_api.py +1 -1
- lightning_sdk/api/studio_api.py +1 -1
- lightning_sdk/api/teamspace_api.py +18 -0
- lightning_sdk/api/user_api.py +8 -2
- lightning_sdk/cli/entrypoint.py +3 -1
- lightning_sdk/cli/groups.py +8 -1
- lightning_sdk/cli/legacy/entrypoint.py +1 -1
- lightning_sdk/cli/studio/create.py +19 -5
- lightning_sdk/cli/studio/delete.py +9 -5
- lightning_sdk/cli/studio/list.py +5 -1
- lightning_sdk/cli/studio/ssh.py +9 -3
- lightning_sdk/cli/studio/start.py +26 -3
- lightning_sdk/cli/studio/stop.py +7 -3
- lightning_sdk/cli/studio/switch.py +21 -5
- lightning_sdk/cli/utils/owner_selection.py +110 -0
- lightning_sdk/cli/utils/studio_selection.py +22 -15
- lightning_sdk/cli/utils/teamspace_selection.py +63 -62
- lightning_sdk/cli/vm/__init__.py +20 -0
- lightning_sdk/cli/vm/create.py +33 -0
- lightning_sdk/cli/vm/delete.py +25 -0
- lightning_sdk/cli/vm/list.py +30 -0
- lightning_sdk/cli/vm/ssh.py +31 -0
- lightning_sdk/cli/vm/start.py +60 -0
- lightning_sdk/cli/vm/stop.py +25 -0
- lightning_sdk/cli/vm/switch.py +38 -0
- lightning_sdk/lightning_cloud/openapi/__init__.py +20 -1
- lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +2 -95
- lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +24 -8
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +420 -0
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +121 -0
- lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +655 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +20 -1
- lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +435 -0
- lightning_sdk/lightning_cloud/openapi/models/job_id_reportroutingtelemetry_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +107 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_abort_storage_transfer_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_machine_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_machine_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_get_machine_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_lightning_elastic_cluster_v1.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_get_model_total_usage_metrics_response.py → v1_list_machines_response.py} +37 -37
- lightning_sdk/lightning_cloud/openapi/models/v1_list_storage_transfers_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +539 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_pause_storage_transfer_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_request.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_report_deployment_routing_telemetry_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_resume_storage_transfer_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier_type.py +105 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer.py +435 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer_status.py +108 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -79
- lightning_sdk/machine.py +16 -1
- lightning_sdk/studio.py +55 -11
- lightning_sdk/teamspace.py +65 -2
- {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/RECORD +78 -50
- {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.9.16.dist-info → lightning_sdk-2025.9.29.dist-info}/top_level.txt +0 -0
|
@@ -58,8 +58,10 @@ class V1ClusterSpec(object):
|
|
|
58
58
|
'insurer_disabled': 'bool',
|
|
59
59
|
'kubernetes_v1': 'V1KubernetesDirectV1',
|
|
60
60
|
'lambda_labs_v1': 'V1LambdaLabsDirectV1',
|
|
61
|
+
'lightning_elastic_cluster_v1': 'V1LightningElasticClusterV1',
|
|
61
62
|
'lock_overprovisioning': 'bool',
|
|
62
63
|
'locked_zones': 'list[str]',
|
|
64
|
+
'machine_v1': 'V1MachineDirectV1',
|
|
63
65
|
'monitor_deletion_disabled': 'bool',
|
|
64
66
|
'nebius_v1': 'V1NebiusDirectV1',
|
|
65
67
|
'overprovisioning': 'list[V1InstanceOverprovisioningSpec]',
|
|
@@ -96,8 +98,10 @@ class V1ClusterSpec(object):
|
|
|
96
98
|
'insurer_disabled': 'insurerDisabled',
|
|
97
99
|
'kubernetes_v1': 'kubernetesV1',
|
|
98
100
|
'lambda_labs_v1': 'lambdaLabsV1',
|
|
101
|
+
'lightning_elastic_cluster_v1': 'lightningElasticClusterV1',
|
|
99
102
|
'lock_overprovisioning': 'lockOverprovisioning',
|
|
100
103
|
'locked_zones': 'lockedZones',
|
|
104
|
+
'machine_v1': 'machineV1',
|
|
101
105
|
'monitor_deletion_disabled': 'monitorDeletionDisabled',
|
|
102
106
|
'nebius_v1': 'nebiusV1',
|
|
103
107
|
'overprovisioning': 'overprovisioning',
|
|
@@ -116,7 +120,7 @@ class V1ClusterSpec(object):
|
|
|
116
120
|
'vultr_v1': 'vultrV1'
|
|
117
121
|
}
|
|
118
122
|
|
|
119
|
-
def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, vibe_coding_enabled: 'bool' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
|
|
123
|
+
def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lightning_elastic_cluster_v1: 'V1LightningElasticClusterV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, machine_v1: 'V1MachineDirectV1' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, vibe_coding_enabled: 'bool' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
|
|
120
124
|
"""V1ClusterSpec - a model defined in Swagger""" # noqa: E501
|
|
121
125
|
self._ai_pod_v1 = None
|
|
122
126
|
self._auth_token = None
|
|
@@ -135,8 +139,10 @@ class V1ClusterSpec(object):
|
|
|
135
139
|
self._insurer_disabled = None
|
|
136
140
|
self._kubernetes_v1 = None
|
|
137
141
|
self._lambda_labs_v1 = None
|
|
142
|
+
self._lightning_elastic_cluster_v1 = None
|
|
138
143
|
self._lock_overprovisioning = None
|
|
139
144
|
self._locked_zones = None
|
|
145
|
+
self._machine_v1 = None
|
|
140
146
|
self._monitor_deletion_disabled = None
|
|
141
147
|
self._nebius_v1 = None
|
|
142
148
|
self._overprovisioning = None
|
|
@@ -188,10 +194,14 @@ class V1ClusterSpec(object):
|
|
|
188
194
|
self.kubernetes_v1 = kubernetes_v1
|
|
189
195
|
if lambda_labs_v1 is not None:
|
|
190
196
|
self.lambda_labs_v1 = lambda_labs_v1
|
|
197
|
+
if lightning_elastic_cluster_v1 is not None:
|
|
198
|
+
self.lightning_elastic_cluster_v1 = lightning_elastic_cluster_v1
|
|
191
199
|
if lock_overprovisioning is not None:
|
|
192
200
|
self.lock_overprovisioning = lock_overprovisioning
|
|
193
201
|
if locked_zones is not None:
|
|
194
202
|
self.locked_zones = locked_zones
|
|
203
|
+
if machine_v1 is not None:
|
|
204
|
+
self.machine_v1 = machine_v1
|
|
195
205
|
if monitor_deletion_disabled is not None:
|
|
196
206
|
self.monitor_deletion_disabled = monitor_deletion_disabled
|
|
197
207
|
if nebius_v1 is not None:
|
|
@@ -584,6 +594,27 @@ class V1ClusterSpec(object):
|
|
|
584
594
|
|
|
585
595
|
self._lambda_labs_v1 = lambda_labs_v1
|
|
586
596
|
|
|
597
|
+
@property
|
|
598
|
+
def lightning_elastic_cluster_v1(self) -> 'V1LightningElasticClusterV1':
|
|
599
|
+
"""Gets the lightning_elastic_cluster_v1 of this V1ClusterSpec. # noqa: E501
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
:return: The lightning_elastic_cluster_v1 of this V1ClusterSpec. # noqa: E501
|
|
603
|
+
:rtype: V1LightningElasticClusterV1
|
|
604
|
+
"""
|
|
605
|
+
return self._lightning_elastic_cluster_v1
|
|
606
|
+
|
|
607
|
+
@lightning_elastic_cluster_v1.setter
|
|
608
|
+
def lightning_elastic_cluster_v1(self, lightning_elastic_cluster_v1: 'V1LightningElasticClusterV1'):
|
|
609
|
+
"""Sets the lightning_elastic_cluster_v1 of this V1ClusterSpec.
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
:param lightning_elastic_cluster_v1: The lightning_elastic_cluster_v1 of this V1ClusterSpec. # noqa: E501
|
|
613
|
+
:type: V1LightningElasticClusterV1
|
|
614
|
+
"""
|
|
615
|
+
|
|
616
|
+
self._lightning_elastic_cluster_v1 = lightning_elastic_cluster_v1
|
|
617
|
+
|
|
587
618
|
@property
|
|
588
619
|
def lock_overprovisioning(self) -> 'bool':
|
|
589
620
|
"""Gets the lock_overprovisioning of this V1ClusterSpec. # noqa: E501
|
|
@@ -626,6 +657,27 @@ class V1ClusterSpec(object):
|
|
|
626
657
|
|
|
627
658
|
self._locked_zones = locked_zones
|
|
628
659
|
|
|
660
|
+
@property
|
|
661
|
+
def machine_v1(self) -> 'V1MachineDirectV1':
|
|
662
|
+
"""Gets the machine_v1 of this V1ClusterSpec. # noqa: E501
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
:return: The machine_v1 of this V1ClusterSpec. # noqa: E501
|
|
666
|
+
:rtype: V1MachineDirectV1
|
|
667
|
+
"""
|
|
668
|
+
return self._machine_v1
|
|
669
|
+
|
|
670
|
+
@machine_v1.setter
|
|
671
|
+
def machine_v1(self, machine_v1: 'V1MachineDirectV1'):
|
|
672
|
+
"""Sets the machine_v1 of this V1ClusterSpec.
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
:param machine_v1: The machine_v1 of this V1ClusterSpec. # noqa: E501
|
|
676
|
+
:type: V1MachineDirectV1
|
|
677
|
+
"""
|
|
678
|
+
|
|
679
|
+
self._machine_v1 = machine_v1
|
|
680
|
+
|
|
629
681
|
@property
|
|
630
682
|
def monitor_deletion_disabled(self) -> 'bool':
|
|
631
683
|
"""Gets the monitor_deletion_disabled of this V1ClusterSpec. # noqa: E501
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
external/v1/auth_service.proto
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: version not set
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
|
|
12
|
+
NOTE
|
|
13
|
+
----
|
|
14
|
+
standard swagger-codegen-cli for this python client has been modified
|
|
15
|
+
by custom templates. The purpose of these templates is to include
|
|
16
|
+
typing information in the API and Model code. Please refer to the
|
|
17
|
+
main grid repository for more info
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
import pprint
|
|
21
|
+
import re # noqa: F401
|
|
22
|
+
|
|
23
|
+
from typing import TYPE_CHECKING
|
|
24
|
+
|
|
25
|
+
import six
|
|
26
|
+
|
|
27
|
+
if TYPE_CHECKING:
|
|
28
|
+
from datetime import datetime
|
|
29
|
+
from lightning_sdk.lightning_cloud.openapi.models import *
|
|
30
|
+
|
|
31
|
+
class V1CreateMachineResponse(object):
|
|
32
|
+
"""NOTE: This class is auto generated by the swagger code generator program.
|
|
33
|
+
|
|
34
|
+
Do not edit the class manually.
|
|
35
|
+
"""
|
|
36
|
+
"""
|
|
37
|
+
Attributes:
|
|
38
|
+
swagger_types (dict): The key is attribute name
|
|
39
|
+
and the value is attribute type.
|
|
40
|
+
attribute_map (dict): The key is attribute name
|
|
41
|
+
and the value is json key in definition.
|
|
42
|
+
"""
|
|
43
|
+
swagger_types = {
|
|
44
|
+
'machine': 'V1Machine'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'machine': 'machine'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, machine: 'V1Machine' =None): # noqa: E501
|
|
52
|
+
"""V1CreateMachineResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._machine = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if machine is not None:
|
|
56
|
+
self.machine = machine
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def machine(self) -> 'V1Machine':
|
|
60
|
+
"""Gets the machine of this V1CreateMachineResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The machine of this V1CreateMachineResponse. # noqa: E501
|
|
64
|
+
:rtype: V1Machine
|
|
65
|
+
"""
|
|
66
|
+
return self._machine
|
|
67
|
+
|
|
68
|
+
@machine.setter
|
|
69
|
+
def machine(self, machine: 'V1Machine'):
|
|
70
|
+
"""Sets the machine of this V1CreateMachineResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param machine: The machine of this V1CreateMachineResponse. # noqa: E501
|
|
74
|
+
:type: V1Machine
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._machine = machine
|
|
78
|
+
|
|
79
|
+
def to_dict(self) -> dict:
|
|
80
|
+
"""Returns the model properties as a dict"""
|
|
81
|
+
result = {}
|
|
82
|
+
|
|
83
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
84
|
+
value = getattr(self, attr)
|
|
85
|
+
if isinstance(value, list):
|
|
86
|
+
result[attr] = list(map(
|
|
87
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
88
|
+
value
|
|
89
|
+
))
|
|
90
|
+
elif hasattr(value, "to_dict"):
|
|
91
|
+
result[attr] = value.to_dict()
|
|
92
|
+
elif isinstance(value, dict):
|
|
93
|
+
result[attr] = dict(map(
|
|
94
|
+
lambda item: (item[0], item[1].to_dict())
|
|
95
|
+
if hasattr(item[1], "to_dict") else item,
|
|
96
|
+
value.items()
|
|
97
|
+
))
|
|
98
|
+
else:
|
|
99
|
+
result[attr] = value
|
|
100
|
+
if issubclass(V1CreateMachineResponse, dict):
|
|
101
|
+
for key, value in self.items():
|
|
102
|
+
result[key] = value
|
|
103
|
+
|
|
104
|
+
return result
|
|
105
|
+
|
|
106
|
+
def to_str(self) -> str:
|
|
107
|
+
"""Returns the string representation of the model"""
|
|
108
|
+
return pprint.pformat(self.to_dict())
|
|
109
|
+
|
|
110
|
+
def __repr__(self) -> str:
|
|
111
|
+
"""For `print` and `pprint`"""
|
|
112
|
+
return self.to_str()
|
|
113
|
+
|
|
114
|
+
def __eq__(self, other: 'V1CreateMachineResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1CreateMachineResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1CreateMachineResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
|
@@ -48,6 +48,7 @@ class V1CreateProjectRequest(object):
|
|
|
48
48
|
'default_machine_type': 'str',
|
|
49
49
|
'description': 'str',
|
|
50
50
|
'display_name': 'str',
|
|
51
|
+
'layout_config': 'list[V1ProjectTab]',
|
|
51
52
|
'name': 'str',
|
|
52
53
|
'organization_id': 'str',
|
|
53
54
|
'preferred_cluster': 'str',
|
|
@@ -62,13 +63,14 @@ class V1CreateProjectRequest(object):
|
|
|
62
63
|
'default_machine_type': 'defaultMachineType',
|
|
63
64
|
'description': 'description',
|
|
64
65
|
'display_name': 'displayName',
|
|
66
|
+
'layout_config': 'layoutConfig',
|
|
65
67
|
'name': 'name',
|
|
66
68
|
'organization_id': 'organizationId',
|
|
67
69
|
'preferred_cluster': 'preferredCluster',
|
|
68
70
|
'quotas': 'quotas'
|
|
69
71
|
}
|
|
70
72
|
|
|
71
|
-
def __init__(self, allow_credits_auto_replenish: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, name: 'str' =None, organization_id: 'str' =None, preferred_cluster: 'str' =None, quotas: 'V1Quotas' =None): # noqa: E501
|
|
73
|
+
def __init__(self, allow_credits_auto_replenish: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, layout_config: 'list[V1ProjectTab]' =None, name: 'str' =None, organization_id: 'str' =None, preferred_cluster: 'str' =None, quotas: 'V1Quotas' =None): # noqa: E501
|
|
72
74
|
"""V1CreateProjectRequest - a model defined in Swagger""" # noqa: E501
|
|
73
75
|
self._allow_credits_auto_replenish = None
|
|
74
76
|
self._auto_replenish_amount = None
|
|
@@ -77,6 +79,7 @@ class V1CreateProjectRequest(object):
|
|
|
77
79
|
self._default_machine_type = None
|
|
78
80
|
self._description = None
|
|
79
81
|
self._display_name = None
|
|
82
|
+
self._layout_config = None
|
|
80
83
|
self._name = None
|
|
81
84
|
self._organization_id = None
|
|
82
85
|
self._preferred_cluster = None
|
|
@@ -96,6 +99,8 @@ class V1CreateProjectRequest(object):
|
|
|
96
99
|
self.description = description
|
|
97
100
|
if display_name is not None:
|
|
98
101
|
self.display_name = display_name
|
|
102
|
+
if layout_config is not None:
|
|
103
|
+
self.layout_config = layout_config
|
|
99
104
|
if name is not None:
|
|
100
105
|
self.name = name
|
|
101
106
|
if organization_id is not None:
|
|
@@ -252,6 +257,27 @@ class V1CreateProjectRequest(object):
|
|
|
252
257
|
|
|
253
258
|
self._display_name = display_name
|
|
254
259
|
|
|
260
|
+
@property
|
|
261
|
+
def layout_config(self) -> 'list[V1ProjectTab]':
|
|
262
|
+
"""Gets the layout_config of this V1CreateProjectRequest. # noqa: E501
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
:return: The layout_config of this V1CreateProjectRequest. # noqa: E501
|
|
266
|
+
:rtype: list[V1ProjectTab]
|
|
267
|
+
"""
|
|
268
|
+
return self._layout_config
|
|
269
|
+
|
|
270
|
+
@layout_config.setter
|
|
271
|
+
def layout_config(self, layout_config: 'list[V1ProjectTab]'):
|
|
272
|
+
"""Sets the layout_config of this V1CreateProjectRequest.
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
:param layout_config: The layout_config of this V1CreateProjectRequest. # noqa: E501
|
|
276
|
+
:type: list[V1ProjectTab]
|
|
277
|
+
"""
|
|
278
|
+
|
|
279
|
+
self._layout_config = layout_config
|
|
280
|
+
|
|
255
281
|
@property
|
|
256
282
|
def name(self) -> 'str':
|
|
257
283
|
"""Gets the name of this V1CreateProjectRequest. # noqa: E501
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
external/v1/auth_service.proto
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: version not set
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
|
|
12
|
+
NOTE
|
|
13
|
+
----
|
|
14
|
+
standard swagger-codegen-cli for this python client has been modified
|
|
15
|
+
by custom templates. The purpose of these templates is to include
|
|
16
|
+
typing information in the API and Model code. Please refer to the
|
|
17
|
+
main grid repository for more info
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
import pprint
|
|
21
|
+
import re # noqa: F401
|
|
22
|
+
|
|
23
|
+
from typing import TYPE_CHECKING
|
|
24
|
+
|
|
25
|
+
import six
|
|
26
|
+
|
|
27
|
+
if TYPE_CHECKING:
|
|
28
|
+
from datetime import datetime
|
|
29
|
+
from lightning_sdk.lightning_cloud.openapi.models import *
|
|
30
|
+
|
|
31
|
+
class V1DeleteMachineResponse(object):
|
|
32
|
+
"""NOTE: This class is auto generated by the swagger code generator program.
|
|
33
|
+
|
|
34
|
+
Do not edit the class manually.
|
|
35
|
+
"""
|
|
36
|
+
"""
|
|
37
|
+
Attributes:
|
|
38
|
+
swagger_types (dict): The key is attribute name
|
|
39
|
+
and the value is attribute type.
|
|
40
|
+
attribute_map (dict): The key is attribute name
|
|
41
|
+
and the value is json key in definition.
|
|
42
|
+
"""
|
|
43
|
+
swagger_types = {
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
attribute_map = {
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
def __init__(self): # noqa: E501
|
|
50
|
+
"""V1DeleteMachineResponse - a model defined in Swagger""" # noqa: E501
|
|
51
|
+
self.discriminator = None
|
|
52
|
+
|
|
53
|
+
def to_dict(self) -> dict:
|
|
54
|
+
"""Returns the model properties as a dict"""
|
|
55
|
+
result = {}
|
|
56
|
+
|
|
57
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
58
|
+
value = getattr(self, attr)
|
|
59
|
+
if isinstance(value, list):
|
|
60
|
+
result[attr] = list(map(
|
|
61
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
62
|
+
value
|
|
63
|
+
))
|
|
64
|
+
elif hasattr(value, "to_dict"):
|
|
65
|
+
result[attr] = value.to_dict()
|
|
66
|
+
elif isinstance(value, dict):
|
|
67
|
+
result[attr] = dict(map(
|
|
68
|
+
lambda item: (item[0], item[1].to_dict())
|
|
69
|
+
if hasattr(item[1], "to_dict") else item,
|
|
70
|
+
value.items()
|
|
71
|
+
))
|
|
72
|
+
else:
|
|
73
|
+
result[attr] = value
|
|
74
|
+
if issubclass(V1DeleteMachineResponse, dict):
|
|
75
|
+
for key, value in self.items():
|
|
76
|
+
result[key] = value
|
|
77
|
+
|
|
78
|
+
return result
|
|
79
|
+
|
|
80
|
+
def to_str(self) -> str:
|
|
81
|
+
"""Returns the string representation of the model"""
|
|
82
|
+
return pprint.pformat(self.to_dict())
|
|
83
|
+
|
|
84
|
+
def __repr__(self) -> str:
|
|
85
|
+
"""For `print` and `pprint`"""
|
|
86
|
+
return self.to_str()
|
|
87
|
+
|
|
88
|
+
def __eq__(self, other: 'V1DeleteMachineResponse') -> bool:
|
|
89
|
+
"""Returns true if both objects are equal"""
|
|
90
|
+
if not isinstance(other, V1DeleteMachineResponse):
|
|
91
|
+
return False
|
|
92
|
+
|
|
93
|
+
return self.__dict__ == other.__dict__
|
|
94
|
+
|
|
95
|
+
def __ne__(self, other: 'V1DeleteMachineResponse') -> bool:
|
|
96
|
+
"""Returns true if both objects are not equal"""
|
|
97
|
+
return not self == other
|
|
@@ -56,6 +56,7 @@ class V1ExternalClusterSpec(object):
|
|
|
56
56
|
'kubernetes_v1': 'V1KubernetesDirectV1',
|
|
57
57
|
'lambda_labs_v1': 'V1LambdaLabsDirectV1',
|
|
58
58
|
'locked_zones': 'list[str]',
|
|
59
|
+
'machine_v1': 'V1MachineDirectV1',
|
|
59
60
|
'monitor_deletion_disabled': 'bool',
|
|
60
61
|
'nebius_v1': 'V1NebiusDirectV1',
|
|
61
62
|
'overprovisioning': 'list[V1InstanceOverprovisioningSpec]',
|
|
@@ -89,6 +90,7 @@ class V1ExternalClusterSpec(object):
|
|
|
89
90
|
'kubernetes_v1': 'kubernetesV1',
|
|
90
91
|
'lambda_labs_v1': 'lambdaLabsV1',
|
|
91
92
|
'locked_zones': 'lockedZones',
|
|
93
|
+
'machine_v1': 'machineV1',
|
|
92
94
|
'monitor_deletion_disabled': 'monitorDeletionDisabled',
|
|
93
95
|
'nebius_v1': 'nebiusV1',
|
|
94
96
|
'overprovisioning': 'overprovisioning',
|
|
@@ -106,7 +108,7 @@ class V1ExternalClusterSpec(object):
|
|
|
106
108
|
'vultr_v1': 'vultrV1'
|
|
107
109
|
}
|
|
108
110
|
|
|
109
|
-
def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
|
|
111
|
+
def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, locked_zones: 'list[str]' =None, machine_v1: 'V1MachineDirectV1' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
|
|
110
112
|
"""V1ExternalClusterSpec - a model defined in Swagger""" # noqa: E501
|
|
111
113
|
self._ai_pod_v1 = None
|
|
112
114
|
self._auth_token = None
|
|
@@ -123,6 +125,7 @@ class V1ExternalClusterSpec(object):
|
|
|
123
125
|
self._kubernetes_v1 = None
|
|
124
126
|
self._lambda_labs_v1 = None
|
|
125
127
|
self._locked_zones = None
|
|
128
|
+
self._machine_v1 = None
|
|
126
129
|
self._monitor_deletion_disabled = None
|
|
127
130
|
self._nebius_v1 = None
|
|
128
131
|
self._overprovisioning = None
|
|
@@ -169,6 +172,8 @@ class V1ExternalClusterSpec(object):
|
|
|
169
172
|
self.lambda_labs_v1 = lambda_labs_v1
|
|
170
173
|
if locked_zones is not None:
|
|
171
174
|
self.locked_zones = locked_zones
|
|
175
|
+
if machine_v1 is not None:
|
|
176
|
+
self.machine_v1 = machine_v1
|
|
172
177
|
if monitor_deletion_disabled is not None:
|
|
173
178
|
self.monitor_deletion_disabled = monitor_deletion_disabled
|
|
174
179
|
if nebius_v1 is not None:
|
|
@@ -517,6 +522,27 @@ class V1ExternalClusterSpec(object):
|
|
|
517
522
|
|
|
518
523
|
self._locked_zones = locked_zones
|
|
519
524
|
|
|
525
|
+
@property
|
|
526
|
+
def machine_v1(self) -> 'V1MachineDirectV1':
|
|
527
|
+
"""Gets the machine_v1 of this V1ExternalClusterSpec. # noqa: E501
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
:return: The machine_v1 of this V1ExternalClusterSpec. # noqa: E501
|
|
531
|
+
:rtype: V1MachineDirectV1
|
|
532
|
+
"""
|
|
533
|
+
return self._machine_v1
|
|
534
|
+
|
|
535
|
+
@machine_v1.setter
|
|
536
|
+
def machine_v1(self, machine_v1: 'V1MachineDirectV1'):
|
|
537
|
+
"""Sets the machine_v1 of this V1ExternalClusterSpec.
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
:param machine_v1: The machine_v1 of this V1ExternalClusterSpec. # noqa: E501
|
|
541
|
+
:type: V1MachineDirectV1
|
|
542
|
+
"""
|
|
543
|
+
|
|
544
|
+
self._machine_v1 = machine_v1
|
|
545
|
+
|
|
520
546
|
@property
|
|
521
547
|
def monitor_deletion_disabled(self) -> 'bool':
|
|
522
548
|
"""Gets the monitor_deletion_disabled of this V1ExternalClusterSpec. # noqa: E501
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
external/v1/auth_service.proto
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: version not set
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
|
|
12
|
+
NOTE
|
|
13
|
+
----
|
|
14
|
+
standard swagger-codegen-cli for this python client has been modified
|
|
15
|
+
by custom templates. The purpose of these templates is to include
|
|
16
|
+
typing information in the API and Model code. Please refer to the
|
|
17
|
+
main grid repository for more info
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
import pprint
|
|
21
|
+
import re # noqa: F401
|
|
22
|
+
|
|
23
|
+
from typing import TYPE_CHECKING
|
|
24
|
+
|
|
25
|
+
import six
|
|
26
|
+
|
|
27
|
+
if TYPE_CHECKING:
|
|
28
|
+
from datetime import datetime
|
|
29
|
+
from lightning_sdk.lightning_cloud.openapi.models import *
|
|
30
|
+
|
|
31
|
+
class V1GetMachineResponse(object):
|
|
32
|
+
"""NOTE: This class is auto generated by the swagger code generator program.
|
|
33
|
+
|
|
34
|
+
Do not edit the class manually.
|
|
35
|
+
"""
|
|
36
|
+
"""
|
|
37
|
+
Attributes:
|
|
38
|
+
swagger_types (dict): The key is attribute name
|
|
39
|
+
and the value is attribute type.
|
|
40
|
+
attribute_map (dict): The key is attribute name
|
|
41
|
+
and the value is json key in definition.
|
|
42
|
+
"""
|
|
43
|
+
swagger_types = {
|
|
44
|
+
'machine': 'V1Machine'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'machine': 'machine'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, machine: 'V1Machine' =None): # noqa: E501
|
|
52
|
+
"""V1GetMachineResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._machine = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if machine is not None:
|
|
56
|
+
self.machine = machine
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def machine(self) -> 'V1Machine':
|
|
60
|
+
"""Gets the machine of this V1GetMachineResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The machine of this V1GetMachineResponse. # noqa: E501
|
|
64
|
+
:rtype: V1Machine
|
|
65
|
+
"""
|
|
66
|
+
return self._machine
|
|
67
|
+
|
|
68
|
+
@machine.setter
|
|
69
|
+
def machine(self, machine: 'V1Machine'):
|
|
70
|
+
"""Sets the machine of this V1GetMachineResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param machine: The machine of this V1GetMachineResponse. # noqa: E501
|
|
74
|
+
:type: V1Machine
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._machine = machine
|
|
78
|
+
|
|
79
|
+
def to_dict(self) -> dict:
|
|
80
|
+
"""Returns the model properties as a dict"""
|
|
81
|
+
result = {}
|
|
82
|
+
|
|
83
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
84
|
+
value = getattr(self, attr)
|
|
85
|
+
if isinstance(value, list):
|
|
86
|
+
result[attr] = list(map(
|
|
87
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
88
|
+
value
|
|
89
|
+
))
|
|
90
|
+
elif hasattr(value, "to_dict"):
|
|
91
|
+
result[attr] = value.to_dict()
|
|
92
|
+
elif isinstance(value, dict):
|
|
93
|
+
result[attr] = dict(map(
|
|
94
|
+
lambda item: (item[0], item[1].to_dict())
|
|
95
|
+
if hasattr(item[1], "to_dict") else item,
|
|
96
|
+
value.items()
|
|
97
|
+
))
|
|
98
|
+
else:
|
|
99
|
+
result[attr] = value
|
|
100
|
+
if issubclass(V1GetMachineResponse, dict):
|
|
101
|
+
for key, value in self.items():
|
|
102
|
+
result[key] = value
|
|
103
|
+
|
|
104
|
+
return result
|
|
105
|
+
|
|
106
|
+
def to_str(self) -> str:
|
|
107
|
+
"""Returns the string representation of the model"""
|
|
108
|
+
return pprint.pformat(self.to_dict())
|
|
109
|
+
|
|
110
|
+
def __repr__(self) -> str:
|
|
111
|
+
"""For `print` and `pprint`"""
|
|
112
|
+
return self.to_str()
|
|
113
|
+
|
|
114
|
+
def __eq__(self, other: 'V1GetMachineResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1GetMachineResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1GetMachineResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|