Well, it's a little redundant, but listing them out like this lets us do things like set defaults, apply any other initialization logic, or enforce good values uniformly for the mock and the real service in a single place, rather than relying on consumers to do the same.

Of course, `:connection_options` will be the only one with a meaningful default after #2536, and fog already enforces `required` and `recognized` options externally... so maybe we don't actually need any of that anymore. Want me to tackle it in another PR?

And now the metaprogrammer in me wants to write a method that'll unwrap an options hash to matching inst vars automatically... :wink: