+1 see inline On Dec 5, 2013, at 1:50 PM, Tomaz Muraus <[email protected]> wrote:
> This is something we have already talked about in the past and I believe > that now (pre 1.0 release) is the right time to do it. > > *Proposal* > > I propose the following methods for the key pair management to be promoted > and be a part of the standard / base compute API: > > * ex_list_keypairs -> list_keypairs() > * ex_create_keypair -> create_key_pair(name) > * ex_import_keypair -> import_key_pair_from_file(name, public_key_file) > * ex_import_keypair_fom_string -> import_key_pair_fom_string(name, > public_key_material) > * ex_delete_keypair -> delete_keypair(keypair) > > This also means adding a new "KeyPair" / "SSHKeyPair" class which > represents a key pair object. looking at your gist, do you really want to return the private key. in cloudstack case for instance, the list_keypairs will not return the private key. > > Whole proposal for those methods and a new class is also available in a > more readable format as a gist - https://gist.github.com/Kami/7810989 > > Currently, this functionality is already implemented as the aforementioned > extension methods in the following drivers: > > * CloudStack > * OpenStack > * Rackspace > * EC2 > > To preserve backward compatibility, we should also modify existing > extension methods to call new methods and emit a deprecation warning. > > *Open questions* > > Here are a couple of things I'm still not too sure about so a feedback > would be greatly appreciated. > > 1. Should all the methods and a key pair class be prefixed with "ssh" so > it's clear that it references a SSH key pair or just calling it key pair is > clear enough? I am fine with no ssh. > > 2. "keypair "vs "key_pair". > > Existing extension methods use #1, but to be consistent with other methods, > we should use #2. > consistency would mean key_pair, but in the case I actually like keypair better. otherwise change list_keypairs to list_key_pairs -which looks weird- > 3. "import_key_pair" vs "import_public_key". > > Existing extension methods use #1, but imo it's confusing and not obvious > since you are importing just a public key, so a better name would be > "import_public_key". yes a bit confusing, but keeping it as keypair makes it clear that in the same "group" of calls. > > Feedback is welcome. > > Thanks.
