Fog::Connection mixed in XML parsing via the `parser` argument which
wasn't much use for the majority of APIs using JSON.
This adds the deprecation warning and attempts to update providers to
the correct version of Connection that they need.
Either the cleaner `Fog::Core::Connection` or if reliant on the XML
parsing still `Fog::XML::SAXParserConnection`
The SAX parser will be moving to `fog/xml` fairly soon.
Following work on reorganising the requires, there was an inconsistent
approach to where service wrappers are required. (Fog::Compute...)
Since they should be standardised and shared across providers (although
they really aren't yet) they have been moved to `fog-core` gem.
Each provider has their own `lib/fog/{provider}/core` files that is
required by each of their services. These files should all require
`fog/core` which already required most or these.
So this removes the extra cases to concentrate them in core.
vCloud version API 1.5 requires us to adapt certain calls. This
patch does all the necessary things to scan a vCloud 1.5 completely
and read all the necessary attributes, as we could already before.
Furthermore, it add tests for the version 1.5 calls.
The API version can now be set as a version param to the vcloud
compute resource. By default it chooses version 1.5.
This has been tested against a vCloud 1.5 and 1.0.
vCloud has also the concept of links in the responses. So we should
make use of them to navigate through the tree of resources in the
vCloud.
Furthermore, we can make various calls a bit easier by directly
returning the specific resource object than the plain xml response.
Adjust tests to work with the new changes, and also test the added
parts.
Improve the models to work with the current api version. add tests
that use fake-data, that was captured from a real vCloud.
Also removed a couple of dead code. Tests have been added for
everything that changed or have been added. All the existing but
untouched parts have not been tested.
A vcloud usually contains more than one organization which then
contains all the other computing parts (such as vdcs etc.). So far
we keep the old way, to query the first organization by default, but
also allow it to be set.
Should facilitate the following:
require 'fog/aws'
require 'fog/compute'
require 'fog/aws/compute'
I think once you `require 'rubygems'` those should work.
further cleanup should reduce common requires (ie nokogiri)