Class: VagrantPlugins::VagrantBosh::Deployment::Manifest

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-bosh/deployment/manifest.rb

Instance Method Summary collapse

Constructor Details

#initialize(manifest, uploadable_release_factory, ui) ⇒ Manifest



8
9
10
11
12
13
14
# File 'lib/vagrant-bosh/deployment/manifest.rb', line 8

def initialize(manifest, uploadable_release_factory, ui)
  @manifest = manifest
  @uploadable_release_factory = uploadable_release_factory

  @ui = ui.for(:deployment, :manifest)
  @logger = Log4r::Logger.new("vagrant::provisioners::bosh::deployment::manifest")
end

Instance Method Details

#as_stringObject



31
32
33
# File 'lib/vagrant-bosh/deployment/manifest.rb', line 31

def as_string
  YAML.dump(parsed_manifest)
end

#resolve_releasesObject

Syncs releases to guest FS and rewrites manifest to reference guest FS locations.



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/vagrant-bosh/deployment/manifest.rb', line 17

def resolve_releases
  uploaded_releases = uploadable_releases.map(&:upload)

  parsed_releases.each do |release|
    uploaded_releases.each do |uploaded_release|
      if release["name"] == uploaded_release.name
        release.merge!(uploaded_release.as_hash)
      end
    end
  end

  nil # ah
end