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 = JSON.parse(get_data(request), :create_additions => false)
  existing_sandbox['checksums'].each do |checksum|
    if !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