Terraform 如何在资源本身中自引用资源输出arn?

Terraform 如何在资源本身中自引用资源输出arn?,terraform,Terraform,我知道这可能很奇怪,但我需要创建此资源https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dms_replication_task并使用其arn定义其参数任务映射。我知道这是鸡和蛋的问题,但我希望有办法。出于某些愚蠢的原因,AWS DMS服务使用任务arn对数据进行分区,我需要在映射中使用它才能正常工作。但我只知道ARN创建后才知道它。查看API文档,您应该能够构建ARN: 示例arn: arn

我知道这可能很奇怪,但我需要创建此资源
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dms_replication_task
并使用其arn定义其参数
任务映射
。我知道这是鸡和蛋的问题,但我希望有办法。出于某些愚蠢的原因,AWS DMS服务使用任务arn对数据进行分区,我需要在映射中使用它才能正常工作。但我只知道ARN创建后才知道它。

查看API文档,您应该能够构建ARN:

示例arn:
arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1

分解它:
arn:aws:dms:{region}:{account\u id}:rep:{resource\u id}


有趣的是,在AWS控制台中,我们可以选择使用友好的名称覆盖ARN
…但这在本资源中不可用

描述性亚马逊资源名称(ARN)-可选
用于覆盖默认DMS ARN的友好名称。创建后不能对其进行修改


即使在AWS CLI上,友好的ARN也不可用:

感谢您的回复。不幸的是,我需要在terraform运行时未知的资源id部分。友好的ARN会很棒,事实上很多aws资源都支持它,但不是这个:(@mishkin Ye,我想这就是我在回答中所说的……目前不可能,API支持它,但Terraform provider和CLI不支持它……如果您想尝试一下,这是提供程序中该资源的代码:查看github上的
Terraform provider aws
repo(2709个开放问题)和(615个Pull请求)这不太可能很快得到解决,除非你认识该团队中的某个人