Sha256: fda25a575ebbb4925b02cb88d40fd89014ce1c84663dfc3f117a29e33817e5b5

Contents?: true

Size: 1.39 KB

Versions: 4

Compression:

Stored size: 1.39 KB

Contents

module Fog
  module Storage
    class AzureRM
      # This class provides the actual implementation for service calls.
      class Real
        def delete_disk(resource_group, storage_account_name, blob_name)
          msg = "Deleting Disk: #{blob_name}."
          Fog::Logger.debug msg
          keys = get_storage_access_keys(resource_group, storage_account_name)
          access_key = keys[1].value
          client = Azure::Storage::Client.new(storage_account_name: storage_account_name, storage_access_key: access_key)
          blob_service = Azure::Storage::Blob::BlobService.new(client: client)
          begin
            result = blob_service.delete_blob('vhds', "#{blob_name}.vhd")
          rescue Azure::Core::Http::HTTPError => e
            raise_azure_exception(e, msg)
          end
          if result.nil?
            Fog::Logger.debug "Successfully deleted Disk: #{blob_name}."
            true
          else
            Fog::Logger.debug 'Error deleting Disk.'
            false
          end
        end
      end
      # This class provides the mock implementation for unit tests.
      class Mock
        def delete_disk(_resource_group, _storage_account_name, blob_name)
          Fog::Logger.debug "Deleting Disk: #{blob_name}."
          Fog::Logger.debug "Successfully deleted Disk: #{blob_name}."
          true
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fog-azure-rm-0.0.9 lib/fog/azurerm/requests/storage/delete_disk.rb
fog-azure-rm-0.0.8 lib/fog/azurerm/requests/storage/delete_disk.rb
fog-azure-rm-0.0.6 lib/fog/azurerm/requests/storage/delete_disk.rb
fog-azure-rm-0.0.5 lib/fog/azurerm/requests/storage/delete_disk.rb