class Bosh::Director::Jobs::DeleteStemcell

Public Class Methods

job_type() click to toggle source
# File lib/bosh/director/jobs/delete_stemcell.rb, line 6
def self.job_type
  :delete_stemcell
end
new(name, version, options = {}) click to toggle source
# File lib/bosh/director/jobs/delete_stemcell.rb, line 10
def initialize(name, version, options = {})
  @name = name
  @version = version
  @options = options
  @cloud = Config.cloud
  @stemcell_manager = Api::StemcellManager.new

  blobstore = options.fetch(:blobstore) { App.instance.blobstores.blobstore }
  blob_deleter = Helpers::BlobDeleter.new(blobstore, logger)
  compiled_package_deleter = Helpers::CompiledPackageDeleter.new(blob_deleter, logger)
  @stemcell_deleter = Helpers::StemcellDeleter.new(@cloud, compiled_package_deleter, logger)
end

Public Instance Methods

perform() click to toggle source
# File lib/bosh/director/jobs/delete_stemcell.rb, line 23
def perform
  logger.info("Processing delete stemcell")

  logger.info("Looking up stemcell: #{@name}/#{@version}")
  stemcell = @stemcell_manager.find_by_name_and_version(@name, @version)
  logger.info("Found: #{stemcell.pretty_inspect}")

  @stemcell_deleter.delete(stemcell, @options)

  "/stemcells/#{@name}/#{@version}"
end