seguro.commands.acl_syncer.model

Classes

AccessControlList(*[, groups, roles, clients])

BrokerAction(*values)

BrokerStatement(*[, effect, actions, priority])

Client(*[, groups, roles])

Effect(*values)

Group(*, roles)

Role(*[, broker, store])

StoreAction(*values)

StoreStatement(*[, effect, actions, condition])

class seguro.commands.acl_syncer.model.AccessControlList(*, groups={}, roles={}, clients={})[source]

Bases: BaseModel

Parameters:
  • groups (dict[str, Group])

  • roles (dict[str, Role])

  • clients (dict[str, Client])

clients: dict[str, Client]
groups: dict[str, Group]
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

roles: dict[str, Role]
update(other)[source]
Parameters:

other (AccessControlList)

Return type:

AccessControlList

class seguro.commands.acl_syncer.model.BrokerAction(*values)[source]

Bases: Enum

PUBLISH = 'Publish'
SUBSCRIBE = 'Subscribe'
class seguro.commands.acl_syncer.model.BrokerStatement(*, effect=Effect.ALLOW, actions={BrokerAction.PUBLISH, BrokerAction.SUBSCRIBE}, topic, priority=-1)[source]

Bases: BaseModel

Parameters:
actions: set[BrokerAction]
effect: Effect
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

priority: int
topic: str
class seguro.commands.acl_syncer.model.Client(*, groups=[], roles=[])[source]

Bases: BaseModel

Parameters:
  • groups (list[str])

  • roles (list[str])

groups: list[str]
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

roles: list[str]
update(other)[source]
Parameters:

other (Client)

Return type:

Client

class seguro.commands.acl_syncer.model.Effect(*values)[source]

Bases: Enum

ALLOW = 'Allow'
DENY = 'Deny'
class seguro.commands.acl_syncer.model.Group(*, roles)[source]

Bases: BaseModel

Parameters:

roles (list[str])

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

roles: list[str]
update(other)[source]
Parameters:

other (Group)

Return type:

Group

class seguro.commands.acl_syncer.model.Role(*, broker=[], store=[])[source]

Bases: BaseModel

Parameters:
broker: list[BrokerStatement]
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

store: list[StoreStatement]
update(other)[source]
Parameters:

other (Role)

Return type:

Role

class seguro.commands.acl_syncer.model.StoreAction(*values)[source]

Bases: Enum

ANY = '*'
DELETE_OBJECT = 'DeleteObject'
GET_BUCKET_LOCATION = 'GetBucketLocation'
GET_OBJECT = 'GetObject'
LIST_BUCKET = 'ListBucket'
LIST_OJECTS = 'ListObjects'
PUT_OBJECT = 'PutObject'
class seguro.commands.acl_syncer.model.StoreStatement(*, effect=Effect.ALLOW, actions={StoreAction.ANY}, object, condition={})[source]

Bases: BaseModel

Parameters:
  • effect (Effect)

  • actions (set[StoreAction])

  • object (str)

  • condition (dict[str, dict[str, str]])

actions: set[StoreAction]
condition: dict[str, dict[str, str]]
effect: Effect
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

object: str