Sha256: a77daef82c136f212b275dc679b9ce82f977139dc81ca02ef5389cf7663b9a4e

Contents?: true

Size: 1.29 KB

Versions: 11

Compression:

Stored size: 1.29 KB

Contents

require 'fog/core/model'

module Fog
  module Compute
    class Serverlove

      class Image < Fog::Model

        identity :id, :aliases => 'drive'

        attribute :name   
        attribute :user
        attribute :size
        attribute :claimed
        attribute :status
        attribute :imaging
        attribute :encryption_cipher, :aliases => 'encryption:cipher'
        
        def save
          attributes = {}
          
          if(identity)
            attributes = connection.update_image(identity, allowed_attributes).body
          else
            requires :name
            requires :size
            attributes = connection.create_image(allowed_attributes).body
          end
          
          merge_attributes(attributes)
          self
        end
        
        def load_standard_image(standard_image_uuid)
          requires :identity
          connection.load_standard_image(identity, standard_image_uuid)
        end
        
        def ready?
          status.upcase == 'ACTIVE'
        end

        def destroy
          requires :identity
          connection.destroy_image(identity)
          self
        end
        
        def allowed_attributes
          allowed = [:name, :size]
          attributes.select {|k,v| allowed.include? k}
        end

      end
    end
  end
end

Version data entries

11 entries across 11 versions & 7 rubygems

Version Path
fog-nirvanix-1.8.2 lib/fog/serverlove/models/compute/image.rb
fog-nirvanix-1.8.1 lib/fog/serverlove/models/compute/image.rb
fog-parser-fix-1.6.1 lib/fog/serverlove/models/compute/image.rb
fog-test-again-1.6.0 lib/fog/serverlove/models/compute/image.rb
fog-parser-fix-1.6.0 lib/fog/serverlove/models/compute/image.rb
ey-vendored-backup-3.0.27 vendor/gems/fog/lib/fog/serverlove/models/compute/image.rb
fog-sgonyea-1.8.1 lib/fog/serverlove/models/compute/image.rb
fog-1.8.0 lib/fog/serverlove/models/compute/image.rb
fog-maestrodev-1.7.0.20121114190951 lib/fog/serverlove/models/compute/image.rb
fog-1.7.0 lib/fog/serverlove/models/compute/image.rb
fog-1.6.0 lib/fog/serverlove/models/compute/image.rb