diff --git a/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb b/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb index 02e02b6e..1cd14f03 100644 --- a/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb +++ b/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb @@ -5,13 +5,13 @@ 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 + } 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(defaults.merge(options.transform_keys(&:to_sym))) task.wait_for_completion