Module: Giraffi::Client::Services

Included in:
Giraffi::Client
Defined in:
lib/giraffi/client/services.rb

Overview

Defines methods related to the services

Instance Method Summary collapse

Instance Method Details

#add_trigger_to_service(id, options = {}) ⇒ HTTParty::Response

Adds a trigger to the service

Parameters:

  • id (String)

    The numerical ID of the related service

  • options (Hash) (defaults to: {})

    A set of attributes for a trigger to add to the service

Returns:

  • (HTTParty::Response)

Requires APIKEY?:

  • Yes



48
49
50
# File 'lib/giraffi/client/services.rb', line 48

def add_trigger_to_service(id, options={})
  self.class.post("/services/#{id}/triggers.json?apikey=#{apikey}", :query => {:trigger => options})
end

#destroy_service(id) ⇒ HTTParty::Response

Deletes the service

Parameters:

  • id (String)

    The numerical ID of the desired service

Returns:

  • (HTTParty::Response)

Requires APIKEY?:

  • Yes



79
80
81
# File 'lib/giraffi/client/services.rb', line 79

def destroy_service(id)
  self.class.delete("/services/#{id}.json?apikey=#{apikey}")
end

#find_region_by_service(id) ⇒ HTTParty::Response

Returns the region related to the desired service

Parameters:

  • id (String)

    The numerical ID of the desired service

Returns:

  • (HTTParty::Response)

Requires APIKEY?:

  • Yes



29
30
31
# File 'lib/giraffi/client/services.rb', line 29

def find_region_by_service(id)
  self.class.get("/services/#{id}/regions.json?apikey=#{apikey}") 
end

#find_service(id) ⇒ HTTParty::Response

Returns the desired service

Parameters:

  • id (String)

    The numerical ID of the desired service

Returns:

  • (HTTParty::Response)

Requires APIKEY?:

  • Yes



20
21
22
# File 'lib/giraffi/client/services.rb', line 20

def find_service(id)
  self.class.get("/services/#{id}.json?apikey=#{apikey}")
end

#find_services(options = {}) ⇒ HTTParty::Response

Returns the desired services

Parameters:

  • options (Hash) (defaults to: {})

    The request params to retrieve the desired services

Returns:

  • (HTTParty::Response)

Requires APIKEY?:

  • Yes



11
12
13
# File 'lib/giraffi/client/services.rb', line 11

def find_services(options={})
  self.class.get("/services.json?apikey=#{apikey}", :query => options)
end

#find_triggers_by_service(id) ⇒ HTTParty::Response

Returns all triggers related to the desired service

Parameters:

  • id (String)

    The numerical ID of the desired service

Returns:

  • (HTTParty::Response)

Requires APIKEY?:

  • Yes



38
39
40
# File 'lib/giraffi/client/services.rb', line 38

def find_triggers_by_service(id)
  self.class.get("/services/#{id}/triggers.json?apikey=#{apikey}")
end

#remove_trigger_from_service(*args) ⇒ HTTParty::Response

Removes a trigger from the service

Parameters:

  • args (Array)

    A set of params to remove a trigger from the service

Options Hash (*args):

  • The (String)

    numerical ID of the related service

  • The (String)

    numerical ID of the trigger to remove

Returns:

  • (HTTParty::Response)

Raises:

  • (ArgumentError)

Requires APIKEY?:

  • Yes



90
91
92
93
# File 'lib/giraffi/client/services.rb', line 90

def remove_trigger_from_service(*args)
  raise ArgumentError.new('The method `remove_trigger_from_service` requires 2 arguments (service-id and trigger-id).') if args.size != 2
  self.class.delete("/services/#{args[0]}/triggers/#{args[-1]}.json?apikey=#{apikey}")
end

#update_region_of_service(*args) ⇒ HTTParty::Response

Updates the region related to the service

Parameters:

  • args (Array)

    A set of params to update the region

Options Hash (*args):

  • The (String)

    numerical ID of the related service

  • The (String)

    region code(e.g JP) to update

Returns:

  • (HTTParty::Response)

Raises:

  • (ArgumentError)

Requires APIKEY?:

  • Yes



69
70
71
72
# File 'lib/giraffi/client/services.rb', line 69

def update_region_of_service(*args)
  raise ArgumentError.new('The method `update_region_of_service` requires 2 arguments (service-id and region-code).') if args.size != 2
  self.class.put("/services/#{args[0]}/regions/#{args[-1]}.json?apikey=#{apikey}", :body => {})
end

#update_service(id, options = {}) ⇒ HTTParty::Response

Updates the desired service

Parameters:

  • id (String)

    The numerical ID of the desired service

  • options (Hash) (defaults to: {})

    A set of attributes to update the service

Returns:

  • (HTTParty::Response)

Requires APIKEY?:

  • Yes



58
59
60
# File 'lib/giraffi/client/services.rb', line 58

def update_service(id, options={})
  self.class.put("/services/#{id}.json?apikey=#{apikey}", :query => {:service => options}, :body => {})
end