class Bosh::Director::Api::Controllers::ReleasesController

Private Instance Methods

inspect_release(name, version) click to toggle source
# File lib/bosh/director/api/controllers/releases_controller.rb, line 98
def inspect_release(name, version)
  release = @release_manager.find_by_name(name)
  release_version = @release_manager.find_version(release, version)

  result = { }

  result['jobs'] = release_version.templates.sort_by { |t| t.name }.map do |template|
    {
        'name' => template.name,
        'blobstore_id' => template.blobstore_id,
        'sha1' => template.sha1,
        'fingerprint' => template.fingerprint.to_s,
        'consumes' => template.consumes,
        'provides' => template.provides
    }
  end

  result['packages'] = release_version.packages.sort_by { |p| p.name }.map do |package|
    {
        'name' => package.name,
        'blobstore_id' => package.blobstore_id,
        'sha1' => package.sha1,
        'fingerprint' => package.fingerprint.to_s,
        'compiled_packages' => package.compiled_packages.sort_by { |cp| [cp.stemcell_os, cp.stemcell_version] }.map do |compiled|
          {
              'stemcell' => "#{compiled.stemcell_os}/#{compiled.stemcell_version}",
              'sha1' => compiled.sha1,
              'blobstore_id' => compiled.blobstore_id,
          }
        end
    }
  end

  content_type(:json)
  json_encode(result)
end