def act(self, event, *args, **kwargs):
if not isinstance(event, LifeCycleEvents):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>method_name = "<STR_LIT>" + event.name<EOL>for plugin in self._plugins:<EOL><INDENT>if not hasattr(plugin, method_name):<EOL><INDENT>raise NameError("<STR_LIT>"<EOL>.format(method_name, plugin.name))<EOL><DEDENT>try:<EOL><INDENT>getattr(plugin, method_name)(*args, **kwargs)<EOL><DEDENT>except InvalidResourceException as ex:<EOL><INDENT>raise ex<EOL><DEDENT>except Exception as ex:<EOL><INDENT>logging.exception("<STR_LIT>", plugin.name, ex)<EOL>raise ex<EOL><DEDENT><DEDENT>
Act on the specific life cycle event. The action here is to invoke the hook function on all registered plugins.
*args and **kwargs will be passed directly to the plugin's hook functions

:param samtranslator.plugins.LifeCycleEvents event: Event to act upon
:return: Nothing
:raises ValueError: If event is not a valid life cycle event
:raises NameError: If a plugin does not have the hook method defined
:raises Exception: Any exception that a plugin raises