class Volume
Public Class Methods
import(aws_volume)
click to toggle source
# File lib/models/volume.rb, line 10 def self.import(aws_volume) volume = Volume.where(remote_id: aws_volume.id).first || Volume.new(remote_id: aws_volume.id) volume.attributes = { name: aws_volume.tags["Name"], remote_id: aws_volume.id, state: aws_volume.state, volume_type: aws_volume.type, iops: aws_volume.iops, size: aws_volume.size, server: Server.where(remote_id: aws_volume.server_id).first, availability_zone: AvailabilityZone.find_or_create_by(name: aws_volume.availability_zone), created_at: aws_volume.created_at, deleted_at: nil } volume.save! aws_volume.tags.each do |key, value| volume.tags.find_or_create_by(name: key.downcase).update_attributes(value: value.downcase) end volume end
Public Instance Methods
set_hourly_rate()
click to toggle source
# File lib/models/volume.rb, line 34 def set_hourly_rate self.hourly_rate = if volume_type == "standard" (0.10 * self.size) / 720 elsif volume_type == "io1" (0.10 * self.size) / 720 elsif volume_type == "gp2" ((0.125 * self.size) + (0.10 * self.iops)) / 720 else raise "Unknown volume_type : #{self.volume_type}" end end