def edit_ddns(self, config): settings = xmlobjects.DdnsCollection() settings.setToEdit() ddns = settings.addDdns(config) xml = ET.fromstring(self.ddns) ele = xml.findall('.//ddns[domainname="%s"]' % ddns.domainname) if ele is None: raise ValueError('Unable to find domain: %s' % ddns.domainname) ddns.index = ele[0].find('.//index').text return self.enc_api('ddns/ddns-list', settings)
def remove_ddns(self, config): domain = self._get_param(config, 'domain') xml = ET.fromstring(self.ddns) ele = xml.findall('.//ddns[domainname="%s"]' % domain) if ele is None: raise ValueError('Unable to find domain: %s' % domain) index = ele[0].find('.//index').text settings = xmlobjects.DdnsCollection() settings.setToDelete() settings.ddnss.append(xmlobjects.CustomXml({'index': index}, 'ddns')) return self.enc_api('ddns/ddns-list', settings)
def add_ddns(self, config): settings = xmlobjects.DdnsCollection() settings.addDdns(config) settings.setToAdd() return self.enc_api('ddns/ddns-list', settings)