Sha256: 46ac4712f9099369f7d99e92724c9b4f1fa6f4f580566d25c3011b1a02893990

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

# coding: utf-8
#
# Author:: Dangleterre Michaël
# © Copyright ArubaCloud.
#
# LICENSE: MIT (http://opensource.org/licenses/MIT)
#

require 'fog/arubacloud/service'
require 'fog/arubacloud/error'
require 'benchmark'


module Fog
  module ArubaCloud
    class Compute

      class Real
        # Create a new snapshot of a VM
        def create_snapshot(data)
          (service.servers).all.each do |server|
            id = server.id if (server.name).include? data[:name]
          end
          body = {
                  :Snapshot => {
                      :ServerId => id,
                      :SnapshotOperationTypes => 'Create'
                  }
              }
          self.request(
                  body=body,
                  method_name='SetEnqueueServerSnapshot',
                  failure_message='Error while attempting to create a snapshot.'
          )
        end #Create_snapshot
      end #Real

      class Mock
        def create_snapshot
          response = Excon::Response.new
          response.status = 200
          response.body = {
              'ExceptionInfo' => nil,
              'ResultCode' => 0,
              'ResultMessage' => nil,
              'Success' => true
          }
          response.body
        end # create snapshot
      end # Mock

    end # Compute
  end # ArubaCloud
end #Fog

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.5 lib/fog/arubacloud/compute/requests/create_snapshot.rb