definitions:
  function:
    type: object
    patternProperties:
      ".*\\(.*\\)": {type: string}
    additionalProperties: false
    minProperties: 1
    maxProperties: 1


  functions:
    type: array
    items: {$ref: "#/definitions/function"}


  access_entry:
      type: object
      properties:
        location: {type: string}
        read:
          anyOf:
            - {type: string}
            - {type: boolean}
        write:
          anyOf:
            - {type: string}
            - {type: boolean}
      required: [location]
      additionalProperties: false

  access:
    type: array
    items: {$ref: "#/definitions/access_entry"}

properties:
  functions: {$ref: "#/definitions/functions"}
  schema: {$ref: "http://firebase.com/schema#"}
  access: {$ref: "#/definitions/access"}


additionalProperties: false