seguro.commands.acl_syncer.broker¶
Functions
|
Classes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class seguro.commands.acl_syncer.broker.ACL(*, acltype, topic, priority=-1, allow=True)[source]¶
Bases:
BaseModel- Parameters:
acltype (ACLType)
topic (str)
priority (int)
allow (bool)
- allow: bool¶
- model_config = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- priority: int¶
- topic: str¶
- class seguro.commands.acl_syncer.broker.ACLType(*values)[source]¶
Bases:
Enum- PUBLISH_CLIENT_RECEIVE = 'publishClientReceive'¶
- PUBLISH_CLIENT_SEND = 'publishClientSend'¶
- SUBSCRIBE_LITERAL = 'subscribeLiteral'¶
- SUBSCRIBE_PATTERN = 'subscribePattern'¶
- UNSUBSCRIBE_LITERAL = 'unsubscribeLiteral'¶
- UNSUBSCRIBE_PATTERN = 'unsubscribePattern'¶
- classmethod from_broker_action(act)[source]¶
- Parameters:
act (BrokerAction)
- Return type:
list[ACLType]
- class seguro.commands.acl_syncer.broker.BaseModel[source]¶
Bases:
BaseModel- model_config = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class seguro.commands.acl_syncer.broker.Client(*, username, password=None, clientid=None, textname=None, textdescription=None, groups=frozenset({}), roles=frozenset({}))[source]¶
Bases:
BaseModel- Parameters:
username (str)
password (str | None)
clientid (str | None)
textname (str | None)
textdescription (str | None)
groups (frozenset[GroupEntry])
roles (frozenset[RoleEntry])
- clientid: str | None¶
- groups: frozenset[GroupEntry]¶
- model_config = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- property name: str¶
- password: str | None¶
- textdescription: str | None¶
- textname: str | None¶
- username: str¶
- class seguro.commands.acl_syncer.broker.Command(cmd, **attrs)[source]¶
Bases:
object- Parameters:
cmd (str)
- classmethod list_clients(verbose=True, count=-1, offset=0)[source]¶
- Parameters:
verbose (bool)
count (int)
offset (int)
- classmethod list_groups(verbose=True, count=-1, offset=0)[source]¶
- Parameters:
verbose (bool)
count (int)
offset (int)
- class seguro.commands.acl_syncer.broker.Config(clients: dict[str, seguro.commands.acl_syncer.broker.Client], groups: dict[str, seguro.commands.acl_syncer.broker.Group], roles: dict[str, seguro.commands.acl_syncer.broker.Role])[source]¶
Bases:
object- classmethod from_acl(acl)[source]¶
- Parameters:
acl (AccessControlList)
- Return type:
- class seguro.commands.acl_syncer.broker.Group(*, groupname, roles=frozenset({}))[source]¶
Bases:
BaseModel- Parameters:
groupname (str)
roles (frozenset[RoleEntry])
- groupname: str¶
- model_config = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- property name: str¶
- class seguro.commands.acl_syncer.broker.GroupEntry(*, groupname, priority=-1)[source]¶
Bases:
BaseModel- Parameters:
groupname (str)
priority (int)
- groupname: str¶
- model_config = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- priority: int¶
- class seguro.commands.acl_syncer.broker.Plugin(b)[source]¶
Bases:
object- Parameters:
b (Client)
- queue: Queue[MQTTMessage]¶
- class seguro.commands.acl_syncer.broker.Role(*, rolename, textname=None, textdescription=None, acls=frozenset({}))[source]¶
Bases:
BaseModel- Parameters:
rolename (str)
textname (str | None)
textdescription (str | None)
acls (frozenset[ACL])
- model_config = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- property name: str¶
- rolename: str¶
- textdescription: str | None¶
- textname: str | None¶
- class seguro.commands.acl_syncer.broker.RoleEntry(*, rolename, priority=-1)[source]¶
Bases:
BaseModel- Parameters:
rolename (str)
priority (int)
- model_config = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- priority: int¶
- rolename: str¶
- seguro.commands.acl_syncer.broker.reconcile(acl, b, ignored_clients={})[source]¶
- Parameters:
acl (AccessControlList)
b (Client)
ignored_clients (set[str])