@startuml
[*] --> UNDEPLOYED:UNDEPLOYED:NO_ERROR: Create
UNDEPLOYED:UNDEPLOYED:NO_ERROR --> DEPLOYING:DEPLOYING: Deploy
DEPLOYING:DEPLOYING --> DEPLOYED:DEPLOYED:NO_ERROR: Deployed
DEPLOYING:DEPLOYING --> UNDEPLOYED:DEPLOYING:FAILED: Deploy failed
UNDEPLOYEDDEPLOYING:DEPLOYING --> DEPLOYING:DEPLOYING:TIMEOUT: Deploy timeout
DEPLOYEDDEPLOYING:DEPLOYING:DEPLOYEDTIMEOUT --> UNDEPLOYING:UNDEPLOYINGDEPLOYED:DEPLOYED:NO_ERROR: UndeployDeployed
UNDEPLOYINGDEPLOYING:DEPLOYING:UNDEPLOYINGTIMEOUT --> UNDEPLOYED:UNDEPLOYEDDEPLOYING:FAILED: Undeployed
UNDEPLOYING:UNDEPLOYINGDeploy failed
DEPLOYING:DEPLOYING:TIMEOUT --> DEPLOYEDDEPLOYING:UNDEPLOYINGDEPLOYING: Undeploy failedDeploy
UNDEPLOYED:DEPLOYING:FAILED --> UNDEPLOYINGDEPLOYING:UNDEPLOYINGDEPLOYING: UndeployDeploy
DEPLOYEDUNDEPLOYED:DEPLOYING:UNDEPLOYINGFAILED --> UNDEPLOYING:UNDEPLOYING: Undeploy
DEPLOYED:UNDEPLOYING --> DEPLOYING:DEPLOYING: Deploy
DEPLOYED:DEPLOYEDNO_ERROR --> UPDATINGUNDEPLOYING:UPDATINGUNDEPLOYING: UpdateUndeploy
UPDATINGUNDEPLOYING:UPDATINGUNDEPLOYING --> DEPLOYED:DEPLOYEDUNDEPLOYED:UNDEPLOYED:NO_ERROR: UpdatedUndeployed
UPDATINGUNDEPLOYING:UPDATINGUNDEPLOYING --> DEPLOYED:UPDATINGUNDEPLOYING:FAILED: UpdateUndeploy failed
DEPLOYEDUNDEPLOYING:UPDATINGUNDEPLOYING --> UPDATINGUNDEPLOYING:UNDEPLOYING:UPDATINGTIMEOUT: Undeploy Updatetimeout
DEPLOYED:UPDATINGUNDEPLOYING:FAILED --> UNDEPLOYING:UNDEPLOYING: Undeploy
DEPLOYED:UNDEPLOYING:DEPLOYEDFAILED --> MIGRATINGDEPLOYING:MIGRATINGDEPLOYING: MigrateDeploy
MIGRATINGUNDEPLOYING:UNDEPLOYING:MIGRATINGTIMEOUT --> DEPLOYED:DEPLOYEDUNDEPLOYED:UNDEPLOYED:NO_ERROR: MigratedUndeployed
MIGRATINGUNDEPLOYING:UNDEPLOYING:MIGRATINGTIMEOUT --> DEPLOYED:MIGRATINGUNDEPLOYING:FAILED: MigrateUndeploy failed
DEPLOYEDUNDEPLOYING:UNDEPLOYING:MIGRATINGTIMEOUT --> UNDEPLOYING:UNDEPLOYING: Undeploy
UNDEPLOYING:UNDEPLOYING:TIMEOUT --> DEPLOYING:DEPLOYING: Deploy
@enduml |