In general, a greedy "action" is an action that would lead to an immediate "benefit". For example, the Dijkstra's algorithm can be considered a greedy algorithm because at every step it selects the node with the smallest "estimate" to the initial (or starting) node. In reinforcement learning, a greedy action often refers to an action that would lead to the immediate highest reward (disregarding possible future rewards). However, a greedy action can also mean the action that would lead to the highest possible return (that is, the greedy action can also be considered an action that takes into account not just immediate rewards but also future ones).
In your case, I think that the "greedy action" can mean different things, depending on weather you use the reward function or the value functions, that is, you can act greedily with respect to the reward function or the value functions.
I would like to note that you are using a different notation for the reward function for each of the two value functions, but this does not need to be the case. So, your reward function might be expressed as $R_s^a$ even if you use $v_\pi(s)$. I will use the notation $R_s^a$ for simplicity of the explanations.
So, if you have access to the reward function for a given state and action, $R^a_s = r(s, a)$, then the greedy action (with respect to the reward function $r$) would just be the action from state $s$ with the highest reward. So, formally, we can define it as $a_\text{greedy} = \arg \max_a r(s, a)$ (both in the case of the state or state-action value functions: it does not matter if you have one or the other value function). In other words, if you have access to the reward function (in that form), you can act greedily from any state without needing to access the value functions: you have a "model" of the rewards that you will obtain.
If you have $q_\pi(s, a)$ (that is, the state-action value function for a fixed policy $\pi$), then, at time step $t$, the greedy action (with respect to $q_\pi(s, a)$) from state $s$ is $a_\text{greedy} = \arg \max_{a}q_\pi(s, a)$. If you then take action $a_\text{greedy}$ in the environment, you would obtain the highest discounted future reward (that is, the return), according the $q_\pi(s, a)$, which might actually not be the highest possible return from $s$, because $q_\pi(s, a)$ might not be the optimal state-action value function. If $q_\pi(s, a) = q_{\pi^*}(s, a)$ (that is, if you have the optimal state-action value function), then, if you execute $a_\text{greedy}$ in the environment, you will theoretically obtain the highest possible return from $s$.
If you had the optimal value function (the value function associated with the optimal policy to act in your environment), then the following equation holds $v_*(s) = \max_{a} q_{\pi^*}(s, a)$. So, in that case, $a_\text{greedy} = \arg \max_{a}q_{\pi^*}(s, a)$ would also be the greedy action if you had $v_*(s)$. If you only have $v_\pi(s)$ (without e.g. the Q function), I don't think you can act greedily (that is, there is no way of knowing which action is the greedy action from $s$ by just having the value of state $s$: this is actually why we often estimate the Q functions for "control", i.e. acting in the environment).