diff --git a/octodns/provider/yaml.py b/octodns/provider/yaml.py index 287fd3b..7c9a915 100644 --- a/octodns/provider/yaml.py +++ b/octodns/provider/yaml.py @@ -89,6 +89,8 @@ class YamlProvider(BaseProvider): if record.ttl == self.default_ttl: # ttl is the default, we don't need to store it del d['ttl'] + if record._octodns: + d['octodns'] = record._octodns data[record.name].append(d) # Flatten single element lists diff --git a/tests/test_octodns_provider_yaml.py b/tests/test_octodns_provider_yaml.py index 46363ed..8f1b4d3 100644 --- a/tests/test_octodns_provider_yaml.py +++ b/tests/test_octodns_provider_yaml.py @@ -60,6 +60,12 @@ class TestYamlProvider(TestCase): # There should be no changes after the round trip reloaded = Zone('unit.tests.', []) target.populate(reloaded) + self.assertDictEqual( + {'included': ['test']}, + filter( + lambda x: x.name == 'included', reloaded.records + )[0]._octodns) + self.assertFalse(zone.changes(reloaded, target=source)) # A 2nd sync should still create everything