Class: Fog::Compute::Ecloud::InternetService
Instance Attribute Summary
#loaded
Attributes inherited from Model
#collection, #service
Instance Method Summary
collapse
#load_unless_loaded!, #reload
Methods inherited from Model
#initialize, #inspect, #reload, #symbolize_keys, #to_json, #wait_for
#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes
#connection, #connection=, #prepare_service_value
#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #persisted?, #requires, #requires_one
Constructor Details
This class inherits a constructor from Fog::Model
Instance Method Details
#create_monitor(options = {}) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/fog/ecloud/models/compute/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 ⇒ Object
Also known as:
destroy
48
49
50
51
|
# File 'lib/fog/ecloud/models/compute/internet_service.rb', line 48
def delete
data = service.internet_service_delete(href).body
self.service.tasks.new(data)
end
|
#disable_monitor ⇒ Object
74
75
76
77
|
# File 'lib/fog/ecloud/models/compute/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) ⇒ Object
42
43
44
45
46
|
# File 'lib/fog/ecloud/models/compute/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 ⇒ Object
79
80
81
|
# File 'lib/fog/ecloud/models/compute/internet_service.rb', line 79
def id
href.scan(/\d+/)[0]
end
|
#monitors ⇒ Object
29
30
31
|
# File 'lib/fog/ecloud/models/compute/internet_service.rb', line 29
def monitors
@monitors ||= Fog::Compute::Ecloud::Monitors.new(:service => service, :href => "/cloudapi/ecloud/internetServices/#{id}/monitor")
end
|
#nodes ⇒ Object
25
26
27
|
# File 'lib/fog/ecloud/models/compute/internet_service.rb', line 25
def nodes
@nodes ||= Fog::Compute::Ecloud::Nodes.new(:service => service, :href => href)
end
|
#ready? ⇒ Boolean
21
22
23
|
# File 'lib/fog/ecloud/models/compute/internet_service.rb', line 21
def ready?
!self.port.nil?
end
|
#save ⇒ Object
33
34
35
36
37
38
39
40
|
# File 'lib/fog/ecloud/models/compute/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
|