Sha256: 67c8f30f67a200d3cfe262961ee14ac2d1607bc4d3b1a2a5ddd46a13a03c5b7c

Contents?: true

Size: 1.62 KB

Versions: 7

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

module FogExtensions
  module Vsphere
    module Snapshots
      module Real
        # Extends fog-vsphere gem for a remove Snapshot method.
        def remove_snapshot(options = {})
          raise ArgumentError, 'snapshot is a required parameter' unless options.key? 'snapshot'
          raise ArgumentError, 'removeChildren is a required parameter' unless options.key? 'removeChildren'

          raise ArgumentError, 'snapshot is a required parameter' unless ::ForemanSnapshotManagement.fog_vsphere_namespace::Snapshot === options['snapshot']

          task = options['snapshot'].mo_ref.RemoveSnapshot_Task(
            removeChildren: options['removeChildren']
          )
          task.wait_for_completion

          {
            'task_state' => task.info.state
          }
        end

        # Extends fog-vsphere gem for a rename Snapshot method.
        # Does not have a return value, VMWare API throws a fault if there are errors
        def rename_snapshot(options = {})
          raise ArgumentError, 'snapshot is a required parameter' unless options.key? 'snapshot'
          raise ArgumentError, 'name is a required parameter' unless options.key? 'name'
          raise ArgumentError, 'description is a required parameter' unless options.key? 'description'

          raise ArgumentError, 'snapshot is a required parameter' unless ::ForemanSnapshotManagement.fog_vsphere_namespace::Snapshot === options['snapshot']

          options['snapshot'].mo_ref.RenameSnapshot(
            name: options['name'],
            description: options['description']
          )
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
foreman_snapshot_management-2.0.3 app/models/concerns/fog_extensions/vsphere/snapshots/real.rb
foreman_snapshot_management-2.0.2 app/models/concerns/fog_extensions/vsphere/snapshots/real.rb
foreman_snapshot_management-2.0.1 app/models/concerns/fog_extensions/vsphere/snapshots/real.rb
foreman_snapshot_management-2.0.0 app/models/concerns/fog_extensions/vsphere/snapshots/real.rb
foreman_snapshot_management-1.7.1 app/models/concerns/fog_extensions/vsphere/snapshots/real.rb
foreman_snapshot_management-1.7.0 app/models/concerns/fog_extensions/vsphere/snapshots/real.rb
foreman_snapshot_management-1.6.1 app/models/concerns/fog_extensions/vsphere/snapshots/real.rb