class Bosh::Director::Jobs::DeleteDeploymentSnapshots
Attributes
deployment[R]
Public Class Methods
job_type()
click to toggle source
# File lib/bosh/director/jobs/delete_deployment_snapshots.rb, line 8 def self.job_type :delete_deployment_snapshots end
new(deployment_name)
click to toggle source
# File lib/bosh/director/jobs/delete_deployment_snapshots.rb, line 12 def initialize(deployment_name) @deployment = deployment_manager.find_by_name(deployment_name) end
Public Instance Methods
deployment_manager()
click to toggle source
# File lib/bosh/director/jobs/delete_deployment_snapshots.rb, line 16 def deployment_manager @deployment_manager ||= Bosh::Director::Api::DeploymentManager.new end
perform()
click to toggle source
# File lib/bosh/director/jobs/delete_deployment_snapshots.rb, line 20 def perform logger.info("deleting snapshots of deployment: #{deployment.name}") deployment.job_instances.each do |instance| snapshots = instance.persistent_disks.map { |disk| disk.snapshots }.flatten if snapshots.any? logger.info("deleting snapshots of: #{instance.job}/#{instance.index} (#{instance.vm_cid})") Bosh::Director::Api::SnapshotManager.delete_snapshots(snapshots) end end "snapshots of deployment '#{deployment.name}' deleted" end