def activate!(*input)
      dispatch :activated
      component.resetExitType

      r = nil

      while [:EARLY_EXIT, :NEVER_ACTIVATED, :TIMEOUT].include?(component.exit_type) &&
            !shutdown?
        r = component.activate(input)
        run_sync! if sync_enabled?
      end

      dispatch :deactivated
      r
    end
def activate!(*input)
      dispatch :activated
      component.resetExitType

      r = nil

      while [:EARLY_EXIT, :NEVER_ACTIVATED, :TIMEOUT].include?(component.exit_type) &&
            !shutdown?
        r = component.activate(input)
        run_sync! if sync_enabled?
      end

      dispatch :deactivated
      r
    end
Invoke CDK activation routine