{
    "properties": {
        "annotationPrefix": {
            "description": "The prefix for HTTP annotations in Thrift files",
            "examples": [
                "zanzibar"
            ],
            "type": "string"
        },
        "clientConfig": {
            "description": "The directory for client module configs, relative to application root directory",
            "examples": [
                "./clients"
            ],
            "type": "string"
        },
        "copyrightHeader": {
            "description": "The path of copyright header file, relative to application root directory",
            "examples": [
                "./copyright_header.txt"
            ],
            "type": "string"
        },
        "endpointConfig": {
            "description": "The directory for endpoint module configs, relative to application root directory",
            "examples": [
                "./endpoints"
            ],
            "type": "string"
        },
        "genCodePackage": {
            "description": "The package path for thriftrw and easyjson generated structs and (de)serializers",
            "examples": [
                "github.com/uber/zanzibar/examples/example-gateway/build/gen-code"
            ],
            "type": "string"
        },
        "genMock": {
            "description": "Whether to generate mocks during code generation",
            "examples": [
                true
            ],
            "type": "boolean"
        },
        "middlewareConfig": {
            "description": "The directory for middleware module configs, relative to application root directory",
            "examples": [
                "./middlewares"
            ],
            "type": "string"
        },
        "packageRoot": {
            "description": "The application package root",
            "examples": [
                "github.com/uber/zanzibar/examples/example-gateway"
            ],
            "type": "string"
        },
        "targetGenDir": {
            "description": "An explanation about the purpose of this instance.",
            "examples": [
                "./build"
            ],
            "type": "string"
        },
        "thriftRootDir": {
            "description": "The path of idl directory, relative to application root directory",
            "examples": [
                "./idl"
            ],
            "type": "string"
        },
        "traceKey": {
            "description": "The name of the generated trace header",
            "examples": [
                "x-trace-id"
            ],
            "type": "string"
        }
    },
    "required": [
        "packageRoot",
        "thriftRootDir",
        "genCodePackage",
        "targetGenDir",
        "middlewareConfig",
        "copyrightHeader",
        "annotationPrefix",
        "traceKey",
        "genMock"
    ],
    "type": "object"
}