diff --git a/src/cloud/ec2/bin/econe-describe-addresses b/src/cloud/ec2/bin/econe-describe-addresses index 0a73cd0118..0dce55e95b 100755 --- a/src/cloud/ec2/bin/econe-describe-addresses +++ b/src/cloud/ec2/bin/econe-describe-addresses @@ -74,7 +74,13 @@ CommandParser::CmdParser.new(ARGV) do if CloudClient::is_error?(rc) exit_with_code -1, "#{cmd_name}: #{rc.message}" else - TABLE.show(rc['addressesSet']['item'] || []) + if rc.empty? || rc['addressesSet'].nil? || rc['addressesSet']['item'].nil? + addrs = [] + else + addrs = rc['addressesSet']['item'] + end + + TABLE.show(addrs) exit_with_code 0 end end diff --git a/src/cloud/ec2/bin/econe-describe-images b/src/cloud/ec2/bin/econe-describe-images index 0aa78d012d..7ada55841e 100755 --- a/src/cloud/ec2/bin/econe-describe-images +++ b/src/cloud/ec2/bin/econe-describe-images @@ -86,7 +86,13 @@ used with an OpenNebula Cloud." if CloudClient::is_error?(rc) exit_with_code -1, "#{cmd_name}: #{rc.message}" else - TABLE.show(rc['imagesSet']['item'] || []) + if rc.empty? || rc['imagesSet'].nil? || rc['imagesSet']['item'].nil? + imgs = [] + else + imgs = rc['imagesSet']['item'] + end + + TABLE.show(imgs) exit_with_code 0 end end diff --git a/src/cloud/ec2/bin/econe-describe-instances b/src/cloud/ec2/bin/econe-describe-instances index 1ef55014ca..89a68f0684 100755 --- a/src/cloud/ec2/bin/econe-describe-instances +++ b/src/cloud/ec2/bin/econe-describe-instances @@ -84,7 +84,15 @@ CommandParser::CmdParser.new(ARGV) do if CloudClient::is_error?(rc) exit_with_code -1, "#{cmd_name}: #{rc.message}" else - TABLE.show(rc['reservationSet']['item'][0]['instancesSet']['item'] || []) + if rc.empty? || + rc['reservationSet']['item'][0]['instancesSet'].nil? || + rc['reservationSet']['item'][0]['instancesSet']['item'].nil? + insts = [] + else + insts = rc['reservationSet']['item'][0]['instancesSet']['item'] + end + + TABLE.show(insts) exit_with_code 0 end end