# CeilingSource

!!! info
    This page was generated by extracting information from a JSON Schema
    data file for the API.  It may be missing some information, or otherwise
    suggest approximate or placeholder values based on information in the
    schema file; this is due to limitations on how that data is extracted
    from the underlying Rust code and into the JSON Schema, and then again
    from there and into these docs.

Which configuration term produced an `EffectiveCeiling`.

{{since('dev')}}


Can be one of the following shapes of data:

## Option 1
The primary configured term for this axis:
`connection_limit`, `max_message_rate`,
`max_connection_rate`, or `source_selection_rate`.

This is an object value, with the following properties:


  * `kind` - required `string`. 

## Option 2
A named entry from the corresponding `additional_*` map.

This is an object value, with the following properties:


  * `kind` - required `string`. 

  * `name` - required `string`. 

## Option 3
Synthetic ceiling formed from
`max_deliveries_per_connection × max_connection_rate`.
Applies only to the message-rate axis: each connection
delivers at most `max_deliveries_per_connection` messages
before reconnecting, and new connections are throttled by
`max_connection_rate`, so the product is a hard ceiling on
system-wide message rate independent of `max_message_rate`.

This is an object value, with the following properties:


  * `kind` - required `string`. 

## Option 4
A constraint contributed from a configuration layer outside
the egress path config. `name` is a free-form, human-readable
description of where the constraint came from (for example,
`"scheduled queue max_message_rate"`).

This is an object value, with the following properties:


  * `kind` - required `string`. 

  * `name` - required `string`. 

### Examples
```json
{
  "kind": "additional",
  "name": "string"
}
```
```json
{
  "kind": "other",
  "name": "string"
}
```
```json
{
  "kind": "primary"
}
```
```json
{
  "kind": "reconnect_cycling"
}
```
