Class: Bosh::Cloudfoundry::ReleaseVersionCpiSize

Inherits:
Object
  • Object
show all
Defined in:
lib/bosh/cloudfoundry/release_version_cpi_size.rb

Overview

This project should support all known versions of Cloud Foundry back to v132. v132 was the first release of Cloud Foundry v2. The project also supports the different CPIs that are supported by bosh. The project also supports different basic sizings/compositions (small dev deployments or large, high-availability production deployments). Each sizing might scale out differently.

To achieve these goals it includes templates for each combination of CPI & sizing & release version.

This class calculates which deployment template to use for the current deployment.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(release_version_cpi, deployment_size) ⇒ ReleaseVersionCpiSize

Returns a new instance of ReleaseVersionCpiSize.



15
16
17
18
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 15

def initialize(release_version_cpi, deployment_size)
  @release_version_cpi = release_version_cpi
  @deployment_size = deployment_size
end

Instance Attribute Details

#deployment_sizeObject (readonly)

Returns the value of attribute deployment_size.



13
14
15
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 13

def deployment_size
  @deployment_size
end

#release_version_cpiObject (readonly)

Returns the value of attribute release_version_cpi.



12
13
14
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 12

def release_version_cpi
  @release_version_cpi
end

Instance Method Details

#deployment_attributes_classObject



20
21
22
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 20

def deployment_attributes_class
  Bosh::Cloudfoundry::DeploymentAttributes
end

#release_nameObject



40
41
42
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 40

def release_name
  release_version_cpi.release_name
end

#release_version_numberObject



44
45
46
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 44

def release_version_number
  release_version_cpi.release_version_number
end

#specObject



36
37
38
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 36

def spec
  YAML.load_file(spec_file_path)
end

#spec_file_pathObject



32
33
34
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 32

def spec_file_path
  File.join(template_dir, "spec")
end

#template_dirObject



24
25
26
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 24

def template_dir
  File.join(release_version_cpi.template_dir, deployment_size)
end

#template_file_pathObject



28
29
30
# File 'lib/bosh/cloudfoundry/release_version_cpi_size.rb', line 28

def template_file_path
  File.join(template_dir, "deployment_file.yml.erb")
end