<!-- https://avertgate.com/tr/docs/constraints-approval · Politika -->

# Kısıtlar ve onay

Aynı aracın bazı çağrıları serbest, bazıları yasak, bazıları onaylı olabilir; fark argümandadır.

## constraints (engelle)

Bir argüman kısıtı ihlal edilirse çağrı BLOCK olur.

<!-- policy.yaml -->
```yaml
- name: "issue_refund"
  allow: true
  constraints:
    amount:  { max: 500 }                 # sayısal üst sınır
    reason:  { enum: [damaged, late] }    # izinli değerler
    order_id: { regex: "^ORD-[0-9]{6}$" } # biçim
```

| Anahtar | Kontrol |
| --- | --- |
| `min`, `max` | Sayısal alt/üst sınır. |
| `enum` | Değer listedeki değerlerden biri olmalı. |
| `regex` | Değer desene uymalı. Geçersiz regex yapılandırması çağrıyı engeller. |

## require_approval_when (onaya gönder)

Eşik aşıldığında çağrıyı reddetmek yerine insana sorar:

<!-- policy.yaml -->
```yaml
- name: "issue_refund"
  allow: true
  constraints:
    amount: { max: 5000 }      # 5000 üstü: kesin engel
  require_approval_when:
    amount: { min: 500 }       # 500 ve üstü: insan onayı
```

Böylece 0–499 arası otomatik, 500–5000 arası onaylı, 5000 üstü ise engellenir.

## require_approval (her zaman onay)

Argümandan bağımsız olarak her çağrı onaya gider. Onay akışı için bkz. [Onay akışı](/docs/approvals).
