# cluster\_constraints

## Summary

A ClusterConstraint describes a filtering of the Instances in a Cluster based on their Metadata. Instances in the keyed cluster with a superset of the specified Metadata will be included. The Weight of the ClusterConstraint is used to inform selection of one ClusterConstraint over another.

### Example object

```javascript
{
  "constraint_key": "constraint-key-1",
  "cluster_key": "passthrough-cluster-3",
  "metadata": null,
  "properties": null,
  "response_data": {},
  "weight": 1
}
```

### Fields

#### `constraint_key`

A string value to uniquely identify this constraint in the API.

#### `cluster_key`

The key of the [cluster](https://greymatter.gitbook.io/grey-matter-documentation/1.3/reference/api/fabric-api/cluster) that matching requests will be sent to.

#### `metadata`

Array of `{"key": "", "value": }` pairs that mush match on the intended cluster.

#### `properties`

This field has no effect.

#### `response_data`

Array of [Response data](https://greymatter.gitbook.io/grey-matter-documentation/1.3/reference/api/fabric-api/route/cluster_constraint)

#### `weight`

Relative weight of this constraint expressed as an integer.
