class RHC::Rest::Cartridge
Constants
- HIDDEN_TAGS
Public Class Methods
for_url(url)
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 166 def self.for_url(url) new 'url' => url end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 150 def <=>(other) return -1 if other.type == 'standalone' && type != 'standalone' return 1 if type == 'standalone' && other.type != 'standalone' name <=> other.name end
additional_gear_storage()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 54 def additional_gear_storage attribute(:additional_gear_storage).to_i rescue 0 end
automatic_updates?()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 27 def automatic_updates? v = attribute(:automatic_updates) if v.nil? v = !(tags.include?('no_updates') || custom?) end v end
collocated_with()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 42 def collocated_with Array(attribute(:collocated_with)) end
connection_info()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 145 def connection_info info = property(:cart_data, :connection_url) || property(:cart_data, :job_url) || property(:cart_data, :monitoring_url) info ? (info["value"] || '').rstrip : nil end
custom?()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 15 def custom? url.present? end
destroy()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 128 def destroy debug "Deleting cartridge #{name}" rest_method "DELETE" end
Also aliased as: delete
display_name()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 58 def display_name attribute(:display_name) || name || url_basename end
external?()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 35 def external? tags.include?('external') end
gear_storage()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 50 def gear_storage (base_gear_storage + additional_gear_storage) * 1024 * 1024 * 1024 end
only_in_existing?()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 23 def only_in_existing? type == 'embedded' end
only_in_new?()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 19 def only_in_new? type == 'standalone' end
property(type, key)
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 97 def property(type, key) key, type = key.to_s, type.to_s properties.select{ |p| p['type'] == type }.find{ |p| p['name'] == key } end
reload()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 123 def reload debug "Reloading cartridge #{name}" rest_method "RESTART", :event => "reload" end
restart()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 118 def restart debug "Restarting cartridge #{name}" rest_method "RESTART", :event => "restart" end
scalable?()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 11 def scalable? supported_scales_to != supported_scales_from end
scaling()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 88 def scaling { :current_scale => current_scale, :scales_from => scales_from, :scales_to => scales_to, :gear_profile => gear_profile, } if scalable? end
set_scales(values)
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 134 def set_scales(values) values.delete_if{|k,v| v.nil? } debug "Setting scales = %s" % values.map{|k,v| "#{k}: #{v}"}.join(" ") rest_method "UPDATE", values end
set_storage(values)
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 140 def set_storage(values) debug "Setting additional storage: #{values[:additional_gear_storage]}GB" rest_method "UPDATE", values end
short_name()
click to toggle source
Use this value when the user should interact with this cart via CLI
arguments
# File lib/rhc/rest/cartridge.rb, line 65 def short_name name || url end
start()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 108 def start debug "Starting cartridge #{name}" rest_method "START", :event => "start" end
status()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 102 def status debug "Getting cartridge #{name}'s status" result = rest_method "GET", :include => "status_messages" result.status_messages end
stop()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 113 def stop debug "Stopping cartridge #{name}" rest_method "STOP", :event => "stop" end
url_basename()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 156 def url_basename uri = URI.parse(url) name = uri.fragment name = Rack::Utils.parse_nested_query(uri.query)['name'] if name.blank? && uri.query name = File.basename(uri.path) if name.blank? && uri.path.present? && uri.path != '/' name.presence || url rescue url end
usage_rate?()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 69 def usage_rate? rates = usage_rates !(rates.nil? || rates.empty?) end
usage_rates()
click to toggle source
# File lib/rhc/rest/cartridge.rb, line 74 def usage_rates rate = attribute(:usage_rate_usd).to_f rescue 0.0 if rate > 0 {rate => []} elsif attribute(:usage_rates).present? attribute(:usage_rates).inject({}) do |plans_by_rate, rate| if (usd = rate['usd'].to_f rescue 0.0) > 0 (plans_by_rate[usd] ||= []) << rate['plan_id'] end plans_by_rate end end end