Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 现有地形提供程序的自定义资源?_Go_Terraform - Fatal编程技术网

Go 现有地形提供程序的自定义资源?

Go 现有地形提供程序的自定义资源?,go,terraform,Go,Terraform,我一直在为AWS编写一个自定义资源,它以一种有用的方式结合了其他资源。(这太复杂了,无法通过地形模块有效实现。) 文档(从开始)概述了如何从头开始创建一个全新的资源。但是,是否可以将我的自定义资源“附加”到AWS提供程序?这将使我能够: 命名我的资源,例如aws\u foo而不是awscontrib\u foo 大概是访问已经为该提供商定义的AWS凭据 是的,这里概述了该过程 您的自定义地形可以在您自己的AWS插件版本中您可以使用以下提供程序对AWS CloudFormation中的自定义资

我一直在为AWS编写一个自定义资源,它以一种有用的方式结合了其他资源。(这太复杂了,无法通过地形模块有效实现。)

文档(从开始)概述了如何从头开始创建一个全新的资源。但是,是否可以将我的自定义资源“附加”到AWS提供程序?这将使我能够:

  • 命名我的资源,例如
    aws\u foo
    而不是
    awscontrib\u foo
  • 大概是访问已经为该提供商定义的AWS凭据

是的,这里概述了该过程


您的自定义地形可以在您自己的AWS插件版本中

您可以使用以下提供程序对AWS CloudFormation中的自定义资源执行完全相同的操作


您甚至可以使用AWS Lambda和任何您喜欢的语言来管理您的资源,它还可以保存资源的状态,以便您可以删除、读取和更新它们。它创建了一个资源,因此它不像外部数据那样

您可以将其发布给AWS提供商。这很有意义:)我仍然对Terraform是否有能力使用新的资源类型“扩展”现有提供商感兴趣。第一,这意味着如果
地形提供商aws
维护人员拒绝PR,我的工作就不会付诸东流;第二,这看起来是一个有趣的问题。另外,本文的第一段似乎暗示这是可能的,但想象一下,随着提供者和地形的变化,对代码的维护和维护。如果你对它进行公关,那么你知道它基本上会永远有效,而你几乎不做任何努力。这更多的是解决你的遗传问题,而不是我知道的你的具体问题。这个问题应该有一个答案,考虑到terraform插件文档中说插件是如何被使用的。但我还没有找到方法:-/我猜他们的意思是通过分叉现有的提供商…?@RyanKennedy我可以建议使用更高级的“模块”。