class MultiCloudImage

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/multi_cloud_image.rb, line 55
def initialize(*args, &block)
  super(*args, &block)
  if RightScale::Api::api0_1?
    @internal = MultiCloudImageInternal.new(*args, &block)
  end
end

Public Instance Methods

find_and_flatten_settings() click to toggle source
# File lib/rest_connection/rightscale/multi_cloud_image.rb, line 39
def find_and_flatten_settings
  if connection.settings[:legacy_shard]
    internal = MultiCloudImageInternal.new("href" => self.href)
    internal.reload
    total_image_count = internal.multi_cloud_image_cloud_settings.size
    # The .settings call filters out non-ec2 images
    more_settings = []
    if total_image_count > internal.settings.size
      more_settings = McMultiCloudImage.find(rs_id.to_i).settings
    end
    @params["multi_cloud_image_cloud_settings"] = internal.settings + more_settings
  else
    @params["multi_cloud_image_cloud_settings"] = McMultiCloudImage.find(rs_id.to_i).settings
  end
end
supported_cloud_ids() click to toggle source
# File lib/rest_connection/rightscale/multi_cloud_image.rb, line 35
def supported_cloud_ids
  @params["multi_cloud_image_cloud_settings"].map { |mcics| mcics.cloud_id }
end