summaryrefslogtreecommitdiff
path: root/novaclient/v2/keypairs.py
diff options
context:
space:
mode:
Diffstat (limited to 'novaclient/v2/keypairs.py')
-rw-r--r--novaclient/v2/keypairs.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/novaclient/v2/keypairs.py b/novaclient/v2/keypairs.py
index 9b2e73b7..5d12f8cd 100644
--- a/novaclient/v2/keypairs.py
+++ b/novaclient/v2/keypairs.py
@@ -114,7 +114,7 @@ class KeypairManager(base.ManagerWithFind):
body['keypair']['public_key'] = public_key
return self._create('/%s' % self.keypair_prefix, body, 'keypair')
- @api_versions.wraps("2.10")
+ @api_versions.wraps("2.10", "2.91")
def create(self, name, public_key=None, key_type="ssh", user_id=None):
"""
Create a keypair
@@ -132,6 +132,23 @@ class KeypairManager(base.ManagerWithFind):
body['keypair']['user_id'] = user_id
return self._create('/%s' % self.keypair_prefix, body, 'keypair')
+ @api_versions.wraps("2.92")
+ def create(self, name, public_key, key_type="ssh", user_id=None):
+ """
+ Create a keypair
+
+ :param name: name for the keypair to create
+ :param public_key: existing public key to import
+ :param key_type: keypair type to create
+ :param user_id: user to add.
+ """
+ body = {'keypair': {'name': name,
+ 'type': key_type,
+ 'public_key': public_key}}
+ if user_id:
+ body['keypair']['user_id'] = user_id
+ return self._create('/%s' % self.keypair_prefix, body, 'keypair')
+
@api_versions.wraps("2.0", "2.9")
def delete(self, key):
"""