class ServerTemplate

API 1.0

Attributes

internal[RW]

Public Class Methods

new(*args, &block) click to toggle source
Calls superclass method RightScale::Api::Base::new
# File lib/rest_connection/rightscale/server_template.rb, line 35
def initialize(*args, &block)
  super(*args, &block)
  if RightScale::Api::api0_1?
    @internal = ServerTemplateInternal.new(*args, &block)
  end
end

Public Instance Methods

alert_specs() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 57
def alert_specs
  unless @params["alert_specs"]
    fetch_alert_specs
  end
  @params["alert_specs"]
end
clone() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 113
def clone
  duplicate
end
duplicate() click to toggle source

The RightScale api calls this ‘duplicate’ but is more popularly known as ‘clone’ from a users perspective

# File lib/rest_connection/rightscale/server_template.rb, line 108
def duplicate
  my_href = URI.parse(self.href)
  ServerTemplate.new(:href => connection.post(my_href.path + "/duplicate"))
end
executables() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 50
def executables
  unless @params["executables"]
    fetch_executables
  end
  @params["executables"]
end
fetch_alert_specs() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 64
def fetch_alert_specs
  my_href = URI.parse(self.href)
  as = []
  connection.get(my_href.path + "/alert_specs").each do |e|
    as << AlertSpec.new(e)
  end
  @params["alert_specs"] = as
end
fetch_executables() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 80
def fetch_executables
  my_href = URI.parse(self.href)
  ex = []
  connection.get(my_href.path + "/executables").each do |e|
    ex << Executable.new(e)
  end
  @params["executables"] = ex
end
fetch_multi_cloud_images() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 89
def fetch_multi_cloud_images
  @params["multi_cloud_images"] = []
  if connection.settings[:legacy_shard]
    ServerTemplateInternal.new(:href => self.href).multi_cloud_images.each { |mci_params|
      @params["multi_cloud_images"] << MultiCloudImageInternal.new(mci_params)
    }
    mcis = McServerTemplate.find(self.rs_id.to_i).multi_cloud_images
    @params["multi_cloud_images"].each_index { |i|
      @params["multi_cloud_images"][i]["multi_cloud_image_cloud_settings"] += mcis[i].settings
    }
  else
    McServerTemplate.find(self.rs_id.to_i).multi_cloud_images.each { |mci|
      @params["multi_cloud_images"] << McMultiCloudImage.new(mci.params)
    }
  end
  @params["multi_cloud_images"]
end
multi_cloud_images() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 73
def multi_cloud_images
  unless @params["multi_cloud_images"]
    fetch_multi_cloud_images
  end
  @params["multi_cloud_images"]
end
reload() click to toggle source
# File lib/rest_connection/rightscale/server_template.rb, line 42
def reload
  ret = connection.get(URI.parse(self.href).path, :include_mcis => true)
  @params ? @params.merge!(ret) : @params = ret
  @params["multi_cloud_images"].map! { |mci_params| MultiCloudImage.new(mci_params) }
  @params["default_multi_cloud_image"] = MultiCloudImage.new(@params["default_multi_cloud_image"])
  @params
end