{
  "type": "record",
  "Aspect": {
    "name": "platformResourceInfo"
  },
  "name": "PlatformResourceInfo",
  "namespace": "com.linkedin.pegasus2avro.platformresource",
  "fields": [
    {
      "Searchable": {
        "fieldType": "KEYWORD"
      },
      "type": "string",
      "name": "resourceType",
      "doc": "The type of the resource. \nThis is used to differentiate between different types of resources.\nPossible values specified in {@link com.linkedin.pegasus2avro.platformresource.PlatformResourceType}"
    },
    {
      "Searchable": {
        "fieldType": "KEYWORD"
      },
      "type": "string",
      "name": "primaryKey",
      "doc": "The primary key for this platform resource.\nI.e., for a slack member this would be the memberID."
    },
    {
      "Searchable": {
        "/*": {
          "fieldType": "KEYWORD"
        }
      },
      "type": [
        "null",
        {
          "type": "array",
          "items": "string"
        }
      ],
      "name": "secondaryKeys",
      "default": null,
      "doc": "The secondary keys this platform resource can be located by.\nI.e., for a slack member this would be email or phone."
    },
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "SerializedValue",
          "namespace": "com.linkedin.pegasus2avro.common",
          "fields": [
            {
              "type": "bytes",
              "name": "blob",
              "doc": "The serialized blob value."
            },
            {
              "type": {
                "type": "enum",
                "name": "SerializedValueContentType",
                "namespace": "com.linkedin.pegasus2avro.common",
                "symbols": [
                  "JSON",
                  "BINARY"
                ]
              },
              "name": "contentType",
              "default": "JSON",
              "doc": "The content-type of the serialized blob value."
            },
            {
              "type": [
                "null",
                {
                  "type": "enum",
                  "name": "SerializedValueSchemaType",
                  "namespace": "com.linkedin.pegasus2avro.common",
                  "symbols": [
                    "AVRO",
                    "PROTOBUF",
                    "PEGASUS",
                    "THRIFT",
                    "JSON",
                    "NONE"
                  ]
                }
              ],
              "name": "schemaType",
              "default": null,
              "doc": "The schema type for the schema that models the object that was serialized\n       into the blob.\nAbsence of this field indicates that the schema is not known.\nIf the schema is known, the value should be set to the appropriate schema\ntype.\nUse the NONE value if the existing schema categories do not apply."
            },
            {
              "type": [
                "null",
                "string"
              ],
              "name": "schemaRef",
              "default": null,
              "doc": "An optional reference to the schema that models the object.\ne.g., 'com.linkedin.pegasus2avro.platformresource.slack.SlackConversation'"
            }
          ],
          "doc": "Captures the serialized value of a (usually) schema-d blob."
        }
      ],
      "name": "value",
      "default": null,
      "doc": "The serialized value of this platform resource item."
    }
  ],
  "doc": "Platform Resource Info.\nThese entities are for miscelaneous data that is used in non-core parts of the system.\nFor instance, if we want to persist & retrieve data from auxiliary integrations such as Slack or Microsoft Teams."
}