class Fog::Compute::Ecloud::InternetService
Public Instance Methods
create_monitor(options = {})
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 53 def create_monitor(options = {}) options = {:type => :default}.merge(options) case options[:type] when :default data = service.monitors_create_default(href + "/action/createDefaultMonitor").body when :ping options[:enabled] ||= true options[:uri] = href + "/action/createPingMonitor" data = service.monitors_create_ping(options).body when :http options[:uri] = href + "/action/createHttpMonitor" data = service.monitors_create_http(options).body when :ecv options[:uri] = href + "/action/createEcvMonitor" data = service.monitors_create_ecv(options).body when :loopback data = service.monitors_create_loopback(href).body end monitor = Fog::Compute::Ecloud::Monitors.new(:service => service, :href => data[:href]) end
delete()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 48 def delete data = service.internet_service_delete(href).body self.service.tasks.new(data) end
Also aliased as: destroy
disable_monitor()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 74 def disable_monitor data = service.monitors_disable(href + "/action/disableMonitor").body task = Fog::Compute::Ecloud::Tasks.new(:service => service, :href => data[:href]) end
edit(options)
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 42 def edit(options) options[:uri] = href data = service.internet_service_edit(options).body task = Fog::Compute::Ecloud::Tasks.new(:service => service, :href => data[:href])[0] end
id()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 79 def id href.scan(/\d+/)[0] end
monitors()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 29 def monitors @monitors ||= Fog::Compute::Ecloud::Monitors.new(:service => service, :href => "#{service.base_path}/internetServices/#{id}/monitor") end
nodes()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 25 def nodes @nodes ||= Fog::Compute::Ecloud::Nodes.new(:service => service, :href => href) end
ready?()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 21 def ready? !self.port.nil? end
save()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 33 def save unless persisted? result = service.internet_service_create( collection.href, _compose_service_data ) merge_attributes(result.body) else service.configure_internet_service( href, _compose_service_data, _compose_ip_data ) end end
Private Instance Methods
_compose_service_data()
click to toggle source
# File lib/fog/compute/ecloud/models/internet_service.rb, line 85 def _compose_service_data #For some reason inject didn't work service_data = {} self.class.attributes.select{ |attribute| attribute != :backup_service_data }.each { |attribute| service_data[attribute] = send(attribute) } service_data.reject! {|k, v| v.nil? } service_data end
reload()
click to toggle source
Calls superclass method
Fog::Ecloud::Model#reload
# File lib/fog/compute/ecloud/models/internet_service.rb, line 95 def reload @nodes = nil @monitors = nil super end