One small tweak if you're able to. Could you prepend something to the start of the `uri`, `keyserver`, `key`, and `name` variables? Maybe `repo_uri` or something similar. The reason for this is that I've seen problems in the past with method and name scoping in recipe code and resource blocks. 

Ruby sometimes has a hard time distinguishing between `key` the attribute method (in `apt_repository "foo" { key my_key }` for example) and `key` the recipe local variable.

Thanks!