1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

Merge pull request #589 from phelpsw/compare_filtering_and_exit_codes

octodns-compare: Prefix filtering and status code on on mismatch
This commit is contained in:
Ross McFarland
2020-09-03 12:05:25 -07:00
committed by GitHub

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