sigs.k8s.io/cluster-api-provider-azure@v1.14.3/docs/proposals/images/async-delete.plantuml (about) 1 @startuml 2 title Figure 2. Azure service async delete 3 state longrunningopinprogress <<choice>> 4 5 [*] --> longrunningopinprogress : start Delete 6 longrunningopinprogress --> GetResultIfDone : long running operation\nalready in progress 7 GetResultIfDone : fetch the future data from the scope 8 GetResultIfDone : check if future is done 9 10 GetResultIfDone --> [*] : requeue if not done 11 GetResultIfDone --> UpdateStatus : done 12 UpdateStatus : update the object conditions 13 UpdateStatus --> [*] 14 15 longrunningopinprogress --> Delete : no long running operation\n in progress 16 Delete : DELETE the resource from Azure 17 Delete : wait for the operation to complete 18 Delete : timeout after x seconds 19 20 Delete --> ResetLongRunningState : DELETE operation completes \n before timeout 21 ResetLongRunningState : set the long running operation state to nil 22 ResetLongRunningState --> UpdateStatus 23 24 Delete --> StoreLongRunningState : DELETE operation does not\n complete before timeout 25 StoreLongRunningState: store the future in long running operation state 26 StoreLongRunningState --> UpdateStatus 27 28 @enduml