import logging from pprint import pprint from . import exceptions as error from .framework import DictCtrl, DictItem, KeyValue, KeyValueExtra logger = logging.getLogger(__name__) class Ident(DictItem): "Ident instance" default_attrs = { "secrets": {}, "resources": {}, "services": {}, } def init(self): self.secrets = self._payload.get("secrets", {}) self.resources = self._payload.get("resources", {}) self.services = self._payload.get("services", {}) def get_resource_configs(self): "Returns resources configurations" return self.resources or {} class Idents(DictCtrl): "Ident controller" items_class = Ident def get_services_configs(self): "Return services configurations" ret = {} for prov_name, ident in self.items(): ret.update(ident.services) return ret def get_idents(self): "Return a list of idents" return list(self._items.keys())