|
|
|
@ -7,6 +7,7 @@ from __future__ import absolute_import, division, print_function, \ |
|
|
|
unicode_literals |
|
|
|
|
|
|
|
from pprint import pprint |
|
|
|
import sys |
|
|
|
|
|
|
|
from octodns.cmds.args import ArgumentParser |
|
|
|
from octodns.manager import Manager |
|
|
|
@ -23,13 +24,25 @@ def main(): |
|
|
|
help='Second source(s) to pull data from') |
|
|
|
parser.add_argument('--zone', default=None, required=True, |
|
|
|
help='Zone to compare') |
|
|
|
|
|
|
|
parser.add_argument('--ignore-prefix', default=None, required=False, |
|
|
|
help='Record prefix to ignore from list of changes') |
|
|
|
args = parser.parse_args() |
|
|
|
|
|
|
|
manager = Manager(args.config_file) |
|
|
|
changes = manager.compare(args.a, args.b, args.zone) |
|
|
|
|
|
|
|
# Filter changes list based on ignore-prefix argument if present |
|
|
|
if args.ignore_prefix: |
|
|
|
pattern = args.ignore_prefix |
|
|
|
changes = [c for c in changes |
|
|
|
if not c.record.fqdn.startswith(pattern)] |
|
|
|
|
|
|
|
pprint(changes) |
|
|
|
|
|
|
|
# Exit with non-zero exit code if changes exist |
|
|
|
if len(changes): |
|
|
|
sys.exit(1) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
main() |