Нет, невозможно использовать только один блок ресурсов с использованием нескольких провайдеров. Лучший способ сделать это - иметь разные папки для разных учетных записей в организации. Каждая папка имеет свой main.tf с тем же ресурсным блоком / s (как в вашем случае) и разным provider.tf. Внутри вашего основного вы можете вызвать необходимые модули.
В вашем случае это может показаться избыточным кодом, но это лучший вариант. Обратитесь к структуре проекта ниже, чтобы получить представление.
| Project Directory
|
+---dev
| | main.tf
| | param.tfvars
| | provider.tf
| | terraform.tfstate
| | terraform.tfstate.backup
| | variables.tf
| |
+---modules
| +---internetgateway
| | main.tf
| | outputs.tf
| | variables.tf
| |
| +---nat
| | main.tf
| | outputs.tf
| | variables.tf
| |
+---prod
| | main.tf
| | param.tfvars
| | provider.tf
| | terraform.tfstate
| | terraform.tfstate.backup
| | variables.tf
| |
+---test
| | main.tf
| | param.tfvars
| | provider.tf
| | terraform.tfstate
| | terraform.tfstate.backup
| | variables.tf