I'm new to Pulumi and trying to create a lambda to...
# general
t
I'm new to Pulumi and trying to create a lambda to handle an Alexa skill. Is there an Alexa skill event that I can directly add, or is there a way to generically define an event?
w
The API for managing Alexa Skills is not part of AWS, so isn’t available as part of the
@pulumi/aws
package. It would definitely be possible to create a Pulumi resource provider that mapped to this SMAPI: https://developer.amazon.com/docs/smapi/smapi-overview.html Note that you can easily create the lambda (aws.lambda.CallbackFunction) and provide it permissions to be invoked by Alexa (as well as manage data stores and other infrastructure you might need) with Pulumi, and then just register the resulting Lambda with Alexa manually.
Lambda’s have an alexa skill event type
There isn't really such a thing as a "Lambda event type". Are you referring to the AWS Lambda Console drop down? All that the console does is configure the AssumeRolePolicy for the Lambda to give the right source rights to invoke it. In the case of Alexa Skills, that will just need to include this:
Copy code
"Principal": {
        "Service": "<http://alexa-appkit.amazon.com|alexa-appkit.amazon.com>"
},
You can configure that same assume role policy using Pulumi (and
aws.lambda.CallbackFunction
should make this pretty easy). Whether creating the Lambda using the console or using Pulumi you'll still currently need to wire it up to Alexa using the Alexa console, the ask-cli or the SMAPI mentioned above.
t
Awesome, thanks!