Source code for cfxdb.mrealm.arealm_role_association
##############################################################################
#
# Crossbar.io Database
# Copyright (c) typedef int GmbH. Licensed under MIT.
#
##############################################################################
import pprint
from typing import Optional
from uuid import UUID
[docs]
class ApplicationRealmRoleAssociation(object):
"""
Association of a role with an application realm.
"""
def __init__(self, arealm_oid: Optional[UUID] = None, role_oid: Optional[UUID] = None, _unknown=None):
[docs]
self.arealm_oid = arealm_oid
[docs]
self.role_oid = role_oid
[docs]
self._unknown = _unknown
"""
:param arealm_oid: Object ID of the application realm this association applies to.
:param role_oid: Object ID of the role this association applies to.
"""
[docs]
def __eq__(self, other):
if not isinstance(other, self.__class__):
return False
if other.arealm_oid != self.arealm_oid:
return False
if other.role_oid != self.role_oid:
return False
return True
[docs]
def __ne__(self, other):
return not self.__eq__(other)
[docs]
def __str__(self):
return pprint.pformat(self.marshal())
[docs]
def marshal(self):
"""
Marshal this object to a generic host language object.
:return: dict
"""
obj = {
"arealm_oid": str(self.arealm_oid),
"role_oid": str(self.role_oid),
}
return obj
@staticmethod
[docs]
def parse(data):
"""
Parse generic host language object into an object of this class.
:param data: Generic host language object
:type data: dict
:return: instance of :class:`WebService`
"""
assert type(data) == dict
# future attributes (yet unknown) are not only ignored, but passed through!
_unknown = {}
for k in data:
if k not in ["arealm_oid", "role_oid"]:
_unknown[k] = data[k]
arealm_oid = None
if "arealm_oid" in data:
assert type(data["arealm_oid"]) == str
arealm_oid = UUID(data["arealm_oid"])
role_oid = None
if "role_oid" in data:
assert type(data["role_oid"]) == str
role_oid = UUID(data["role_oid"])
obj = ApplicationRealmRoleAssociation(arealm_oid=arealm_oid, role_oid=role_oid, _unknown=_unknown)
return obj