Sha256: b2d3d4695c20c528513958550505f8b38216347d7a4e57061b7d99a5ea9492ec

Contents?: true

Size: 1.01 KB

Versions: 10

Compression:

Stored size: 1.01 KB

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(force = false, disks = [])
          requires :id
          service.delete_server(@attributes[:id], force, disks)
          true
        end
        alias_method :destroy, :delete
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
fog-sakuracloud-1.5.2 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.5.1 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.5.0 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.4.0 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.3.3 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.3.2 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.3.1 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.3.0 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.2.0 lib/fog/sakuracloud/models/compute/server.rb
fog-sakuracloud-1.1.1 lib/fog/sakuracloud/models/compute/server.rb