{
  "$id": "https://opendatafabric.org/schemas/auth/v1alpha1/RelationInput",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "A directed relationship between two resources, optionally carrying a typed value.",
  "type": "object",
  "required": [
    "subject",
    "relation",
    "object"
  ],
  "properties": {
    "subject": {
      "$ref": "https://opendatafabric.org/schemas/resources/v1alpha1/ResourceRef",
      "description": "The resource that holds the relation.",
      "unevaluatedProperties": false
    },
    "relation": {
      "type": "string",
      "description": "Name of the relation e.g. `role`, `member`, `owner`."
    },
    "value": {
      "description": "Optional value associated with the relation e.g. `maintainer` for a `role` relation."
    },
    "object": {
      "$ref": "https://opendatafabric.org/schemas/resources/v1alpha1/ResourceRef",
      "description": "The resource that is the target of the relation.",
      "unevaluatedProperties": false
    }
  }
}
