Dynamically generate many (alias) provider blocks in addition to the default provider block


I would like to dynamically create several (alias) provider blocks in addition to the default provider. The providers are more or less identical expect for 1 or 2 two parameters including the server path which differs for each alias.

Is it possible to read parameters from a config file and dynamically create the alias provider blocks as opposed to creating all the blocks manually.

I know it is possible to create multiple blocks using for_each inside a resource but not sure how to do this in the case of provider blocks which differ in that they are not defined inside any resource in main.tf file. Thanks.

Note: My use-case is similar to this except that I have many more providers needed to be created ->

Dynamic providers for multi-region setups