بنقرة واحدة
iac-aliyun
阿里云 Alibaba Cloud ROS/Terraform IaC 模板生成、解释、完善、校验、询价与部署
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
阿里云 Alibaba Cloud ROS/Terraform IaC 模板生成、解释、完善、校验、询价与部署
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
阿里云 ROS 模板部署技能,负责可用性查询、执行部署与失败恢复
使用 InfraGuard 审查 ROS 模板;有发现时直接修复并验证,初始扫描干净时直接输出模板
阿里云 Alibaba Cloud Policy as Code / InfraGuard 合规策略生成、校验与策略库查询
使用专用 ROS 模板询价工具预估 ROS 模板的月度部署费用,支持按需修复和校验模板问题
阿里云 ROS 模板生成——将架构方案转化为可部署的 ROS YAML 模板
判断用户输入是否为基础设施需求,并从中提取结构化的 IntentSpec
| name | iac-aliyun |
| description | 阿里云 Alibaba Cloud ROS/Terraform IaC 模板生成、解释、完善、校验、询价与部署 |
| when_to_use | 当用户请求阿里云/Alibaba Cloud/Alicloud 的 ROS 模板、资源栈、Terraform alicloud provider 模板生成、解释、完善、校验、询价、部署、更新或删除时,必须先调用 skill 工具加载 iac-aliyun。 |
| user_invocable | false |
| auto_trigger | {"script":"auto_trigger.py"} |
阿里云 IaC 模板生成、解释、完善与部署。帮助用户通过 ROS/Terraform 模板管理云资源。
所有 API 调用都需要地域,按以下优先级确定:
Defaults to 'cn-hangzhou'),使用该默认值并告知用户确定后,所有 API 调用统一使用该地域。
注意:ROS 的模板、资源类型、模块是全局资源,任意地域查询结果相同。用户说"查所有地域的模板"时,只需查一个地域即可,不要遍历地域列表。
terraform init/apply 等本地 CLI 替代CreateStack 前的新建栈参数推荐;UpdateStack、ContinueCreateStack、资源栈组和资源栈实例不走该流程。PreviewStack,形成 Preview-Validated Parameter Set 后才能展示为推荐参数;这不等于保证 CreateStack 一定成功。PreviewStack 和后续 CreateStack 对共同支持的输入必须保持一致,包括模板来源、地域、最终 StackName、DisableRollback 和模板参数。生成模板时,以下属性必须定义为 Parameters(部署前通过 API 查询确定实际值):
| 产品 | 须参数化的属性 |
|---|---|
| ECS | ZoneId, InstanceType, ImageId, SystemDiskCategory, DataDiskCategory |
| RDS | ZoneId, DBInstanceClass, DBInstanceStorageType |
| Redis | ZoneId, InstanceClass |
| SLB/ALB | ZoneId |
以下属性不需要参数化,直接使用合理默认值:
资源名称应体现业务用途,不要包含工具名(如 terraform、ros):
my-vpc、web-server、app-dbvpc-terraform、ros-ecs、tf-vswitch.tf 等文件后,必须先用 tf2ros.py 打包为 ROS Terraform 类型模板(用法见 references/terraform-template.md 的「与 ROS 集成」节),后续步骤校验/部署的都是这份打包后的 .ymlterraform init/apply 等本地 CLI 步骤替代部署确认)TemplateURL 支持本地文件路径:aliyun_api(product=ros)和 ros_stack 中,TemplateURL 可传本地文件路径(如
/tmp/template.yml),工具会自动读取文件内容。避免将大模板内容直接作为参数传递。
当用户确认执行以下操作时,必须先查询可用性:
| 操作 | 查询范围 |
|---|---|
| CreateStack | 全量查询所有库存相关 Parameters |
| ContinueCreateStack | 查询失败资源相关的 Parameters |
| UpdateStack | 查询变更涉及的 Parameters |
| CreateStackInstances | 按每个目标地域分别查询 |
| UpdateStackInstances | 按每个目标地域查询变更涉及的 Parameters |
查询步骤:
zone_id)。示例:
aliyun_api(
product="ros",
action="GetTemplateEstimateCost",
params={
"TemplateURL": "/tmp/ros-ecs-nginx-template.yml",
"Parameters": {
"zone_id": "cn-hangzhou-k",
"instance_type": "ecs.g7.large",
"image_id": "centos_stream_9_x64_20G_alibase_20260414.vhd",
"system_disk_category": "cloud_essd",
},
},
region_id="cn-hangzhou",
)
此为更新后模板的总费用预估,而非变更前后价差询价失败:不阻塞部署。按如下格式展示后继续征求部署确认:
为您选定以下参数:
- 可用区:cn-beijing-h
- ECS 实例规格:ecs.g7.large (2c8g)
- ...
预估费用(按量付费):
- web-server (ECS ecs.g7.large): ¥xx/h
- app-db (RDS mysql.n4.large.1): ¥xx/h
- 其他(VPC / 安全组 / 交换机 等): 免费
合计: ¥xx/h
⚠️ 询价失败: <错误简述>
常见原因: 部分资源类型不支持询价 / 账号询价权限缺失 / API 暂时异常
确认部署?
无法找到公共可用区时,告知用户冲突详情,建议换规格系列或换地域。
DisableRollback: true| 文件 | 内容 |
|---|---|
| references/template-parameters.md | 模板参数规范:AssociationProperty、Label、分组(ROS/Terraform 共用) |
| references/template-parameter-recommendation.md | 已有 ROS 可部署模板的部署前参数推荐流程 |
| references/cloud-products/ | 云产品选型文件(ecs.md、rds.md、redis.md、slb.md、vpc.md、oss.md) |
| references/ros-template.md | ROS 原生模板最佳实践:RunCommand、嵌套栈、条件部署 |
| references/terraform-template.md | Terraform 最佳实践:文件组织、变量、Data Source、ROS 集成 |
以下规则仅适用于 RPC 风格 API(style 未传或传 "RPC";ROA 风格用 JSON body/query,不受此约束)。
调用 RPC API 时,array、object 类参数需平铺为带数字下标的键,工具不会自动展开。规则:
1 起,依次递增array[string] → <Name>.<N>array[object] → <Name>.<N>.<SubKey>object → <Name>.<SubKey>例外:ROS API 的 Parameters 参数支持直接传字典格式 {"参数名": "参数值"},工具会自动展开为 Parameters.<N>.ParameterKey / Parameters.<N>.ParameterValue 平铺格式。其他 RPC 参数仍需按上述规则手动平铺。
分析错误原因 → 查 GetResourceType Schema(如需)→ 修复 → 重试(最多 5 轮)
分析错误原因: