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