pulumi/tests/testdata/codegen/simple-resource-schema/schema.json

279 lines
5.9 KiB
JSON

{
"version": "1.2.3",
"name": "example",
"allowedPackageNames": ["foo", "bar"],
"pluginDownloadURL": "example.com/download",
"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
},
"baz": {
"type": "string",
"secret": true
}
},
"inputProperties": {
"bar": {
"type": "string",
"secret": true,
"willReplaceOnChanges": true
}
},
"type": "object"
},
"example::OtherResource": {
"isComponent": true,
"properties": {
"foo": {
"$ref": "#/resources/example::Resource"
}
},
"inputProperties": {
"foo": {
"$ref": "#/resources/example::Resource"
}
},
"type": "object"
},
"bar::BarResource": {
"isComponent": true,
"properties": {
"foo": {
"$ref": "#/resources/example::Resource"
}
},
"inputProperties": {
"foo": {
"$ref": "#/resources/example::Resource"
}
},
"type": "object"
},
"foo::FooResource": {
"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": {
"respectSchemaVersion": true
},
"go": {
"importBasePath": "simple-resource-schema/example",
"generateExtraInputTypes": true,
"respectSchemaVersion": true
},
"nodejs": {
"devDependencies": {
"@types/mocha": "latest",
"@types/node": "ts4.3",
"mocha": "latest",
"ts-node": "latest"
},
"extraTypeScriptFiles": [
"tests/codegen.spec.ts"
],
"respectSchemaVersion": true
},
"python": {
"respectSchemaVersion": true
}
}
}