diff --git a/internal/resource/resource.go b/internal/resource/resource.go index 653f0e2..a413545 100644 --- a/internal/resource/resource.go +++ b/internal/resource/resource.go @@ -65,6 +65,11 @@ func ResourceMachine(sub machine.Subscriber) machine.Stater { return nil } + stater.AddTransition("read-failed", machine.States("start_read"), "inconsistent") + if e := stater.AddSubscription("read-failed", sub); e != nil { + return nil + } + stater.AddTransition("update-failed", machine.States("start_update"), "inconsistent") if e := stater.AddSubscription("update-failed", sub); e != nil { return nil @@ -147,5 +152,20 @@ func ProcessMachine(sub machine.Subscriber) machine.Stater { if e := stater.AddSubscription("deleted", sub); e != nil { return nil } + + stater.AddTransition("restart", machine.States("*"), "restarting") + if e := stater.AddSubscription("restart", sub); e != nil { + return nil + } + stater.AddTransition("restarted", machine.States("restarting"), "running") + if e := stater.AddSubscription("restarted", sub); e != nil { + return nil + } + + stater.AddTransition("restart-failed", machine.States("restarting"), "inconsistent") + if e := stater.AddSubscription("restart-failed", sub); e != nil { + return nil + } + return stater }