Multiple custom providers
If I am making custom Types/Providers, how do they get applied? I saw that there are some ways to use 'command', 'feature' etc.. to confine them, but if multiple options can resolve, how is a 'default' one chosen?
My use case is to create a pair of providers that can serve s3 files. one will use the Aws ruby SDK, and the other one will shell out to the AWS command.
If I want to prefer to use the ruby sdk provider, but fallback to the awscli provider, how would I do that? How do I provide a good error message if none of the providers are suitable?