sigs.k8s.io/cluster-api-provider-azure@v1.14.3/docs/proposals/images/aso-reconcile.plantuml (about) 1 @startuml 2 title Figure 1. Reconciling Azure resources through ASO 3 4 [*] --> GetExisting 5 GetExisting : GET the ASO resource if it exists 6 SetReconcilePolicySkip : set the ASO reconcile policy annotation 7 GetExisting --> SetReconcilePolicySkip : resource does not exist 8 SetReconcilePolicySkip --> CreateOrUpdate 9 10 state asoresourceready <<choice>> 11 state asoresourcenotfound <<choice>> 12 state asoresourceskip <<choice>> 13 14 state capzownedtag <<choice>> 15 16 GetExisting --> asoresourceready : ASO resource exists 17 asoresourceready --> capzownedtag : ASO resource is ready 18 capzownedtag --> SetReconcilePolicyManage : Azure resource has\nCAPZ "owned" tag 19 capzownedtag --> CreateOrUpdate : Azure resource has no\nCAPZ "owned" tag 20 asoresourceready --> asoresourcenotfound : ASO resource is not Ready 21 asoresourcenotfound --> UpdateStatus : non-"not found" Azure error 22 asoresourcenotfound --> asoresourceskip : Azure resource doesn't exist 23 asoresourceskip --> UpdateStatus : reconcile-policy is "manage" 24 SetReconcilePolicyManage : set the ASO reconcile policy annotation 25 asoresourceskip --> SetReconcilePolicyManage : reconcile-policy is "skip" 26 SetReconcilePolicyManage --> CreateOrUpdate 27 28 CreateOrUpdate : PUT the resource to ASO 29 CreateOrUpdate --> UpdateStatus 30 UpdateStatus : update the resource spec and status 31 UpdateStatus : update the object conditions 32 UpdateStatus --> [*] 33 34 @enduml