Sha256: 26aeef3a1112d4c5a039e962d52bf3926d40d2f6f46f22731f7978c458b5139e

Contents?: true

Size: 1.51 KB

Versions: 37

Compression:

Stored size: 1.51 KB

Contents

module Fog
  module Compute
    class Ecloud
      class Network < Fog::Ecloud::Model
        identity :href

        attribute :name,              :aliases => :Name
        attribute :type,              :aliases => :Type
        attribute :other_links,       :aliases => :Links, :squash => :Link
        attribute :address,           :aliases => :Address
        attribute :network_type,      :aliases => :NetworkType
        attribute :broadcast_address, :aliases => :BroadcastAddress
        attribute :gateway_address,   :aliases => :GatewayAddress
        attribute :rnat_address,      :aliases => :RnatAddress

        def rnats
          @rnats ||= Fog::Compute::Ecloud::Rnats.new(:service => service, :href => "#{service.base_path}/rnats/networks/#{id}")
        end

        def ips
          @ips ||= Fog::Compute::Ecloud::IpAddresses.new(:service => service, :href => href)
        end

        def edit_rnat_association(options)
          options[:uri] = href
          data = service.rnat_associations_edit_network(options).body
          task = Fog::Compute::Ecloud::Tasks.new(:service => service, :href => data[:href])[0]
        end

        def id
          href.scan(/\d+/)[0]
        end

        def environment
          reload if other_links.nil?
          environment_href = other_links.detect { |l| l[:type] == "application/vnd.tmrk.cloud.environment" }[:href]
          self.service.environments.get(environment_href)
        end

        def location
          environment.id
        end
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 2 rubygems

Version Path
fog-maestrodev-1.18.0.20131209090811 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131206115947 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131205181604 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131127194823 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131126183714 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131126122111 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131125111730 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131125083406 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131123105121 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131122203507 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131121075022 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131118164830 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131115184302 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131114200144 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131112185232 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131111203459 lib/fog/ecloud/models/compute/network.rb
fog-1.18.0 lib/fog/ecloud/models/compute/network.rb