class OpenStack::Nova::Compute::Flavor
An OpenStack
Floating Ip
Attributes¶ ↑
-
name
- The name of the flavor -
ram
- Amount of RAM (MBytes) -
disk
- Amount of storage (GBytes) -
swap
- Amount of swap storage (MBytes) -
vcpus
- Virtual CPUs -
rxtx_factor
- Traffic shaping (?) -
ephemeral_disk
- Ephemeral storage amount (GByte) -
is_public
- True if the flavor is public
Public Class Methods
Returns a list of Flavor
that can be used with the given Image
Attributes¶ ↑
-
image
- AnOpenStack::Nova::Compute::Image
instance or anImage
id
# File lib/open_stack/nova/compute/flavor.rb, line 152 def self.applicable_for_image(image) image_instance = image.is_a?(OpenStack::Nova::Compute::Image) ? image : Image.find(image) constraints = {} constraints[:min_ram] = image.min_ram if image_instance.min_ram > 0 constraints[:min_disk] = image.min_disk if image_instance.min_disk > 0 find_by_constraints constraints end
Returns a list of Flavor
that can be used with the given quota-set
Attributes¶ ↑
-
quota_set
- AnOpenStack::Nova::Compute::QuotaSet
instance
# File lib/open_stack/nova/compute/flavor.rb, line 166 def self.applicable_for_quota_set(quota_set) constraints = {} constraints[:max_ram] = quota_set.ram find_by_constraints constraints end
Returns a list of Flavor
that can be used with the given constraints
Attributes¶ ↑
-
constraints
- Hash of constraints. Valid keys are: :min_ram, :min_vcpus, :min_disk, :max_ram, :max_vcpus, :max_disk
# File lib/open_stack/nova/compute/flavor.rb, line 129 def self.find_by_constraints(constraints = {}) constraints = constraints.with_indifferent_access constraints[:min_ram] ||= -1.0/0.0 constraints[:min_vcpus] ||= -1.0/0.0 constraints[:min_disk] ||= -1.0/0.0 constraints[:max_ram] ||= +1.0/0.0 constraints[:max_vcpus] ||= +1.0/0.0 constraints[:max_disk] ||= +1.0/0.0 self.all.select do |flavor| flavor.ram >= constraints[:min_ram] and flavor.vcpus >= constraints[:min_vcpus] and flavor.disk >= constraints[:min_disk] and flavor.ram <= constraints[:max_ram] and flavor.vcpus <= constraints[:max_vcpus] and flavor.disk <= constraints[:max_disk] end end
Public Instance Methods
Returns a human-friendly description for this Flavor
# File lib/open_stack/nova/compute/flavor.rb, line 174 def description "#{vcpus} vCPU - #{ram} MB RAM - #{disk} GB Disk" end
Protected Instance Methods
# File lib/open_stack/nova/compute/flavor.rb, line 71 def initialize(attributes = {}, persisted = false) # :notnew: attributes = attributes.with_indifferent_access new_attributes = { :id => attributes[:id], :name => attributes[:name], :ram => attributes[:ram], :disk => attributes[:disk], :swap => attributes[:swap], :vcpus => attributes[:vcpus], :rxtx_factor => attributes[:rxtx_factor], :ephemeral_disk => attributes[:'OS-FLV-EXT-DATA:ephemeral'] || attributes[:ephemeral_disk], :is_public => attributes[:'os-flavor-access:is_public'] || attributes[:is_public] } super(new_attributes, persisted) self end