Class: VCloudSdk::Disk
- Inherits:
-
Object
show all
- Extended by:
- Forwardable
- Includes:
- Infrastructure
- Defined in:
- lib/ruby_vcloud_sdk/disk.rb
Constant Summary
Infrastructure::ERROR_STATUSES, Infrastructure::SUCCESS_STATUS
Instance Method Summary
collapse
Constructor Details
#initialize(session, link) ⇒ Disk
Returns a new instance of Disk.
14
15
16
17
|
# File 'lib/ruby_vcloud_sdk/disk.rb', line 14
def initialize(session, link)
@session = session
@link = link
end
|
Instance Method Details
#attached? ⇒ Boolean
23
24
25
|
# File 'lib/ruby_vcloud_sdk/disk.rb', line 23
def attached?
!vm_reference.nil?
end
|
#delete ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/ruby_vcloud_sdk/disk.rb', line 35
def delete
fail CloudError,
"Disk '#{name}' of link #{href} is attached to VM '#{vm.name}'" if attached?
disk_name = name
task = connection.delete(entity_xml.remove_link.href)
task = monitor_task(task)
Config.logger.info "Disk '#{disk_name}' of link #{@link} is deleted successfully"
task
end
|
#href ⇒ Object
19
20
21
|
# File 'lib/ruby_vcloud_sdk/disk.rb', line 19
def href
@link
end
|
#vm ⇒ Object
27
28
29
30
31
32
33
|
# File 'lib/ruby_vcloud_sdk/disk.rb', line 27
def vm
vm_link = vm_reference
fail ObjectNotFoundError,
"No vm is attached to disk '#{name}'" if vm_link.nil?
VCloudSdk::VM.new(@session, vm_link.href)
end
|