class Bosh::Director::Api::Controllers::DeploymentsController

Attributes

deployment[RW]

Public Class Methods

new(config) click to toggle source
# File lib/bosh/director/api/controllers/deployments_controller.rb, line 43
def initialize(config)
  super(config)
  @deployment_manager = Api::DeploymentManager.new
  @problem_manager = Api::ProblemManager.new
  @property_manager = Api::PropertyManager.new
  @instance_manager = Api::InstanceManager.new
  @deployments_repo = DeploymentPlan::DeploymentRepo.new
  @instance_ignore_manager = Api::InstanceIgnoreManager.new
end

Private Instance Methods

convert_job_instance_hash(hash) click to toggle source
# File lib/bosh/director/api/controllers/deployments_controller.rb, line 441
def convert_job_instance_hash(hash)
  hash.reduce([]) do |jobs, kv|
    job, indicies = kv
    jobs + indicies.map { |index| [job, index] }
  end
end
create_instances_response(instances) click to toggle source
# File lib/bosh/director/api/controllers/deployments_controller.rb, line 465
def create_instances_response(instances)
  instances.map do |instance|
    {
        'agent_id' => instance.agent_id,
        'cid' => instance.vm_cid,
        'job' => instance.job,
        'index' => instance.index,
        'id' => instance.uuid
    }
  end
end
deployment_has_instance_to_resurrect?(deployment) click to toggle source
# File lib/bosh/director/api/controllers/deployments_controller.rb, line 448
def deployment_has_instance_to_resurrect?(deployment)
  return false if deployment.nil?
  return false if @resurrector_manager.pause_for_all?
  instances = @instance_manager.filter_by(deployment, resurrection_paused: false, ignore: false)
  instances.any?
end
load_deployment_plan() click to toggle source
# File lib/bosh/director/api/controllers/deployments_controller.rb, line 436
def load_deployment_plan
  planner_factory = Bosh::Director::DeploymentPlan::PlannerFactory.create(Config.logger)
  planner_factory.create_from_model(deployment)
end
validate_instance_index_or_id(str) click to toggle source
# File lib/bosh/director/api/controllers/deployments_controller.rb, line 455
def validate_instance_index_or_id(str)
  begin
    Integer(str)
  rescue ArgumentError
    if str !~ /^[A-Fa-f0-9]{8}-[A-Fa-f0-9-]{27}$/
      raise InstanceInvalidIndex, "Invalid instance index or id '#{str}'"
    end
  end
end