code: def _construct_lambda_function(self):
          
          lambda_function = LambdaFunction(self.logical_id, depends_on=self.depends_on,
                                           attributes=self.resource_attributes)
  
          if self.FunctionName:
              lambda_function.FunctionName = self.FunctionName
  
          lambda_function.Handler = self.Handler
          lambda_function.Runtime = self.Runtime
          lambda_function.Description = self.Description
          lambda_function.MemorySize = self.MemorySize
          lambda_function.Timeout = self.Timeout
          lambda_function.VpcConfig = self.VpcConfig
          lambda_function.Role = self.Role
          lambda_function.Environment = self.Environment
          lambda_function.Code = self._construct_code_dict()
          lambda_function.KmsKeyArn = self.KmsKeyArn
          lambda_function.ReservedConcurrentExecutions = self.ReservedConcurrentExecutions
          lambda_function.Tags = self._construct_tag_list(self.Tags)
          lambda_function.Layers = self.Layers
  
          if self.Tracing:
              lambda_function.TracingConfig = {"Mode": self.Tracing}
  
          if self.DeadLetterQueue:
              lambda_function.DeadLetterConfig = {"TargetArn": self.DeadLetterQueue['TargetArn']}
  
          return lambda_function
docs: Constructs and returns the Lambda function.
  
          :returns: a list containing the Lambda function and execution role resources
          :rtype: list