diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 8f81dfdb2f..eb4ccaba23 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -15,6 +15,7 @@ """Compute v2 Server action implementations""" +import argparse import getpass import logging import os @@ -977,6 +978,164 @@ class ShowServer(show.ShowOne): return zip(*sorted(data.iteritems())) +class SshServer(command.Command): + """Ssh to server""" + + log = logging.getLogger(__name__ + '.SshServer') + + def get_parser(self, prog_name): + parser = super(SshServer, self).get_parser(prog_name) + parser.add_argument( + 'server', + metavar='', + help='Server (name or ID)', + ) + parser.add_argument( + '--login', + metavar='', + help='Login name (ssh -l option)', + ) + parser.add_argument( + '-l', + metavar='', + help=argparse.SUPPRESS, + ) + parser.add_argument( + '--port', + metavar='', + type=int, + help='Destination port (ssh -p option)', + ) + parser.add_argument( + '-p', + metavar='', + dest='port', + type=int, + help=argparse.SUPPRESS, + ) + parser.add_argument( + '--identity', + metavar='', + help='Private key file (ssh -i option)', + ) + parser.add_argument( + '-i', + metavar='', + dest='identity', + help=argparse.SUPPRESS, + ) + parser.add_argument( + '--option', + metavar='', + help='Options in ssh_config(5) format (ssh -o option)', + ) + parser.add_argument( + '-o', + metavar='