Sha256: ad08d091e9016f9b5d329349f3d8abbf1e18fc116e3bb33268d389443f79a090

Contents?: true

Size: 902 Bytes

Versions: 13

Compression:

Stored size: 902 Bytes

Contents

require 'fog/core/collection'
require 'fog/vmfusion/models/compute/server'

module Fog
  module Compute
    class Vmfusion
      class Servers < Fog::Collection
        model Fog::Compute::Vmfusion::Server

        def all(filter = nil)
          data = []

          states = ::Fission::VM.all_with_status.data

          filter = {} if filter.nil?
          unless filter.key?(:name)
            vms=::Fission::VM.all.data
            vms.each do |vm|
              data << { :raw =>  { :fission => vm,
                                   :state   => states[vm.name] } }
            end
          else
            data << { :raw => { :fission => ::Fission::VM.new(filter[:name]),
                                :state   => states[filter[:name]] } }
          end

          load(data)
        end

        def get(name)
          self.all(:name => name).first
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 3 rubygems

Version Path
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/lib/fog/vmfusion/models/compute/servers.rb
fog-1.24.0 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.11 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.10 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.9 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.8 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.7 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.6 lib/fog/vmfusion/models/compute/servers.rb
fog-1.23.0 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.4 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.3 lib/fog/vmfusion/models/compute/servers.rb
ns-fog-1.22.2 lib/fog/vmfusion/models/compute/servers.rb
fog-1.22.1 lib/fog/vmfusion/models/compute/servers.rb