class IIJ::Sakagura::GP::GC
Attributes
gc_service_code[R]
gp_service_code[R]
Public Class Methods
new(client, gp_service_code, gc_service_code)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 7 def initialize(client, gp_service_code, gc_service_code) @client = client @gp_service_code = gp_service_code @gc_service_code = gc_service_code end
Public Instance Methods
[](attr)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 40 def [](attr) info[attr] end
attach_fwlb(gl_service_code)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 106 def attach_fwlb(gl_service_code) call('AttachFwLb', "GlServiceCode" => gl_service_code) end
call(api_name, params = {})
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 132 def call(api_name, params = {}) @client.post(api_name, default_args.merge(params)) end
change_vm_type(vm_type)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 102 def change_vm_type(vm_type) call('ChangeVirtualMachineType', "VirtualMachineType" => vm_type) end
contract_status(opts = {})
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 48 def contract_status(opts = {}) @contract_status = nil if opts[:force] @contract_status ||= get_contract_status @contract_status end
contract_status!()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 54 def contract_status! contract_status(:force => true) end
default_args()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 19 def default_args { "GpServiceCode" => gp_service_code, "GcServiceCode" => gc_service_code } end
describe_virtual_machine()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 26 def describe_virtual_machine call('DescribeVirtualMachine') end
detach_fwlb(gl_service_code)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 110 def detach_fwlb(gl_service_code) call('DetachFwLb', "GlServiceCode" => gl_service_code) end
get_contract_status()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 44 def get_contract_status call('GetContractStatus')['Status'] end
get_virtual_machine_status()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 58 def get_virtual_machine_status call('GetVirtualMachineStatus')['Status'] end
import_ssh_public_key(public_key)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 90 def import_ssh_public_key(public_key) call('ImportRootSshPublicKey', "PublicKey" => public_key) end
info(opts = {})
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 30 def info(opts = {}) @info = nil if opts[:force] @info ||= describe_virtual_machine @info end
info!()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 36 def info! info(:force => true) end
initialize_vm(var_device_name = nil)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 84 def initialize_vm(var_device_name = nil) opts = {} opts["VarDeviceName"] = var_device_name if var_device_name call('InitializeVirtualMachine', opts) end
inspect()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 15 def inspect %[#<#{self.class.name} @gp_service_code="#{gp_service_code}", @gc_service_code="#{gc_service_code}">] end
reboot()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 80 def reboot call('RebootVirtualMachine') end
set_label(label)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 94 def set_label(label) @client.post("SetLabel", "GpServiceCode" => gp_service_code, "ServiceCode" => gc_service_code, "Label" => label) end
Also aliased as: label=
start()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 72 def start call('StartVirtualMachine') end
status(opts = {})
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 62 def status(opts = {}) @status = nil if opts[:force] @status ||= get_virtual_machine_status @status end
status!()
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 68 def status! status(:force => true) end
stop(force = false)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 76 def stop(force = false) call('StopVirtualMachine', { "Force" => force ? "Yes" : "No" }) end
wait_for_start(opts = {}, &block)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 114 def wait_for_start(opts = {}, &block) wait_while(proc { status! == "Starting" }, opts, &block) end
wait_for_stop(opts = {}, &block)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 118 def wait_for_stop(opts = {}, &block) wait_while(proc { status! == "Stopping" }, opts, &block) end
wait_while(checker, opts = {}, &block)
click to toggle source
# File lib/iij/sakagura/gp/gc.rb, line 122 def wait_while(checker, opts = {}, &block) opts[:wait_sec] ||= 10 catch(:abort) do while checker.call block.call if block sleep opts[:wait_sec] end end end