class ChefZero::Endpoints::SandboxEndpoint

/sandboxes/ID

Public Instance Methods

put(request) click to toggle source
# File lib/chef_zero/endpoints/sandbox_endpoint.rb, line 9
def put(request)
  existing_sandbox = FFI_Yajl::Parser.parse(get_data(request))
  existing_sandbox["checksums"].each do |checksum|
    unless exists_data?(request, request.rest_path[0..1] + ["file_store", "checksums", checksum])
      raise RestErrorResponse.new(503, "Checksum not uploaded: #{checksum}")
    end
  end
  delete_data(request)
  json_response(200, {
    guid: request.rest_path[3],
    name: request.rest_path[3],
    checksums: existing_sandbox["checksums"],
    create_time: existing_sandbox["create_time"],
    is_completed: true,
  })
end