code: def to_cloudformation(self, **kwargs):
          
          resources = []
          intrinsics_resolver = kwargs["intrinsics_resolver"]
  
          if self.DeadLetterQueue:
              self._validate_dlq()
  
          lambda_function = self._construct_lambda_function()
          resources.append(lambda_function)
  
          lambda_alias = None
          if self.AutoPublishAlias:
              alias_name = self._get_resolved_alias_name("AutoPublishAlias", self.AutoPublishAlias, intrinsics_resolver)
              lambda_version = self._construct_version(lambda_function, intrinsics_resolver=intrinsics_resolver)
              lambda_alias = self._construct_alias(alias_name, lambda_function, lambda_version)
              resources.append(lambda_version)
              resources.append(lambda_alias)
  
          if self.DeploymentPreference:
              self._validate_deployment_preference_and_add_update_policy(kwargs.get('deployment_preference_collection',
                                                                                    None),
                                                                         lambda_alias, intrinsics_resolver)
  
          managed_policy_map = kwargs.get('managed_policy_map', {})
          if not managed_policy_map:
              raise Exception('Managed policy map is empty, but should not be.')
  
          execution_role = None
          if lambda_function.Role is None:
              execution_role = self._construct_role(managed_policy_map)
              lambda_function.Role = execution_role.get_runtime_attr('arn')
              resources.append(execution_role)
  
          try:
              resources += self._generate_event_resources(lambda_function, execution_role, kwargs['event_resources'],
                                                          lambda_alias=lambda_alias)
          except InvalidEventException as e:
              raise InvalidResourceException(self.logical_id, e.message)
  
          return resources
docs: Returns the Lambda function, role, and event resources to which this SAM Function corresponds.
  
          :param dict kwargs: already-converted resources that may need to be modified when converting this \
          macro to pure CloudFormation
          :returns: a list of vanilla CloudFormation Resources, to which this Function expands
          :rtype: list