Recover interrupted certificate replacement
This commit is contained in:
@@ -252,3 +252,35 @@ class PlanAction:
|
||||
class EndpointPlan:
|
||||
endpoint_id: str
|
||||
actions: tuple[PlanAction, ...]
|
||||
retirements: tuple[RetireRequest, ...] = ()
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
retirements = tuple(self.retirements)
|
||||
|
||||
if any(
|
||||
not isinstance(retirement, RetireRequest)
|
||||
for retirement in retirements
|
||||
):
|
||||
raise ValueError(
|
||||
"EndpointPlan retirements must be "
|
||||
"RetireRequest instances"
|
||||
)
|
||||
|
||||
identities = [
|
||||
(
|
||||
retirement.object.object_type,
|
||||
retirement.object.local_key,
|
||||
)
|
||||
for retirement in retirements
|
||||
]
|
||||
|
||||
if len(set(identities)) != len(identities):
|
||||
raise ValueError(
|
||||
"EndpointPlan retirements cannot contain duplicates"
|
||||
)
|
||||
|
||||
object.__setattr__(
|
||||
self,
|
||||
"retirements",
|
||||
retirements,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user