我目前在一个组织内使用多个 AWS 账户。我设置了多个具有代入角色的提供商。
有没有办法让资源在所有提供程序中滚动,以确保安装了我在 Terraform 模块中定义的所有内容?我试图避免每个提供程序都有一个资源,并且有一个资源可以使用每个提供程序。
希望有人可以对此提供帮助或有这样的用例。
TIA
不,不可能只有一个资源块使用多个提供程序。最好的方法是为组织中的不同帐户设置不同的文件夹。每个文件夹的 main.tf 具有相同的资源块(如您的情况)和不同的 provider.tf。在你的 main 中,你可以调用所需的模块。
对于您的情况,它可能看起来有很多冗余代码,但这是最好的选择。请参阅下面的项目结构以获得一个想法。
| 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1017 次 |
最近记录: |