{
    "name": "mypkg",
    "version": "0.0.1",
    "types": {
        "mypkg::Config": {
            "properties": {
                "foo": {
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "resources": {
        "mypkg::Resource": {
            "properties": {
                "config": {
                    "$ref": "#/types/mypkg::Config",
                    "secret": true
                },
                "configArray": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/mypkg::Config"
                    },
                    "secret": true
                },
                "configMap": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/mypkg::Config"
                    },
                    "secret": true
                },
                "foo": {
                    "type": "string",
                    "secret": true
                },
                "fooArray": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "secret": true
                },
                "fooMap": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "secret": true
                }
            },
            "required": ["config", "configArray", "configMap", "foo", "fooArray", "fooMap"],
            "inputProperties": {
                "config": {
                    "$ref": "#/types/mypkg::Config",
                    "secret": true
                },
                "configArray": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/mypkg::Config"
                    },
                    "secret": true
                },
                "configMap": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/mypkg::Config"
                    },
                    "secret": true
                },
                "foo": {
                    "type": "string",
                    "secret": true
                },
                "fooArray": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "secret": true
                },
                "fooMap": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "secret": true
                }
            },
            "type": "object",
            "requiredInputs": ["config", "configArray", "configMap", "foo", "fooArray", "fooMap"]
        }
    },
    "language": {
        "nodejs": {
            "devDependencies": {
                "@types/node": "ts4.3"
            }
        },
        "go": {
            "importBasePath": "secrets/mypkg",
            "generics": "side-by-side"
        },
        "python": {}
    }
}