cdk construct for importing a zipped Lex bot
Project description
cdk-lex-zip-import
An AWS Cloud Development Kit (AWS CDK) construct library that allows you to upload and deploy a Zipped Lex Bot. Once imported, this Bot can be managed within the Amazon Lex Console.
Usage
To add to your AWS CDK package.json file:
yarn add cdk-lex-zip-import
Within your AWS CDK:
Import Lex Bot
const bot = new lexupload.ImportBot(this, 'lexBot', {
sourceDirectory: './resources/LexBot',
lexRoleArn: lexRole.roleArn,
});
The sourceDirecotry
must include a file named LexBot.zip
. All files in that directory will be uploaded, but only a file named LexBot.zip
will be imported to Lex as a Bot.
The lexRoleArn
refers to the roleArn of an IAM Role. For example:
const lexRole = new iam.Role(this, 'lexRole', {
assumedBy: new iam.ServicePrincipal('lex.amazonaws.com'),
inlinePolicies: {
['lexPolicy']: new iam.PolicyDocument({
statements: [
new iam.PolicyStatement({
resources: ['*'],
actions: ['polly:SynthesizeSpeech', 'comprehend:DetectSentiment'],
}),
],
}),
},
});
Adding a Resource Policy
bot.addResourcePolicy(resourceArn, policy);
addResourcePolicy
requires two properties: the resourceArn
of the Lex Bot, and a policy to be applied. This policy will be applied to the alias associated with the Bot.
Resource ARN Example:
const resourceArn = `arn:aws:lex:${this.region}:${this.account}:bot-alias/${bot.botId}/${bot.botAliasId}`;
Policy Example:
const policy = {
Version: '2012-10-17',
Statement: [
{
Sid: 'AllowChimePstnAudioUseBot',
Effect: 'Allow',
Principal: { Service: 'voiceconnector.chime.amazonaws.com' },
Action: 'lex:StartConversation',
Resource: resourceArn,
Condition: {
StringEquals: { 'AWS:SourceAccount': `${this.account}` },
ArnEquals: {
'AWS:SourceArn': `arn:aws:voiceconnector:us-east-1:${this.account}:*`,
},
},
},
],
};
Not Supported Yet
This is a work in progress.
Features that are not supported yet:
- Non-Draft Versions
- Updates to created resources
Contributing
See CONTRIBUTING for more information.
License
This project is licensed under the Apache-2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cdk-lex-zip-import-0.0.18.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcbd327398c5a2a7924b693c032597824cbb12cf71f0757691dafca4fc573edd |
|
MD5 | 8129b366ea39e9d40203be22b6a0d277 |
|
BLAKE2b-256 | 39faa2e7aada031c92a0600dd60ed011699285ec06f2eabfd5d4ab5cf4489bdb |
Hashes for cdk_lex_zip_import-0.0.18-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92e8d6eb843e780a723ab2d9c7042a6fa1f7c817d52c0073d4e3b0705a1a5273 |
|
MD5 | fbdd4de240520abd2f3a4f815d2ab3a4 |
|
BLAKE2b-256 | 939fa830d90b1c9a83f0b1fdcb659d548f9a98f5f401f3f7967b9afa44011c4c |