I know VmCustomization.new doesn't cover all the options, however Fog::ToHashDocument.new doesn't work well:

```
>> vm=vcloud.organizations.first.vdcs.first.vapps.get("vapp-2f67091a-c42f-4193-8f22-971aad7dbc5f").vms.first
  <Fog::Compute::VcloudDirector::Vm
    id="vm-8319c454-7a8e-4085-9fdf-5df8542a7df3",
    vapp_id="vapp-2f67091a-c42f-4193-8f22-971aad7dbc5f",
    vapp_name="d1beb3ad-bd63-43b5-82b7-a2df2b9ecfe0",
    name="DEVWEB",
    type="application/vnd.vmware.vcloud.vm+xml",
    href="https://devlab.mdsol.com/api/vApp/vm-8319c454-7a8e-4085-9fdf-5df8542a7df3",
    status="off",
    operating_system="Microsoft Windows Server 2008 R2 (64-bit)",
    ip_address="10.192.2.128",
    cpu=2,
    memory=2560,
    hard_disks=[{"Hard disk 1"=>32768}]
  >
>> vm.customization
  <Fog::Compute::VcloudDirector::VmCustomization
    id=NonLoaded,
    type="application/vnd.vmware.vcloud.guestCustomizationSection+xml",
    href="https://devlab.mdsol.com/api/vApp/vm-8319c454-7a8e-4085-9fdf-5df8542a7df3/guestCustomizationSection/",
    enabled=NonLoaded,
    change_sid=NonLoaded,
    join_domain_enabled=NonLoaded,
    use_org_settings=NonLoaded,
    admin_password_enabled=NonLoaded,
    reset_password_required=NonLoaded,
    virtual_machine_id=NonLoaded,
    computer_name=NonLoaded,
    has_customization_script=NonLoaded
  >
>> vm.customization.enabled=true
true
>> vm.customization.save
SystemStackError: stack level too deep
	from /Users/restebanez/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/irb/workspace.rb:80
Maybe IRB bug!
```

The whole point of having parses is to cherry pick some of the attrs and try to make the attrs as flat as possible. vCloud is specially verbose when it returns data, having arrays of hashes of hashes of hashes. If you want to show all the data, create a nested model that it will show the information in a fog way.
Another problem i saw with Fog::ToHashDocument is that is not deterministic, if an array attribute has a single item it will be turned into a string, the attribute names are quite ugly and you have to alias it in the model. The model should have the less code as possible.

thanks!