Class: Bosh::Director::DeploymentPlan::DiskPool::DiskPoolParser

Inherits:
Object
  • Object
show all
Includes:
ValidationHelper
Defined in:
lib/bosh/director/deployment_plan/disk_pool.rb

Instance Method Summary collapse

Methods included from ValidationHelper

#invalid_type, #safe_property

Instance Method Details

#parse(dp_spec) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/bosh/director/deployment_plan/disk_pool.rb', line 37

def parse(dp_spec)
  name = safe_property(dp_spec, 'name', class: String)
  disk_pool = DiskPool.new(name)

  disk_size = safe_property(dp_spec, 'disk_size', class: Integer)

  if disk_size < 0
    raise DiskPoolInvalidDiskSize,
      "Disk pool `#{name}' references an invalid peristent disk size `#{disk_size}'"
  end
  disk_pool.disk_size = disk_size

  disk_pool.cloud_properties = safe_property(dp_spec, 'cloud_properties', class: Hash, default: {})

  disk_pool
end