com um clique
iac-aliyun
阿里云 Alibaba Cloud ROS/Terraform IaC 模板生成、解释、完善、校验、询价与部署
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
阿里云 Alibaba Cloud ROS/Terraform IaC 模板生成、解释、完善、校验、询价与部署
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
阿里云 ROS 模板部署技能,负责可用性查询、执行部署与失败恢复
使用 InfraGuard 审查 ROS 模板;有发现时直接修复并验证,初始扫描干净时直接输出模板
阿里云 Alibaba Cloud Policy as Code / InfraGuard 合规策略生成、校验与策略库查询
使用专用 ROS 模板询价工具预估 ROS 模板的月度部署费用,支持按需修复和校验模板问题
阿里云 ROS 模板生成——将架构方案转化为可部署的 ROS YAML 模板
阿里云 Alibaba Cloud ROS/Terraform IaC 模板生成、解释、完善、校验、询价与部署
| 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 和模板参数。pac-aliyun skill。iac-aliyun 内维护 InfraGuard 策略副本;iac-aliyun 只在 PAC 结果要求修改模板时负责 ROS/Terraform 模板改动。生成模板时,以下属性必须定义为 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 轮)
分析错误原因: