# Rule

`import { Rule } from "destack:simulation/scenario";`

Scenario rule definition.

```ds title="Rule"
export struct Rule {
    id: RuleId;
    enabled: boolean;
    select: { kind: "binding"; binding: Selector } | { kind: "entity"; entity: EntitySelector } | { kind: "edge"; edge: EdgeSelector };
    trigger: Trigger;
    fault: Fault;
    labels: LabelSet;
}
```

[language/library/src/simulation/scenario/rule.ds:32:45](https://github.com/destack-sh/destack/blob/main/language/library/src/simulation/scenario/rule.ds#L32-L45)

## Members

### `id: RuleId`

Stable rule identifier.

### `enabled: boolean`

Whether this rule is enabled.

### `select: { kind: "binding"; binding: Selector } | { kind: "entity"; entity: EntitySelector } | { kind: "edge"; edge: EdgeSelector }`

Selector for this rule.

### `trigger: Trigger`

Trigger controls.

### `fault: Fault`

Fault injected by this rule.

### `labels: LabelSet`

Rule labels.
