SuperAPI AI 工具集

infrahub-generator-creator

设计与创作

查看项目

更新于 10-16 07:28

技能介绍

用途:该技能面向 Infrahub 的 Generator 开发,用于构建“设计驱动”的自动化流程,即由高层设计对象自动创建下游基础设施对象,例如从拓扑定义生成设备。

主要能力:涵盖 Generator 的架构组件与分组、Python 类实现(继承 InfrahubGenerator 并实现 generate())、跟踪与幂等 upsert、API 参考(构造器与属性)、注册配置(.infrahub.yml)、常见模式(清理、批处理、存储)以及测试命令(infrahubctl)。

基本结构:每个 Generator 由三部分组成——触发它的目标组、获取设计数据的 GraphQL 查询(.gql 文件)、以及实现 generate() 的 Python 类。示例: from infrahub_sdk.generator import InfrahubGenerator

class MyGenerator(InfrahubGenerator): async def generate(self, data: dict) -> None: obj = await self.client.create( kind="DcimDevice", data={"name": "spine-01"}, ) await obj.save(allow_upsert=True)

适用场景:需要从模板或设计定义创建对象、实现幂等的创建或更新工作流、根据高层设计自动生成基础设施,以及理解 Generator 跟踪系统时。

限制:资料未提供具体收费、价格、平台支持范围或效果数据;使用前需参考配套的 GraphQL 查询、.infrahub.yml 配置与共享规则文档。