Runtime, handler, and code — the three properties that turn a construct into a real, invokable Lambda function.
A function needs three things before it's real: which language runtime executes it, which function in your code Lambda calls first, and the code itself. Get any one wrong and the function either won't deploy or won't run — there's no partial credit at the infrastructure layer.