Method: Fog::Ecloud::Compute::InternetService#monitor=

Defined in:
lib/fog/compute/models/ecloud/internet_service.rb

#monitor=(new_monitor = {}) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/fog/compute/models/ecloud/internet_service.rb', line 53

def monitor=(new_monitor = {})
  if new_monitor.nil? || new_monitor.empty?
    attributes[:monitor] = nil
  elsif new_monitor.is_a?(Hash)
    attributes[:monitor] = {}
    attributes[:monitor][:type] = new_monitor[:MonitorType] || new_monitor[:type]
    attributes[:monitor][:url_send_string] = new_monitor[:UrlSendString] || new_monitor[:url_send_string]
    attributes[:monitor][:http_headers] = new_monitor[:HttpHeader] || new_monitor[:http_headers]
    if attributes[:monitor][:http_headers]
      if attributes[:monitor][:http_headers].is_a?(String)
        attributes[:monitor][:http_headers] = attributes[:monitor][:http_headers].split("\n")
      else
        attributes[:monitor][:http_headers] = attributes[:monitor][:http_headers]
      end
    end
    attributes[:monitor][:receive_string] = new_monitor[:ReceiveString] || new_monitor[:receive_string]
    attributes[:monitor][:interval] = new_monitor[:Interval] || new_monitor[:interval]
    attributes[:monitor][:response_timeout] = new_monitor[:ResponseTimeOut] || new_monitor[:response_timeout]
    attributes[:monitor][:downtime] = new_monitor[:DownTime] || new_monitor[:downtime]
    attributes[:monitor][:retries] = new_monitor[:Retries] || new_monitor[:retries]
    attributes[:monitor][:is_enabled] = new_monitor[:IsEnabled] || new_monitor[:is_enabled]
  else
    raise RuntimeError.new("monitor needs to either be nil or a Hash")
  end
end