def apply(self): self.error('Create ruleset "%s"' % self.name) logger = self.getLogger() ruleset = Ruleset(self.component, logger, self.netcfg) ruleset.create(logger, "ruleset", self.netcfg, base_template=MULTISITE_TEMPLATE_NAME) ruleset.saveAs(self.name) self.filename = rulesetFilename("ruleset", self.name)
def service_rulesetCreate(self, context, filetype, base_template): """ Create a new ruleset based on a template. Use base_template='' to ignore the base template. """ self.info(context, 'Create a new ruleset') if EDENWALL: multisite_type = self.core.getMultisiteType() base_template = checkMultisiteTypeValue(multisite_type, filetype, base_template) client = self.getClient(context) logger = ContextLoggerChild(context, self) data = yield self.core.callService(self.ufwi_ruleset_context, 'network', 'getNetconfig') netcfg = deserializeNetCfg(data) ruleset = Ruleset(self, logger, netcfg, client=client) result = ruleset.create(logger, filetype, netcfg, base_template=base_template) if not ruleset.read_only: self.core.lock_manager.acquire(context, LOCK_RULESET) self._saveRuleset(context, ruleset) returnValue(result)