class Bosh::Director::DeploymentPlan::Stemcell
Attributes
alias[R]
model[R]
name[R]
os[R]
version[R]
Public Class Methods
new(name_alias, name, os, version)
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 29 def initialize(name_alias, name, os, version) @alias = name_alias @name = name @os = os @version = version @manager = Api::StemcellManager.new end
parse(spec)
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 12 def self.parse(spec) name_alias = safe_property(spec, "alias", :class => String, :optional => true) name = safe_property(spec, "name", :class => String, :optional => true) os = safe_property(spec, "os", :class => String, :optional => true) version = safe_property(spec, "version", :class => String) if name.nil? && os.nil? raise ValidationMissingField, "Required property 'os' or 'name' was not specified in object (#{spec})" end if !name.nil? && !os.nil? raise StemcellBothNameAndOS, "Properties 'os' and 'name' are both specified for stemcell, choose one. (#{spec})" end new(name_alias, name, os, version) end
Public Instance Methods
add_stemcell_model()
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 53 def add_stemcell_model @model = is_using_os? ? @manager.find_by_os_and_version(@os, @version) : @manager.find_by_name_and_version(@name, @version) @name = @model.name @os = @model.operating_system @version = @model.version end
bind_model(deployment_model)
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 41 def bind_model(deployment_model) if deployment_model.nil? raise DirectorError, "Deployment not bound in the deployment plan" end add_stemcell_model unless @model.deployments.include?(deployment_model) @model.add_deployment(deployment_model) end end
cid()
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 67 def cid @model.cid end
desc()
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 63 def desc @model.desc end
id()
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 71 def id @model.id end
is_using_os?()
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 37 def is_using_os? !@os.nil? && @name.nil? end
spec()
click to toggle source
# File lib/bosh/director/deployment_plan/stemcell.rb, line 75 def spec { "name" => @name, "version" => @version } end