class Fog::Compute::Linode::Disk

Public Instance Methods

destroy() click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 19
def destroy
  requires :identity, :server
  service.linode_disk_delete server.id, id
end
save() click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 11
def save
  requires :server
  raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
  @type, @image, @stack_script, @name, @password, @size =
    attributes.values_at :type, :image, :stack_script, :name, :password, :size
  create_disk
end
server() click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 24
def server
  @server
end

Private Instance Methods

create_disk() click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 33
def create_disk
  case
  when @image && @stack_script then create_disk_from_stack_script
  when @image then create_disk_from_image
  when @type then create_disk_type
  else raise 'disk cannot be created'
  end
end
create_disk_from_image() click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 47
def create_disk_from_image
  disk = service.linode_disk_createfromdistribution server.id, @image.id, "#{@name}_main", @size, @password
  self.id = disk.body['DATA']['DiskID']
  reload
end
create_disk_from_stack_script() click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 53
def create_disk_from_stack_script
  disk = service.linode_disk_createfromstackscript(server.id, @stack_script.id, @image.id,
                                                      "#{@name}_main", @size, @password, @stack_script.options)
  self.id = disk.body['DATA']['DiskID']
  reload
end
create_disk_type() click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 42
def create_disk_type
  self.id = service.linode_disk_create(server.id, "#{@name}_#{@type}", @type, @size).body['DATA']['DiskID']
  reload
end
server=(server) click to toggle source
# File lib/fog/linode/models/compute/disk.rb, line 29
def server=(server)
  @server = server
end