ManifestEntity
in package
One entity a §27.6 manifest declares must exist.
Entities are addressed by a manifest-local $key, never by a server-assigned UUID.
That is what lets the same manifest run against a fresh tenant and an existing one and
mean the same thing (§27.6: a plan must be STABLE ACROSS RUNS) — a UUID does not exist
until the first apply, so a manifest written in terms of UUIDs could only ever describe
a tenant that already matched it.
Table of Contents
Properties
- $depends : array<string|int, mixed>
- $fields : array<string|int, mixed>
- $key : string
- $kind : ManifestKind
- $name : string
Methods
- __construct() : mixed
- drift() : array<string, mixed>
- The fields of `$existing` that disagree with this declaration.
Properties
$depends read-only
public
array<string|int, mixed>
$depends
= []
$fields read-only
public
array<string|int, mixed>
$fields
= []
$key read-only
public
string
$key
$kind read-only
public
ManifestKind
$kind
$name read-only
public
string
$name
Methods
__construct()
public
__construct(ManifestKind $kind, string $key, string $name[, array<string, mixed> $fields = [] ][, array<int, string> $depends = [] ]) : mixed
Parameters
- $kind : ManifestKind
-
What sort of object this is.
- $key : string
-
Manifest-local identity, unique within its kind.
- $name : string
-
The name the server knows it by; also how an existing object is matched to this declaration.
- $fields : array<string, mixed> = []
-
Desired field values, by wire name.
- $depends : array<int, string> = []
-
Keys of entities that must be applied first, beyond what ManifestKind already orders.
drift()
The fields of `$existing` that disagree with this declaration.
public
drift(array<string, mixed> $existing) : array<string, mixed>
Compares ONLY the fields the manifest names. A server object carries plenty this manifest says nothing about — timestamps, ids, fields set by another operator — and treating those as drift would make every plan report a change and every apply overwrite work the manifest never claimed.
Parameters
- $existing : array<string, mixed>
-
The server's current object.
Return values
array<string, mixed> —The drifted fields and their DESIRED values; empty when converged.