Use ResourceDefinition API in resource_facade

Don't treat a ResourceDefinition as a snippet of CloudFormation template in
the resource_facade intrinsic function.

This is slightly tricky, because in the case of the update_policy we don't
necessarily have a schema and we just want to pass the (resolved) data
verbatim, so we have to access a non-public attribute of the object.

Change-Id: Ib23a4be4f0a250a292e0ec707b1d5e885f15ed7e
This commit is contained in:
Zane Bitter 2016-05-01 19:06:09 -05:00
parent f1751ae84c
commit 52925a99bb
1 changed files with 2 additions and 3 deletions

View File

@ -566,8 +566,7 @@ class ResourceFacade(function.Function):
if attr == self.METADATA:
return self.stack.parent_resource.metadata_get()
elif attr == self.UPDATE_POLICY:
up = self.stack.parent_resource.t.get('UpdatePolicy', {})
up = self.stack.parent_resource.t._update_policy or {}
return function.resolve(up)
elif attr == self.DELETION_POLICY:
dp = self.stack.parent_resource.t.deletion_policy()
return function.resolve(dp)
return self.stack.parent_resource.t.deletion_policy()