Loading...
Loading...
Creates Infrahub Generators — design-driven automation that builds infrastructure objects from templates and topology definitions. TRIGGER when: building design-to-implementation workflows, auto-creating objects from templates, topology-driven generation. DO NOT TRIGGER when: designing schemas, writing data transforms, querying live data, populating static data files.
npx skill4agent add opsmill/infrahub-skills infrahub-managing-generatorscat .infrahub.yml 2>/dev/null || echo "No .infrahub.yml found"find . -name "*.py" -path "*/generators/*" 2>/dev/null | head -20| Priority | Category | Prefix | Description |
|---|---|---|---|
| CRITICAL | Architecture | | Components, groups |
| CRITICAL | Python Class | | Generator, generate() |
| HIGH | Tracking | | Upsert, idempotent |
| HIGH | API Ref | | Constructor, props |
| HIGH | Registration | | .infrahub.yml config |
| MEDIUM | Patterns | | Cleaning, batch, store |
| LOW | Testing | | infrahubctl commands |
.gqlInfrahubGeneratorgenerate()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).gqlInfrahubGeneratorgenerate()allow_upsert=Truegenerator_definitionsinfrahubctl generator