mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Add --split flag to dump
Signed-off-by: Christian Funkhouser <cfunkhouser@heroku.com>
This commit is contained in:
@@ -21,6 +21,9 @@ def main():
|
||||
parser.add_argument('--lenient', action='store_true', default=False,
|
||||
help='Ignore record validations and do a best effort '
|
||||
'dump')
|
||||
parser.add_argument('--split', action='store_true', default=False,
|
||||
help='Split the dumped zone into a YAML file per '
|
||||
'record')
|
||||
parser.add_argument('zone', help='Zone to dump')
|
||||
parser.add_argument('source', nargs='+',
|
||||
help='Source(s) to pull data from')
|
||||
@@ -28,7 +31,8 @@ def main():
|
||||
args = parser.parse_args()
|
||||
|
||||
manager = Manager(args.config_file)
|
||||
manager.dump(args.zone, args.output_dir, args.lenient, *args.source)
|
||||
manager.dump(args.zone, args.output_dir, args.lenient, args.split,
|
||||
*args.source)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
+6
-3
@@ -12,7 +12,7 @@ import logging
|
||||
|
||||
from .provider.base import BaseProvider
|
||||
from .provider.plan import Plan
|
||||
from .provider.yaml import YamlProvider
|
||||
from .provider.yaml import SplitYamlProvider, YamlProvider
|
||||
from .record import Record
|
||||
from .yaml import safe_load
|
||||
from .zone import Zone
|
||||
@@ -357,7 +357,7 @@ class Manager(object):
|
||||
|
||||
return zb.changes(za, _AggregateTarget(a + b))
|
||||
|
||||
def dump(self, zone, output_dir, lenient, source, *sources):
|
||||
def dump(self, zone, output_dir, lenient, split, source, *sources):
|
||||
'''
|
||||
Dump zone data from the specified source
|
||||
'''
|
||||
@@ -372,7 +372,10 @@ class Manager(object):
|
||||
except KeyError as e:
|
||||
raise Exception('Unknown source: {}'.format(e.args[0]))
|
||||
|
||||
target = YamlProvider('dump', output_dir)
|
||||
clz = YamlProvider
|
||||
if split:
|
||||
clz = SplitYamlProvider
|
||||
target = clz('dump', output_dir)
|
||||
|
||||
zone = Zone(zone, self.configured_sub_zones(zone))
|
||||
for source in sources:
|
||||
|
||||
Reference in New Issue
Block a user