def _construct_lambda_function(self):
lambda_function = LambdaFunction(self.logical_id, depends_on=self.depends_on,<EOL>attributes=self.resource_attributes)<EOL>if self.FunctionName:<EOL><INDENT>lambda_function.FunctionName = self.FunctionName<EOL><DEDENT>lambda_function.Handler = self.Handler<EOL>lambda_function.Runtime = self.Runtime<EOL>lambda_function.Description = self.Description<EOL>lambda_function.MemorySize = self.MemorySize<EOL>lambda_function.Timeout = self.Timeout<EOL>lambda_function.VpcConfig = self.VpcConfig<EOL>lambda_function.Role = self.Role<EOL>lambda_function.Environment = self.Environment<EOL>lambda_function.Code = self._construct_code_dict()<EOL>lambda_function.KmsKeyArn = self.KmsKeyArn<EOL>lambda_function.ReservedConcurrentExecutions = self.ReservedConcurrentExecutions<EOL>lambda_function.Tags = self._construct_tag_list(self.Tags)<EOL>lambda_function.Layers = self.Layers<EOL>if self.Tracing:<EOL><INDENT>lambda_function.TracingConfig = {"<STR_LIT>": self.Tracing}<EOL><DEDENT>if self.DeadLetterQueue:<EOL><INDENT>lambda_function.DeadLetterConfig = {"<STR_LIT>": self.DeadLetterQueue['<STR_LIT>']}<EOL><DEDENT>return lambda_function<EOL>
Constructs and returns the Lambda function.

        :returns: a list containing the Lambda function and execution role resources
        :rtype: list