Method: Larrow::Qingcloud::Instance.create

Defined in:
lib/larrow/qingcloud/instance.rb

.create(image_id: nil, cpu: 1, memory: 1024, count: 1, login_mode: 'passwd', passwd: '1qaz@WSX', keypair_id: nil, vxnet_id: 'vxnet-0') ⇒ Object

return an array(running instance)



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/larrow/qingcloud/instance.rb', line 9

def self.create(image_id:nil,
                cpu:1,
                memory:1024,
                count:1, 
                login_mode: 'passwd',
                passwd:'1qaz@WSX', 
                keypair_id:nil, 
                vxnet_id:'vxnet-0')
  err 'The default password is weak, you should change it'

  image_id ||= 'trustysrvx64c'
  
  result = conn.service 'get', 'RunInstances',
                        :image_id         => image_id,
                        :cpu              => cpu,
                        :memory           => memory,
                        :count            => count,
                        :login_mode       => ,
                        :login_passwd     => passwd,
                        :'login_keypair'  => keypair_id,
                        :'vxnets.n'       => vxnet_id

  info "instance added: #{result['instances']}"
  result['instances'].map do |id|
    instance = new id,keypair_id: keypair_id,vxnet_id:vxnet_id
    promise(timeout:90){ instance.wait_for :running }
  end
end