BindingRebindFailed
extends AxiamException
in package
A role binding's `Update` failed at its RE-ASSIGNMENT (§27.6.1 addition 2, contract 1.51).
There is no update endpoint for a role binding: changing its resource or inherit
means unassign, then assign. This is not atomic, and the contract does not say what a
failed rebind leaves behind (C-12 question 7) — this SDK's answer is: the previous
assignment had already been removed by the time the assign was attempted, so apply()
tries to assign it again and this exception carries BOTH results.
Unlike ManifestException, this is never a refusal to start — it is thrown from
inside apply(), after at least one write (the unassign) has already reached the
server, and it is what ApplyReport::$failure
holds for a rebind that failed this way.
Table of Contents
Properties
- $restored : bool
- $restoreError : string|null
Methods
- __construct() : mixed
Properties
$restored read-only
public
bool
$restored
$restoreError read-only
public
string|null
$restoreError
= null
Methods
__construct()
public
__construct(string $message, bool $restored[, string|null $restoreError = null ]) : mixed
Parameters
- $message : string
-
Why the new assignment was refused.
- $restored : bool
-
Whether the previous assignment was put back.
truemeans the subject holds the role exactly as before the failed rebind;falsemeans it holds NO such role now. - $restoreError : string|null = null
-
Why the restore itself failed, when
$restoredisfalse.