Source code for pydelfini.delfini_core.models.system_configuration
from typing import Any
from typing import Dict
from typing import Type
from typing import TypeVar
from attrs import define as _attrs_define
from ..models.system_configuration_authentication import (
SystemConfigurationAuthentication,
)
from ..models.system_configuration_cache import SystemConfigurationCache
from ..models.system_configuration_datastores import SystemConfigurationDatastores
from ..models.system_configuration_motd import SystemConfigurationMotd
from ..models.system_configuration_plugins import SystemConfigurationPlugins
from ..models.system_configuration_sessions import SystemConfigurationSessions
from ..models.system_configuration_workers import SystemConfigurationWorkers
T = TypeVar("T", bound="SystemConfiguration")
[docs]
@_attrs_define
class SystemConfiguration:
"""SystemConfiguration model
Attributes:
authentication (SystemConfigurationAuthentication):
cache (SystemConfigurationCache):
datastores (SystemConfigurationDatastores):
motd (SystemConfigurationMotd):
plugins (SystemConfigurationPlugins):
sessions (SystemConfigurationSessions):
workers (SystemConfigurationWorkers):
"""
authentication: "SystemConfigurationAuthentication"
cache: "SystemConfigurationCache"
datastores: "SystemConfigurationDatastores"
motd: "SystemConfigurationMotd"
plugins: "SystemConfigurationPlugins"
sessions: "SystemConfigurationSessions"
workers: "SystemConfigurationWorkers"
[docs]
def to_dict(self) -> Dict[str, Any]:
"""Convert to a dict"""
authentication = self.authentication.to_dict()
cache = self.cache.to_dict()
datastores = self.datastores.to_dict()
motd = self.motd.to_dict()
plugins = self.plugins.to_dict()
sessions = self.sessions.to_dict()
workers = self.workers.to_dict()
field_dict: Dict[str, Any] = {}
field_dict.update(
{
"authentication": authentication,
"cache": cache,
"datastores": datastores,
"motd": motd,
"plugins": plugins,
"sessions": sessions,
"workers": workers,
}
)
return field_dict
[docs]
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
"""Create an instance of :py:class:`SystemConfiguration` from a dict"""
d = src_dict.copy()
authentication = SystemConfigurationAuthentication.from_dict(
d.pop("authentication")
)
cache = SystemConfigurationCache.from_dict(d.pop("cache"))
datastores = SystemConfigurationDatastores.from_dict(d.pop("datastores"))
motd = SystemConfigurationMotd.from_dict(d.pop("motd"))
plugins = SystemConfigurationPlugins.from_dict(d.pop("plugins"))
sessions = SystemConfigurationSessions.from_dict(d.pop("sessions"))
workers = SystemConfigurationWorkers.from_dict(d.pop("workers"))
system_configuration = cls(
authentication=authentication,
cache=cache,
datastores=datastores,
motd=motd,
plugins=plugins,
sessions=sessions,
workers=workers,
)
return system_configuration