We can create droplets using the digital_ocean module. One thing to note about this module is that it is idempotent in a different way. The module identifies an instance by an ID. If we know the Droplet ID, we have to put it in the task and then the task will not create another droplet. However, without Droplet ID, the multiple execution of this task will keep on creating more droplets. We have to figure out a way to create a droplet only if one does not already exist.
Holding that thought in mind, let's take a small detour and have a look at a nice utility called doctl. DigitalOcean provides the doctl command-line tool to create and manage resources. For authentication, we can create a config file or supply the token along with the command. Since we have the token saved as a secret, it would be easier for us to pass it along with the command using Ansible...