class Bosh::Director::DeploymentPlan::DiskType::DiskTypesParser

Public Instance Methods

parse(dp_spec) click to toggle source
# 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