Class: Bosh::Director::DeploymentPlan::Template
- Defined in:
- lib/bosh/director/deployment_plan/template.rb
Instance Attribute Summary collapse
-
#model ⇒ Object
readonly
Returns the value of attribute model.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#package_models ⇒ Object
readonly
Returns the value of attribute package_models.
-
#release ⇒ Object
readonly
Returns the value of attribute release.
Instance Method Summary collapse
-
#bind_models ⇒ void
Looks up template model and its package models in DB.
- #blobstore_id ⇒ String
-
#download_blob ⇒ String
Downloads template blob to a given path.
-
#initialize(release, name) ⇒ Template
constructor
A new instance of Template.
- #logs ⇒ Array
- #properties ⇒ Hash
- #sha1 ⇒ String
- #version ⇒ String
Constructor Details
Instance Attribute Details
#model ⇒ Object (readonly)
Returns the value of attribute model.
10 11 12 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 10 def model @model end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
7 8 9 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 7 def name @name end |
#package_models ⇒ Object (readonly)
Returns the value of attribute package_models.
11 12 13 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 11 def package_models @package_models end |
#release ⇒ Object (readonly)
Returns the value of attribute release.
8 9 10 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 8 def release @release end |
Instance Method Details
#bind_models ⇒ void
This method returns an undefined value.
Looks up template model and its package models in DB
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 25 def bind_models @model = @release.get_template_model_by_name(@name) if @model.nil? raise DeploymentUnknownTemplate, "Can't find template `#{@name}'" end @package_models = @model.package_names.map do |name| @release.get_package_model_by_name(name) end end |
#blobstore_id ⇒ String
67 68 69 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 67 def blobstore_id present_model.blobstore_id end |
#download_blob ⇒ String
Downloads template blob to a given path
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 39 def download_blob uuid = SecureRandom.uuid path = File.join(Dir.tmpdir, "template-#{uuid}") @logger.debug("Downloading template `#{@name}' (#{blobstore_id})...") t1 = Time.now File.open(path, "w") do |f| App.instance.blobstores.blobstore.get(blobstore_id, f) end @logger.debug("Template `#{@name}' downloaded to #{path} " + "(took #{Time.now - t1}s)") path end |
#logs ⇒ Array
72 73 74 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 72 def logs present_model.logs end |
#properties ⇒ Hash
77 78 79 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 77 def properties present_model.properties end |
#sha1 ⇒ String
62 63 64 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 62 def sha1 present_model.sha1 end |
#version ⇒ String
57 58 59 |
# File 'lib/bosh/director/deployment_plan/template.rb', line 57 def version present_model.version end |