state parameter in route53 (and rds)

Howdy,

Just implementing some DNS stuff over here via the newish route53 module and it looks/works great.

One thing that struck me, however, is that the API for route53 (and rds as well it appears) are lacking the “state” parameter that’s in all the other cloud modules and instead have a “command” parameter. So if you’re wanting to ensure that a DNS record exists, you do “command=create” instead of “state=present” or “command=delete” instead of “state=delete”. The module is idempodent as is, but just feels slightly different as a result.

I wonder if there is a reason for this and whether it makes sense to either a) change the API to use state instead of command or b) add a state parameter but still explicitly or implicitly support the command parameter as well.

This question is arguably academic since the behavior is the same either way, but I the concept of state enforcement is one of the most appealing things about Ansible to me and the consistency of this state concept across so many modules has made Ansible very easy to work with.

I don’t think there’s any underlying reason why it couldn’t be the same, and I do believe you’re correct that keeping that consistent is important. Could you open a github issue for this so we can keep track of it?

Thanks!