_awsmeta () {
    cur=${COMP_WORDS[COMP_CWORD]}

    if echo "${COMP_WORDS[*]}" | grep -Ebo -- '\s-n\b' &>/dev/null; then
        use="$(awsmeta --list)"
    elif [ -z "$cur" ] || [ "${cur:(-1)}" == "/" ]; then
        use="$(awsmeta $cur | sed -e "s#^#$cur#")"
    elif [ "$(expr index $cur /)" == "0" ]; then
        use="$(awsmeta)"
    else
        use="$(awsmeta ${cur%/*}/ | sed -e "s#^#${cur%/*}/#")"
    fi

    COMPREPLY=( $(compgen -W "$use" -- $cur) )
}
complete -o nospace -F _awsmeta awsmeta
