# The qdrouter management schema The schema `qdrouterd.json` is a JSON format file that defines annotations and entity types of the Qpid Dispatch Router management model. The model is based on the AMQP management specification. The schema is a JSON map with the following keys: - "description": documentation string for the schema - "prefix": Prefix prepended to schema names when they are exposed to AMQP management clients. - "entityTypes": map of entity type names to definitions (see below) Annotation and entity type definition maps have the following keys: - "description": documentation string. - "operations": list of allowed operation names. - "attributes": map of attribute names to attribute definitions (see below) Entity type definitions also have these fields: - "extends": Name of base type. The new type includes operations and attributes from the base type. - "annotations": List of annotation names. The new type includes operations and attributes from all the annotations. Attribute definition maps have the following fields: - "type": one of the following: - "String": a unicode string value. - "Integer": an integer value. - "Boolean": a true/false value. - [...]: A list of strings is an enumeration. Values must be one of the strings or an integer integer index into the list, starting from 0. - "default": a default can be a literal value or a reference to another attribute in the form `$attributeName`. There is the following hierarchy among entity types: `entity`: The base of all entity types. - `configurationEntity`: base for all types that hold *configuration information*. Configuration information is supplied in advance and expresse *intent*. For example "I want the router to listen on port N". All the entities that can be used in the configuration file extend `configurationEntity`. - `operationalEntity`: base for all types that hold *operational information*. Operational information reflects the actual current state of the router. For example, "how many addresses are presently active?" All the entities queried by the `qdstat` tool extend `operationalEntity`. The two types are often related. For example `listener` and `connector` extend `configurationEntity`, they express the intent to make or receive connections. `connection` extends `operationalEntity`, it holds information the actual connection status.