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,149 @@
|
|
|
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 V1ProjectTab(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
|
+
'is_enabled': 'bool',
|
|
45
|
+
'slug': 'str'
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
attribute_map = {
|
|
49
|
+
'is_enabled': 'isEnabled',
|
|
50
|
+
'slug': 'slug'
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
def __init__(self, is_enabled: 'bool' =None, slug: 'str' =None): # noqa: E501
|
|
54
|
+
"""V1ProjectTab - a model defined in Swagger""" # noqa: E501
|
|
55
|
+
self._is_enabled = None
|
|
56
|
+
self._slug = None
|
|
57
|
+
self.discriminator = None
|
|
58
|
+
if is_enabled is not None:
|
|
59
|
+
self.is_enabled = is_enabled
|
|
60
|
+
if slug is not None:
|
|
61
|
+
self.slug = slug
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def is_enabled(self) -> 'bool':
|
|
65
|
+
"""Gets the is_enabled of this V1ProjectTab. # noqa: E501
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
:return: The is_enabled of this V1ProjectTab. # noqa: E501
|
|
69
|
+
:rtype: bool
|
|
70
|
+
"""
|
|
71
|
+
return self._is_enabled
|
|
72
|
+
|
|
73
|
+
@is_enabled.setter
|
|
74
|
+
def is_enabled(self, is_enabled: 'bool'):
|
|
75
|
+
"""Sets the is_enabled of this V1ProjectTab.
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
:param is_enabled: The is_enabled of this V1ProjectTab. # noqa: E501
|
|
79
|
+
:type: bool
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
self._is_enabled = is_enabled
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def slug(self) -> 'str':
|
|
86
|
+
"""Gets the slug of this V1ProjectTab. # noqa: E501
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
:return: The slug of this V1ProjectTab. # noqa: E501
|
|
90
|
+
:rtype: str
|
|
91
|
+
"""
|
|
92
|
+
return self._slug
|
|
93
|
+
|
|
94
|
+
@slug.setter
|
|
95
|
+
def slug(self, slug: 'str'):
|
|
96
|
+
"""Sets the slug of this V1ProjectTab.
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
:param slug: The slug of this V1ProjectTab. # noqa: E501
|
|
100
|
+
:type: str
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
self._slug = slug
|
|
104
|
+
|
|
105
|
+
def to_dict(self) -> dict:
|
|
106
|
+
"""Returns the model properties as a dict"""
|
|
107
|
+
result = {}
|
|
108
|
+
|
|
109
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
110
|
+
value = getattr(self, attr)
|
|
111
|
+
if isinstance(value, list):
|
|
112
|
+
result[attr] = list(map(
|
|
113
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
114
|
+
value
|
|
115
|
+
))
|
|
116
|
+
elif hasattr(value, "to_dict"):
|
|
117
|
+
result[attr] = value.to_dict()
|
|
118
|
+
elif isinstance(value, dict):
|
|
119
|
+
result[attr] = dict(map(
|
|
120
|
+
lambda item: (item[0], item[1].to_dict())
|
|
121
|
+
if hasattr(item[1], "to_dict") else item,
|
|
122
|
+
value.items()
|
|
123
|
+
))
|
|
124
|
+
else:
|
|
125
|
+
result[attr] = value
|
|
126
|
+
if issubclass(V1ProjectTab, dict):
|
|
127
|
+
for key, value in self.items():
|
|
128
|
+
result[key] = value
|
|
129
|
+
|
|
130
|
+
return result
|
|
131
|
+
|
|
132
|
+
def to_str(self) -> str:
|
|
133
|
+
"""Returns the string representation of the model"""
|
|
134
|
+
return pprint.pformat(self.to_dict())
|
|
135
|
+
|
|
136
|
+
def __repr__(self) -> str:
|
|
137
|
+
"""For `print` and `pprint`"""
|
|
138
|
+
return self.to_str()
|
|
139
|
+
|
|
140
|
+
def __eq__(self, other: 'V1ProjectTab') -> bool:
|
|
141
|
+
"""Returns true if both objects are equal"""
|
|
142
|
+
if not isinstance(other, V1ProjectTab):
|
|
143
|
+
return False
|
|
144
|
+
|
|
145
|
+
return self.__dict__ == other.__dict__
|
|
146
|
+
|
|
147
|
+
def __ne__(self, other: 'V1ProjectTab') -> bool:
|
|
148
|
+
"""Returns true if both objects are not equal"""
|
|
149
|
+
return not self == other
|
|
@@ -44,22 +44,25 @@ class V1QuoteAnnualUpsellResponse(object):
|
|
|
44
44
|
'academic': 'bool',
|
|
45
45
|
'additional_months': 'int',
|
|
46
46
|
'annual_amount': 'int',
|
|
47
|
-
'discounted_amount': 'int'
|
|
47
|
+
'discounted_amount': 'int',
|
|
48
|
+
'included_credits': 'int'
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
attribute_map = {
|
|
51
52
|
'academic': 'academic',
|
|
52
53
|
'additional_months': 'additionalMonths',
|
|
53
54
|
'annual_amount': 'annualAmount',
|
|
54
|
-
'discounted_amount': 'discountedAmount'
|
|
55
|
+
'discounted_amount': 'discountedAmount',
|
|
56
|
+
'included_credits': 'includedCredits'
|
|
55
57
|
}
|
|
56
58
|
|
|
57
|
-
def __init__(self, academic: 'bool' =None, additional_months: 'int' =None, annual_amount: 'int' =None, discounted_amount: 'int' =None): # noqa: E501
|
|
59
|
+
def __init__(self, academic: 'bool' =None, additional_months: 'int' =None, annual_amount: 'int' =None, discounted_amount: 'int' =None, included_credits: 'int' =None): # noqa: E501
|
|
58
60
|
"""V1QuoteAnnualUpsellResponse - a model defined in Swagger""" # noqa: E501
|
|
59
61
|
self._academic = None
|
|
60
62
|
self._additional_months = None
|
|
61
63
|
self._annual_amount = None
|
|
62
64
|
self._discounted_amount = None
|
|
65
|
+
self._included_credits = None
|
|
63
66
|
self.discriminator = None
|
|
64
67
|
if academic is not None:
|
|
65
68
|
self.academic = academic
|
|
@@ -69,6 +72,8 @@ class V1QuoteAnnualUpsellResponse(object):
|
|
|
69
72
|
self.annual_amount = annual_amount
|
|
70
73
|
if discounted_amount is not None:
|
|
71
74
|
self.discounted_amount = discounted_amount
|
|
75
|
+
if included_credits is not None:
|
|
76
|
+
self.included_credits = included_credits
|
|
72
77
|
|
|
73
78
|
@property
|
|
74
79
|
def academic(self) -> 'bool':
|
|
@@ -154,6 +159,27 @@ class V1QuoteAnnualUpsellResponse(object):
|
|
|
154
159
|
|
|
155
160
|
self._discounted_amount = discounted_amount
|
|
156
161
|
|
|
162
|
+
@property
|
|
163
|
+
def included_credits(self) -> 'int':
|
|
164
|
+
"""Gets the included_credits of this V1QuoteAnnualUpsellResponse. # noqa: E501
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
:return: The included_credits of this V1QuoteAnnualUpsellResponse. # noqa: E501
|
|
168
|
+
:rtype: int
|
|
169
|
+
"""
|
|
170
|
+
return self._included_credits
|
|
171
|
+
|
|
172
|
+
@included_credits.setter
|
|
173
|
+
def included_credits(self, included_credits: 'int'):
|
|
174
|
+
"""Sets the included_credits of this V1QuoteAnnualUpsellResponse.
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
:param included_credits: The included_credits of this V1QuoteAnnualUpsellResponse. # noqa: E501
|
|
178
|
+
:type: int
|
|
179
|
+
"""
|
|
180
|
+
|
|
181
|
+
self._included_credits = included_credits
|
|
182
|
+
|
|
157
183
|
def to_dict(self) -> dict:
|
|
158
184
|
"""Returns the model properties as a dict"""
|
|
159
185
|
result = {}
|
|
@@ -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 V1RenderKubernetesTemplateResponse(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
|
+
'rendered_template': 'str'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'rendered_template': 'renderedTemplate'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, rendered_template: 'str' =None): # noqa: E501
|
|
52
|
+
"""V1RenderKubernetesTemplateResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._rendered_template = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if rendered_template is not None:
|
|
56
|
+
self.rendered_template = rendered_template
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def rendered_template(self) -> 'str':
|
|
60
|
+
"""Gets the rendered_template of this V1RenderKubernetesTemplateResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The rendered_template of this V1RenderKubernetesTemplateResponse. # noqa: E501
|
|
64
|
+
:rtype: str
|
|
65
|
+
"""
|
|
66
|
+
return self._rendered_template
|
|
67
|
+
|
|
68
|
+
@rendered_template.setter
|
|
69
|
+
def rendered_template(self, rendered_template: 'str'):
|
|
70
|
+
"""Sets the rendered_template of this V1RenderKubernetesTemplateResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param rendered_template: The rendered_template of this V1RenderKubernetesTemplateResponse. # noqa: E501
|
|
74
|
+
:type: str
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._rendered_template = rendered_template
|
|
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(V1RenderKubernetesTemplateResponse, 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: 'V1RenderKubernetesTemplateResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1RenderKubernetesTemplateResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1RenderKubernetesTemplateResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
|
@@ -42,6 +42,7 @@ class V1SecretType(object):
|
|
|
42
42
|
GCP_CREDENTIALS = "SECRET_TYPE_GCP_CREDENTIALS"
|
|
43
43
|
SNOWFLAKE_CREDENTIALS = "SECRET_TYPE_SNOWFLAKE_CREDENTIALS"
|
|
44
44
|
R2_CREDENTIALS = "SECRET_TYPE_R2_CREDENTIALS"
|
|
45
|
+
ACCESS_CREDENTIALS = "SECRET_TYPE_ACCESS_CREDENTIALS"
|
|
45
46
|
"""
|
|
46
47
|
Attributes:
|
|
47
48
|
swagger_types (dict): The key is attribute name
|
|
@@ -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 V1UpdateProjectTabOrderResponse(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
|
+
"""V1UpdateProjectTabOrderResponse - 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 V1UpdateProjectTabOrderResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The tabs of this V1UpdateProjectTabOrderResponse. # 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 V1UpdateProjectTabOrderResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param tabs: The tabs of this V1UpdateProjectTabOrderResponse. # 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(V1UpdateProjectTabOrderResponse, 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: 'V1UpdateProjectTabOrderResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1UpdateProjectTabOrderResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1UpdateProjectTabOrderResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|