code: func (auth *ASMAuthResource) ApplyTransition(nextState resourcestatus.ResourceStatus) error {
  	transitionFunc, ok := auth.resourceStatusToTransitionFunction[nextState]
  	if !ok {
  		return errors.Errorf("resource [%s]: transition to %s impossible", auth.GetName(),
  			auth.StatusString(nextState))
  	}
  	return transitionFunc()
  }
docs: // ApplyTransition calls the function required to move to the specified status