$target
$target : string
Which buckets a restore needs, worked out before it starts.
The question an operator has to be able to answer at plan time is whether the cold bucket has to be up. Finding out halfway through a rollback - with some subjects written and the rest unreadable - is the outcome this exists to prevent.
Objects whose tier is not recorded are counted separately and never guessed at. While that count is above zero every tier is reported as possibly needed, because "it is in one of these buckets and I do not know which" is the true answer and narrowing it without evidence is the failure mode the whole design refuses.
__construct(string $target, array$tiers = [], int $objects = 0, int $unplaced = 0, bool $bounded = false, list $problems = [], float $seconds = 0.0) : mixed
Constructs a report.
| string | $target | Commit the restore would replay to. |
| array |
$tiers | Tier index keyed to its name, how many of the objects this restore needs are in it, whether it can be reached right now, and why not when it cannot. |
| int | $objects | Objects the restore depends on. |
| int | $unplaced | Objects whose tier is not recorded, so any tier may hold them. |
| bool | $bounded | TRUE when the walk stopped early, either at its own limit or because every tier was already required and nothing more could change the answer. |
| list |
$problems | One line per object the walk could not resolve at all. |
| float | $seconds | How long the walk took. |