Browse Source

octodns-compare: Prefix filtering and status code on configuration mismatch

pull/589/head
Phelps Williams 5 years ago
parent
commit
e1b2de656c
1 changed files with 14 additions and 1 deletions
  1. +14
    -1
      octodns/cmds/compare.py

+ 14
- 1
octodns/cmds/compare.py View File

@ -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()

Loading…
Cancel
Save