lightning-sdk 0.2.14__py3-none-any.whl → 0.2.16__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/base_studio_api.py +79 -0
- lightning_sdk/api/cluster_api.py +83 -1
- lightning_sdk/api/license_api.py +48 -0
- lightning_sdk/api/llm_api.py +73 -12
- lightning_sdk/api/studio_api.py +50 -1
- lightning_sdk/api/teamspace_api.py +127 -1
- lightning_sdk/api/utils.py +4 -0
- lightning_sdk/base_studio.py +83 -0
- lightning_sdk/cli/create.py +21 -1
- lightning_sdk/cli/delete.py +6 -8
- lightning_sdk/cli/deploy/__init__.py +0 -0
- lightning_sdk/cli/deploy/_auth.py +189 -0
- lightning_sdk/cli/deploy/devbox.py +157 -0
- lightning_sdk/cli/{serve.py → deploy/serve.py} +22 -281
- lightning_sdk/cli/download.py +69 -16
- lightning_sdk/cli/entrypoint.py +1 -1
- lightning_sdk/cli/open.py +21 -2
- lightning_sdk/cli/start.py +12 -3
- lightning_sdk/cli/teamspace_menu.py +9 -1
- lightning_sdk/cli/upload.py +2 -5
- lightning_sdk/lightning_cloud/openapi/__init__.py +29 -0
- lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
- lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +121 -0
- lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +9 -1
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +226 -0
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +105 -0
- lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +178 -0
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +984 -101
- lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +525 -0
- lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +93 -0
- lightning_sdk/lightning_cloud/openapi/configuration.py +1 -1
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +28 -0
- lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/cloudspaces_id_body.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/deployment_id_alertingpolicies_body.py +331 -0
- lightning_sdk/lightning_cloud/openapi/models/deployment_id_alertingpolicies_body1.py +305 -0
- lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/endpoints_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/model_id_versions_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/models_id_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +183 -1
- lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body.py +6 -6
- lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +107 -3
- lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/update.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +55 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +3 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_config.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +104 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_source_type.py +103 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloudflare_v1.py +66 -66
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_tagging_options.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_upload.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_complete_upload.py +55 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_conversation.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_deployment_alerting_policy_response.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_event.py +487 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy.py +383 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_frequency.py +105 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_operation.py +105 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_severity.py +106 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_type.py +111 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_api.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_state.py +4 -4
- lightning_sdk/lightning_cloud/openapi/models/v1_endpoint.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_ge_list_deployment_routing_telemetry_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_instance_open_ports_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_deployment_routing_telemetry_content_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_job_stats_response.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_get_organization_storage_metadata_response.py +331 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_project_balance_response.py +1 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_job_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_alerting_events_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_alerting_policies_response.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_product_licenses_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +43 -17
- lightning_sdk/lightning_cloud/openapi/models/v1_modify_filesystem_volume_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +183 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_pipeline.py +6 -6
- lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_state.py +111 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_presigned_url.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_product_license.py +409 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_product_license_check_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +43 -17
- lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +107 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_project_storage.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_r2_data_connection.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +253 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_secret_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_type.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_sleep_server_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_trigger_filesystem_upgrade_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_upload_project_artifact_response.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +347 -113
- lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +27 -1
- lightning_sdk/lightning_cloud/rest_client.py +4 -0
- lightning_sdk/llm/llm.py +132 -40
- lightning_sdk/services/__init__.py +1 -1
- lightning_sdk/services/license.py +236 -0
- lightning_sdk/studio.py +62 -1
- lightning_sdk/teamspace.py +68 -0
- {lightning_sdk-0.2.14.dist-info → lightning_sdk-0.2.16.dist-info}/METADATA +1 -1
- {lightning_sdk-0.2.14.dist-info → lightning_sdk-0.2.16.dist-info}/RECORD +122 -86
- /lightning_sdk/services/{finetune/__init__.py → finetune_llm.py} +0 -0
- {lightning_sdk-0.2.14.dist-info → lightning_sdk-0.2.16.dist-info}/LICENSE +0 -0
- {lightning_sdk-0.2.14.dist-info → lightning_sdk-0.2.16.dist-info}/WHEEL +0 -0
- {lightning_sdk-0.2.14.dist-info → lightning_sdk-0.2.16.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-0.2.14.dist-info → lightning_sdk-0.2.16.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
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 V1DeploymentAlertingPolicyType(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
|
+
TYPEUNSPECIFIED = "TypeUnspecified"
|
|
41
|
+
REPLICAFAILED = "ReplicaFailed"
|
|
42
|
+
DEPLOYMENTFAILED = "DeploymentFailed"
|
|
43
|
+
STATUSCODES5XX = "StatusCodes5xx"
|
|
44
|
+
STATUSCODES4XX = "StatusCodes4xx"
|
|
45
|
+
STATUSCODES3XX = "StatusCodes3xx"
|
|
46
|
+
STATUSCODES2XX = "StatusCodes2xx"
|
|
47
|
+
STATUSCODES1XX = "StatusCodes1xx"
|
|
48
|
+
THROUGHPUT = "Throughput"
|
|
49
|
+
LATENCYQ95 = "LatencyQ95"
|
|
50
|
+
"""
|
|
51
|
+
Attributes:
|
|
52
|
+
swagger_types (dict): The key is attribute name
|
|
53
|
+
and the value is attribute type.
|
|
54
|
+
attribute_map (dict): The key is attribute name
|
|
55
|
+
and the value is json key in definition.
|
|
56
|
+
"""
|
|
57
|
+
swagger_types = {
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
attribute_map = {
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
def __init__(self): # noqa: E501
|
|
64
|
+
"""V1DeploymentAlertingPolicyType - a model defined in Swagger""" # noqa: E501
|
|
65
|
+
self.discriminator = None
|
|
66
|
+
|
|
67
|
+
def to_dict(self) -> dict:
|
|
68
|
+
"""Returns the model properties as a dict"""
|
|
69
|
+
result = {}
|
|
70
|
+
|
|
71
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
72
|
+
value = getattr(self, attr)
|
|
73
|
+
if isinstance(value, list):
|
|
74
|
+
result[attr] = list(map(
|
|
75
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
76
|
+
value
|
|
77
|
+
))
|
|
78
|
+
elif hasattr(value, "to_dict"):
|
|
79
|
+
result[attr] = value.to_dict()
|
|
80
|
+
elif isinstance(value, dict):
|
|
81
|
+
result[attr] = dict(map(
|
|
82
|
+
lambda item: (item[0], item[1].to_dict())
|
|
83
|
+
if hasattr(item[1], "to_dict") else item,
|
|
84
|
+
value.items()
|
|
85
|
+
))
|
|
86
|
+
else:
|
|
87
|
+
result[attr] = value
|
|
88
|
+
if issubclass(V1DeploymentAlertingPolicyType, dict):
|
|
89
|
+
for key, value in self.items():
|
|
90
|
+
result[key] = value
|
|
91
|
+
|
|
92
|
+
return result
|
|
93
|
+
|
|
94
|
+
def to_str(self) -> str:
|
|
95
|
+
"""Returns the string representation of the model"""
|
|
96
|
+
return pprint.pformat(self.to_dict())
|
|
97
|
+
|
|
98
|
+
def __repr__(self) -> str:
|
|
99
|
+
"""For `print` and `pprint`"""
|
|
100
|
+
return self.to_str()
|
|
101
|
+
|
|
102
|
+
def __eq__(self, other: 'V1DeploymentAlertingPolicyType') -> bool:
|
|
103
|
+
"""Returns true if both objects are equal"""
|
|
104
|
+
if not isinstance(other, V1DeploymentAlertingPolicyType):
|
|
105
|
+
return False
|
|
106
|
+
|
|
107
|
+
return self.__dict__ == other.__dict__
|
|
108
|
+
|
|
109
|
+
def __ne__(self, other: 'V1DeploymentAlertingPolicyType') -> bool:
|
|
110
|
+
"""Returns true if both objects are not equal"""
|
|
111
|
+
return not self == other
|
|
@@ -48,6 +48,7 @@ class V1DeploymentAPI(object):
|
|
|
48
48
|
'method': 'str',
|
|
49
49
|
'name': 'str',
|
|
50
50
|
'path': 'str',
|
|
51
|
+
'port': 'int',
|
|
51
52
|
'_query_params': 'list[V1QueryParam]'
|
|
52
53
|
}
|
|
53
54
|
|
|
@@ -59,10 +60,11 @@ class V1DeploymentAPI(object):
|
|
|
59
60
|
'method': 'method',
|
|
60
61
|
'name': 'name',
|
|
61
62
|
'path': 'path',
|
|
63
|
+
'port': 'port',
|
|
62
64
|
'_query_params': 'queryParams'
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
def __init__(self, body: 'V1Body' =None, description: 'str' =None, headers: 'list[V1Header]' =None, id: 'str' =None, method: 'str' =None, name: 'str' =None, path: 'str' =None, _query_params: 'list[V1QueryParam]' =None): # noqa: E501
|
|
67
|
+
def __init__(self, body: 'V1Body' =None, description: 'str' =None, headers: 'list[V1Header]' =None, id: 'str' =None, method: 'str' =None, name: 'str' =None, path: 'str' =None, port: 'int' =None, _query_params: 'list[V1QueryParam]' =None): # noqa: E501
|
|
66
68
|
"""V1DeploymentAPI - a model defined in Swagger""" # noqa: E501
|
|
67
69
|
self._body = None
|
|
68
70
|
self._description = None
|
|
@@ -71,6 +73,7 @@ class V1DeploymentAPI(object):
|
|
|
71
73
|
self._method = None
|
|
72
74
|
self._name = None
|
|
73
75
|
self._path = None
|
|
76
|
+
self._port = None
|
|
74
77
|
self.__query_params = None
|
|
75
78
|
self.discriminator = None
|
|
76
79
|
if body is not None:
|
|
@@ -87,6 +90,8 @@ class V1DeploymentAPI(object):
|
|
|
87
90
|
self.name = name
|
|
88
91
|
if path is not None:
|
|
89
92
|
self.path = path
|
|
93
|
+
if port is not None:
|
|
94
|
+
self.port = port
|
|
90
95
|
if _query_params is not None:
|
|
91
96
|
self._query_params = _query_params
|
|
92
97
|
|
|
@@ -237,6 +242,27 @@ class V1DeploymentAPI(object):
|
|
|
237
242
|
|
|
238
243
|
self._path = path
|
|
239
244
|
|
|
245
|
+
@property
|
|
246
|
+
def port(self) -> 'int':
|
|
247
|
+
"""Gets the port of this V1DeploymentAPI. # noqa: E501
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
:return: The port of this V1DeploymentAPI. # noqa: E501
|
|
251
|
+
:rtype: int
|
|
252
|
+
"""
|
|
253
|
+
return self._port
|
|
254
|
+
|
|
255
|
+
@port.setter
|
|
256
|
+
def port(self, port: 'int'):
|
|
257
|
+
"""Sets the port of this V1DeploymentAPI.
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
:param port: The port of this V1DeploymentAPI. # noqa: E501
|
|
261
|
+
:type: int
|
|
262
|
+
"""
|
|
263
|
+
|
|
264
|
+
self._port = port
|
|
265
|
+
|
|
240
266
|
@property
|
|
241
267
|
def _query_params(self) -> 'list[V1QueryParam]':
|
|
242
268
|
"""Gets the _query_params of this V1DeploymentAPI. # noqa: E501
|
|
@@ -39,11 +39,11 @@ class V1DeploymentState(object):
|
|
|
39
39
|
"""
|
|
40
40
|
UNSPECIFIED = "DEPLOYMENT_STATE_UNSPECIFIED"
|
|
41
41
|
RUNNING = "DEPLOYMENT_STATE_RUNNING"
|
|
42
|
-
DELETED = "DEPLOYMENT_STATE_DELETED"
|
|
43
|
-
COMPLETED = "DEPLOYMENT_STATE_COMPLETED"
|
|
44
|
-
FAILED = "DEPLOYMENT_STATE_FAILED"
|
|
45
|
-
SUSPENDED = "DEPLOYMENT_STATE_SUSPENDED"
|
|
46
42
|
PENDING = "DEPLOYMENT_STATE_PENDING"
|
|
43
|
+
FAILED = "DEPLOYMENT_STATE_FAILED"
|
|
44
|
+
SCALED_TO_0 = "DEPLOYMENT_STATE_SCALED_TO_0"
|
|
45
|
+
STOPPED = "DEPLOYMENT_STATE_STOPPED"
|
|
46
|
+
DELETED = "DEPLOYMENT_STATE_DELETED"
|
|
47
47
|
"""
|
|
48
48
|
Attributes:
|
|
49
49
|
swagger_types (dict): The key is attribute name
|
|
@@ -53,6 +53,7 @@ class V1Endpoint(object):
|
|
|
53
53
|
'ports': 'list[str]',
|
|
54
54
|
'prewarm': 'V1EndpointPrewarm',
|
|
55
55
|
'project_id': 'str',
|
|
56
|
+
'proxy': 'bool',
|
|
56
57
|
'updated_at': 'datetime',
|
|
57
58
|
'urls': 'list[str]',
|
|
58
59
|
'user_id': 'str'
|
|
@@ -71,12 +72,13 @@ class V1Endpoint(object):
|
|
|
71
72
|
'ports': 'ports',
|
|
72
73
|
'prewarm': 'prewarm',
|
|
73
74
|
'project_id': 'projectId',
|
|
75
|
+
'proxy': 'proxy',
|
|
74
76
|
'updated_at': 'updatedAt',
|
|
75
77
|
'urls': 'urls',
|
|
76
78
|
'user_id': 'userId'
|
|
77
79
|
}
|
|
78
80
|
|
|
79
|
-
def __init__(self, auth: 'V1EndpointAuth' =None, cloudspace: 'V1UpstreamCloudSpace' =None, created_at: 'datetime' =None, custom_domain: 'str' =None, id: 'str' =None, job: 'V1UpstreamJob' =None, managed: 'V1UpstreamManaged' =None, name: 'str' =None, openai: 'V1UpstreamOpenAI' =None, ports: 'list[str]' =None, prewarm: 'V1EndpointPrewarm' =None, project_id: 'str' =None, updated_at: 'datetime' =None, urls: 'list[str]' =None, user_id: 'str' =None): # noqa: E501
|
|
81
|
+
def __init__(self, auth: 'V1EndpointAuth' =None, cloudspace: 'V1UpstreamCloudSpace' =None, created_at: 'datetime' =None, custom_domain: 'str' =None, id: 'str' =None, job: 'V1UpstreamJob' =None, managed: 'V1UpstreamManaged' =None, name: 'str' =None, openai: 'V1UpstreamOpenAI' =None, ports: 'list[str]' =None, prewarm: 'V1EndpointPrewarm' =None, project_id: 'str' =None, proxy: 'bool' =None, updated_at: 'datetime' =None, urls: 'list[str]' =None, user_id: 'str' =None): # noqa: E501
|
|
80
82
|
"""V1Endpoint - a model defined in Swagger""" # noqa: E501
|
|
81
83
|
self._auth = None
|
|
82
84
|
self._cloudspace = None
|
|
@@ -90,6 +92,7 @@ class V1Endpoint(object):
|
|
|
90
92
|
self._ports = None
|
|
91
93
|
self._prewarm = None
|
|
92
94
|
self._project_id = None
|
|
95
|
+
self._proxy = None
|
|
93
96
|
self._updated_at = None
|
|
94
97
|
self._urls = None
|
|
95
98
|
self._user_id = None
|
|
@@ -118,6 +121,8 @@ class V1Endpoint(object):
|
|
|
118
121
|
self.prewarm = prewarm
|
|
119
122
|
if project_id is not None:
|
|
120
123
|
self.project_id = project_id
|
|
124
|
+
if proxy is not None:
|
|
125
|
+
self.proxy = proxy
|
|
121
126
|
if updated_at is not None:
|
|
122
127
|
self.updated_at = updated_at
|
|
123
128
|
if urls is not None:
|
|
@@ -377,6 +382,27 @@ class V1Endpoint(object):
|
|
|
377
382
|
|
|
378
383
|
self._project_id = project_id
|
|
379
384
|
|
|
385
|
+
@property
|
|
386
|
+
def proxy(self) -> 'bool':
|
|
387
|
+
"""Gets the proxy of this V1Endpoint. # noqa: E501
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
:return: The proxy of this V1Endpoint. # noqa: E501
|
|
391
|
+
:rtype: bool
|
|
392
|
+
"""
|
|
393
|
+
return self._proxy
|
|
394
|
+
|
|
395
|
+
@proxy.setter
|
|
396
|
+
def proxy(self, proxy: 'bool'):
|
|
397
|
+
"""Sets the proxy of this V1Endpoint.
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
:param proxy: The proxy of this V1Endpoint. # noqa: E501
|
|
401
|
+
:type: bool
|
|
402
|
+
"""
|
|
403
|
+
|
|
404
|
+
self._proxy = proxy
|
|
405
|
+
|
|
380
406
|
@property
|
|
381
407
|
def updated_at(self) -> 'datetime':
|
|
382
408
|
"""Gets the updated_at of this V1Endpoint. # noqa: E501
|
|
@@ -47,6 +47,7 @@ class V1ExternalSearchUser(object):
|
|
|
47
47
|
'organization': 'str',
|
|
48
48
|
'picture_url': 'str',
|
|
49
49
|
'role': 'str',
|
|
50
|
+
'sb': 'bool',
|
|
50
51
|
'username': 'str'
|
|
51
52
|
}
|
|
52
53
|
|
|
@@ -57,10 +58,11 @@ class V1ExternalSearchUser(object):
|
|
|
57
58
|
'organization': 'organization',
|
|
58
59
|
'picture_url': 'pictureUrl',
|
|
59
60
|
'role': 'role',
|
|
61
|
+
'sb': 'sb',
|
|
60
62
|
'username': 'username'
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
def __init__(self, first_name: 'str' =None, id: 'str' =None, last_name: 'str' =None, organization: 'str' =None, picture_url: 'str' =None, role: 'str' =None, username: 'str' =None): # noqa: E501
|
|
65
|
+
def __init__(self, first_name: 'str' =None, id: 'str' =None, last_name: 'str' =None, organization: 'str' =None, picture_url: 'str' =None, role: 'str' =None, sb: 'bool' =None, username: 'str' =None): # noqa: E501
|
|
64
66
|
"""V1ExternalSearchUser - a model defined in Swagger""" # noqa: E501
|
|
65
67
|
self._first_name = None
|
|
66
68
|
self._id = None
|
|
@@ -68,6 +70,7 @@ class V1ExternalSearchUser(object):
|
|
|
68
70
|
self._organization = None
|
|
69
71
|
self._picture_url = None
|
|
70
72
|
self._role = None
|
|
73
|
+
self._sb = None
|
|
71
74
|
self._username = None
|
|
72
75
|
self.discriminator = None
|
|
73
76
|
if first_name is not None:
|
|
@@ -82,6 +85,8 @@ class V1ExternalSearchUser(object):
|
|
|
82
85
|
self.picture_url = picture_url
|
|
83
86
|
if role is not None:
|
|
84
87
|
self.role = role
|
|
88
|
+
if sb is not None:
|
|
89
|
+
self.sb = sb
|
|
85
90
|
if username is not None:
|
|
86
91
|
self.username = username
|
|
87
92
|
|
|
@@ -211,6 +216,27 @@ class V1ExternalSearchUser(object):
|
|
|
211
216
|
|
|
212
217
|
self._role = role
|
|
213
218
|
|
|
219
|
+
@property
|
|
220
|
+
def sb(self) -> 'bool':
|
|
221
|
+
"""Gets the sb of this V1ExternalSearchUser. # noqa: E501
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
:return: The sb of this V1ExternalSearchUser. # noqa: E501
|
|
225
|
+
:rtype: bool
|
|
226
|
+
"""
|
|
227
|
+
return self._sb
|
|
228
|
+
|
|
229
|
+
@sb.setter
|
|
230
|
+
def sb(self, sb: 'bool'):
|
|
231
|
+
"""Sets the sb of this V1ExternalSearchUser.
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
:param sb: The sb of this V1ExternalSearchUser. # noqa: E501
|
|
235
|
+
:type: bool
|
|
236
|
+
"""
|
|
237
|
+
|
|
238
|
+
self._sb = sb
|
|
239
|
+
|
|
214
240
|
@property
|
|
215
241
|
def username(self) -> 'str':
|
|
216
242
|
"""Gets the username of this V1ExternalSearchUser. # noqa: E501
|
lightning_sdk/lightning_cloud/openapi/models/v1_ge_list_deployment_routing_telemetry_response.py
ADDED
|
@@ -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 V1GeListDeploymentRoutingTelemetryResponse(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
|
+
'routing_telemetry': 'list[V1RoutingTelemetry]'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'routing_telemetry': 'routingTelemetry'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, routing_telemetry: 'list[V1RoutingTelemetry]' =None): # noqa: E501
|
|
52
|
+
"""V1GeListDeploymentRoutingTelemetryResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._routing_telemetry = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if routing_telemetry is not None:
|
|
56
|
+
self.routing_telemetry = routing_telemetry
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def routing_telemetry(self) -> 'list[V1RoutingTelemetry]':
|
|
60
|
+
"""Gets the routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse. # noqa: E501
|
|
64
|
+
:rtype: list[V1RoutingTelemetry]
|
|
65
|
+
"""
|
|
66
|
+
return self._routing_telemetry
|
|
67
|
+
|
|
68
|
+
@routing_telemetry.setter
|
|
69
|
+
def routing_telemetry(self, routing_telemetry: 'list[V1RoutingTelemetry]'):
|
|
70
|
+
"""Sets the routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param routing_telemetry: The routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse. # noqa: E501
|
|
74
|
+
:type: list[V1RoutingTelemetry]
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._routing_telemetry = routing_telemetry
|
|
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(V1GeListDeploymentRoutingTelemetryResponse, 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: 'V1GeListDeploymentRoutingTelemetryResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1GeListDeploymentRoutingTelemetryResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1GeListDeploymentRoutingTelemetryResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_instance_open_ports_response.py
ADDED
|
@@ -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 V1GetCloudSpaceInstanceOpenPortsResponse(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
|
+
'ports': 'list[str]'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'ports': 'ports'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, ports: 'list[str]' =None): # noqa: E501
|
|
52
|
+
"""V1GetCloudSpaceInstanceOpenPortsResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._ports = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if ports is not None:
|
|
56
|
+
self.ports = ports
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def ports(self) -> 'list[str]':
|
|
60
|
+
"""Gets the ports of this V1GetCloudSpaceInstanceOpenPortsResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The ports of this V1GetCloudSpaceInstanceOpenPortsResponse. # noqa: E501
|
|
64
|
+
:rtype: list[str]
|
|
65
|
+
"""
|
|
66
|
+
return self._ports
|
|
67
|
+
|
|
68
|
+
@ports.setter
|
|
69
|
+
def ports(self, ports: 'list[str]'):
|
|
70
|
+
"""Sets the ports of this V1GetCloudSpaceInstanceOpenPortsResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param ports: The ports of this V1GetCloudSpaceInstanceOpenPortsResponse. # noqa: E501
|
|
74
|
+
:type: list[str]
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._ports = ports
|
|
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(V1GetCloudSpaceInstanceOpenPortsResponse, 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: 'V1GetCloudSpaceInstanceOpenPortsResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1GetCloudSpaceInstanceOpenPortsResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1GetCloudSpaceInstanceOpenPortsResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
lightning_sdk/lightning_cloud/openapi/models/v1_get_deployment_routing_telemetry_content_response.py
ADDED
|
@@ -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 V1GetDeploymentRoutingTelemetryContentResponse(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
|
+
'url': 'str'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'url': 'url'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, url: 'str' =None): # noqa: E501
|
|
52
|
+
"""V1GetDeploymentRoutingTelemetryContentResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._url = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if url is not None:
|
|
56
|
+
self.url = url
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def url(self) -> 'str':
|
|
60
|
+
"""Gets the url of this V1GetDeploymentRoutingTelemetryContentResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The url of this V1GetDeploymentRoutingTelemetryContentResponse. # noqa: E501
|
|
64
|
+
:rtype: str
|
|
65
|
+
"""
|
|
66
|
+
return self._url
|
|
67
|
+
|
|
68
|
+
@url.setter
|
|
69
|
+
def url(self, url: 'str'):
|
|
70
|
+
"""Sets the url of this V1GetDeploymentRoutingTelemetryContentResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param url: The url of this V1GetDeploymentRoutingTelemetryContentResponse. # noqa: E501
|
|
74
|
+
:type: str
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._url = url
|
|
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(V1GetDeploymentRoutingTelemetryContentResponse, 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: 'V1GetDeploymentRoutingTelemetryContentResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1GetDeploymentRoutingTelemetryContentResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1GetDeploymentRoutingTelemetryContentResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|