pulumi/pkg/codegen/internal/test/testdata/simple-resource-schema/schema.json
Pat Gavlin a1339277f0
[schema] Add enum overlay support. (#8425)
And update the metaschema to accommodate the `isOverlay` properties
added in #8338. Overlay enums, like other overlay members, are
implemented out-of-band by the declaring package. Code generators should
not generate declarations for overlay enums.
2021-11-16 15:53:28 -08:00

240 lines
5.1 KiB
JSON

{
"version": "0.0.1",
"name": "example",
"types": {
"example::Object": {
"properties": {
"foo": {
"$ref": "#/resources/example::Resource"
},
"bar": {
"type": "string"
},
"others": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/types/example::SomeOtherObject"
}
},
"description": "List of lists of other objects"
},
"configs": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/types/example::ConfigMap"
}
},
"stillOthers": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/types/example::SomeOtherObject"
}
},
"description": "Mapping from string to list of some other object"
}
},
"type": "object"
},
"example::OtherResourceOutput": {
"properties": {
"foo": {
"type": "string"
}
},
"type": "object"
},
"example::SomeOtherObject": {
"properties": {
"baz": {
"type": "string"
}
},
"type": "object"
},
"example::ConfigMap": {
"properties": {
"config": {
"type": "string"
}
},
"type": "object"
},
"example::EnumOverlay": {
"type": "string",
"enum": [
{
"name": "SomeEnumValue",
"value": "SOME_ENUM_VALUE"
}
],
"isOverlay": true
},
"example::ConfigMapOverlay": {
"isOverlay": true,
"properties": {
"config": {
"type": "string"
}
},
"type": "object"
},
"example::ObjectWithNodeOptionalInputs": {
"properties": {
"foo": {
"type": "string"
},
"bar": {
"type": "integer"
}
},
"required": ["foo"],
"language": {
"nodejs": {
"requiredInputs": []
}
},
"type": "object"
}
},
"resources": {
"example::Resource": {
"properties": {
"bar": {
"type": "string",
"secret": true
}
},
"inputProperties": {
"bar": {
"type": "string",
"secret": true
}
},
"type": "object"
},
"example::OtherResource": {
"isComponent": true,
"properties": {
"foo": {
"$ref": "#/resources/example::Resource"
}
},
"inputProperties": {
"foo": {
"$ref": "#/resources/example::Resource"
}
},
"type": "object"
},
"example::OverlayResource": {
"isOverlay": true,
"properties": {
"foo": {
"$ref": "#/types/example::ConfigMapOverlay"
},
"bar": {
"$ref": "#/types/example::EnumOverlay"
}
},
"inputProperties": {
"foo": {
"$ref": "#/types/example::ConfigMapOverlay"
},
"bar": {
"$ref": "#/types/example::EnumOverlay"
}
},
"type": "object"
},
"example::TypeUses": {
"properties": {
"foo": {
"$ref": "#/types/example::Object"
},
"bar": {
"$ref": "#/types/example::SomeOtherObject"
},
"baz": {
"$ref": "#/types/example::ObjectWithNodeOptionalInputs"
}
},
"inputProperties": {
"foo": {
"$ref": "#/types/example::Object"
},
"bar": {
"$ref": "#/types/example::SomeOtherObject"
},
"baz": {
"$ref": "#/types/example::ObjectWithNodeOptionalInputs"
}
},
"type": "object"
}
},
"functions": {
"example::argFunction": {
"inputs": {
"properties": {
"arg1": {
"$ref": "#/resources/example::Resource"
}
}
},
"outputs": {
"properties": {
"result": {
"$ref": "#/resources/example::Resource"
}
}
}
},
"example::overlayFunction": {
"isOverlay": true,
"inputs": {
"properties": {
"arg1": {
"$ref": "#/resources/example::Resource"
}
}
},
"outputs": {
"properties": {
"result": {
"$ref": "#/resources/example::Resource"
}
}
}
}
},
"language": {
"csharp": {
"projectReferences": [
"..\\..\\..\\..\\..\\..\\..\\sdk\\dotnet\\Pulumi\\Pulumi.csproj"
],
"packageReferences": {
"Pulumi": "3.13"
}
},
"go": {
"importBasePath": "github.com/pulumi/pulumi/pkg/v3/codegen/internal/test/testdata/simple-resource-schema/go/example"
},
"nodejs": {
"dependencies": {
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"typescript": "^3.7.0"
}
},
"python": {}
}
}