# 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