def add_cli_launch(subparsers):
    """Create subparser for `launch`.
    """
    desc = (
        'launch instance from specified workspace deployment or type. if none is specified, then randomly select from those available.'
        )
    launch_parser = subparsers.add_parser('launch', description=desc, help=
        desc, add_help=False)
    launch_parser.add_argument('-h', '--help', dest='print_launch_help',
        action='store_true', default=False, help=
        'print this help message and exit')
    launch_parser.add_argument('ID', nargs='?', default=None, help=
        'deployment ID')
    launch_parser.add_argument('--secret-key', metavar='FILE', dest=
        'secretkeypath', default=None, help=
        'name of file in which to write new secret key (default key.pem)')
    launch_parser.add_argument('-y', dest='assume_yes', action='store_true',
        default=False, help=
        'assume "yes" for any questions required to launch instance; otherwise, interactive prompts will appear to confirm actions as needed'
        )
    launch_parser.add_argument('-n', dest='assume_no', action='store_true',
        default=False, help=
        'assume "no" for any questions required to launch instance; in practice, this prevents launching if doing so requires destructive actions, e.g., overwriting a local file'
        )
    launch_parser.add_argument('--public-key', metavar='FILE', dest=
        'publickeypath', default=None, help=
        'path of public key to use; if not given, then a new key pair will be generated; this switch cannot be used with --secret-key'
        )
