For filtering parameters, prepend \ to special characters + - & | ! ( ) { } [ ] ^ ' " ~ * ? : \ and space according to Amazon Cloud Drive API documentation, and encode space as %20 instead of + to avoid mistaking space as plus sign in filtering parameter.
Amazon Cloud Drive API documentation on escaping special characters of filtering parameters:
https://developer.amazon.com/public/apis/experience/cloud-drive/content/nodes#Filtering
Finished the feature to merge all VHD's before backing up. It now
collects information of the VM and merges the VHD's. We still need to
edit the XML to start from the base VHD and remove the Snapshottree.
Tried to stay clear of existing code but I eventually changed this to be
a List instead of an array. It's much more flexible. There really is no
performance gain with Arrays unless when we know that data is fixed
length and we want to micro-optimise.
Removed lot's of comments since all documentation can come here now.
Note: HyperV vss-writer; are already implicitly included in the
vss-writers vss-writer will disable all other vss-writers.
Implemented a feature to merge all VHD's in one. We could present this
as an option the the end-user.
It would also make up for a cleaner backup.
The XML still needs to be edited after the merge so that the config will
point to the parent VHD. Also the snapshots should be removed, these can
still be viewed in the Hyper-V Manager.
Wrote a function to load a XML file. We always copy the XML to the
tempfolder since it might be used by another process when we try to load
the file.
The other function will retrieve the associated active VHD of the
configuration.
The next step would be to copy certain configurations settings from the
backup XML to implement in the previously created Hyper-V machine.
- Fixed SQL to create temp table for lookup of last backup's file
entries
- Removed temp table by writing directly to internal lookup struct.
- Direct lookup of single file entries from DB
Wrote a class and edited the Windowssnapshot to retrieve VM files on a
local Hyper. These will be added to the sourcepath. Duplicati takes care
of the rest.