$schema: http://json-schema.org/draft-07/schema#
definitions:
  AllSchemaTypes:
    type: string
    description: all schema types
    enum:
      - any
      - any-object
      - arm-id
      - array
      - binary
      - boolean
      - byte-array
      - char
      - choice
      - conditional
      - constant
      - credential
      - date
      - date-time
      - dictionary
      - duration
      - flag
      - group
      - integer
      - not
      - number
      - object
      - odata-query
      - or
      - sealed-choice
      - sealed-conditional
      - string
      - time
      - unixtime
      - uri
      - uuid
      - xor
  CompoundSchemaTypes:
    type: string
    description: |-
      Compound schemas are used to construct complex objects or offer choices of a set of schemas.

      (ie, allOf, anyOf, oneOf )
    enum:
      - or
      - xor
  ObjectSchemaTypes:
    type: string
    description: schema types that can be objects
    enum:
      - dictionary
      - object
      - or
  PrimitiveSchemaTypes:
    type: string
    description: Schema types that are primitive language values
    enum:
      - arm-id
      - boolean
      - char
      - credential
      - date
      - date-time
      - duration
      - integer
      - number
      - string
      - time
      - unixtime
      - uri
      - uuid
  ValueSchemaTypes:
    type: string
    description: schema types that are non-object or complex types
    enum:
      - arm-id
      - array
      - boolean
      - byte-array
      - char
      - choice
      - conditional
      - credential
      - date
      - date-time
      - duration
      - flag
      - integer
      - number
      - sealed-choice
      - sealed-conditional
      - string
      - time
      - unixtime
      - uri
      - uuid
