Add a default DeletionPolicy for Fn::ResourceFacade

The provider template can't know whether this is explicitly included in the
facade resource's definition, and shouldn't need to.

Closes-bug: #1299202

Change-Id: I01177a84b86b69e221d83d87f3efd9e07e5b9c1f
This commit is contained in:
Zane Bitter
2014-03-31 21:13:22 -04:00
parent c99fafb256
commit 8356d27030
2 changed files with 2 additions and 13 deletions

View File

@@ -529,14 +529,7 @@ class ResourceFacade(function.Function):
elif attr == self.UPDATE_POLICY:
return self.stack.parent_resource.t.get(attr, {})
elif attr == self.DELETION_POLICY:
try:
return self.stack.parent_resource.t[attr]
except KeyError:
# TODO(zaneb): This should have a default!
fmt_data = {'fn_name': self.fn_name,
'key': attr}
raise KeyError(_('"%(fn_name)s" '
'key "%(key)s" not found') % fmt_data)
return self.stack.parent_resource.t.get(attr, 'Delete')
def function_mapping(version_key, version):

View File

@@ -466,11 +466,7 @@ Mappings:
stack = parser.Stack(self.ctx, 'test_stack',
parser.Template({}),
parent_resource=parent_resource)
error = self.assertRaises(KeyError,
self.resolve,
snippet,
stack.t, stack)
self.assertIn(snippet.keys()[0], str(error))
self.assertEqual('Delete', self.resolve(snippet, stack.t, stack))
def test_prevent_parameters_access(self):
expected_description = "This can be accessed"