@ -35,7 +35,7 @@ except ImportError:
has_lib_cs = False
class AnsibleCloudStack :
class AnsibleCloudStack (object ) :
def __init__ ( self , module ) :
if not has_lib_cs :
@ -45,6 +45,22 @@ class AnsibleCloudStack:
' changed ' : False ,
}
# Common returns, will be merged with self.returns
# search_for_key: replace_with_key
self . common_returns = {
' id ' : ' id ' ,
' name ' : ' name ' ,
' created ' : ' created ' ,
' zonename ' : ' zone ' ,
' state ' : ' state ' ,
' project ' : ' project ' ,
' account ' : ' account ' ,
' domain ' : ' domain ' ,
}
# Init returns dict for use in subclasses
self . returns = { }
self . module = module
self . _connect ( )
@ -370,14 +386,18 @@ class AnsibleCloudStack:
def get_result ( self , resource ) :
if resource :
if ' id ' in resource :
self . result [ ' id ' ] = resource [ ' id ' ]
if ' project ' in resource :
self . result [ ' project ' ] = resource [ ' project ' ]
if ' domain ' in resource :
self . result [ ' domain ' ] = resource [ ' domain ' ]
if ' account ' in resource :
self . result [ ' account ' ] = resource [ ' account ' ]
if ' zonename ' in resource :
self . result [ ' zone ' ] = resource [ ' zonename ' ]
returns = self . common_returns . copy ( )
returns . update ( self . returns )
for search_key , return_key in returns . iteritems ( ) :
if search_key in resource :
self . result [ return_key ] = resource [ search_key ]
# Special handling for tags
if ' tags ' in resource :
self . result [ ' tags ' ] = [ ]
for tag in resource [ ' tags ' ] :
result_tag = { }
result_tag [ ' key ' ] = tag [ ' key ' ]
result_tag [ ' value ' ] = tag [ ' value ' ]
self . result [ ' tags ' ] . append ( result_tag )
return self . result