Parent

Class/Module Index [+]

Quicksearch

Fog::Compute::Google::Disk

Constants

RUNNING_STATE

Public Instance Methods

destroy() click to toggle source
# File lib/fog/google/models/compute/disk.rb, line 27
def destroy
  requires :name, :zone
  service.delete_disk(name, zone)
end
get_as_boot_disk(writable=true) click to toggle source
# File lib/fog/google/models/compute/disk.rb, line 42
def get_as_boot_disk(writable=true)
  mode = writable ? 'READ_WRITE' : 'READ_ONLY'
  return {
      'name' => name,
      'type' => 'PERSISTENT',
      'boot' => true,
      'source' => self_link,
      'mode' => mode
  }
end
ready?() click to toggle source
# File lib/fog/google/models/compute/disk.rb, line 53
def ready?
  data = service.get_disk(self.name, self.zone_name).body
  data['zone_name'] = self.zone_name
  self.merge_attributes(data)
  self.status == RUNNING_STATE
end
reload() click to toggle source
# File lib/fog/google/models/compute/disk.rb, line 60
def reload
  requires :identity
  requires :zone_name

  return unless data = begin
    collection.get(identity, zone_name)
  rescue Excon::Errors::SocketError
    nil
  end

  new_attributes = data.attributes
  merge_attributes(new_attributes)
  self
end
save() click to toggle source
# File lib/fog/google/models/compute/disk.rb, line 21
def save
  data = service.insert_disk(name, size_gb, zone_name, image_name).body
  data = service.backoff_if_unfound {service.get_disk(name, zone_name).body}
  service.disks.merge_attributes(data)
end
zone() click to toggle source
# File lib/fog/google/models/compute/disk.rb, line 32
def zone
  if self.zone_name.is_a? String
    service.get_zone(self.zone_name.split('/')[-1]).body["name"]
  elsif zone_name.is_a? Excon::Response
    service.get_zone(zone_name.body["name"]).body["name"]
  else
    self.zone_name
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.