【问题标题】:Terraform equiv to Custom::LoadLambda in CloudFormationTerraform 相当于 CloudFormation 中的 Custom::LoadLambda
【发布时间】:2018-08-20 21:15:35
【问题描述】:

我知道AWS::Lambda::Function 的等价物是aws_lambda_function

但我不确定Custom::LoadLambda 的等效项是什么

我正在尝试将以下内容翻译成 Terraform:

CreateRsaKey:
    Type: Custom::LoadLambda
    Properties:
      ServiceToken: # This seems to call another lambda
        Fn::GetAtt:
        - SolutionHelper
        - Arn
      Region:
        Ref: AWS::Region

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cloudformation terraform


    【解决方案1】:

    Custom::String 资源类型指的是Custom Resource。这意味着它的作用取决于提供给ServiceToken 属性(在您的示例中为SolutionHelper)的Lambda 函数的特定实现。使用自定义资源时,将使用 Request Object 调用 Lambda 函数,指定 Create/Update/DeleteRequestType

    自定义资源的 Terraform 等效项是 Custom Provider 插件。它们的打包和分发方式与标准的 Providers 集相同,只是不太正式。它们构建为单独的二进制文件(通常是 Go 包),由核心 Terraform 进程使用文件名约定 (terraform-<TYPE>-<NAME>) 自动发现,并在使用 custom RPC mechanism 的子进程中调用。插件二进制文件通过 RPC 提供一个 Provider ,其中包含一组 Resources ,它们实现了资源的 Create/Read/Update/Delete 函数。

    因此,可以通过将 Lambda 函数中的 CloudFormation Create/Update/Delete 逻辑转换为 Create/,在 Terraform Provider 插件中重新实现 Lambda 支持的自定义资源的功能Update/Delete Terraform Resource 中的函数(并添加适当的 Read 函数)。但是,这不是一个非常简单或直接的过程。

    【讨论】:

      【解决方案2】:

      您可以尝试使用此提供程序 https://github.com/mobfox/terraform-provider-multiverse

      【讨论】:

        猜你喜欢
        • 2021-12-29
        • 2022-11-11
        • 1970-01-01
        • 2020-12-13
        • 2018-03-02
        • 2021-02-08
        • 1970-01-01
        • 2021-04-18
        • 1970-01-01
        相关资源
        最近更新 更多