SuperAPI AI 工具集

cloudformation-to-pulumi

部署与运维

查看项目

更新于 10-15 21:10

技能介绍

用途:将 AWS CloudFormation 堆栈或模板转换为 Pulumi 程序,并支持把已有资源导入由 Pulumi 管理。加载前若已生成迁移计划,需按本技能的工作流复核并修订后告知用户。

主要能力与要求:覆盖所有 CloudFormation 资源,或在最终报告中明确说明无法转换的原因;每个 Pulumi 资源必须使用 CloudFormation 逻辑 ID 作为资源名,否则自动导入会失败;生成的程序需结构有效,可执行 pulumi preview;导入已有资源后预览必须无更新、替换、创建或删除;始终输出适合 Pull Request 的正式迁移报告。

使用方式:先收集信息,确认 AWS 区域,经 Pulumi ESC 加载凭证,获取模板(用户提供文件或按堆栈名拉取),列出堆栈资源清单并分析参数、映射、条件、输出与依赖。CloudFormation 无自动转换工具,需逐资源手动转换;默认使用 aws-native,仅在缺少所需功能时用 aws 经典提供程序。需映射 Ref、GetAtt、Sub、Join、If、Equals、Select、Split、ImportValue 等内置函数,条件转 TypeScript 逻辑,参数转 Pulumi 配置,映射转对象。转换后用 cdk-importer 自动导入,失败资源按文档查导入 ID 并执行 pulumi import,最后运行 pulumi preview 验证零差异。自定义资源需识别用途、寻找原生替代,否则在报告中注明需手动实现。

适用场景:CloudFormation 到 Pulumi 的迁移、已有资源纳管、生成 PR 用迁移报告。

限制:无自动转换工具,需逐资源手动处理;aws-native 输出可能含 undefined,应使用 apply 安全解包而非非空断言;导入成功依赖资源名保持逻辑 ID 不变;所需 AWS 凭证、区域和 ESC 环境需用户提供,资料未提供部分暂未说明。