preferred way of handing cloud volume attchment in Ansible module

Hi,
I am about to write a new cloud volume module for Packet Host, and I was researching how the volume attachment should be handled.

I assume a simple scenario: you have a server running in some cloud provider, and you create a volume in the provider, and then you want to attach the volume to the running server. You then want to do it with Ansible.

The way the volume is attached varies greatly in the cloud volume modules. I identified following distinct approaches:

I don’t intend to make order in this, and I don’t complain about it. I would just like to ask the maintainers which approach they prefer for new cloud volume module.

Which of those cloud volume modules I should follow when writing new one?

Thanks for answering,
Tomas Karasek