Sha256: 56c43846a39bb956603437bfbf0f087f41c5c31edd88bcf8f5653f19fb33f47f
Contents?: true
Size: 1.43 KB
Versions: 26
Compression:
Stored size: 1.43 KB
Contents
require 'fog/model' module Fog module Rackspace module Servers class Server < Fog::Model identity :id attribute :addresses attribute :password, 'adminPass' attribute :flavor_id, 'flavorId' attribute :host_id, 'hostId' attribute :image_id, 'imageId' attribute :metadata attribute :name attribute :personality attribute :progress attribute :status def destroy requires :id connection.delete_server(@id) true end def flavor requires :flavor_id connection.flavors.get(@flavor_id) end def image requires :image_id connection.images.get(@image_id) end def images requires :id connection.images(:server => self) end def ready? @status == 'ACTIVE' end def reboot(type = 'SOFT') requires :id connection.reboot_server(@id, type) true end def save requires :flavor_id, :image_id, :name options = { 'metadata' => @metadata, 'personality' => @personality } options = options.reject {|key, value| value.nil?} data = connection.create_server(@flavor_id, @image_id, @name, options) merge_attributes(data.body['server']) true end end end end end
Version data entries
26 entries across 26 versions & 1 rubygems