Sha256: 7fdfead1559f46c29878e84620eaac71d380aacaa710de4bf49ab3d61d214d62

Contents?: true

Size: 1016 Bytes

Versions: 7

Compression:

Stored size: 1016 Bytes

Contents

require 'fog/core/model'

module Fog
  module Compute
    class SakuraCloud
      class Server < Fog::Model
        identity :id, :aliases => 'ID'
        attribute :name, :aliases => 'Name'
        attribute :server_plan, :aliases => 'ServerPlan'
        attribute :instance, :aliases => 'Instance'
        attribute :disks, :aliases => 'Disks'
        attribute :interfaces, :aliases => 'Interfaces'

        def save
          requires :name, :server_plan
          data = service.create_server(@attributes).body["Server"]
          merge_attributes(data)
          true
        end

        def boot
          requires :id
          service.boot_server(@attributes[:id])
        end

        def stop(force = false)
          requires :id
          service.stop_server(@attributes[:id], force)
        end

        def delete(disks = [])
          requires :id
          service.delete_server(@attributes[:id], disks)
          true
        end
        alias_method :destroy, :delete
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
fog-sakuracloud-1.1.0 lib/fog/sakuracloud/models/compute/server.rb
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-sakuracloud-1.0.1/lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.0.1 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.0.0 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-0.1.2 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-0.1.1 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-0.1.0 lib/fog/sakuracloud/models/compute/server.rb