{
  "additionalProperties": false,
  "properties": {
    "tenant_id": {
      "maxLength": 100,
      "minLength": 1,
      "title": "Tenant Id",
      "type": "string"
    },
    "source_instance_id": {
      "maxLength": 100,
      "minLength": 1,
      "title": "Source Instance Id",
      "type": "string"
    },
    "source": {
      "pattern": "^[a-z][a-z0-9_]{0,63}$",
      "title": "Source",
      "type": "string"
    },
    "version": {
      "maxLength": 100,
      "minLength": 1,
      "title": "Version",
      "type": "string"
    },
    "fields": {
      "additionalProperties": {
        "type": "string"
      },
      "maxProperties": 25,
      "title": "Fields",
      "type": "object"
    },
    "constants": {
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ]
      },
      "maxProperties": 20,
      "title": "Constants",
      "type": "object"
    },
    "event_types": {
      "additionalProperties": {
        "type": "string"
      },
      "maxProperties": 50,
      "title": "Event Types",
      "type": "object"
    },
    "completeness_policy": {
      "maxLength": 1000,
      "minLength": 10,
      "title": "Completeness Policy",
      "type": "string"
    }
  },
  "required": [
    "tenant_id",
    "source_instance_id",
    "source",
    "version",
    "fields",
    "completeness_policy"
  ],
  "title": "MappingPlan",
  "type": "object"
}
