class Backup

API 1.5

Public Class Methods

cleanup(lineage, keep_last, params={}) click to toggle source
# File lib/rest_connection/rightscale/backup.rb, line 65
def self.cleanup(lineage, keep_last, params={})
  params.merge!('keep_last' => keep_last, 'lineage' => lineage)
  connection.post(resource_plural_name + "/cleanup", params)
end
filters() click to toggle source
# File lib/rest_connection/rightscale/backup.rb, line 33
def self.filters
  [:cloud_href, :committed, :completed, :from_master, :latest_before]
end
find_all(lineage) click to toggle source
# File lib/rest_connection/rightscale/backup.rb, line 37
def self.find_all(lineage)
  index(lineage)
end
find_with_filter(lineage, filter={}) click to toggle source
# File lib/rest_connection/rightscale/backup.rb, line 41
def self.find_with_filter(lineage, filter={})
  index(lineage, filter)
end
index(lineage, filter={}) click to toggle source
# File lib/rest_connection/rightscale/backup.rb, line 45
def self.index(lineage, filter={})
  filter_params = []
  filter.each { |key,val|
    unless self.filters.include?(key.to_sym)
      raise ArgumentError.new("#{key} is not a valid filter for resource #{self.resource_singular_name}")
    end
    filter_params << "#{key}==#{val}"
  }

  a = Array.new
  url = self.resource_plural_name
  hsh = {'lineage' => lineage}
  hsh.merge(:filter => filter_params) unless filter_params.empty?
  connection.get(url, hsh).each do |object|
    a << self.new(object)
  end

  return a
end

Public Instance Methods

restore(instance_href, name=nil, description=nil) click to toggle source
# File lib/rest_connection/rightscale/backup.rb, line 70
def restore(instance_href, name=nil, description=nil)
  uri = URI.parse(self.href)
  params = {'instance_href' => instance_href}
  params.deep_merge!({'backup' => {'name' => name}}) if name
  params.deep_merge!({'backup' => {'description' => description}}) if description
  location = connection.post(uri.path + "/restore", params)
  Task.new('href' => location)
end