Class: Fog::Volume::SakuraCloud::Disk

Inherits:
Model
  • Object
show all
Defined in:
lib/fog/sakuracloud/models/volume/disk.rb

Instance Method Summary collapse

Instance Method Details

#associate_ip(ipaddress, networkmasklen, defaultroute) ⇒ Object



50
51
52
53
54
55
56
57
58
59
# File 'lib/fog/sakuracloud/models/volume/disk.rb', line 50

def associate_ip(ipaddress, networkmasklen, defaultroute)
  subnet ={
    :ipaddress => ipaddress,
    :networkmasklen => networkmasklen,
    :defaultroute => defaultroute
  }
  requires :id
  service.associate_ip_to_disk(id, subnet )
  true
end

#attach(server_id) ⇒ Object



45
46
47
48
# File 'lib/fog/sakuracloud/models/volume/disk.rb', line 45

def attach(server_id)
  service.attach_disk(id, server_id)
  true
end

#carve_hostname_on_disk(hostname) ⇒ Object



39
40
41
42
43
# File 'lib/fog/sakuracloud/models/volume/disk.rb', line 39

def carve_hostname_on_disk(hostname)
  requires :id
  service.carve_hostname_on_disk(id, hostname )
  true
end

#configure(sshkey_id) ⇒ Object



33
34
35
36
37
# File 'lib/fog/sakuracloud/models/volume/disk.rb', line 33

def configure(sshkey_id)
  requires :id
  service.configure_disk(id, sshkey_id )
  true
end

#deleteObject Also known as: destroy



16
17
18
19
# File 'lib/fog/sakuracloud/models/volume/disk.rb', line 16

def delete
  service.delete_disk(identity)
  true
end

#register_script(notes) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/fog/sakuracloud/models/volume/disk.rb', line 61

def register_script(notes)
  note_ids = []
  note_ids << notes
  requires :id
  service.register_note_to_disk(id, note_ids.flatten )
  true
end

#saveObject



22
23
24
25
26
27
28
29
30
31
# File 'lib/fog/sakuracloud/models/volume/disk.rb', line 22

def save
  requires :name, :plan
  options = {
    :source_archive => source_archive,
    :size_mb => size_mb
  } 
  data = service.create_disk(name, plan, options).body["Disk"]
  merge_attributes(data)
  true
end