version: "0.0.1"
name: example
types:
  example::DirectCycle:
    type: object
    properties:
      foo:
        $ref: "#/types/example::DirectCycle"
    required: [ foo ]
  example::IndirectCycleS:
    type: object
    properties:
      foo2:
        $ref: "#/types/example::IndirectCycleT"
    required: [ foo2 ]
  example::IndirectCycleT:
    type: object
    properties:
      foo3:
        $ref: "#/types/example::IndirectCycleS"
    required: [ foo3 ]
  example::AcyclicReferent:
    type: object
    properties:
      foo4:
        $ref: "#/types/example::DirectCycle"
      bar:
        $ref: "#/types/example::IndirectCycleS"
      baz:
        $ref: "#/types/example::IndirectCycleT"
    required: [ foo4, bar, baz ]
  example::AcyclicS:
    type: object
    properties:
      foo5:
        type: string
    required: [ foo5 ]
  example::AcyclicT:
    type: object
    properties:
      foo6:
        $ref: "#/types/example::AcyclicS"
    required: [ foo6 ]
language:
  csharp: { "packageReferences": { "Pulumi": "3.12" } }
  go:
    {
      "importBasePath": "github.com/pulumi/pulumi/pkg/v3/codegen/internal/test/testdata/cyclic-types/go/example",
    }
  nodejs:
    {
      "dependencies": { "@pulumi/pulumi": "^3.12" },
      "devDependencies": { "typescript": "^3.7.0" },
    }
  python: {}
