We should either pull up this functionality from JcloudsLocation to AbstractCloudMachineProvisioningLocation, or deprecate it in jclouds.

After writing the above, I just noticed your comment:

    // TODO remove tagMapping, or promote it
    // (i think i favour removing it, letting the config come in from the entity)

The use-case for this was where we'd want different values for different clouds and different entity types (e.g. for tomcat, the image-id on aws and rackspace will be different, and they might be different from the image to be used on nginx). That makes configuring it on the entity itself fiddly.

The tagMapping is being used in-anger for Agriwise (to set up EBS volumes on only the MySql nodes), but that particular use-case could be re-worked by specifying additional config on the entity itself.

I'm in favour of deleting unused stuff where possible, and deprecating things that haven't proved to be useful, so happy for us to do that.