兄弟ディレクトリから特定のコードを使用しようとしていますが、そうするのに問題があります。例として、私のファイルがどのように構成されているかについては、以下を参照してください。
parents/
brother/
main.tf
outputs.tf
variables.tf
sister/
main.tf
outputs.tf
variables.tf
brother/main.tf
で作成した定義を使用したいのですがsister/main.tf
、正しい方法がわかりません。モジュールを使用しようとしました:
module "brother" {
source = "../brother"
}
これを行うと機能しますが、機能しません。コードをインポートして使用することはできますが、何らかの理由で terraform が新しいモジュール名を使用して、新しいリソース名で他のリソースの束を作成しています (意味がある場合)。基本的に、それは目的のリソースを作成しますが、100 以上の不要なリソースも作成します。
使用したい定義を同じsister
ディレクトリに配置することで、これを簡単に機能させることができますが、それはファイルを構造化する方法ではありません。これを行う正しい方法は何ですか?で定義されている IAM ロールがありbrother
、それを で参照したい場合sister
、どうすればよいですか? 前もって感謝します!
編集:
現在のコード:
姉妹/main.tf
resource "aws_config_config_rule" "test-rule" {
name = "test-rule"
source {
owner = "AWS"
source_identifier = "TEST"
}
depends_on = ["aws_config_configuration_recorder.config_configuration_recorder"]
}
resource "aws_config_configuration_recorder" "config_configuration_recorder" {
name = "config_configuration_recorder"
role_arn = "${var.test_assume_role_arn}"
}
兄弟/main.tf
resource "aws_iam_role" "test_assume_role" {
name = "${var.test_assume_role_name}"
path = "/"
assume_role_policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "config.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
POLICY
}
test_assume_role
基本的には、 でarnを使用できるようにしたいと考えていsister/main.tf
ます。