用途
awsflow-cloudformation 是 awsflow VS Code 扩展中的一个语言工具(language tool),名称为 CloudFormationTool。它用于在 VS Code 中管理和检查 AWS CloudFormation 的堆栈、资源、更改集(change sets)、类型(types)、漂移状态(drift status)以及堆栈集。
主要能力
该工具共提供 66 个命令,覆盖以下方面:
- 列表与描述:列出和描述堆栈、堆栈资源、堆栈事件、堆栈集、堆栈实例、更改集、导出的输出值、已注册的资源类型等。
- 模板处理:获取堆栈的模板正文(GetTemplate)、获取模板元数据与参数摘要(GetTemplateSummary)、验证模板(ValidateTemplate)、估算模板成本(EstimateTemplateCost)。
- 漂移检测:对堆栈发起漂移检测(DetectStackDrift)、对特定资源检测漂移(DetectStackResourceDrift)、对堆栈集发起漂移检测(DetectStackSetDrift),以及查看漂移检测状态与资源漂移结果。
- 更改集管理:创建、描述、执行和删除更改集。
- 堆栈与堆栈集操作:创建、更新、删除堆栈与堆栈集;创建或删除堆栈实例;继续更新回滚、取消更新、设置堆栈策略、更新终止保护等。
- 类型管理:描述资源类型、列出类型注册与类型版本、描述类型注册等。
- 导出与导入追踪:ListExports、ListImports 帮助追踪跨堆栈依赖。
使用方式
工具通过统一的输入结构调用,输入包含 command(命令名)与 params(参数对象):
{
"command": "<CommandName>",
"params": { ... }
}
常用参数包括 StackName、StackSetName、ChangeSetName、TypeName、TypeArn、NextToken、MaxResults 等。
使用示例
列出所有堆栈:
{ "command": "ListStacks", "params": {} }
描述特定堆栈:
{ "command": "DescribeStacks", "params": { "StackName": "my-app-stack" } }
查看堆栈资源:
{ "command": "DescribeStackResources", "params": { "StackName": "my-app-stack" } }
查看堆栈事件:
{ "command": "DescribeStackEvents", "params": { "StackName": "my-app-stack" } }
获取模板正文:
{ "command": "GetTemplate", "params": { "StackName": "my-app-stack" } }
获取模板摘要:
{ "command": "GetTemplateSummary", "params": { "StackName": "my-app-stack" } }
列出堆栈的更改集:
{ "command": "ListChangeSets", "params": { "ChangeSetName": "my-app-stack" } }
检测堆栈漂移:
{ "command": "DetectStackDrift", "params": { "StackName": "my-app-stack" } }
描述资源漂移结果:
{ "command": "DescribeStackResourceDrifts", "params": { "StackName": "my-app-stack" } }
验证模板:
{ "command": "ValidateTemplate", "params": {} }
列出导出值:
{ "command": "ListExports", "params": {} }
描述堆栈集:
{ "command": "DescribeStackSet", "params": { "StackSetName": "my-stack-set" } }
列出已注册的资源类型:
{ "command": "ListTypes", "params": {} }
适用场景
- 需要列出或描述 CloudFormation 堆栈时。
- 需要查看堆栈资源、事件或输出时。
- 需要在应用更改集前检查其内容时。
- 需要检查堆栈漂移状态时。
- 需要验证模板时。
- 需要查看堆栈集详情或操作时。
- 需要列出或描述 CloudFormation 资源类型时。
- 需要估算模板成本时。
- 需要创建、更新或删除堆栈与堆栈集时。
- 需要执行或删除更改集时。
使用提示
- 先用 ListStacks 获取概览,再用带具体 StackName 的 DescribeStacks 查看详情。
- 使用 GetTemplate 获取已部署堆栈的实际模板正文。
- 使用 DetectStackDrift → DescribeStackResourceDrifts 检查资源是否偏离模板。
- ListExports 与 ListImports 配合可追踪跨堆栈依赖。
- ValidateTemplate 可在不部署的情况下检查模板语法。
相关服务
CloudFormation 可管理几乎每个 AWS 服务的基础设施。相关的 awsflow 工具包括:S3Tool / S3FileOperationsTool、LambdaTool、DynamoDBTool、EC2Tool、IAMTool、RDSTool / RDSDataTool、SNSTool、SQSTool、StepFuncTool、APIGatewayTool、GlueTool、EMRTool、CloudWatchLogTool、STSTool。
限制
关于该工具的权限要求、调用频率限制、可用区域或具体收费情况,资料中暂未提供。