def process_config_domain(self):
log.log(log.LOG_INFO, "Processing Domains")
for domain in self.get_config_section('domain'):
try:
self.validator.domain(domain)
except MultipleInvalid as e:
log.log(log.LOG_WARN, "Cannot create Domain '{0}': YAML validation Error: {1}".format(domain['name'], e))
continue
try:
dom_id = self.fm.domains.show(domain['name'])['id']
log.log(log.LOG_DEBUG, "Domain '{0}' (id={1}) already present.".format(domain['name'], dom_id))
except:
dns_proxy_id = False
try:
dns_proxy_id = self.fm.smart_proxies.show(domain['dns-proxy'])['id']
except:
log.log(log.LOG_WARN, "Cannot get ID of DNS Smart Proxy '{0}', skipping".format(domain['dns-proxy']))
log.log(log.LOG_INFO, "Create Domain '{0}'".format(domain['name']))
dom_params = []
if (domain['parameters']):
for name,value in domain['parameters'].iteritems():
p = {
'name': name,
'value': value
}
dom_params.append(p)
dom_tpl = {
'name': domain['name'],
'fullname': domain['fullname'],
}
fixdom = {
'domain_parameters_attributes': dom_params
}
if dns_proxy_id: dom_tpl['dns_id'] = dns_proxy_id
domo = self.fm.domains.create( domain = dom_tpl )
if dom_params:
self.fm.domains.update(fixdom, domo['id'])
评论列表
文章目录