Method: Bosh::Director::Errand::Result.from_agent_task_results

Defined in:
lib/bosh/director/errand/result.rb

.from_agent_task_results(agent_task_result, logs_blobstore_id) ⇒ Object

Explicitly write out schema of the director task result to avoid accidently leaking agent task result extra fields.



17
18
19
20
21
22
# File 'lib/bosh/director/errand/result.rb', line 17

def self.from_agent_task_results(agent_task_result, logs_blobstore_id)
  AGENT_RUN_ERRAND_RESULT_SCHEMA.validate(agent_task_result)
  new(*agent_task_result.values_at('exit_code', 'stdout', 'stderr'), logs_blobstore_id)
rescue Membrane::SchemaValidationError => e
  raise AgentInvalidTaskResult, e.message
end