Compare commits
4 Commits
5199779fb2
...
bd820e4c53
Author | SHA1 | Date | |
---|---|---|---|
bd820e4c53 | |||
734e89e720 | |||
360bc2a587 | |||
106e879eb9 |
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
namespace: happydns
|
namespace: happydns
|
||||||
name: happydomain
|
name: happydomain
|
||||||
version: 0.3.3
|
version: 0.4.0
|
||||||
readme: README.md
|
readme: README.md
|
||||||
authors:
|
authors:
|
||||||
- happyDomain Team <happydomain.org>
|
- happyDomain Team <happydomain.org>
|
||||||
|
@ -54,9 +54,10 @@ def main():
|
|||||||
for d in domains:
|
for d in domains:
|
||||||
if d.domain == p['domain'] or d.domain == p['domain'] + ".":
|
if d.domain == p['domain'] or d.domain == p['domain'] + ".":
|
||||||
for z in d.zone_history:
|
for z in d.zone_history:
|
||||||
if z == p['zone']:
|
if p['zone'] is None or z == p['zone']:
|
||||||
zone = d.get_zone(z)
|
zone = d.get_zone(z.id)
|
||||||
|
|
||||||
|
skipAdd = False
|
||||||
if p['subdomain'].removesuffix(d.domain) in zone.services:
|
if p['subdomain'].removesuffix(d.domain) in zone.services:
|
||||||
for s in zone.services[p['subdomain'].removesuffix(d.domain)]:
|
for s in zone.services[p['subdomain'].removesuffix(d.domain)]:
|
||||||
if s._svctype == p['type']:
|
if s._svctype == p['type']:
|
||||||
@ -67,19 +68,20 @@ def main():
|
|||||||
differ = True
|
differ = True
|
||||||
break
|
break
|
||||||
|
|
||||||
if p['erase_others']:
|
if p['state'] == 'absent' and not differ:
|
||||||
|
s.delete()
|
||||||
|
result['changed'] = True
|
||||||
|
elif p['erase_others']:
|
||||||
if differ:
|
if differ:
|
||||||
s.delete()
|
s.delete()
|
||||||
result['changed'] = True
|
result['changed'] = True
|
||||||
elif not differ:
|
|
||||||
if p['state'] == 'absent':
|
|
||||||
s.delete()
|
|
||||||
result['changed'] = True
|
|
||||||
else:
|
else:
|
||||||
|
skipAdd = True
|
||||||
|
elif not differ:
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
return
|
return
|
||||||
|
|
||||||
if p['state'] != 'absent':
|
if not skipAdd and p['state'] != 'absent':
|
||||||
zone.add_zone_service(
|
zone.add_zone_service(
|
||||||
p['subdomain'].removesuffix(d.domain),
|
p['subdomain'].removesuffix(d.domain),
|
||||||
p['type'],
|
p['type'],
|
||||||
@ -88,10 +90,9 @@ def main():
|
|||||||
result['changed'] = True
|
result['changed'] = True
|
||||||
|
|
||||||
|
|
||||||
if p['apply_changes']:
|
if p['apply_changes'] and result['changed']:
|
||||||
zone.apply_changes()
|
zone.apply_changes()
|
||||||
result['published'] = True
|
result['published'] = True
|
||||||
result['changed'] = True
|
|
||||||
|
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user