Setting static IP addresses for multiple interfaces per host?

Hello all,

I'm trying to figure out how to configure some static IP interfaces for a bunch of hosts as a playbook.

Currently, I have 50+ hosts, and all of them are going to have identical configurations in /etc/network/interfaces, with the only difference being their IP addresses, which need to be statically assigned. there will be more than one IP address per host, as they also have multiple bridged network interfaces on different networks.

What i'm looking to do is essentially set some variables for hostname -> IP addresses {addr1, addr2, addr3, ...} in my hosts file or something similar, and then call them as variables in my playbook

These hosts will also be using OpenVswitch, however the OVS options that would be present in the file would be the same across all these hosts as well.

I was thinking that using BlockInFile would probably be the best way to go about this, but i'm not 100% sure since there seems to be a lot of different recommendations regarding the interfaces file management.

Was hoping to get some input from you all on a good way to approach this task. Thanks!