Class: VSphereCloud::DiskConfig
- Inherits:
-
Object
- Object
- VSphereCloud::DiskConfig
- Defined in:
- lib/cloud/vsphere/resources/disk/disk_config.rb
Instance Method Summary collapse
-
#initialize(datastore_name, filename, controller_key, size_in_mb) ⇒ DiskConfig
constructor
A new instance of DiskConfig.
- #spec(options) ⇒ Object
Constructor Details
#initialize(datastore_name, filename, controller_key, size_in_mb) ⇒ DiskConfig
Returns a new instance of DiskConfig.
3 4 5 6 7 8 |
# File 'lib/cloud/vsphere/resources/disk/disk_config.rb', line 3 def initialize(datastore_name, filename, controller_key, size_in_mb) @datastore_name = datastore_name @filename = filename @controller_key = controller_key @size_in_mb = size_in_mb end |
Instance Method Details
#spec(options) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/cloud/vsphere/resources/disk/disk_config.rb', line 10 def spec() backing_info = VimSdk::Vim::Vm::Device::VirtualDisk::FlatVer2BackingInfo.new backing_info.datastore = @datastore_name if [:independent] backing_info.disk_mode = VimSdk::Vim::Vm::Device::VirtualDiskOption::DiskMode::INDEPENDENT_PERSISTENT else backing_info.disk_mode = VimSdk::Vim::Vm::Device::VirtualDiskOption::DiskMode::PERSISTENT end backing_info.file_name = @filename virtual_disk = VimSdk::Vim::Vm::Device::VirtualDisk.new virtual_disk.key = -1 virtual_disk.controller_key = @controller_key virtual_disk.backing = backing_info virtual_disk.capacity_in_kb = @size_in_mb * 1024 device_config_spec = VimSdk::Vim::Vm::Device::VirtualDeviceSpec.new device_config_spec.device = virtual_disk device_config_spec.operation = VimSdk::Vim::Vm::Device::VirtualDeviceSpec::Operation::ADD if [:create] device_config_spec.file_operation = VimSdk::Vim::Vm::Device::VirtualDeviceSpec::FileOperation::CREATE end device_config_spec end |