lightning-sdk 2025.9.2__py3-none-any.whl → 2025.9.10__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 (49) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/llm_api.py +19 -0
  3. lightning_sdk/api/studio_api.py +25 -4
  4. lightning_sdk/lightning_cloud/openapi/__init__.py +19 -0
  5. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +105 -0
  6. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +101 -0
  7. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +744 -13
  8. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +4 -4
  9. lightning_sdk/lightning_cloud/openapi/models/__init__.py +19 -0
  10. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +27 -1
  11. lightning_sdk/lightning_cloud/openapi/models/id_render_body.py +123 -0
  12. lightning_sdk/lightning_cloud/openapi/models/kubernetestemplates_id_body.py +227 -0
  13. lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +27 -1
  14. lightning_sdk/lightning_cloud/openapi/models/models_model_id_body.py +109 -31
  15. lightning_sdk/lightning_cloud/openapi/models/models_model_id_body1.py +149 -0
  16. lightning_sdk/lightning_cloud/openapi/models/project_id_kubernetestemplates_body.py +227 -0
  17. lightning_sdk/lightning_cloud/openapi/models/v1_ai_pod_v1.py +53 -1
  18. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/v1_create_model_metrics_response.py +97 -0
  20. lightning_sdk/lightning_cloud/openapi/models/v1_delete_kubernetes_template_response.py +97 -0
  21. lightning_sdk/lightning_cloud/openapi/models/v1_firewall_rule.py +175 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_required_balance_status_response.py +6 -6
  23. lightning_sdk/lightning_cloud/openapi/models/v1_get_temp_bucket_credentials_response.py +201 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_group_node_metrics.py +1215 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +565 -0
  26. lightning_sdk/lightning_cloud/openapi/models/v1_incident_severity.py +105 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_incident_type.py +105 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_indexes.py +149 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template.py +383 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template_property.py +227 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_list_incident_events_response.py +123 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_templates_response.py +123 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_response.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +81 -3
  36. lightning_sdk/lightning_cloud/openapi/models/v1_quote_annual_upsell_response.py +29 -3
  37. lightning_sdk/lightning_cloud/openapi/models/v1_render_kubernetes_template_response.py +123 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_required_balance_reason.py +107 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_secret_type.py +1 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +154 -128
  41. lightning_sdk/llm/llm.py +82 -7
  42. lightning_sdk/llm/public_assistants.py +2 -2
  43. lightning_sdk/studio.py +30 -3
  44. {lightning_sdk-2025.9.2.dist-info → lightning_sdk-2025.9.10.dist-info}/METADATA +1 -1
  45. {lightning_sdk-2025.9.2.dist-info → lightning_sdk-2025.9.10.dist-info}/RECORD +49 -30
  46. {lightning_sdk-2025.9.2.dist-info → lightning_sdk-2025.9.10.dist-info}/entry_points.txt +1 -0
  47. {lightning_sdk-2025.9.2.dist-info → lightning_sdk-2025.9.10.dist-info}/LICENSE +0 -0
  48. {lightning_sdk-2025.9.2.dist-info → lightning_sdk-2025.9.10.dist-info}/WHEEL +0 -0
  49. {lightning_sdk-2025.9.2.dist-info → lightning_sdk-2025.9.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,105 @@
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 V1IncidentType(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
+ """
38
+ allowed enum values
39
+ """
40
+ UNSPECIFIED = "INCIDENT_TYPE_UNSPECIFIED"
41
+ K8S_HIGH_TEMPERATURE = "INCIDENT_TYPE_K8S_HIGH_TEMPERATURE"
42
+ K8S_UNSCHEDULABLE_GPUS = "INCIDENT_TYPE_K8S_UNSCHEDULABLE_GPUS"
43
+ K8S_XID_GPU_ERROR = "INCIDENT_TYPE_K8S_XID_GPU_ERROR"
44
+ """
45
+ Attributes:
46
+ swagger_types (dict): The key is attribute name
47
+ and the value is attribute type.
48
+ attribute_map (dict): The key is attribute name
49
+ and the value is json key in definition.
50
+ """
51
+ swagger_types = {
52
+ }
53
+
54
+ attribute_map = {
55
+ }
56
+
57
+ def __init__(self): # noqa: E501
58
+ """V1IncidentType - a model defined in Swagger""" # noqa: E501
59
+ self.discriminator = None
60
+
61
+ def to_dict(self) -> dict:
62
+ """Returns the model properties as a dict"""
63
+ result = {}
64
+
65
+ for attr, _ in six.iteritems(self.swagger_types):
66
+ value = getattr(self, attr)
67
+ if isinstance(value, list):
68
+ result[attr] = list(map(
69
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
70
+ value
71
+ ))
72
+ elif hasattr(value, "to_dict"):
73
+ result[attr] = value.to_dict()
74
+ elif isinstance(value, dict):
75
+ result[attr] = dict(map(
76
+ lambda item: (item[0], item[1].to_dict())
77
+ if hasattr(item[1], "to_dict") else item,
78
+ value.items()
79
+ ))
80
+ else:
81
+ result[attr] = value
82
+ if issubclass(V1IncidentType, dict):
83
+ for key, value in self.items():
84
+ result[key] = value
85
+
86
+ return result
87
+
88
+ def to_str(self) -> str:
89
+ """Returns the string representation of the model"""
90
+ return pprint.pformat(self.to_dict())
91
+
92
+ def __repr__(self) -> str:
93
+ """For `print` and `pprint`"""
94
+ return self.to_str()
95
+
96
+ def __eq__(self, other: 'V1IncidentType') -> bool:
97
+ """Returns true if both objects are equal"""
98
+ if not isinstance(other, V1IncidentType):
99
+ return False
100
+
101
+ return self.__dict__ == other.__dict__
102
+
103
+ def __ne__(self, other: 'V1IncidentType') -> bool:
104
+ """Returns true if both objects are not equal"""
105
+ return not self == other
@@ -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 V1K8sIncidentIndexes(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
+ 'gpu_index': 'int',
45
+ 'node_name': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'gpu_index': 'gpuIndex',
50
+ 'node_name': 'nodeName'
51
+ }
52
+
53
+ def __init__(self, gpu_index: 'int' =None, node_name: 'str' =None): # noqa: E501
54
+ """V1K8sIncidentIndexes - a model defined in Swagger""" # noqa: E501
55
+ self._gpu_index = None
56
+ self._node_name = None
57
+ self.discriminator = None
58
+ if gpu_index is not None:
59
+ self.gpu_index = gpu_index
60
+ if node_name is not None:
61
+ self.node_name = node_name
62
+
63
+ @property
64
+ def gpu_index(self) -> 'int':
65
+ """Gets the gpu_index of this V1K8sIncidentIndexes. # noqa: E501
66
+
67
+
68
+ :return: The gpu_index of this V1K8sIncidentIndexes. # noqa: E501
69
+ :rtype: int
70
+ """
71
+ return self._gpu_index
72
+
73
+ @gpu_index.setter
74
+ def gpu_index(self, gpu_index: 'int'):
75
+ """Sets the gpu_index of this V1K8sIncidentIndexes.
76
+
77
+
78
+ :param gpu_index: The gpu_index of this V1K8sIncidentIndexes. # noqa: E501
79
+ :type: int
80
+ """
81
+
82
+ self._gpu_index = gpu_index
83
+
84
+ @property
85
+ def node_name(self) -> 'str':
86
+ """Gets the node_name of this V1K8sIncidentIndexes. # noqa: E501
87
+
88
+
89
+ :return: The node_name of this V1K8sIncidentIndexes. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._node_name
93
+
94
+ @node_name.setter
95
+ def node_name(self, node_name: 'str'):
96
+ """Sets the node_name of this V1K8sIncidentIndexes.
97
+
98
+
99
+ :param node_name: The node_name of this V1K8sIncidentIndexes. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._node_name = node_name
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(V1K8sIncidentIndexes, 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: 'V1K8sIncidentIndexes') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1K8sIncidentIndexes):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1K8sIncidentIndexes') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -0,0 +1,383 @@
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 V1KubernetesTemplate(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
+ 'created_at': 'datetime',
46
+ 'description': 'str',
47
+ 'id': 'str',
48
+ 'name': 'str',
49
+ 'project_id': 'str',
50
+ 'properties': 'list[V1KubernetesTemplateProperty]',
51
+ 'spec': 'str',
52
+ 'updated_at': 'datetime',
53
+ 'user_id': 'str',
54
+ 'version': 'str'
55
+ }
56
+
57
+ attribute_map = {
58
+ 'cluster_id': 'clusterId',
59
+ 'created_at': 'createdAt',
60
+ 'description': 'description',
61
+ 'id': 'id',
62
+ 'name': 'name',
63
+ 'project_id': 'projectId',
64
+ 'properties': 'properties',
65
+ 'spec': 'spec',
66
+ 'updated_at': 'updatedAt',
67
+ 'user_id': 'userId',
68
+ 'version': 'version'
69
+ }
70
+
71
+ def __init__(self, cluster_id: 'str' =None, created_at: 'datetime' =None, description: 'str' =None, id: 'str' =None, name: 'str' =None, project_id: 'str' =None, properties: 'list[V1KubernetesTemplateProperty]' =None, spec: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None, version: 'str' =None): # noqa: E501
72
+ """V1KubernetesTemplate - a model defined in Swagger""" # noqa: E501
73
+ self._cluster_id = None
74
+ self._created_at = None
75
+ self._description = None
76
+ self._id = None
77
+ self._name = None
78
+ self._project_id = None
79
+ self._properties = None
80
+ self._spec = None
81
+ self._updated_at = None
82
+ self._user_id = None
83
+ self._version = None
84
+ self.discriminator = None
85
+ if cluster_id is not None:
86
+ self.cluster_id = cluster_id
87
+ if created_at is not None:
88
+ self.created_at = created_at
89
+ if description is not None:
90
+ self.description = description
91
+ if id is not None:
92
+ self.id = id
93
+ if name is not None:
94
+ self.name = name
95
+ if project_id is not None:
96
+ self.project_id = project_id
97
+ if properties is not None:
98
+ self.properties = properties
99
+ if spec is not None:
100
+ self.spec = spec
101
+ if updated_at is not None:
102
+ self.updated_at = updated_at
103
+ if user_id is not None:
104
+ self.user_id = user_id
105
+ if version is not None:
106
+ self.version = version
107
+
108
+ @property
109
+ def cluster_id(self) -> 'str':
110
+ """Gets the cluster_id of this V1KubernetesTemplate. # noqa: E501
111
+
112
+
113
+ :return: The cluster_id of this V1KubernetesTemplate. # noqa: E501
114
+ :rtype: str
115
+ """
116
+ return self._cluster_id
117
+
118
+ @cluster_id.setter
119
+ def cluster_id(self, cluster_id: 'str'):
120
+ """Sets the cluster_id of this V1KubernetesTemplate.
121
+
122
+
123
+ :param cluster_id: The cluster_id of this V1KubernetesTemplate. # noqa: E501
124
+ :type: str
125
+ """
126
+
127
+ self._cluster_id = cluster_id
128
+
129
+ @property
130
+ def created_at(self) -> 'datetime':
131
+ """Gets the created_at of this V1KubernetesTemplate. # noqa: E501
132
+
133
+
134
+ :return: The created_at of this V1KubernetesTemplate. # noqa: E501
135
+ :rtype: datetime
136
+ """
137
+ return self._created_at
138
+
139
+ @created_at.setter
140
+ def created_at(self, created_at: 'datetime'):
141
+ """Sets the created_at of this V1KubernetesTemplate.
142
+
143
+
144
+ :param created_at: The created_at of this V1KubernetesTemplate. # noqa: E501
145
+ :type: datetime
146
+ """
147
+
148
+ self._created_at = created_at
149
+
150
+ @property
151
+ def description(self) -> 'str':
152
+ """Gets the description of this V1KubernetesTemplate. # noqa: E501
153
+
154
+
155
+ :return: The description of this V1KubernetesTemplate. # noqa: E501
156
+ :rtype: str
157
+ """
158
+ return self._description
159
+
160
+ @description.setter
161
+ def description(self, description: 'str'):
162
+ """Sets the description of this V1KubernetesTemplate.
163
+
164
+
165
+ :param description: The description of this V1KubernetesTemplate. # noqa: E501
166
+ :type: str
167
+ """
168
+
169
+ self._description = description
170
+
171
+ @property
172
+ def id(self) -> 'str':
173
+ """Gets the id of this V1KubernetesTemplate. # noqa: E501
174
+
175
+
176
+ :return: The id of this V1KubernetesTemplate. # noqa: E501
177
+ :rtype: str
178
+ """
179
+ return self._id
180
+
181
+ @id.setter
182
+ def id(self, id: 'str'):
183
+ """Sets the id of this V1KubernetesTemplate.
184
+
185
+
186
+ :param id: The id of this V1KubernetesTemplate. # noqa: E501
187
+ :type: str
188
+ """
189
+
190
+ self._id = id
191
+
192
+ @property
193
+ def name(self) -> 'str':
194
+ """Gets the name of this V1KubernetesTemplate. # noqa: E501
195
+
196
+
197
+ :return: The name of this V1KubernetesTemplate. # noqa: E501
198
+ :rtype: str
199
+ """
200
+ return self._name
201
+
202
+ @name.setter
203
+ def name(self, name: 'str'):
204
+ """Sets the name of this V1KubernetesTemplate.
205
+
206
+
207
+ :param name: The name of this V1KubernetesTemplate. # noqa: E501
208
+ :type: str
209
+ """
210
+
211
+ self._name = name
212
+
213
+ @property
214
+ def project_id(self) -> 'str':
215
+ """Gets the project_id of this V1KubernetesTemplate. # noqa: E501
216
+
217
+
218
+ :return: The project_id of this V1KubernetesTemplate. # noqa: E501
219
+ :rtype: str
220
+ """
221
+ return self._project_id
222
+
223
+ @project_id.setter
224
+ def project_id(self, project_id: 'str'):
225
+ """Sets the project_id of this V1KubernetesTemplate.
226
+
227
+
228
+ :param project_id: The project_id of this V1KubernetesTemplate. # noqa: E501
229
+ :type: str
230
+ """
231
+
232
+ self._project_id = project_id
233
+
234
+ @property
235
+ def properties(self) -> 'list[V1KubernetesTemplateProperty]':
236
+ """Gets the properties of this V1KubernetesTemplate. # noqa: E501
237
+
238
+
239
+ :return: The properties of this V1KubernetesTemplate. # noqa: E501
240
+ :rtype: list[V1KubernetesTemplateProperty]
241
+ """
242
+ return self._properties
243
+
244
+ @properties.setter
245
+ def properties(self, properties: 'list[V1KubernetesTemplateProperty]'):
246
+ """Sets the properties of this V1KubernetesTemplate.
247
+
248
+
249
+ :param properties: The properties of this V1KubernetesTemplate. # noqa: E501
250
+ :type: list[V1KubernetesTemplateProperty]
251
+ """
252
+
253
+ self._properties = properties
254
+
255
+ @property
256
+ def spec(self) -> 'str':
257
+ """Gets the spec of this V1KubernetesTemplate. # noqa: E501
258
+
259
+
260
+ :return: The spec of this V1KubernetesTemplate. # noqa: E501
261
+ :rtype: str
262
+ """
263
+ return self._spec
264
+
265
+ @spec.setter
266
+ def spec(self, spec: 'str'):
267
+ """Sets the spec of this V1KubernetesTemplate.
268
+
269
+
270
+ :param spec: The spec of this V1KubernetesTemplate. # noqa: E501
271
+ :type: str
272
+ """
273
+
274
+ self._spec = spec
275
+
276
+ @property
277
+ def updated_at(self) -> 'datetime':
278
+ """Gets the updated_at of this V1KubernetesTemplate. # noqa: E501
279
+
280
+
281
+ :return: The updated_at of this V1KubernetesTemplate. # noqa: E501
282
+ :rtype: datetime
283
+ """
284
+ return self._updated_at
285
+
286
+ @updated_at.setter
287
+ def updated_at(self, updated_at: 'datetime'):
288
+ """Sets the updated_at of this V1KubernetesTemplate.
289
+
290
+
291
+ :param updated_at: The updated_at of this V1KubernetesTemplate. # noqa: E501
292
+ :type: datetime
293
+ """
294
+
295
+ self._updated_at = updated_at
296
+
297
+ @property
298
+ def user_id(self) -> 'str':
299
+ """Gets the user_id of this V1KubernetesTemplate. # noqa: E501
300
+
301
+
302
+ :return: The user_id of this V1KubernetesTemplate. # noqa: E501
303
+ :rtype: str
304
+ """
305
+ return self._user_id
306
+
307
+ @user_id.setter
308
+ def user_id(self, user_id: 'str'):
309
+ """Sets the user_id of this V1KubernetesTemplate.
310
+
311
+
312
+ :param user_id: The user_id of this V1KubernetesTemplate. # noqa: E501
313
+ :type: str
314
+ """
315
+
316
+ self._user_id = user_id
317
+
318
+ @property
319
+ def version(self) -> 'str':
320
+ """Gets the version of this V1KubernetesTemplate. # noqa: E501
321
+
322
+
323
+ :return: The version of this V1KubernetesTemplate. # noqa: E501
324
+ :rtype: str
325
+ """
326
+ return self._version
327
+
328
+ @version.setter
329
+ def version(self, version: 'str'):
330
+ """Sets the version of this V1KubernetesTemplate.
331
+
332
+
333
+ :param version: The version of this V1KubernetesTemplate. # noqa: E501
334
+ :type: str
335
+ """
336
+
337
+ self._version = version
338
+
339
+ def to_dict(self) -> dict:
340
+ """Returns the model properties as a dict"""
341
+ result = {}
342
+
343
+ for attr, _ in six.iteritems(self.swagger_types):
344
+ value = getattr(self, attr)
345
+ if isinstance(value, list):
346
+ result[attr] = list(map(
347
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
348
+ value
349
+ ))
350
+ elif hasattr(value, "to_dict"):
351
+ result[attr] = value.to_dict()
352
+ elif isinstance(value, dict):
353
+ result[attr] = dict(map(
354
+ lambda item: (item[0], item[1].to_dict())
355
+ if hasattr(item[1], "to_dict") else item,
356
+ value.items()
357
+ ))
358
+ else:
359
+ result[attr] = value
360
+ if issubclass(V1KubernetesTemplate, dict):
361
+ for key, value in self.items():
362
+ result[key] = value
363
+
364
+ return result
365
+
366
+ def to_str(self) -> str:
367
+ """Returns the string representation of the model"""
368
+ return pprint.pformat(self.to_dict())
369
+
370
+ def __repr__(self) -> str:
371
+ """For `print` and `pprint`"""
372
+ return self.to_str()
373
+
374
+ def __eq__(self, other: 'V1KubernetesTemplate') -> bool:
375
+ """Returns true if both objects are equal"""
376
+ if not isinstance(other, V1KubernetesTemplate):
377
+ return False
378
+
379
+ return self.__dict__ == other.__dict__
380
+
381
+ def __ne__(self, other: 'V1KubernetesTemplate') -> bool:
382
+ """Returns true if both objects are not equal"""
383
+ return not self == other