Add the Fn::GetAZs() intrinsic function.

This just returns 'nova' right now.

Change-Id: I5449123b912da0f2aaca8a16aee78d391db033dd
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
Angus Salkeld 2012-07-02 13:10:59 +10:00
parent 5faf344646
commit 1439f85d72
1 changed files with 14 additions and 0 deletions

View File

@ -328,6 +328,19 @@ class Stack(object):
return _resolve(match, handle, s)
def _resolve_availability_zones(self, s):
'''
looking for { "Fn::GetAZs" : "str" }
'''
def match(key, value):
return (key == 'Fn::GetAZs' and
isinstance(value, basestring))
def handle(ref):
return ['nova']
return _resolve(match, handle, s)
def _resolve_find_in_map(self, s):
def handle(args):
try:
@ -380,6 +393,7 @@ class Stack(object):
def resolve_static_data(self, snippet):
return transform(snippet, [self._resolve_static_refs,
self._resolve_availability_zones,
self._resolve_find_in_map])
def resolve_runtime_data(self, snippet):