lightning-sdk 2025.9.4__py3-none-any.whl → 2025.9.11__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/llm_api.py +19 -0
- lightning_sdk/api/studio_api.py +25 -4
- lightning_sdk/lightning_cloud/login.py +60 -0
- lightning_sdk/lightning_cloud/openapi/__init__.py +17 -0
- lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +744 -13
- lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +105 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +17 -0
- lightning_sdk/lightning_cloud/openapi/models/id_render_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/kubernetestemplates_id_body.py +227 -0
- lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/project_id_kubernetestemplates_body.py +227 -0
- lightning_sdk/lightning_cloud/openapi/models/project_tab_management_messages.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_ai_pod_v1.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_kubernetes_template_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_firewall_rule.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +565 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_incident_severity.py +105 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_incident_type.py +106 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_indexes.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template.py +383 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template_property.py +227 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_incident_events_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_templates_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project_tab.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_quote_annual_upsell_response.py +29 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_render_kubernetes_template_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_secret_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_update_project_tab_order_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +154 -102
- lightning_sdk/llm/llm.py +91 -7
- lightning_sdk/llm/public_assistants.py +2 -2
- lightning_sdk/studio.py +30 -3
- {lightning_sdk-2025.9.4.dist-info → lightning_sdk-2025.9.11.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.9.4.dist-info → lightning_sdk-2025.9.11.dist-info}/RECORD +43 -26
- {lightning_sdk-2025.9.4.dist-info → lightning_sdk-2025.9.11.dist-info}/entry_points.txt +1 -0
- {lightning_sdk-2025.9.4.dist-info → lightning_sdk-2025.9.11.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.9.4.dist-info → lightning_sdk-2025.9.11.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.9.4.dist-info → lightning_sdk-2025.9.11.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,227 @@
|
|
|
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 ProjectIdKubernetestemplatesBody(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
|
+
'cluster_id': 'str',
|
|
45
|
+
'description': 'str',
|
|
46
|
+
'name': 'str',
|
|
47
|
+
'properties': 'list[V1KubernetesTemplateProperty]',
|
|
48
|
+
'spec': 'str'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
attribute_map = {
|
|
52
|
+
'cluster_id': 'clusterId',
|
|
53
|
+
'description': 'description',
|
|
54
|
+
'name': 'name',
|
|
55
|
+
'properties': 'properties',
|
|
56
|
+
'spec': 'spec'
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
def __init__(self, cluster_id: 'str' =None, description: 'str' =None, name: 'str' =None, properties: 'list[V1KubernetesTemplateProperty]' =None, spec: 'str' =None): # noqa: E501
|
|
60
|
+
"""ProjectIdKubernetestemplatesBody - a model defined in Swagger""" # noqa: E501
|
|
61
|
+
self._cluster_id = None
|
|
62
|
+
self._description = None
|
|
63
|
+
self._name = None
|
|
64
|
+
self._properties = None
|
|
65
|
+
self._spec = None
|
|
66
|
+
self.discriminator = None
|
|
67
|
+
if cluster_id is not None:
|
|
68
|
+
self.cluster_id = cluster_id
|
|
69
|
+
if description is not None:
|
|
70
|
+
self.description = description
|
|
71
|
+
if name is not None:
|
|
72
|
+
self.name = name
|
|
73
|
+
if properties is not None:
|
|
74
|
+
self.properties = properties
|
|
75
|
+
if spec is not None:
|
|
76
|
+
self.spec = spec
|
|
77
|
+
|
|
78
|
+
@property
|
|
79
|
+
def cluster_id(self) -> 'str':
|
|
80
|
+
"""Gets the cluster_id of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
:return: The cluster_id of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
84
|
+
:rtype: str
|
|
85
|
+
"""
|
|
86
|
+
return self._cluster_id
|
|
87
|
+
|
|
88
|
+
@cluster_id.setter
|
|
89
|
+
def cluster_id(self, cluster_id: 'str'):
|
|
90
|
+
"""Sets the cluster_id of this ProjectIdKubernetestemplatesBody.
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
:param cluster_id: The cluster_id of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
94
|
+
:type: str
|
|
95
|
+
"""
|
|
96
|
+
|
|
97
|
+
self._cluster_id = cluster_id
|
|
98
|
+
|
|
99
|
+
@property
|
|
100
|
+
def description(self) -> 'str':
|
|
101
|
+
"""Gets the description of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
:return: The description of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
105
|
+
:rtype: str
|
|
106
|
+
"""
|
|
107
|
+
return self._description
|
|
108
|
+
|
|
109
|
+
@description.setter
|
|
110
|
+
def description(self, description: 'str'):
|
|
111
|
+
"""Sets the description of this ProjectIdKubernetestemplatesBody.
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
:param description: The description of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
115
|
+
:type: str
|
|
116
|
+
"""
|
|
117
|
+
|
|
118
|
+
self._description = description
|
|
119
|
+
|
|
120
|
+
@property
|
|
121
|
+
def name(self) -> 'str':
|
|
122
|
+
"""Gets the name of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
:return: The name of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
126
|
+
:rtype: str
|
|
127
|
+
"""
|
|
128
|
+
return self._name
|
|
129
|
+
|
|
130
|
+
@name.setter
|
|
131
|
+
def name(self, name: 'str'):
|
|
132
|
+
"""Sets the name of this ProjectIdKubernetestemplatesBody.
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
:param name: The name of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
136
|
+
:type: str
|
|
137
|
+
"""
|
|
138
|
+
|
|
139
|
+
self._name = name
|
|
140
|
+
|
|
141
|
+
@property
|
|
142
|
+
def properties(self) -> 'list[V1KubernetesTemplateProperty]':
|
|
143
|
+
"""Gets the properties of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
:return: The properties of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
147
|
+
:rtype: list[V1KubernetesTemplateProperty]
|
|
148
|
+
"""
|
|
149
|
+
return self._properties
|
|
150
|
+
|
|
151
|
+
@properties.setter
|
|
152
|
+
def properties(self, properties: 'list[V1KubernetesTemplateProperty]'):
|
|
153
|
+
"""Sets the properties of this ProjectIdKubernetestemplatesBody.
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
:param properties: The properties of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
157
|
+
:type: list[V1KubernetesTemplateProperty]
|
|
158
|
+
"""
|
|
159
|
+
|
|
160
|
+
self._properties = properties
|
|
161
|
+
|
|
162
|
+
@property
|
|
163
|
+
def spec(self) -> 'str':
|
|
164
|
+
"""Gets the spec of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
:return: The spec of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
168
|
+
:rtype: str
|
|
169
|
+
"""
|
|
170
|
+
return self._spec
|
|
171
|
+
|
|
172
|
+
@spec.setter
|
|
173
|
+
def spec(self, spec: 'str'):
|
|
174
|
+
"""Sets the spec of this ProjectIdKubernetestemplatesBody.
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
:param spec: The spec of this ProjectIdKubernetestemplatesBody. # noqa: E501
|
|
178
|
+
:type: str
|
|
179
|
+
"""
|
|
180
|
+
|
|
181
|
+
self._spec = spec
|
|
182
|
+
|
|
183
|
+
def to_dict(self) -> dict:
|
|
184
|
+
"""Returns the model properties as a dict"""
|
|
185
|
+
result = {}
|
|
186
|
+
|
|
187
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
188
|
+
value = getattr(self, attr)
|
|
189
|
+
if isinstance(value, list):
|
|
190
|
+
result[attr] = list(map(
|
|
191
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
192
|
+
value
|
|
193
|
+
))
|
|
194
|
+
elif hasattr(value, "to_dict"):
|
|
195
|
+
result[attr] = value.to_dict()
|
|
196
|
+
elif isinstance(value, dict):
|
|
197
|
+
result[attr] = dict(map(
|
|
198
|
+
lambda item: (item[0], item[1].to_dict())
|
|
199
|
+
if hasattr(item[1], "to_dict") else item,
|
|
200
|
+
value.items()
|
|
201
|
+
))
|
|
202
|
+
else:
|
|
203
|
+
result[attr] = value
|
|
204
|
+
if issubclass(ProjectIdKubernetestemplatesBody, dict):
|
|
205
|
+
for key, value in self.items():
|
|
206
|
+
result[key] = value
|
|
207
|
+
|
|
208
|
+
return result
|
|
209
|
+
|
|
210
|
+
def to_str(self) -> str:
|
|
211
|
+
"""Returns the string representation of the model"""
|
|
212
|
+
return pprint.pformat(self.to_dict())
|
|
213
|
+
|
|
214
|
+
def __repr__(self) -> str:
|
|
215
|
+
"""For `print` and `pprint`"""
|
|
216
|
+
return self.to_str()
|
|
217
|
+
|
|
218
|
+
def __eq__(self, other: 'ProjectIdKubernetestemplatesBody') -> bool:
|
|
219
|
+
"""Returns true if both objects are equal"""
|
|
220
|
+
if not isinstance(other, ProjectIdKubernetestemplatesBody):
|
|
221
|
+
return False
|
|
222
|
+
|
|
223
|
+
return self.__dict__ == other.__dict__
|
|
224
|
+
|
|
225
|
+
def __ne__(self, other: 'ProjectIdKubernetestemplatesBody') -> bool:
|
|
226
|
+
"""Returns true if both objects are not equal"""
|
|
227
|
+
return not self == other
|
|
@@ -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 ProjectTabManagementMessages(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
|
+
'tabs': 'list[V1ProjectTab]'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'tabs': 'tabs'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, tabs: 'list[V1ProjectTab]' =None): # noqa: E501
|
|
52
|
+
"""ProjectTabManagementMessages - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._tabs = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if tabs is not None:
|
|
56
|
+
self.tabs = tabs
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def tabs(self) -> 'list[V1ProjectTab]':
|
|
60
|
+
"""Gets the tabs of this ProjectTabManagementMessages. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The tabs of this ProjectTabManagementMessages. # noqa: E501
|
|
64
|
+
:rtype: list[V1ProjectTab]
|
|
65
|
+
"""
|
|
66
|
+
return self._tabs
|
|
67
|
+
|
|
68
|
+
@tabs.setter
|
|
69
|
+
def tabs(self, tabs: 'list[V1ProjectTab]'):
|
|
70
|
+
"""Sets the tabs of this ProjectTabManagementMessages.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param tabs: The tabs of this ProjectTabManagementMessages. # noqa: E501
|
|
74
|
+
:type: list[V1ProjectTab]
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._tabs = tabs
|
|
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(ProjectTabManagementMessages, 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: 'ProjectTabManagementMessages') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, ProjectTabManagementMessages):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'ProjectTabManagementMessages') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
|
@@ -57,6 +57,7 @@ class ProjectsIdBody(object):
|
|
|
57
57
|
'default_machine_type': 'str',
|
|
58
58
|
'description': 'str',
|
|
59
59
|
'display_name': 'str',
|
|
60
|
+
'layout_config': 'list[V1ProjectTab]',
|
|
60
61
|
'name': 'str',
|
|
61
62
|
'preferred_cluster': 'str',
|
|
62
63
|
'preferred_deployment_provider': 'str',
|
|
@@ -84,6 +85,7 @@ class ProjectsIdBody(object):
|
|
|
84
85
|
'default_machine_type': 'defaultMachineType',
|
|
85
86
|
'description': 'description',
|
|
86
87
|
'display_name': 'displayName',
|
|
88
|
+
'layout_config': 'layoutConfig',
|
|
87
89
|
'name': 'name',
|
|
88
90
|
'preferred_cluster': 'preferredCluster',
|
|
89
91
|
'preferred_deployment_provider': 'preferredDeploymentProvider',
|
|
@@ -94,7 +96,7 @@ class ProjectsIdBody(object):
|
|
|
94
96
|
'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle'
|
|
95
97
|
}
|
|
96
98
|
|
|
97
|
-
def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
|
|
99
|
+
def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, layout_config: 'list[V1ProjectTab]' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
|
|
98
100
|
"""ProjectsIdBody - a model defined in Swagger""" # noqa: E501
|
|
99
101
|
self._allow_aws_saas = None
|
|
100
102
|
self._allow_credits_auto_replenish = None
|
|
@@ -112,6 +114,7 @@ class ProjectsIdBody(object):
|
|
|
112
114
|
self._default_machine_type = None
|
|
113
115
|
self._description = None
|
|
114
116
|
self._display_name = None
|
|
117
|
+
self._layout_config = None
|
|
115
118
|
self._name = None
|
|
116
119
|
self._preferred_cluster = None
|
|
117
120
|
self._preferred_deployment_provider = None
|
|
@@ -153,6 +156,8 @@ class ProjectsIdBody(object):
|
|
|
153
156
|
self.description = description
|
|
154
157
|
if display_name is not None:
|
|
155
158
|
self.display_name = display_name
|
|
159
|
+
if layout_config is not None:
|
|
160
|
+
self.layout_config = layout_config
|
|
156
161
|
if name is not None:
|
|
157
162
|
self.name = name
|
|
158
163
|
if preferred_cluster is not None:
|
|
@@ -506,6 +511,27 @@ class ProjectsIdBody(object):
|
|
|
506
511
|
|
|
507
512
|
self._display_name = display_name
|
|
508
513
|
|
|
514
|
+
@property
|
|
515
|
+
def layout_config(self) -> 'list[V1ProjectTab]':
|
|
516
|
+
"""Gets the layout_config of this ProjectsIdBody. # noqa: E501
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
:return: The layout_config of this ProjectsIdBody. # noqa: E501
|
|
520
|
+
:rtype: list[V1ProjectTab]
|
|
521
|
+
"""
|
|
522
|
+
return self._layout_config
|
|
523
|
+
|
|
524
|
+
@layout_config.setter
|
|
525
|
+
def layout_config(self, layout_config: 'list[V1ProjectTab]'):
|
|
526
|
+
"""Sets the layout_config of this ProjectsIdBody.
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
:param layout_config: The layout_config of this ProjectsIdBody. # noqa: E501
|
|
530
|
+
:type: list[V1ProjectTab]
|
|
531
|
+
"""
|
|
532
|
+
|
|
533
|
+
self._layout_config = layout_config
|
|
534
|
+
|
|
509
535
|
@property
|
|
510
536
|
def name(self) -> 'str':
|
|
511
537
|
"""Gets the name of this ProjectsIdBody. # noqa: E501
|
|
@@ -41,20 +41,72 @@ class V1AiPodV1(object):
|
|
|
41
41
|
and the value is json key in definition.
|
|
42
42
|
"""
|
|
43
43
|
swagger_types = {
|
|
44
|
+
'ansible_credential_id': 'str',
|
|
45
|
+
'ansible_username': 'str',
|
|
44
46
|
'organization_id': 'str'
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
attribute_map = {
|
|
50
|
+
'ansible_credential_id': 'ansibleCredentialId',
|
|
51
|
+
'ansible_username': 'ansibleUsername',
|
|
48
52
|
'organization_id': 'organizationId'
|
|
49
53
|
}
|
|
50
54
|
|
|
51
|
-
def __init__(self, organization_id: 'str' =None): # noqa: E501
|
|
55
|
+
def __init__(self, ansible_credential_id: 'str' =None, ansible_username: 'str' =None, organization_id: 'str' =None): # noqa: E501
|
|
52
56
|
"""V1AiPodV1 - a model defined in Swagger""" # noqa: E501
|
|
57
|
+
self._ansible_credential_id = None
|
|
58
|
+
self._ansible_username = None
|
|
53
59
|
self._organization_id = None
|
|
54
60
|
self.discriminator = None
|
|
61
|
+
if ansible_credential_id is not None:
|
|
62
|
+
self.ansible_credential_id = ansible_credential_id
|
|
63
|
+
if ansible_username is not None:
|
|
64
|
+
self.ansible_username = ansible_username
|
|
55
65
|
if organization_id is not None:
|
|
56
66
|
self.organization_id = organization_id
|
|
57
67
|
|
|
68
|
+
@property
|
|
69
|
+
def ansible_credential_id(self) -> 'str':
|
|
70
|
+
"""Gets the ansible_credential_id of this V1AiPodV1. # noqa: E501
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:return: The ansible_credential_id of this V1AiPodV1. # noqa: E501
|
|
74
|
+
:rtype: str
|
|
75
|
+
"""
|
|
76
|
+
return self._ansible_credential_id
|
|
77
|
+
|
|
78
|
+
@ansible_credential_id.setter
|
|
79
|
+
def ansible_credential_id(self, ansible_credential_id: 'str'):
|
|
80
|
+
"""Sets the ansible_credential_id of this V1AiPodV1.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
:param ansible_credential_id: The ansible_credential_id of this V1AiPodV1. # noqa: E501
|
|
84
|
+
:type: str
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
self._ansible_credential_id = ansible_credential_id
|
|
88
|
+
|
|
89
|
+
@property
|
|
90
|
+
def ansible_username(self) -> 'str':
|
|
91
|
+
"""Gets the ansible_username of this V1AiPodV1. # noqa: E501
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
:return: The ansible_username of this V1AiPodV1. # noqa: E501
|
|
95
|
+
:rtype: str
|
|
96
|
+
"""
|
|
97
|
+
return self._ansible_username
|
|
98
|
+
|
|
99
|
+
@ansible_username.setter
|
|
100
|
+
def ansible_username(self, ansible_username: 'str'):
|
|
101
|
+
"""Sets the ansible_username of this V1AiPodV1.
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
:param ansible_username: The ansible_username of this V1AiPodV1. # noqa: E501
|
|
105
|
+
:type: str
|
|
106
|
+
"""
|
|
107
|
+
|
|
108
|
+
self._ansible_username = ansible_username
|
|
109
|
+
|
|
58
110
|
@property
|
|
59
111
|
def organization_id(self) -> 'str':
|
|
60
112
|
"""Gets the organization_id of this V1AiPodV1. # noqa: E501
|
|
@@ -51,6 +51,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
51
51
|
'encrypt_instance_volumes': 'bool',
|
|
52
52
|
'exposed_ports': 'list[str]',
|
|
53
53
|
'extra_firewall_cidr_ranges': 'list[str]',
|
|
54
|
+
'extra_firewall_rules': 'list[V1FirewallRule]',
|
|
54
55
|
'extra_policy': 'str',
|
|
55
56
|
'extra_sa_scopes': 'list[str]',
|
|
56
57
|
'kms_key_id': 'str',
|
|
@@ -71,6 +72,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
71
72
|
'encrypt_instance_volumes': 'encryptInstanceVolumes',
|
|
72
73
|
'exposed_ports': 'exposedPorts',
|
|
73
74
|
'extra_firewall_cidr_ranges': 'extraFirewallCidrRanges',
|
|
75
|
+
'extra_firewall_rules': 'extraFirewallRules',
|
|
74
76
|
'extra_policy': 'extraPolicy',
|
|
75
77
|
'extra_sa_scopes': 'extraSaScopes',
|
|
76
78
|
'kms_key_id': 'kmsKeyId',
|
|
@@ -80,7 +82,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
80
82
|
'ssh_disabled': 'sshDisabled'
|
|
81
83
|
}
|
|
82
84
|
|
|
83
|
-
def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_policy: 'str' =None, extra_sa_scopes: 'list[str]' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
|
|
85
|
+
def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_firewall_rules: 'list[V1FirewallRule]' =None, extra_policy: 'str' =None, extra_sa_scopes: 'list[str]' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
|
|
84
86
|
"""V1ClusterSecurityOptions - a model defined in Swagger""" # noqa: E501
|
|
85
87
|
self._bucket_kms_key = None
|
|
86
88
|
self._cloud_init_boot_cmds = None
|
|
@@ -92,6 +94,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
92
94
|
self._encrypt_instance_volumes = None
|
|
93
95
|
self._exposed_ports = None
|
|
94
96
|
self._extra_firewall_cidr_ranges = None
|
|
97
|
+
self._extra_firewall_rules = None
|
|
95
98
|
self._extra_policy = None
|
|
96
99
|
self._extra_sa_scopes = None
|
|
97
100
|
self._kms_key_id = None
|
|
@@ -120,6 +123,8 @@ class V1ClusterSecurityOptions(object):
|
|
|
120
123
|
self.exposed_ports = exposed_ports
|
|
121
124
|
if extra_firewall_cidr_ranges is not None:
|
|
122
125
|
self.extra_firewall_cidr_ranges = extra_firewall_cidr_ranges
|
|
126
|
+
if extra_firewall_rules is not None:
|
|
127
|
+
self.extra_firewall_rules = extra_firewall_rules
|
|
123
128
|
if extra_policy is not None:
|
|
124
129
|
self.extra_policy = extra_policy
|
|
125
130
|
if extra_sa_scopes is not None:
|
|
@@ -345,6 +350,27 @@ class V1ClusterSecurityOptions(object):
|
|
|
345
350
|
|
|
346
351
|
self._extra_firewall_cidr_ranges = extra_firewall_cidr_ranges
|
|
347
352
|
|
|
353
|
+
@property
|
|
354
|
+
def extra_firewall_rules(self) -> 'list[V1FirewallRule]':
|
|
355
|
+
"""Gets the extra_firewall_rules of this V1ClusterSecurityOptions. # noqa: E501
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
:return: The extra_firewall_rules of this V1ClusterSecurityOptions. # noqa: E501
|
|
359
|
+
:rtype: list[V1FirewallRule]
|
|
360
|
+
"""
|
|
361
|
+
return self._extra_firewall_rules
|
|
362
|
+
|
|
363
|
+
@extra_firewall_rules.setter
|
|
364
|
+
def extra_firewall_rules(self, extra_firewall_rules: 'list[V1FirewallRule]'):
|
|
365
|
+
"""Sets the extra_firewall_rules of this V1ClusterSecurityOptions.
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
:param extra_firewall_rules: The extra_firewall_rules of this V1ClusterSecurityOptions. # noqa: E501
|
|
369
|
+
:type: list[V1FirewallRule]
|
|
370
|
+
"""
|
|
371
|
+
|
|
372
|
+
self._extra_firewall_rules = extra_firewall_rules
|
|
373
|
+
|
|
348
374
|
@property
|
|
349
375
|
def extra_policy(self) -> 'str':
|
|
350
376
|
"""Gets the extra_policy of this V1ClusterSecurityOptions. # 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 V1DeleteKubernetesTemplateResponse(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
|
+
"""V1DeleteKubernetesTemplateResponse - 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(V1DeleteKubernetesTemplateResponse, 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: 'V1DeleteKubernetesTemplateResponse') -> bool:
|
|
89
|
+
"""Returns true if both objects are equal"""
|
|
90
|
+
if not isinstance(other, V1DeleteKubernetesTemplateResponse):
|
|
91
|
+
return False
|
|
92
|
+
|
|
93
|
+
return self.__dict__ == other.__dict__
|
|
94
|
+
|
|
95
|
+
def __ne__(self, other: 'V1DeleteKubernetesTemplateResponse') -> bool:
|
|
96
|
+
"""Returns true if both objects are not equal"""
|
|
97
|
+
return not self == other
|