Terraform等同于CloudFormation中的Custom :: LoadLambda

问题描述 投票:0回答:2

我知道相当于AWS::Lambda::Functionaws_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
2个回答
2
投票

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

相当于自定义资源的Terraform是一个terraform-<TYPE>-<NAME>插件。这些包装和分发与标准的供应商集合相同,只是较少正式。它们构建为单独的二进制文件(通常是Go包),由核心Terraform进程使用文件名约定(custom RPC mechanism)自动发现,并使用Provider在子进程中调用。插件二进制文件通过RPC提供包含Resources集合的Create,该集合为资源实现Read / Update / Delete / Create函数。

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


0
投票

你可以尝试使用这个提供商qazxswpoi

© www.soinside.com 2019 - 2024. All rights reserved.