我知道相当于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
Custom::String
资源类型指的是Custom Resource。这意味着它的作用取决于提供给ServiceToken
属性的Lambda函数的特定实现(在您的示例中为SolutionHelper
)。使用自定义资源时,将使用Request Object调用Lambda函数,该RequestType
指定Create
/ Update
/ Delete
的Custom Provider。
相当于自定义资源的Terraform是一个terraform-<TYPE>-<NAME>
插件。这些包装和分发与标准的供应商集合相同,只是较少正式。它们构建为单独的二进制文件(通常是Go包),由核心Terraform进程使用文件名约定(custom RPC mechanism)自动发现,并使用Provider
在子进程中调用。插件二进制文件通过RPC提供包含Resource
s集合的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功能)。但是,这不是一个非常简单或直接的过程。
你可以尝试使用这个提供商qazxswpoi