Break the CreateLogStream and PutLogEvents rights apart from one another. Each of them requires a different resource reference since they reference the LogGroup and LogGroup's LogStream respectively (i.e. you are creating the resource in the first that the second is putting log events into).
The split of stack configuration and function compilation required a more in depth merge.
Commentary: it also creates strange interaction of the expectations and code across those two files.
The stack is now set up in one place.
The S3 bucket isn't created on create if a bucket is already specified.
Working on configurability for the developer.
There is still the possibility of failing to deploy the stack
if the iamRoleArn is set, and a deploymentBucket is specified