Class: Comet::VMDiskInfo
- Inherits:
-
Object
- Object
- Comet::VMDiskInfo
- Defined in:
- lib/comet/models/vmdisk_info.rb
Overview
VMDiskInfo is a typed class wrapper around the underlying Comet Server API data structure. This type is available in Comet 24.12.x and later.
Instance Attribute Summary collapse
-
#controller ⇒ Object
Controller number where the disk is associated to.
-
#device_num ⇒ Object
Device number within the controller.
-
#path ⇒ Object
Relative path within this backup job snapshot to root disk files.
-
#size ⇒ Object
The virtual size of the virtual disk.
-
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
Instance Method Summary collapse
- #clear ⇒ Object
- #from_hash(obj) ⇒ Object
- #from_json(json_string) ⇒ Object
-
#initialize ⇒ VMDiskInfo
constructor
A new instance of VMDiskInfo.
-
#to_h ⇒ Hash
The complete object as a Ruby hash.
-
#to_hash ⇒ Hash
The complete object as a Ruby hash.
-
#to_json(options = {}) ⇒ String
The complete object as a JSON string.
Constructor Details
#initialize ⇒ VMDiskInfo
Returns a new instance of VMDiskInfo.
35 36 37 |
# File 'lib/comet/models/vmdisk_info.rb', line 35 def initialize clear end |
Instance Attribute Details
#controller ⇒ Object
Controller number where the disk is associated to
26 27 28 |
# File 'lib/comet/models/vmdisk_info.rb', line 26 def controller @controller end |
#device_num ⇒ Object
Device number within the controller
30 31 32 |
# File 'lib/comet/models/vmdisk_info.rb', line 30 def device_num @device_num end |
#path ⇒ Object
Relative path within this backup job snapshot to root disk files
18 19 20 |
# File 'lib/comet/models/vmdisk_info.rb', line 18 def path @path end |
#size ⇒ Object
The virtual size of the virtual disk
22 23 24 |
# File 'lib/comet/models/vmdisk_info.rb', line 22 def size @size end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
33 34 35 |
# File 'lib/comet/models/vmdisk_info.rb', line 33 def unknown_json_fields @unknown_json_fields end |
Instance Method Details
#clear ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/comet/models/vmdisk_info.rb', line 39 def clear @path = '' @size = 0 @controller = 0 @device_num = 0 @unknown_json_fields = {} end |
#from_hash(obj) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/comet/models/vmdisk_info.rb', line 55 def from_hash(obj) raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash obj.each do |k, v| case k when 'Path' raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String @path = v when 'Size' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @size = v when 'Controller' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @controller = v when 'DeviceNum' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @device_num = v else @unknown_json_fields[k] = v end end end |
#from_json(json_string) ⇒ Object
48 49 50 51 52 |
# File 'lib/comet/models/vmdisk_info.rb', line 48 def from_json(json_string) raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String from_hash(JSON.parse(json_string)) end |
#to_h ⇒ Hash
Returns The complete object as a Ruby hash.
96 97 98 |
# File 'lib/comet/models/vmdisk_info.rb', line 96 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/comet/models/vmdisk_info.rb', line 83 def to_hash ret = {} ret['Path'] = @path ret['Size'] = @size ret['Controller'] = @controller ret['DeviceNum'] = @device_num @unknown_json_fields.each do |k, v| ret[k] = v end ret end |
#to_json(options = {}) ⇒ String
Returns The complete object as a JSON string.
101 102 103 |
# File 'lib/comet/models/vmdisk_info.rb', line 101 def to_json( = {}) to_hash.to_json() end |