class Fog::Rackspace::Monitoring::Real

Public Class Methods

new(options={}) click to toggle source
# File lib/fog/rackspace/monitoring.rb, line 98
def initialize(options={})
  @rackspace_api_key = options[:rackspace_api_key]
  @rackspace_username = options[:rackspace_username]
  @rackspace_auth_url = options[:rackspace_auth_url]
  @connection_options = options[:connection_options] || {}
  @rackspace_endpoint = Fog::Rackspace.normalize_url(options[:rackspace_monitoring_url])

  authenticate

  @persistent = options[:persistent] || false
  @connection = Fog::Connection.new(endpoint_uri.to_s, @persistent, @connection_options)
end

Public Instance Methods

create_agent_token(options = {}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/create_agent_token.rb, line 6
def create_agent_token(options = {})
  data = options.dup
  request(
    :body     => JSON.encode(data),
    :expects  => [201],
    :method   => 'POST',
    :path     => 'agent_tokens'
  )
end
create_alarm(entity_id, options = {}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/create_alarm.rb, line 6
def create_alarm(entity_id, options = {})
  data = options.dup
  request(
    :body     => JSON.encode(data),
    :expects  => [201],
    :method   => 'POST',
    :path     => "entities/#{entity_id}/alarms"
  )
end
create_check(entity_id, options = {}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/create_check.rb, line 6
def create_check(entity_id, options = {})
  data = options.dup
  request(
    :body     => JSON.encode(data),
    :expects  => [201],
    :method   => 'POST',
    :path     => "entities/#{entity_id}/checks"
  )
end
create_entity(options = {}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/create_entity.rb, line 6
def create_entity(options = {})
  data = options.dup
  request(
    :body     => JSON.encode(data),
    :expects  => [201],
    :method   => 'POST',
    :path     => 'entities'
  )
end
delete_agent_token(token_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/delete_agent_token.rb, line 6
def delete_agent_token(token_id)
  request(
    :expects  => [204],
    :method   => 'DELETE',
    :path     => "agent_tokens/#{token_id}"
  )
end
delete_alarm(entity_id, alarm_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/delete_alarm.rb, line 6
def delete_alarm(entity_id, alarm_id)
  request(
    :expects  => [204],
    :method   => 'DELETE',
    :path     => "entities/#{entity_id}/alarms/#{alarm_id}"
  )
end
delete_check(entity_id, check_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/delete_check.rb, line 6
def delete_check(entity_id, check_id)
  request(
    :expects  => [204],
    :method   => 'DELETE',
    :path     => "entities/#{entity_id}/checks/#{check_id}"
  )
end
delete_entity(entity_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/delete_entity.rb, line 6
def delete_entity(entity_id)
  request(
    :expects  => [204],
    :method   => 'DELETE',
    :path     => "entities/#{entity_id}"
  )
end
endpoint_uri(service_endpoint_url=nil) click to toggle source
Calls superclass method Fog::Rackspace::Service#endpoint_uri
# File lib/fog/rackspace/monitoring.rb, line 115
def endpoint_uri(service_endpoint_url=nil)
  @uri = super(@rackspace_endpoint || service_endpoint_url, :rackspace_monitoring_url)
end
evaluate_alarm_example(id, options = {}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/evaluate_alarm_example.rb, line 6
def evaluate_alarm_example(id, options = {})
  options ||= {}
  data = {:values => options.dup}
  request(
    :body     => JSON.encode(data),
    :expects  => [200],
    :method   => 'POST',
    :path     => "alarm_examples/#{id}"
  )
end
get_agent_token(id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/get_agent_token.rb, line 6
def get_agent_token(id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "agent_tokens/#{id}"
  )
end
get_alarm(entity_id, alarm_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/get_alarm.rb, line 6
def get_alarm(entity_id, alarm_id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "entities/#{entity_id}/alarms/#{alarm_id}"
  )
end
get_alarm_example(id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/get_alarm_example.rb, line 6
def get_alarm_example(id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "alarm_examples/#{id}"
  )
end
get_check(entity_id, check_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/get_check.rb, line 6
def get_check(entity_id, check_id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "entities/#{entity_id}/checks/#{check_id}"
  )
end
get_entity(entity_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/get_entity.rb, line 6
def get_entity(entity_id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "entities/#{entity_id}"
  )
end
list_agent_tokens(options={}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_agent_tokens.rb, line 6
def list_agent_tokens(options={})
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => 'agent_tokens',
    :query    => options
  )
end
list_alarm_examples() click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_alarm_examples.rb, line 6
def list_alarm_examples
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => 'alarm_examples'
  )
end
list_alarms(entity_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_alarms.rb, line 6
def list_alarms(entity_id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "entities/#{entity_id}/alarms"
  )
end
list_check_types() click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_check_types.rb, line 6
def list_check_types
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "check_types"
  )
end
list_checks(entity_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_checks.rb, line 6
def list_checks(entity_id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "entities/#{entity_id}/checks"
  )
end
list_data_points(entity_id, check_id, metric_name, options) click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_data_points.rb, line 6
def list_data_points(entity_id, check_id, metric_name, options)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "entities/#{entity_id}/checks/#{check_id}/metrics/#{metric_name}/plot",
    :query    => options
  )
end
list_entities(options={}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_entities.rb, line 6
def list_entities(options={})
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => 'entities',
    :query    => options
  )
end
list_metrics(entity_id, check_id) click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_metrics.rb, line 6
def list_metrics(entity_id, check_id)
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "entities/#{entity_id}/checks/#{check_id}/metrics"
  )
end
list_notification_plans() click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_notification_plans.rb, line 6
def list_notification_plans
  request(
    :expects  => [200],
    :method   => 'GET',
    :path     => "notification_plans"
  )
end
list_overview(options={}) click to toggle source
# File lib/fog/rackspace/requests/monitoring/list_overview.rb, line 6
def list_overview(options={})
  request(
    :expects  => [200, 203],
    :method   => 'GET',
    :path     => "views/overview",
    :query    => options
  )
end
region() click to toggle source
# File lib/fog/rackspace/monitoring.rb, line 94
def region
  @rackspace_region
end
reload() click to toggle source
# File lib/fog/rackspace/monitoring.rb, line 111
def reload
  @connection.reset
end
service_name() click to toggle source
# File lib/fog/rackspace/monitoring.rb, line 90
def service_name
  :cloudMonitoring
end
update_alarm(entity_id, id, options) click to toggle source
# File lib/fog/rackspace/requests/monitoring/update_alarm.rb, line 6
def update_alarm(entity_id, id, options)
  request(
    :body     => JSON.encode(options),
    :expects  => [204],
    :method   => 'PUT',
    :path     => "entities/#{entity_id}/alarms/#{id}"
  )
end
update_check(entity_id, id, options) click to toggle source
# File lib/fog/rackspace/requests/monitoring/update_check.rb, line 6
def update_check(entity_id, id, options)
  request(
    :body     => JSON.encode(options),
    :expects  => [204],
    :method   => 'PUT',
    :path     => "entities/#{entity_id}/checks/#{id}"
  )
end
update_entity(id, options) click to toggle source
# File lib/fog/rackspace/requests/monitoring/update_entity.rb, line 6
def update_entity(id, options)
  request(
    :body     => JSON.encode(options),
    :expects  => [204],
    :method   => 'PUT',
    :path     => "entities/#{id}"
  )
end

Private Instance Methods

authenticate() click to toggle source
Calls superclass method Fog::Rackspace::Service#authenticate
# File lib/fog/rackspace/monitoring.rb, line 137
def authenticate
  options = {
    :rackspace_api_key => @rackspace_api_key,
    :rackspace_username => @rackspace_username,
    :rackspace_auth_url => @rackspace_auth_url,
    :connection_options => @connection_options
  }
  super(options)
end
request(params, parse_json = true, &block) click to toggle source
Calls superclass method Fog::Rackspace::Service#request
# File lib/fog/rackspace/monitoring.rb, line 121
def request(params, parse_json = true, &block)
  super(params, parse_json, &block)
  rescue Excon::Errors::BadRequest => error
    raise BadRequest.slurp error
  rescue Excon::Errors::Conflict => error
    raise Conflict.slurp error
  rescue Excon::Errors::NotFound => error
    raise NotFound.slurp(error, region)
  rescue Excon::Errors::ServiceUnavailable => error
    raise ServiceUnavailable.slurp error
  rescue Excon::Errors::InternalServerError => error
    raise InternalServerError.slurp error
  rescue Excon::Errors::HTTPStatusError => error
    raise ServiceError.slurp error
end