Skip to main content

A construct library for deploying Alexa Skills with the AWS CDK.

Project description

Alexa Skill CDK Construct

This is a CDK construct library for creating an Alexa Skill.

This library currently supports NodeJS and Python.

Installation

Install with npm

$ npm install cdk-alexa-skill

Install with pip

$ pip install cdk-alexa-skill

CDK compatibility

  • Version 2.x is compatible with the CDK v2.
  • Version 1.x is compatible with the CDK v1. There won't be regular updates for this.

Usage/Examples

TypeScript:

import * as cdk from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import { Skill } from 'cdk-alexa-skill';

const skillBackendLambdaFunction = new lambda.Function(this, 'Function', {
    ...
});

const skill = new Skill(this, 'Skill', {
    endpointLambdaFunction: skillBackendLambdaFunction, // @aws-cdk/aws-lambda.IFunction object containing backend code for the Alexa Skill
    skillPackagePath: 'src/skill-package', // path to your skill package
    alexaVendorId: 'XXXXXXXXXX', // vendor ID of Alexa Developer account
    lwaClientId: 'XXXXXXXXXX', // client ID of LWA Security Profile
    lwaClientSecret: cdk.SecretValue.secretsManager('lwa-client-secret'), // @aws-cdk/core.SecretValue object containing client secret of LWA Security Profile
    lwaRefreshToken: cdk.SecretValue.secretsManager('lwa-refresh-token') // @aws-cdk/core.SecretValue object containing refresh token of LWA Security Profile
});

Python:

from aws_cdk import core
from aws_cdk import aws_lambda as lambda_
from cdk_alexa_skill import Skill

skill_backend_lambda_function = lambda_.Function(self, 'Function',
    ...)

skill = Skill(self, 'Skill',
    endpoint_lambda_function=skill_backend_lambda_function, # aws_cdk.aws_lambda.IFunction object containing backend code for the Alexa Skill
    skill_package_path='src/skill_package', # path to your skill package
    alexa_vendor_id='XXXXXXXXXX', # vendor ID of Alexa Developer account
    lwa_client_id='XXXXXXXXXX', # client ID of LWA Security Profile
    lwa_client_secret=core.SecretValue.secrets_manager('lwa-client-secret'), # @aws-cdk/core.SecretValue object containing client secret of LWA Security Profile
    lwa_refresh_token=core.SecretValue.secrets_manager('lwa-refresh-token')) # @aws-cdk/core.SecretValue object containing refresh token of LWA Security Profile

See example folder or this blog post for a more complete example.

Contributing

Contributions of all kinds are welcome and celebrated. Raise an issue, submit a PR, do the right thing.

See CONTRIBUTING.md for contributing guidelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk-alexa-skill-2.0.4.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

cdk_alexa_skill-2.0.4-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file cdk-alexa-skill-2.0.4.tar.gz.

File metadata

  • Download URL: cdk-alexa-skill-2.0.4.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.3

File hashes

Hashes for cdk-alexa-skill-2.0.4.tar.gz
Algorithm Hash digest
SHA256 3a7ee497a588da93ce8180b9eae478272809359293939e17ffdd2bd7dce02a10
MD5 3d125f3f4094a1a9ee7b1e4d217ce88e
BLAKE2b-256 99f710bab7d3d0102f2a45904e30bf81e452cbfad13f9e97c8cbf9bfab6603b1

See more details on using hashes here.

File details

Details for the file cdk_alexa_skill-2.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for cdk_alexa_skill-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 26b8b47517f37c12d5e3f029c9f1af82e4627198bf4907a4d658c8ca0904a596
MD5 de3f7f055c6c5c51f075064132d17fbf
BLAKE2b-256 c70a37eddf28994c79c37f3d0d6f6729cccfad7c5bdf73facc52cef7733e75b8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page