MCPcopy Create free account
hub / github.com/cloudbase/garm / validateRunnerStatusTransition

Method validateRunnerStatusTransition

database/sql/instances.go:311–325  ·  view source on GitHub ↗

validateRunnerStatusTransition validates runner status state transition

(current, newStatus params.RunnerStatus)

Source from the content-addressed store, hash-verified

309
310// validateRunnerStatusTransition validates runner status state transition
311func (s *sqlDatabase) validateRunnerStatusTransition(current, newStatus params.RunnerStatus) error {
312 if newStatus == "" || newStatus == current {
313 return nil
314 }
315
316 allowedTransitions, ok := params.RunnerStatusTransitions[current]
317 if !ok {
318 return fmt.Errorf("Instance is in invalid state: %s", current)
319 }
320
321 if !slices.Contains(allowedTransitions, newStatus) {
322 return runnerErrors.NewBadRequestError("invalid runner status transition from %s to %s", current, newStatus)
323 }
324 return nil
325}
326
327// validateInstanceStatusTransition validates instance status state transition
328func (s *sqlDatabase) validateInstanceStatusTransition(current, newStatus commonParams.InstanceStatus) error {

Callers 1

updateInstanceMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected