Class: Fog::Compute::Ecloud::Network

Inherits:
Ecloud::Model show all
Defined in:
lib/fog/compute/ecloud/models/network.rb

Instance Attribute Summary

Attributes inherited from Ecloud::Model

#loaded

Instance Method Summary collapse

Methods inherited from Ecloud::Model

#load_unless_loaded!

Instance Method Details

#edit_rnat_association(options) ⇒ Object



24
25
26
27
28
# File 'lib/fog/compute/ecloud/models/network.rb', line 24

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

#environmentObject



34
35
36
37
38
# File 'lib/fog/compute/ecloud/models/network.rb', line 34

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

#idObject



30
31
32
# File 'lib/fog/compute/ecloud/models/network.rb', line 30

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

#ipsObject



20
21
22
# File 'lib/fog/compute/ecloud/models/network.rb', line 20

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

#locationObject



40
41
42
# File 'lib/fog/compute/ecloud/models/network.rb', line 40

def location
  environment.id
end

#reloadObject



44
45
46
47
48
# File 'lib/fog/compute/ecloud/models/network.rb', line 44

def reload
  @rnats = nil
  @ips = nil
  super
end

#rnatsObject



16
17
18
# File 'lib/fog/compute/ecloud/models/network.rb', line 16

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