:param fn: Function
        :type fn: LambdaFunction

def put_function(self, fn):
        """
        :param fn: Function
        :type fn: LambdaFunction
        """
        if fn.function_name in self._functions:
            self._functions[fn.function_name]['latest'] = fn
        else:
            self._functions[fn.function_name] = {
                'latest': fn,
                'versions': [],
                'alias': weakref.WeakValueDictionary()
            }

        self._arns[fn.function_arn] = fn