Sha256: 4b1e771a4434b85b4eed20dc81f4dbe24eef6e9ba93d59e3b2d5c9baa7263f54

Contents?: true

Size: 969 Bytes

Versions: 6

Compression:

Stored size: 969 Bytes

Contents

require 'fog/core/collection'
require 'fog/compute/models/virtual_box/nat_redirect'

module Fog
  module VirtualBox
    class Compute

      class NATRedirects < Fog::Collection

        model Fog::VirtualBox::Compute::NATRedirect

        attr_accessor :machine, :nat_engine

        def all
          requires :machine, :nat_engine
          data = nat_engine.instance_variable_get(:@raw).redirects.map do |nat_redirect|
            {
              :machine  => machine,
              :raw      => nat_redirect
            }
          end
          load(data)
        end

        def get(nat_redirect_name)
          requires :machine, :nat_engine
          all.detect do |nat_redirect|
            nat_redirect.name == nat_redirect_name
          end
        end

        def new(attributes = {})
          requires :machine, :nat_engine
          super({:machine => machine, :nat_engine => nat_engine}.merge!(attributes))
        end

      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fog-0.8.2 lib/fog/compute/models/virtual_box/nat_redirects.rb
fog-0.8.1 lib/fog/compute/models/virtual_box/nat_redirects.rb
fog-0.8.0 lib/fog/compute/models/virtual_box/nat_redirects.rb
fog-0.7.2 lib/fog/compute/models/virtual_box/nat_redirects.rb
fog-0.7.1 lib/fog/compute/models/virtual_box/nat_redirects.rb
fog-0.7.0 lib/fog/compute/models/virtual_box/nat_redirects.rb