Don't load resources in dep_attrs
It's unnecessary to load the entire Resource just to get its name. Change-Id: I09b9f49f5b3b631884ef0c513f3766df4502734b Related-Bug: #1656429
This commit is contained in:
parent
4507322675
commit
e950bbb6ad
@ -169,8 +169,11 @@ class GetAttThenSelect(function.Function):
|
||||
|
||||
return self.args[0], self.args[1], self.args[2:]
|
||||
|
||||
def _res_name(self):
|
||||
return function.resolve(self._resource_name)
|
||||
|
||||
def _resource(self, path='unknown'):
|
||||
resource_name = function.resolve(self._resource_name)
|
||||
resource_name = self._res_name()
|
||||
|
||||
try:
|
||||
return self.stack[resource_name]
|
||||
@ -179,7 +182,7 @@ class GetAttThenSelect(function.Function):
|
||||
key=path)
|
||||
|
||||
def dep_attrs(self, resource_name):
|
||||
if self._resource().name == resource_name:
|
||||
if self._res_name() == resource_name:
|
||||
attrs = [function.resolve(self._attribute)]
|
||||
else:
|
||||
attrs = []
|
||||
@ -263,7 +266,7 @@ class GetAtt(GetAttThenSelect):
|
||||
return None
|
||||
|
||||
def dep_attrs(self, resource_name):
|
||||
if self._resource().name == resource_name:
|
||||
if self._res_name() == resource_name:
|
||||
path = function.resolve(self._path_components)
|
||||
attr = [function.resolve(self._attribute)]
|
||||
if path:
|
||||
@ -311,7 +314,7 @@ class GetAttAllAttributes(GetAtt):
|
||||
"""Check if there is no attribute_name defined, return empty chain."""
|
||||
if self._attribute is not None:
|
||||
return super(GetAttAllAttributes, self).dep_attrs(resource_name)
|
||||
elif self._resource().name == resource_name:
|
||||
elif self._res_name() == resource_name:
|
||||
res = self._resource()
|
||||
attrs = six.iterkeys(res.attributes_schema)
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user