Alexa::ASK::Skill
The Alexa::ASK::Skill resource creates an Alexa skill that enables customers to access
new abilities. For more information on developing a skill, see the Build Skills with the Alexa
Skills Kit developer documentation.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "Alexa::ASK::Skill", "Properties" : { "AuthenticationConfiguration" : AuthenticationConfiguration, "SkillPackage" : SkillPackage, "VendorId" :String} }
YAML
Type: "Alexa::ASK::Skill" Properties: AuthenticationConfiguration: AuthenticationConfiguration SkillPackage: SkillPackage VendorId:String
Properties
AuthenticationConfiguration-
Login with Amazon (LWA) configuration used to authenticate with the Alexa service. Only Login with Amazon clients created through the Amazon Developer Console are supported. The Client ID, Client Secret, and Refresh Token are required.
Required: Yes
Type: AuthenticationConfiguration
Update requires: No interruption
SkillPackage-
Configuration for the skill package that contains the components of the Alexa Skill. Skill packages are retrieved from an Amazon S3 bucket and key and used to create and update the skill. More details about the skill package format are located in the Skill Package API Reference.
Required: Yes
Type: SkillPackage
Update requires: No interruption
VendorId-
The vendor ID associated with the Amazon developer account that will host the skill. Details for retrieving the vendor ID are in How to get your vendor ID. The provided LWA credentials must be linked to the developer account associated with this vendor ID.
Required: Yes
Type: String
Update requires: Replacement
Return Values
Ref
When you pass the logical ID of an Alexa::ASK::Skill resource to the
intrinsic Ref function, the function returns the skill ID, such as
amzn1.ask.skill.a3103cee-c48c-40a0-a2c9-251141888863.
For more information about using the Ref function, see Ref.
Examples
Alexa Skill Resource Configuration
The following example retrieves the skill package from an S3 bucket and provides credentials for authentication with the Alexa service through Login with Amazon (LWA).
JSON
"MySkill": { "Type": "Alexa::ASK::Skill", "Properties": { "SkillPackage": { "S3Bucket": "my-skill-packages", "S3Key": "skillpackage.zip", "S3BucketRole": { "Fn::GetAtt": [ "S3BucketReadRole", "Arn" ] }, "Overrides": { "Manifest": { "apis": { "custom": { "endpoint": { "uri": { "Fn::GetAtt" : [ "SkillFunction", "Arn" ] } } } } } } }, "AuthenticationConfiguration": { "ClientId": "amzn1.application-oa2-client.1234", "ClientSecret": "1234", "RefreshToken": "Atzr|1234" }, "VendorId": "1234" } }
YAML
MySkill: Type: "Alexa::ASK::Skill" Properties: SkillPackage: S3Bucket: "my-skill-packages" S3Key: "skillpackage.zip" S3BucketRole: !GetAtt S3BucketReadRole.Arn Overrides: Manifest: apis: custom: endpoint: uri: !GetAtt SkillFunction.Arn AuthenticationConfiguration: ClientId: "amzn1.application-oa2-client.1234" ClientSecret: "1234" RefreshToken: "Atzr|1234" VendorId: "1234"
