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-1.22.0 lib/fog/ecloud/models/compute/network.rb
fog-1.21.0 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.20.0.20140305101839 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.20.0.20140305101305 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.19.0.20140212012611 lib/fog/ecloud/models/compute/network.rb
fog-1.20.0 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.19.0.20140110004459 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.19.0.20140110003812 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.19.0.20140109202555 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.19.0.20140107192102 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.19.0.20140107142106 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.19.0.20131219203941 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131219193542 lib/fog/ecloud/models/compute/network.rb
fog-1.19.0 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131219033443 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131219032002 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131219030716 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131219022322 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131218202447 lib/fog/ecloud/models/compute/network.rb
fog-maestrodev-1.18.0.20131209091424 lib/fog/ecloud/models/compute/network.rb