    # File lib/fog/ecloud/models/compute/server.rb, line 39
            def ips
              network_hash = ip_addresses[:AssignedIpAddresses][:Networks]
              network_hash[:Network] = network_hash[:Network].is_a?(Hash) ? [network_hash[:Network]] : network_hash[:Network]
              network_hash[:Network].each do |network|
                network[:IpAddresses][:IpAddress] = network[:IpAddresses][:IpAddress].is_a?(String) ? [network[:IpAddresses][:IpAddress]] : network[:IpAddresses][:IpAddress]
              end
              @ips = nil
              networks = Fog::Compute::Ecloud::Networks.new(:connection => connection, :href => "/cloudapi/ecloud/virtualMachines/#{id}/assignedIps")
              networks.each do |network|
                if networks.index(network) == 0
                  if @ips.nil?
                    @ips = network.ips.select do |ip|
                      network_hash[:Network].any? do |network|
                        network[:IpAddresses][:IpAddress].include?(ip.name)
                      end
                    end
                  else
                    network.ips.each do |ip|
                      network_hash[:Network].any? do |network|
                        network[:IpAddresses][:IpAddress].each do |i|
                          @ips << ip if i == ip.name
                        end
                      end
                    end
                  end
                else
                  network.ips.each do |ip|
                    network_hash[:Network].each do |network|
                      network[:IpAddresses][:IpAddress].each do |i|
                        @ips << ip if i == ip.name
                      end
                    end
                  end
                end
              end
              @ips
            end