Sha256: a66cebca2cc46aedd6ff3e86fcd2aa184a91aa7533c74a08715b5239edaa6a8e

Contents?: true

Size: 963 Bytes

Versions: 15

Compression:

Stored size: 963 Bytes

Contents

require 'vagrant-skytap/api/resource'
require 'vagrant-skytap/api/vpn_attachment'
require 'vagrant-skytap/util/subnet'

module VagrantPlugins
  module Skytap
    module API
      class Network < Resource
        attr_reader :environment

        reads :id, :subnet, :vpn_attachments

        def initialize(attrs, environment, env)
          super
          @environment = environment
        end

        def refresh(attrs)
          @vpn_attachments = nil
          super
        end

        def vpn_attachments
          @vpn_attachments ||= (get_api_attribute('vpn_attachments') || []).collect do |att_attrs|
            VpnAttachment.new(att_attrs, self, env)
          end
        end

        def subnet
          Util::Subnet.new(get_api_attribute('subnet'))
        end

        def attachment_for(vpn)
          vpn = vpn.id unless vpn.is_a?(String)
          vpn_attachments.detect {|att| att.vpn['id'] == vpn}
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
vagrant-skytap-0.2.3 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.2.2 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.2.1 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.2.0 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.11 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.10 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.9 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.8 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.7 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.6 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.5 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.4 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.3 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.2 lib/vagrant-skytap/api/network.rb
vagrant-skytap-0.1.1a lib/vagrant-skytap/api/network.rb