Module design questions: digital_ocean_domain

I’m working to remove the external dependencies within the digital_ocean modules and I have a few questions. I’m looking for some helpful guidance to make sure I’m moving in the right direction.

  1. When a module has been labeled as stable it’s best practice to keep the exact functionality moving forward. Do we need to move this module back to preview if we remove the underlying dependency and add new functionality? The current functionality would remain unchanged here is a refactor pull request for digital_ocean_domain.

  2. The digital_ocean_domain module only add, remove and updates an existing domain within DigitalOcean. I would like to extend the functionality to also manage the individual domain records. Another user actually beat me to the development and opened a pull request with the domain record functionality under a new module name. I believe this functionality should exist within the same digital_ocean_domain module however the user does have some valid points. I’m curious to know what the development community thinks.

We actually have two pull requests adding the domain record functionality.

  1. PR including the record management functionality into digital_ocean_domain: PR30201
  2. PR creating a new module to manage domain records: PR31765

Of course if I’m missing some important information or standards please feel free to point me in the right direction.

ryansb and sivel commented on your question onIRC but it sounds like
you'd already left for the day. Here's what they said:

<abond> Good afternoon! I was wondering if someone could provide
guidance on a design decision within the
digital_ocean_domain module. I'm currently working with Akasurde to
remove the `dopy` dependency within the DO modules so users can
use Ansible out of the box. My original idea was to refactor the
digital_ocean_domain module first keeping the same functionality as
today. Second enhancement is to include the ability to add/edit
domains
<abond> I have a new PR https://github.com/ansible/ansible/pull/31765
to create a digital_ocean_domain_records module to add this
functionality. Should I push to have this included in the current
domain module or create a new module for domain records?
<ryansb> Generally I'd say managing records is different from
managing the domain
<ryansb> so a new module seems like the way to go
<sivel> +1
<ryansb> especially since lots of params wouldn't make sense f
or both, e.g. "contact email" or whatnot
<ryansb> or TTL.

Thank you Toshio! Yes I actually lost my connection that afternoon.