From 883e390c7d15f3560777d1d6fcd83a77dc694346 Mon Sep 17 00:00:00 2001 From: Markus Bucher Date: Wed, 14 Jul 2021 10:47:18 +0200 Subject: [PATCH] Fix omitted snapshot-option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Solves #269 Co-authored-by: Ondřej Ezr --- .../vsphere/requests/compute/vm_take_snapshot.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb b/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb index 02e02b6e..c9a54f86 100644 --- a/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb +++ b/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb @@ -5,13 +5,17 @@ class Real def vm_take_snapshot(options = {}) raise ArgumentError, 'instance_uuid is a required parameter' unless options.key? 'instance_uuid' raise ArgumentError, 'name is a required parameter' unless options.key? 'name' + defaults = { + description: '', + memory: true, + quiesce: false + } + opts = options.clone + defaults.each do |k, v| + opts[k] = v unless opts.key?(k) || opts.key?(k.to_s) + end vm = get_vm_ref(options['instance_uuid']) - task = vm.CreateSnapshot_Task( - name: options['name'], - description: options['description'] || '', - memory: options['memory'] || true, - quiesce: options['quiesce'] || false - ) + task = vm.CreateSnapshot_Task(opts) task.wait_for_completion