{ "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": "go-overridden-internal-module-name/example", "generateExtraInputTypes": true, "respectSchemaVersion": true, "internalModuleName": "utilities" }, "nodejs": { "respectSchemaVersion": true }, "python": { "respectSchemaVersion": true } } }