You can eliminate rbvm_settings (and the whole 'initialize' method, if you also memoize @host_dns) by writing

    prop_sym = PuppetX::VMware::Util.camelize(prop, :lower).to_sym