Class: Bosh::Director::DeploymentPlan::DiskType::DiskTypesParser

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

Instance Method Summary collapse

Methods included from ValidationHelper

#safe_property

Instance Method Details

#parse(dp_spec) ⇒ Object



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

def parse(dp_spec)
  name = safe_property(dp_spec, 'name', class: String)
  disk_size = safe_property(dp_spec, 'disk_size', class: Integer)
  if disk_size < 0
    raise DiskTypeInvalidDiskSize,
      "Disk types '#{name}' references an invalid persistent disk size '#{disk_size}'"
  end

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

  DiskType.new(name, disk_size, cloud_properties)
end