Sha256: 59467b4f96a5a52aaca8b11f7824e661d332ce454e66c562d7d259ba306a125a

Contents?: true

Size: 818 Bytes

Versions: 5

Compression:

Stored size: 818 Bytes

Contents

require "fog/core/collection"
require "fog/ovirt/models/compute/interface"

module Fog
  module Ovirt
    class Compute
      class Interfaces < Fog::Collection
        model Fog::Ovirt::Compute::Interface

        attr_accessor :vm

        # rubocop:disable Metrics/AbcSize
        def all(_filters = {})
          requires :vm
          if vm.is_a? Fog::Ovirt::Compute::Server
            load service.list_vm_interfaces(vm.id)
          elsif vm.is_a? Fog::Ovirt::Compute::Template
            load service.list_template_interfaces(vm.id)
          else
            raise ::Fog::Ovirt::Errors::OvirtError, "interfaces should have vm or template"
          end
        end
        # rubocop:enable Metrics/AbcSize

        def get(id)
          new service.get_interface(id)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fog-ovirt-1.2.4 lib/fog/ovirt/models/compute/interfaces.rb
fog-ovirt-1.2.3 lib/fog/ovirt/models/compute/interfaces.rb
fog-ovirt-1.2.2 lib/fog/ovirt/models/compute/interfaces.rb
fog-ovirt-1.2.1 lib/fog/ovirt/models/compute/interfaces.rb
fog-ovirt-1.2.0 lib/fog/ovirt/models/compute/interfaces.rb