def on_get(self, req, resp, tenant_id, keypair_name): client = req.env['sl_client'] mgr = SshKeyManager(client) keys = mgr.list_keys(label=keypair_name) if len(keys) == 0: return not_found(resp, 'KeyPair not found') keypair = mgr.get_key(keys[0]['id']) resp.body = {'keypair': format_keypair(keypair)}
def execute(self, args): mgr = SshKeyManager(self.client) key_id = resolve_id(mgr.resolve_ids, args.get('<identifier>'), 'SshKey') key = mgr.get_key(key_id) if args.get('--file'): with open(expanduser(args['--file']), 'w') as pub_file: pub_file.write(key['key']) table = KeyValueTable(['Name', 'Value']) table.add_row(['id', key['id']]) table.add_row(['label', key['label']]) table.add_row(['notes', key.get('notes', '-')]) return table
def execute(self, args): mgr = SshKeyManager(self.client) key_id = resolve_id(mgr.resolve_ids, args.get("<identifier>"), "SshKey") key = mgr.get_key(key_id) if args.get("--file"): f = open(expanduser(args["--file"]), "w") f.write(key["key"]) f.close() t = KeyValueTable(["Name", "Value"]) t.add_row(["id", key["id"]]) t.add_row(["label", key["label"]]) t.add_row(["notes", key.get("notes", "-")]) return t
def execute(client, args): mgr = SshKeyManager(client) key_id = resolve_id(mgr.resolve_ids, args.get('<identifier>'), 'SshKey') key = mgr.get_key(key_id) if args.get('--file'): f = open(expanduser(args['--file']), 'w') f.write(key['key']) f.close() t = KeyValueTable(['Name', 'Value']) t.add_row(['id', key['id']]) t.add_row(['label', key['label']]) t.add_row(['notes', key.get('notes', '-')]) return t
class SshKeyTests(unittest.TestCase): def setUp(self): self.client = FixtureClient() self.sshkey = SshKeyManager(self.client) def test_add_key(self): key = 'pretend this is a public SSH key' label = 'Test label' notes = 'My notes' data = { 'key': key, 'label': label, 'notes': notes, } mcall = call(data) service = self.client['Security_Ssh_Key'] self.sshkey.add_key(key=key, label=label, notes=notes) service.createObject.assert_has_calls(mcall) def test_delete_key(self): id = 1234 mcall = call(id=id) service = self.client['Security_Ssh_Key'] self.sshkey.delete_key(id) service.deleteObject.assert_has_calls(mcall) def test_edit_key(self): id = 1234 label = 'Test label' notes = 'My notes' data = { 'label': label, 'notes': notes, } mcall = call(data, id=id) service = self.client['Security_Ssh_Key'] self.sshkey.edit_key(id, label=label, notes=notes) service.editObject.assert_has_calls(mcall) def test_get_key(self): id = 1234 mcall = call(id=id) service = self.client['Security_Ssh_Key'] self.sshkey.get_key(id) service.getObject.assert_has_calls(mcall) def test_list_keys(self): service = self.client['Account'] self.sshkey.list_keys(label='some label') service.getSshKeys.assert_called_with( filter={'sshKeys': {'label': {'operation': '_= some label'}}}) def test_resolve_ids_label(self): _id = self.sshkey._get_ids_from_label('Test 1') self.assertEqual(_id, ['100']) _id = self.sshkey._get_ids_from_label('nope') self.assertEqual(_id, [])