1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/compute/requests/linode/avail_linodeplans.rb

34 lines
951 B
Ruby

module Fog
module Compute
class Linode
class Real
# Get available plans
#
# ==== Parameters
# * linodeplanId<~Integer>: id to limit results to
#
# ==== Returns
# * response<~Excon::Response>:
# * body<~Array>:
# TODO: docs
def avail_linodeplans(linodeplan_id = nil)
options = {}
if linodeplan_id
options.merge!(:planId => linodeplan_id)
end
result = request(
:expects => 200,
:method => 'GET',
:query => { :api_action => 'avail.linodeplans' }.merge!(options)
)
#hack for plans not filtering by id like they should above, remove when they fix it.
result.body["DATA"] = result.body["DATA"].select { |item| item['PLANID'] == linodeplan_id } if linodeplan_id
result
end
end
end
end
end