Hi, I'm working on a collection for a cloud infrastructure provider. I'm 
now thinking about how to implement assigning a "floating" IP address to a 
server. 

I have a module for the server, and will probably have a module for the 
floating_ip. I can add a field to the server ("assigned_ips") and pass the 
ID of the floating IP to it on creation and update. The construction is 
straightforward, but the deletion is unclear - what should happen when the 
assigned IP is deleted? There may be side effects to unlinking, and I 
foresee other issues that will become apparent later in development.

Is there a best practice for this in Ansible? I've looked at google.cloud 
and linode.cloud but haven't really found a good use case of such linking. 
It almost seemed as if the authors were avoiding such functionality in the 
collections. I would appreciate it if someone can come up with an example 
module in a collection.

In Terraform, there's clear best practice for this: there's a special 
"module" ending with _attachment (for example [0]) that manages the 
lifecycle of the association, in this case between device and an ip address.

Thanks for reading my question.

Best Regards,
Tomas Karasek

[0] 
https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_metal_ip_attachment

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-devel/ae28857b-3eba-475a-bc85-73fe7142b6d3n%40googlegroups.com.

Reply via email to