Link catalog item to a catalog in Mock
Add Fog::Compute.create_many and bootstrap_many
Create volume in specific availability zone.
Move save_many to servers, reuse save_many in save
Add Mock for a vAppTemplate

This just returns a single record, which is the intention of a look-up by vAppTemplate name and Catalog name. The fields are correct, but the values are bogus. We are very specific about how it is called because that is what we require for our test – this could be extended to deal with other complex queries.
Add a Mock for post_instantiate_vapp_template

Sets the status of the vApp to "created".

Adds a VM to the vApp, with memory and networks.
Do not return a network from sample config

This is just sample config, it doesn't deal with realistic configurations. For the test we are currently writing we need to return configuration without a network, which is valid configuration so, since this mock needs work anyway, we are removing the sample config for a network.
Add Mock for put_memory
Add Mock for put_vm
Add Mock for put_cpu
Add Mock for get_vapp_metadata

It's the same API method for vApps and VMs, so need to check both IDs.

This only returns a piece of custom metadata, not the system metadata that is also returned.

This commit also adds metadata to be retrived by this method from the Mock data.
Add Mock for put metadata
[vsphere] Remove the relative_path attribute.

The <Vsphere::Server>.relative_path attribute depends on having
initialized the <server>.datacenter field (which is lazy loaded).
When the relative_path is computed from the attributes returned by
the underlying rbvmomi call, it is actually an absolute path to the
instance (that is, it includes the Datacenter). However, the path is
meant to be relative to the Datacenter.

The patch proposes the following solution:
* remove the relative_path attribute
* add a <Vsphere::Server>.relative_path method

This works well with the lazy initialization and restores
functionality to methods that rely on the path actually being relative
to the Datacenter.

Fixes: #3041
Add Mock for get_vms_in_lease_from_query

The only option implemented here is a filter by href as that is all we need for our tests. It can easily be extended as required.
[AWS|Compute] support for modify_subnet_attribute
Merge pull request #3042 from maginatics/bug/3041/relative_path

[vsphere] Remove the relative_path attribute.
Merge pull request #3026 from dennis-sig/master

Issue 3011: Create volume in specific availability zone.
Merge pull request #3039 from fcheung/modify_subnet_attribute

Support modify subnet attribute for AWS VPC
Merge pull request #3020 from jkeiser/create_many

Add Fog::Compute.create_many and bootstrap_many
Merge pull request #3044 from alphagov/add-mocks

[vcloud_director] Mocks for a number of vApp operations