1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/sakuracloud/models/compute/server.rb
sawanoboly 453b021bbd writenig provider for sakuracloud ,wip
list ssh_keys and create disk

add models and requests for  create computer

create server at once

add bin and route file

update create_with

write getting_started wip. and create helper methods.

add sakura to mock_helper

add bin and route file

write getting_started wip. and create helper methods.

add mocks and test

create tests and write getting started

writenig provider for sakuracloud ,wip

list ssh_keys and create disk

add models and requests for  create computer

create server at once

add bin and route file

update create_with

write getting_started wip. and create helper methods.

add sakura to mock_helper

add bin and route file

write getting_started wip. and create helper methods.

add mocks and test

create tests and write getting started

mv getting_started to docs

mv getting_started to docs

use snake_case for models

fix: wrong usage of :aliases

update doc. replace to snake_case from class

update mocks format

Fix: remove commas for Ruby 1.8.7

duplicate example

use create method with option if atatch volume

remove empty line (checking travis works..)

fix args for core/provider.rb#service
2014-02-12 12:30:44 +09:00

42 lines
1 KiB
Ruby

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[:name], @attributes[:server_plan]).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