Skip to content

Commit 5a26bd8

Browse files
authored
Merge pull request #18 from CentralInfraCore/docs/sync-key-role-authority-with-check-grammar
docs: sync role:key's authority prose with check_grammar.py's own fix
2 parents 1440376 + 0855cd3 commit 5a26bd8

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

‎proposals/atom-grammar/README.md‎

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ megmarad:
427427
role: config # ⇔ role: { authority: config }
428428
role: state # ⇔ role: { authority: state }
429429
role: operational # ⇔ role: { authority: operational }
430-
role: key # ⇔ role: { authority: config, structural: [key] }
430+
role: key # ⇔ role: { authority: <az övező surface-é>, structural: [key] }
431431
role: derived # ⇔ role: { authority: state, lifecycle: derived }
432432
role: volatile # ⇔ role: { authority: state, lifecycle: volatile }
433433
```
@@ -443,8 +443,9 @@ role:
443443
444444
**A rövid alak feloldása kötött, nem ízlés kérdése:**
445445
446-
- a `key` `authority`-ja `config`, mert a lista kulcsát a management plane adja
447-
meg létrehozáskor;
446+
- a `key` **nem** rögzíti az `authority`-t: a `structural: [key]` tengelyt adja
447+
hozzá, az `authority` az övező surface-ből öröklődik (`config_surface` alatt
448+
`config`, `state_surface` alatt `operational`) — lásd a korrekciót lent;
448449
- a `derived` és a `volatile` `authority`-ja `state`, mert mindkettő kizárja a
449450
`config`-ot (tehát az alapértelmezés nem alkalmazható rájuk), a `role.yaml`
450451
mindkettőt `config false` / GET-only alakra képezi, és a korpuszban mindkettő
@@ -460,14 +461,26 @@ role:
460461
> `last_seen`). A grammatika első változata ezért elutasította volna egy létező,
461462
> helyes kompozíciót. A `reference`-re az állítás továbbra is áll: 0 előfordulás.
462463

464+
> **Korrekció (a `key` `authority`-ja, cic-primitive-engine review útján
465+
> elkapva).** Ez a bekezdés korábban azt állította, hogy a `key` `authority`-ja
466+
> mindig `config`, "mert a lista kulcsát a management plane adja meg
467+
> létrehozáskor." A `check_grammar.py` saját, már korábban javított kódja (és
468+
> `check_role_algebra`'s "No authority constraint" kommentje) ennek az
469+
> ellenkezőjét mondja ki, és egy konkrét korpusz-hibát is megnevez okként:
470+
> `container_statuses[].name` egy olyan lista kulcsa, amit az adapter FIGYEL
471+
> MEG, nem a kérő ad meg — a kulcs a megfigyelés része, nem egy kívánt állapot.
472+
> Ha a `key` `authority`-ja mindig `config` lenne, ez a korpusz-eset
473+
> hibásan elutasításra kerülne. A kód ezt már korrigálta (surface-derivált
474+
> authority); ez a bekezdés csak most követi.
475+
463476
### 3.2 Az érvényes kombinációk
464477

465478
| Szabály | Indok |
466479
|---|---|
467480
| `authority` pontosan egy — kihagyva `config` | egy mező vagy kívánt állapot, vagy megfigyelt, vagy számított; a három kizárja egymást |
468481
| `derived` **kizárja** a `config`-ot | számított értéket nem lehet kívánt állapotként beállítani |
469482
| `volatile` **kizárja** a `config`-ot | nem perzisztens értéknek nincs kívánt állapota |
470-
| `key` **megköveteli** a `config`-ot | a kulcsot a kérő adja meg |
483+
| `key`-re **nincs `authority`-megkötés** | a kulcs az övező surface authority-ját veszi fel (`check_role_algebra`: "No authority constraint") — egy `state_surface`-en megfigyelt lista kulcsa (pl. `container_statuses[].name`) is `key`, de nem `config` |
471484
| `key` **megköveteli** a `mandatory`-t | kulcs nem hiányozhat |
472485
| `key` **csak** `item_key`-ben megnevezett/egyetlen-kulcsos `item_fields` mezőn, VAGY egy Address `key_fields` elemén | máshol nincs mit azonosítania. (Ez a sor korábban `collection.key_fields`-et mondott — a §2.3 döntés, ami az `item_key` nevet választotta pont azért, hogy ne ütközzön a §2.7-ben formalizált Address `key_fields`-szel, itt nem lett átvezetve. Javítva, amikor a §2.7 megszületett.) |
473486
| `key` **kizárja** a `derived`-et és a `volatile`-t | a kulcs a létrehozás után nem változhat |

0 commit comments

Comments
 (0)