【发布时间】:2018-11-11 23:32:12
【问题描述】:
我一直在为 AWS 编写一个自定义资源,它以一种有用的方式结合了其他资源。 (使用 Terraform 模块有效地实现太复杂了。)
文档(以Plugins page 开头)概述了如何从头开始创建全新的资源。但是,是否可以将我的自定义资源“附加”到 AWS 提供商?这将使我能够:
- 命名我的资源,例如
aws_foo而不是awscontrib_foo - 大概是访问已经为该提供商定义的 AWS 凭证
【问题讨论】:
-
您可以将其 PR 给 AWS 提供商。
-
这是有道理的 :) 我仍然对 Terraform 是否有能力用新的资源类型“增强”现有提供者感兴趣。第一,这意味着如果
terraform-provider-aws维护者拒绝了 PR,我的工作不会白费,第二,这看起来是一个有趣的问题。另外,plugin development page 的第一段似乎暗示这是可能的 -
当然,但是想象一下随着提供者和 Terraform 的变化,该代码的维护和维护。如果你公关它,那么你知道它基本上可以永远工作,而你几乎不需要付出任何努力。这更多的是解决您继承的问题,而不是我知道的您的具体问题。
-
考虑到 terraform 插件文档如何说如果 "You want to add a new resource type to an existing provider" 使用插件,这个问题应该有答案。但我还没有找到如何:-/我猜他们的意思是通过分叉现有的提供者......?
-
@RyanKennedy 我可以建议将Pulumi 用于更高级的“模块”。 Pulumi uses the Terraform providers underneath.