def get_keyname()

in ebcli/controllers/initialize.py [0:0]


def get_keyname(keyname, keyname_of_existing_app, interactive, force_non_interactive):
    keyname_passed_through_command_line = not not keyname
    keyname = keyname or keyname_of_existing_app
    if not keyname:
        try:
            keyname = commonops.get_default_keyname()
        except NotInitializedError:
            keyname = None

    if force_non_interactive and not interactive:
        return keyname

    if (
            (interactive and not keyname_passed_through_command_line)
            or (not keyname and not force_non_interactive)
    ):
        keyname = sshops.prompt_for_ec2_keyname()
    elif keyname != -1:
        commonops.upload_keypair_if_needed(keyname)

    return keyname