{
  "install_config": {
    "type": "object",
    "required": [
      "uri"
    ],
    "properties": {
      "uri": {
        "type": "string"
      },
      "database": {
        "type": "string"
      }
    }
  },
  "source_stream": {
    "type": "object",
    "required": [
      "collection"
    ],
    "properties": {
      "database": {
        "type": "string"
      },
      "collection": {
        "type": "string"
      }
    }
  },
  "source_query": {
    "type": "object",
    "properties": {
      "filter": {
        "type": "string",
        "multiline": true
      },
      "projection": {
        "type": "string",
        "multiline": true
      }
    }
  },
  "write": {
    "type": "object",
    "required": [
      "collection",
      "writeMode"
    ],
    "properties": {
      "database": {
        "type": "string"
      },
      "collection": {
        "type": "string"
      },
      "writeMode": {
        "type": "string",
        "enum": [
          "append",
          "upsert",
          "overwrite"
        ],
        "default": "append"
      },
      "primaryKeys": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  }
}
