huaweicloudsdkram 3.1.160__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.
- huaweicloudsdkram/__init__.py +0 -0
- huaweicloudsdkram/v1/__init__.py +96 -0
- huaweicloudsdkram/v1/model/__init__.py +93 -0
- huaweicloudsdkram/v1/model/accept_resource_share_invitation_request.py +144 -0
- huaweicloudsdkram/v1/model/accept_resource_share_invitation_response.py +112 -0
- huaweicloudsdkram/v1/model/associate_permission_req_body.py +143 -0
- huaweicloudsdkram/v1/model/associate_resource_share_permission_request.py +169 -0
- huaweicloudsdkram/v1/model/associate_resource_share_permission_response.py +85 -0
- huaweicloudsdkram/v1/model/associate_resource_share_request.py +169 -0
- huaweicloudsdkram/v1/model/associate_resource_share_response.py +112 -0
- huaweicloudsdkram/v1/model/associated_permission.py +260 -0
- huaweicloudsdkram/v1/model/batch_create_resource_share_tags_request.py +169 -0
- huaweicloudsdkram/v1/model/batch_create_resource_share_tags_response.py +85 -0
- huaweicloudsdkram/v1/model/batch_delete_resource_share_tags_request.py +169 -0
- huaweicloudsdkram/v1/model/batch_delete_resource_share_tags_response.py +85 -0
- huaweicloudsdkram/v1/model/create_resource_share_req_body.py +288 -0
- huaweicloudsdkram/v1/model/create_resource_share_request.py +141 -0
- huaweicloudsdkram/v1/model/create_resource_share_response.py +112 -0
- huaweicloudsdkram/v1/model/delete_resource_share_request.py +144 -0
- huaweicloudsdkram/v1/model/delete_resource_share_response.py +85 -0
- huaweicloudsdkram/v1/model/disable_organization_share_request.py +116 -0
- huaweicloudsdkram/v1/model/disable_organization_share_response.py +85 -0
- huaweicloudsdkram/v1/model/disassociate_permission_req_body.py +114 -0
- huaweicloudsdkram/v1/model/disassociate_resource_share_permission_request.py +169 -0
- huaweicloudsdkram/v1/model/disassociate_resource_share_permission_response.py +85 -0
- huaweicloudsdkram/v1/model/disassociate_resource_share_request.py +169 -0
- huaweicloudsdkram/v1/model/disassociate_resource_share_response.py +112 -0
- huaweicloudsdkram/v1/model/enable_organization_share_request.py +116 -0
- huaweicloudsdkram/v1/model/enable_organization_share_response.py +85 -0
- huaweicloudsdkram/v1/model/list_permission_versions_request.py +202 -0
- huaweicloudsdkram/v1/model/list_permission_versions_response.py +141 -0
- huaweicloudsdkram/v1/model/list_permissions_request.py +232 -0
- huaweicloudsdkram/v1/model/list_permissions_response.py +141 -0
- huaweicloudsdkram/v1/model/list_quota_request.py +116 -0
- huaweicloudsdkram/v1/model/list_quota_response.py +112 -0
- huaweicloudsdkram/v1/model/list_resource_share_permissions_request.py +231 -0
- huaweicloudsdkram/v1/model/list_resource_share_permissions_response.py +141 -0
- huaweicloudsdkram/v1/model/list_resource_share_tags_request.py +174 -0
- huaweicloudsdkram/v1/model/list_resource_share_tags_response.py +141 -0
- huaweicloudsdkram/v1/model/list_resource_shares_by_tags_request.py +199 -0
- huaweicloudsdkram/v1/model/list_resource_shares_by_tags_response.py +145 -0
- huaweicloudsdkram/v1/model/list_resource_types_request.py +174 -0
- huaweicloudsdkram/v1/model/list_resource_types_response.py +141 -0
- huaweicloudsdkram/v1/model/match.py +142 -0
- huaweicloudsdkram/v1/model/page_info.py +173 -0
- huaweicloudsdkram/v1/model/page_info_marker_by_key.py +173 -0
- huaweicloudsdkram/v1/model/permission.py +427 -0
- huaweicloudsdkram/v1/model/permission_summary.py +399 -0
- huaweicloudsdkram/v1/model/quota_resources_dto.py +114 -0
- huaweicloudsdkram/v1/model/quotas.py +226 -0
- huaweicloudsdkram/v1/model/reject_resource_share_invitation_request.py +144 -0
- huaweicloudsdkram/v1/model/reject_resource_share_invitation_response.py +112 -0
- huaweicloudsdkram/v1/model/resource_dto.py +198 -0
- huaweicloudsdkram/v1/model/resource_share.py +340 -0
- huaweicloudsdkram/v1/model/resource_share_association.py +340 -0
- huaweicloudsdkram/v1/model/resource_share_association_req_body.py +144 -0
- huaweicloudsdkram/v1/model/resource_share_invitation.py +318 -0
- huaweicloudsdkram/v1/model/resource_shares_by_tags_req_body.py +173 -0
- huaweicloudsdkram/v1/model/resource_types_summary.py +142 -0
- huaweicloudsdkram/v1/model/search_resource_share_associations_req_body.py +317 -0
- huaweicloudsdkram/v1/model/search_resource_share_associations_request.py +141 -0
- huaweicloudsdkram/v1/model/search_resource_share_associations_response.py +141 -0
- huaweicloudsdkram/v1/model/search_resource_share_count_by_tags_request.py +141 -0
- huaweicloudsdkram/v1/model/search_resource_share_count_by_tags_response.py +116 -0
- huaweicloudsdkram/v1/model/search_resource_share_invitation_req_body.py +231 -0
- huaweicloudsdkram/v1/model/search_resource_share_invitation_request.py +141 -0
- huaweicloudsdkram/v1/model/search_resource_share_invitation_response.py +137 -0
- huaweicloudsdkram/v1/model/search_resource_shares_req_body.py +317 -0
- huaweicloudsdkram/v1/model/search_resource_shares_request.py +141 -0
- huaweicloudsdkram/v1/model/search_resource_shares_response.py +141 -0
- huaweicloudsdkram/v1/model/search_shared_principals_req_body.py +259 -0
- huaweicloudsdkram/v1/model/search_shared_principals_request.py +141 -0
- huaweicloudsdkram/v1/model/search_shared_principals_response.py +141 -0
- huaweicloudsdkram/v1/model/search_shared_resources_req_body.py +346 -0
- huaweicloudsdkram/v1/model/search_shared_resources_request.py +141 -0
- huaweicloudsdkram/v1/model/search_shared_resources_response.py +141 -0
- huaweicloudsdkram/v1/model/shared_principal.py +202 -0
- huaweicloudsdkram/v1/model/shared_resource.py +260 -0
- huaweicloudsdkram/v1/model/show_organization_share_request.py +116 -0
- huaweicloudsdkram/v1/model/show_organization_share_response.py +116 -0
- huaweicloudsdkram/v1/model/show_permission_request.py +173 -0
- huaweicloudsdkram/v1/model/show_permission_response.py +112 -0
- huaweicloudsdkram/v1/model/tag.py +142 -0
- huaweicloudsdkram/v1/model/tag_dto.py +142 -0
- huaweicloudsdkram/v1/model/tag_filter.py +143 -0
- huaweicloudsdkram/v1/model/tag_resource_req_body.py +114 -0
- huaweicloudsdkram/v1/model/untag.py +143 -0
- huaweicloudsdkram/v1/model/untag_resource_req_body.py +114 -0
- huaweicloudsdkram/v1/model/update_resource_share_req_body.py +172 -0
- huaweicloudsdkram/v1/model/update_resource_share_request.py +169 -0
- huaweicloudsdkram/v1/model/update_resource_share_response.py +112 -0
- huaweicloudsdkram/v1/ram_async_client.py +1991 -0
- huaweicloudsdkram/v1/ram_client.py +1988 -0
- huaweicloudsdkram/v1/region/__init__.py +0 -0
- huaweicloudsdkram/v1/region/ram_region.py +31 -0
- huaweicloudsdkram-3.1.160.dist-info/LICENSE +13 -0
- huaweicloudsdkram-3.1.160.dist-info/METADATA +26 -0
- huaweicloudsdkram-3.1.160.dist-info/RECORD +100 -0
- huaweicloudsdkram-3.1.160.dist-info/WHEEL +5 -0
- huaweicloudsdkram-3.1.160.dist-info/top_level.txt +1 -0
@@ -0,0 +1,427 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
import six
|
4
|
+
|
5
|
+
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
|
6
|
+
|
7
|
+
|
8
|
+
class Permission:
|
9
|
+
|
10
|
+
"""
|
11
|
+
Attributes:
|
12
|
+
openapi_types (dict): The key is attribute name
|
13
|
+
and the value is attribute type.
|
14
|
+
attribute_map (dict): The key is attribute name
|
15
|
+
and the value is json key in definition.
|
16
|
+
"""
|
17
|
+
sensitive_list = []
|
18
|
+
|
19
|
+
openapi_types = {
|
20
|
+
'id': 'str',
|
21
|
+
'name': 'str',
|
22
|
+
'resource_type': 'str',
|
23
|
+
'content': 'str',
|
24
|
+
'is_resource_type_default': 'bool',
|
25
|
+
'created_at': 'datetime',
|
26
|
+
'updated_at': 'datetime',
|
27
|
+
'permission_urn': 'str',
|
28
|
+
'permission_type': 'str',
|
29
|
+
'default_version': 'bool',
|
30
|
+
'version': 'int',
|
31
|
+
'status': 'str'
|
32
|
+
}
|
33
|
+
|
34
|
+
attribute_map = {
|
35
|
+
'id': 'id',
|
36
|
+
'name': 'name',
|
37
|
+
'resource_type': 'resource_type',
|
38
|
+
'content': 'content',
|
39
|
+
'is_resource_type_default': 'is_resource_type_default',
|
40
|
+
'created_at': 'created_at',
|
41
|
+
'updated_at': 'updated_at',
|
42
|
+
'permission_urn': 'permission_urn',
|
43
|
+
'permission_type': 'permission_type',
|
44
|
+
'default_version': 'default_version',
|
45
|
+
'version': 'version',
|
46
|
+
'status': 'status'
|
47
|
+
}
|
48
|
+
|
49
|
+
def __init__(self, id=None, name=None, resource_type=None, content=None, is_resource_type_default=None, created_at=None, updated_at=None, permission_urn=None, permission_type=None, default_version=None, version=None, status=None):
|
50
|
+
r"""Permission
|
51
|
+
|
52
|
+
The model defined in huaweicloud sdk
|
53
|
+
|
54
|
+
:param id: 权限ID。
|
55
|
+
:type id: str
|
56
|
+
:param name: 权限名称。
|
57
|
+
:type name: str
|
58
|
+
:param resource_type: 资源类型。
|
59
|
+
:type resource_type: str
|
60
|
+
:param content: 权限的影响和行为。
|
61
|
+
:type content: str
|
62
|
+
:param is_resource_type_default: 该权限是否是此资源类型的默认权限。
|
63
|
+
:type is_resource_type_default: bool
|
64
|
+
:param created_at: 权限的创建时间。
|
65
|
+
:type created_at: datetime
|
66
|
+
:param updated_at: 最后一次更新权限的时间。
|
67
|
+
:type updated_at: datetime
|
68
|
+
:param permission_urn: 权限URN。
|
69
|
+
:type permission_urn: str
|
70
|
+
:param permission_type: 权限类型。
|
71
|
+
:type permission_type: str
|
72
|
+
:param default_version: 此权限是否为默认版本。
|
73
|
+
:type default_version: bool
|
74
|
+
:param version: 权限版本。
|
75
|
+
:type version: int
|
76
|
+
:param status: 权限的状态
|
77
|
+
:type status: str
|
78
|
+
"""
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
self._id = None
|
83
|
+
self._name = None
|
84
|
+
self._resource_type = None
|
85
|
+
self._content = None
|
86
|
+
self._is_resource_type_default = None
|
87
|
+
self._created_at = None
|
88
|
+
self._updated_at = None
|
89
|
+
self._permission_urn = None
|
90
|
+
self._permission_type = None
|
91
|
+
self._default_version = None
|
92
|
+
self._version = None
|
93
|
+
self._status = None
|
94
|
+
self.discriminator = None
|
95
|
+
|
96
|
+
self.id = id
|
97
|
+
self.name = name
|
98
|
+
self.resource_type = resource_type
|
99
|
+
self.content = content
|
100
|
+
self.is_resource_type_default = is_resource_type_default
|
101
|
+
self.created_at = created_at
|
102
|
+
self.updated_at = updated_at
|
103
|
+
if permission_urn is not None:
|
104
|
+
self.permission_urn = permission_urn
|
105
|
+
if permission_type is not None:
|
106
|
+
self.permission_type = permission_type
|
107
|
+
if default_version is not None:
|
108
|
+
self.default_version = default_version
|
109
|
+
if version is not None:
|
110
|
+
self.version = version
|
111
|
+
if status is not None:
|
112
|
+
self.status = status
|
113
|
+
|
114
|
+
@property
|
115
|
+
def id(self):
|
116
|
+
r"""Gets the id of this Permission.
|
117
|
+
|
118
|
+
权限ID。
|
119
|
+
|
120
|
+
:return: The id of this Permission.
|
121
|
+
:rtype: str
|
122
|
+
"""
|
123
|
+
return self._id
|
124
|
+
|
125
|
+
@id.setter
|
126
|
+
def id(self, id):
|
127
|
+
r"""Sets the id of this Permission.
|
128
|
+
|
129
|
+
权限ID。
|
130
|
+
|
131
|
+
:param id: The id of this Permission.
|
132
|
+
:type id: str
|
133
|
+
"""
|
134
|
+
self._id = id
|
135
|
+
|
136
|
+
@property
|
137
|
+
def name(self):
|
138
|
+
r"""Gets the name of this Permission.
|
139
|
+
|
140
|
+
权限名称。
|
141
|
+
|
142
|
+
:return: The name of this Permission.
|
143
|
+
:rtype: str
|
144
|
+
"""
|
145
|
+
return self._name
|
146
|
+
|
147
|
+
@name.setter
|
148
|
+
def name(self, name):
|
149
|
+
r"""Sets the name of this Permission.
|
150
|
+
|
151
|
+
权限名称。
|
152
|
+
|
153
|
+
:param name: The name of this Permission.
|
154
|
+
:type name: str
|
155
|
+
"""
|
156
|
+
self._name = name
|
157
|
+
|
158
|
+
@property
|
159
|
+
def resource_type(self):
|
160
|
+
r"""Gets the resource_type of this Permission.
|
161
|
+
|
162
|
+
资源类型。
|
163
|
+
|
164
|
+
:return: The resource_type of this Permission.
|
165
|
+
:rtype: str
|
166
|
+
"""
|
167
|
+
return self._resource_type
|
168
|
+
|
169
|
+
@resource_type.setter
|
170
|
+
def resource_type(self, resource_type):
|
171
|
+
r"""Sets the resource_type of this Permission.
|
172
|
+
|
173
|
+
资源类型。
|
174
|
+
|
175
|
+
:param resource_type: The resource_type of this Permission.
|
176
|
+
:type resource_type: str
|
177
|
+
"""
|
178
|
+
self._resource_type = resource_type
|
179
|
+
|
180
|
+
@property
|
181
|
+
def content(self):
|
182
|
+
r"""Gets the content of this Permission.
|
183
|
+
|
184
|
+
权限的影响和行为。
|
185
|
+
|
186
|
+
:return: The content of this Permission.
|
187
|
+
:rtype: str
|
188
|
+
"""
|
189
|
+
return self._content
|
190
|
+
|
191
|
+
@content.setter
|
192
|
+
def content(self, content):
|
193
|
+
r"""Sets the content of this Permission.
|
194
|
+
|
195
|
+
权限的影响和行为。
|
196
|
+
|
197
|
+
:param content: The content of this Permission.
|
198
|
+
:type content: str
|
199
|
+
"""
|
200
|
+
self._content = content
|
201
|
+
|
202
|
+
@property
|
203
|
+
def is_resource_type_default(self):
|
204
|
+
r"""Gets the is_resource_type_default of this Permission.
|
205
|
+
|
206
|
+
该权限是否是此资源类型的默认权限。
|
207
|
+
|
208
|
+
:return: The is_resource_type_default of this Permission.
|
209
|
+
:rtype: bool
|
210
|
+
"""
|
211
|
+
return self._is_resource_type_default
|
212
|
+
|
213
|
+
@is_resource_type_default.setter
|
214
|
+
def is_resource_type_default(self, is_resource_type_default):
|
215
|
+
r"""Sets the is_resource_type_default of this Permission.
|
216
|
+
|
217
|
+
该权限是否是此资源类型的默认权限。
|
218
|
+
|
219
|
+
:param is_resource_type_default: The is_resource_type_default of this Permission.
|
220
|
+
:type is_resource_type_default: bool
|
221
|
+
"""
|
222
|
+
self._is_resource_type_default = is_resource_type_default
|
223
|
+
|
224
|
+
@property
|
225
|
+
def created_at(self):
|
226
|
+
r"""Gets the created_at of this Permission.
|
227
|
+
|
228
|
+
权限的创建时间。
|
229
|
+
|
230
|
+
:return: The created_at of this Permission.
|
231
|
+
:rtype: datetime
|
232
|
+
"""
|
233
|
+
return self._created_at
|
234
|
+
|
235
|
+
@created_at.setter
|
236
|
+
def created_at(self, created_at):
|
237
|
+
r"""Sets the created_at of this Permission.
|
238
|
+
|
239
|
+
权限的创建时间。
|
240
|
+
|
241
|
+
:param created_at: The created_at of this Permission.
|
242
|
+
:type created_at: datetime
|
243
|
+
"""
|
244
|
+
self._created_at = created_at
|
245
|
+
|
246
|
+
@property
|
247
|
+
def updated_at(self):
|
248
|
+
r"""Gets the updated_at of this Permission.
|
249
|
+
|
250
|
+
最后一次更新权限的时间。
|
251
|
+
|
252
|
+
:return: The updated_at of this Permission.
|
253
|
+
:rtype: datetime
|
254
|
+
"""
|
255
|
+
return self._updated_at
|
256
|
+
|
257
|
+
@updated_at.setter
|
258
|
+
def updated_at(self, updated_at):
|
259
|
+
r"""Sets the updated_at of this Permission.
|
260
|
+
|
261
|
+
最后一次更新权限的时间。
|
262
|
+
|
263
|
+
:param updated_at: The updated_at of this Permission.
|
264
|
+
:type updated_at: datetime
|
265
|
+
"""
|
266
|
+
self._updated_at = updated_at
|
267
|
+
|
268
|
+
@property
|
269
|
+
def permission_urn(self):
|
270
|
+
r"""Gets the permission_urn of this Permission.
|
271
|
+
|
272
|
+
权限URN。
|
273
|
+
|
274
|
+
:return: The permission_urn of this Permission.
|
275
|
+
:rtype: str
|
276
|
+
"""
|
277
|
+
return self._permission_urn
|
278
|
+
|
279
|
+
@permission_urn.setter
|
280
|
+
def permission_urn(self, permission_urn):
|
281
|
+
r"""Sets the permission_urn of this Permission.
|
282
|
+
|
283
|
+
权限URN。
|
284
|
+
|
285
|
+
:param permission_urn: The permission_urn of this Permission.
|
286
|
+
:type permission_urn: str
|
287
|
+
"""
|
288
|
+
self._permission_urn = permission_urn
|
289
|
+
|
290
|
+
@property
|
291
|
+
def permission_type(self):
|
292
|
+
r"""Gets the permission_type of this Permission.
|
293
|
+
|
294
|
+
权限类型。
|
295
|
+
|
296
|
+
:return: The permission_type of this Permission.
|
297
|
+
:rtype: str
|
298
|
+
"""
|
299
|
+
return self._permission_type
|
300
|
+
|
301
|
+
@permission_type.setter
|
302
|
+
def permission_type(self, permission_type):
|
303
|
+
r"""Sets the permission_type of this Permission.
|
304
|
+
|
305
|
+
权限类型。
|
306
|
+
|
307
|
+
:param permission_type: The permission_type of this Permission.
|
308
|
+
:type permission_type: str
|
309
|
+
"""
|
310
|
+
self._permission_type = permission_type
|
311
|
+
|
312
|
+
@property
|
313
|
+
def default_version(self):
|
314
|
+
r"""Gets the default_version of this Permission.
|
315
|
+
|
316
|
+
此权限是否为默认版本。
|
317
|
+
|
318
|
+
:return: The default_version of this Permission.
|
319
|
+
:rtype: bool
|
320
|
+
"""
|
321
|
+
return self._default_version
|
322
|
+
|
323
|
+
@default_version.setter
|
324
|
+
def default_version(self, default_version):
|
325
|
+
r"""Sets the default_version of this Permission.
|
326
|
+
|
327
|
+
此权限是否为默认版本。
|
328
|
+
|
329
|
+
:param default_version: The default_version of this Permission.
|
330
|
+
:type default_version: bool
|
331
|
+
"""
|
332
|
+
self._default_version = default_version
|
333
|
+
|
334
|
+
@property
|
335
|
+
def version(self):
|
336
|
+
r"""Gets the version of this Permission.
|
337
|
+
|
338
|
+
权限版本。
|
339
|
+
|
340
|
+
:return: The version of this Permission.
|
341
|
+
:rtype: int
|
342
|
+
"""
|
343
|
+
return self._version
|
344
|
+
|
345
|
+
@version.setter
|
346
|
+
def version(self, version):
|
347
|
+
r"""Sets the version of this Permission.
|
348
|
+
|
349
|
+
权限版本。
|
350
|
+
|
351
|
+
:param version: The version of this Permission.
|
352
|
+
:type version: int
|
353
|
+
"""
|
354
|
+
self._version = version
|
355
|
+
|
356
|
+
@property
|
357
|
+
def status(self):
|
358
|
+
r"""Gets the status of this Permission.
|
359
|
+
|
360
|
+
权限的状态
|
361
|
+
|
362
|
+
:return: The status of this Permission.
|
363
|
+
:rtype: str
|
364
|
+
"""
|
365
|
+
return self._status
|
366
|
+
|
367
|
+
@status.setter
|
368
|
+
def status(self, status):
|
369
|
+
r"""Sets the status of this Permission.
|
370
|
+
|
371
|
+
权限的状态
|
372
|
+
|
373
|
+
:param status: The status of this Permission.
|
374
|
+
:type status: str
|
375
|
+
"""
|
376
|
+
self._status = status
|
377
|
+
|
378
|
+
def to_dict(self):
|
379
|
+
"""Returns the model properties as a dict"""
|
380
|
+
result = {}
|
381
|
+
|
382
|
+
for attr, _ in six.iteritems(self.openapi_types):
|
383
|
+
value = getattr(self, attr)
|
384
|
+
if isinstance(value, list):
|
385
|
+
result[attr] = list(map(
|
386
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
387
|
+
value
|
388
|
+
))
|
389
|
+
elif hasattr(value, "to_dict"):
|
390
|
+
result[attr] = value.to_dict()
|
391
|
+
elif isinstance(value, dict):
|
392
|
+
result[attr] = dict(map(
|
393
|
+
lambda item: (item[0], item[1].to_dict())
|
394
|
+
if hasattr(item[1], "to_dict") else item,
|
395
|
+
value.items()
|
396
|
+
))
|
397
|
+
else:
|
398
|
+
if attr in self.sensitive_list:
|
399
|
+
result[attr] = "****"
|
400
|
+
else:
|
401
|
+
result[attr] = value
|
402
|
+
|
403
|
+
return result
|
404
|
+
|
405
|
+
def to_str(self):
|
406
|
+
"""Returns the string representation of the model"""
|
407
|
+
import simplejson as json
|
408
|
+
if six.PY2:
|
409
|
+
import sys
|
410
|
+
reload(sys)
|
411
|
+
sys.setdefaultencoding("utf-8")
|
412
|
+
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
|
413
|
+
|
414
|
+
def __repr__(self):
|
415
|
+
"""For `print`"""
|
416
|
+
return self.to_str()
|
417
|
+
|
418
|
+
def __eq__(self, other):
|
419
|
+
"""Returns true if both objects are equal"""
|
420
|
+
if not isinstance(other, Permission):
|
421
|
+
return False
|
422
|
+
|
423
|
+
return self.__dict__ == other.__dict__
|
424
|
+
|
425
|
+
def __ne__(self, other):
|
426
|
+
"""Returns true if both objects are not equal"""
|
427
|
+
return not self == other
|