class Fog::Scaleway::Compute::Image

Public Instance Methods

default_bootscript=(value) click to toggle source
# File lib/fog/scaleway/models/compute/image.rb, line 17
def default_bootscript=(value)
  attributes[:default_bootscript] = case value
                                    when Hash
                                      service.bootscripts.new(value)
                                    when String
                                      service.bootscripts.new(identity: value)
                                    else
                                      value
                                    end
end
destroy() click to toggle source
# File lib/fog/scaleway/models/compute/image.rb, line 47
def destroy
  requires :identity

  service.delete_image(identity)
  true
end
root_volume=(value) click to toggle source
# File lib/fog/scaleway/models/compute/image.rb, line 28
def root_volume=(value)
  attributes[:root_volume] = case value
                             when Hash
                               service.snapshots.new(value)
                             when String
                               service.snapshots.new(identity: value)
                             else
                               value
                             end
end
save() click to toggle source
# File lib/fog/scaleway/models/compute/image.rb, line 39
def save
  if persisted?
    update
  else
    create
  end
end

Private Instance Methods

create() click to toggle source
# File lib/fog/scaleway/models/compute/image.rb, line 56
def create
  requires :name, :arch, :root_volume

  options = {}
  options[:default_bootscript] = default_bootscript.identity unless default_bootscript.nil?

  if (image = service.create_image(name, arch, root_volume.identity, options).body['image'])
    merge_attributes(image)
    true
  else
    false
  end
end
update() click to toggle source
# File lib/fog/scaleway/models/compute/image.rb, line 70
def update
  requires :identity

  if (image = service.update_image(identity, self).body['image'])
    merge_attributes(image)
    true
  else
    false
  end
end