Terraform-provider-aws: AWS Lex

Created on 19 Jun 2017  ·  37Comments  ·  Source: hashicorp/terraform-provider-aws

Hi there,

I couldn't find any issues or code relating to AWS Lex: http://docs.aws.amazon.com/lex/latest/dg/API_Reference.html. It'd be great to be able to define entire bots as code instead of configuration through the AWS console. E.g. https://nicholasjackson.io/2017/04/25/slack-bot-aws-lambda.

More info: http://docs.aws.amazon.com/lex/latest/dg/programming-model.html#programming-model-build-time-api

Cheers!

new-resource serviclexmodelbuildingservice

Most helpful comment

@maryelizbeth That is great news. I am the original author. Please let me know what you need from me to get this moved along. I can set aside time to work on this.

All 37 comments

Hey @jch254 LEX is not currently one of the supported features in the AWS provider. I was thinking about adding the extension but for creating a Slackbot it would only be possible to partially create the resources as of the way the interaction flow bounces between slack and AWS during configuration.

Also at present, the Slack API does not support configuration of integrations it can only really be used for sending and reading messages, basic user interaction stuff. I did ask Slack if they planned to release an admin API and they said they would like to but have not committed to a date.

If we could add the full workflow then I would gladly add the LEX endpoints however for now event though it would be cool it is not possible.

Feel free to ping me if you need any help.

Kind regards,

Nic

I don't see why a lack of the ability to spin up supporting infrastructure outside of AWS (e.g. Slack) would preclude the need for including the Lex configuration in this provider. Lex comes with it roles, Lambda functions, and other AWS-specific pieces of infrastructure that someone may want to spin up. Personally, I could use this feature in the AWS provider and would happily contribute.

Hello all,

I am working on adding the Lex resources. Current progress is shown in the PR above. Right now I am working on bots and intents.

Jack

@jzbruno as I'm working through these PRs I'm starting to think more about the expected usage of the said resources, and realized that none of the issues requesting this service actually have an example configuration.

Do you have a model configuration that you are working towards? It would be great to get an understanding of what you anticipate a full Lex Bot Terraform configuration looking like.

@jzbruno as I'm working through these PRs I'm starting to think more about the expected usage of the said resources, and realized that none of the issues requesting this service actually have an example configuration.

Do you have a model configuration that you are working towards? It would be great to get an understanding of what you anticipate a full Lex Bot Terraform configuration looking like.

I created a repo with examples that replicate the Amazaon Lex examples found in the console.

https://github.com/jzbruno/terraform-aws-lex-examples

These don't address the issues with version that we discussed but give the general idea of usage. Also, I am busy the rest of the week but will take a look at your review comments this weekend. Thanks again for reviewing and taking time to give suggestions for improvement.

@jzbruno thanks for the status update, and for taking the time to work through the Lex service together. I moved the PRs out of the v2.16.0 milestone/release to give us time to continue working on things as the remaining PRs still require work. As always let me know if you have any questions or stuck points.

Hi @jzbruno
Really keen to have a go at using this, do you know when it might be planned for release?
Thanks.

@simquad Hello. All of the PRs are waiting for further review.

@simquad Hello. All of the PRs are waiting for further review.

Great! sounds good. Be nice to get your work out there in the wild, quite eager to have a go with it :)

I'm shocked this hasn't been finalized yet, given the perceived popularity of these reosurces. Would like to see that happen. Any way to help?

It is shocking @bostrowski13, it has been more than a year, even with all the amazing effort @jzbruno has put in. it would have been better to have this merged (even if not perfect) than not having it all. Adding this resource would be fantastic, especially knowing that neither cloudformation or aws-cdk support lex.

@nywilken I hope you are doing well. Do you have an update on when we could expect these changes in the AWS provider?

A 2 year old feature request with open PRs that somebody is begging you to merge. Your injestion process needs to be better.

Bump. Wish we could someone to finish reviewing. I am willing to put in time to update, as I am sure this needs some updates now.

Thank you @jzbruno for your work and unbelievable perseverance with this, I've been using a locally compiled version of your efforts since early November of last year ( 2019 ) and, thank you very much, have been flawless! Pretty much have my face stuck to the glass every time I see a "[terraform-providers/terraform-provider-aws] Release v?.??.?" update come through, hoping that they somehow snuck it in when I wasn't looking. Anyway, hopefully someone can give you the decency of an explanation or, at least, a simple response considering how much time and effort that you have already put into this.
Regards and thanks again!

Thanks that means a lot. Glad to hear it is working for you.

Hi Y'all!

We appreciate the contributions that have already been made to this service area. We'll be working with the author of the existing pull requests to prepare those for inclusion in an upcoming release.

Once we've worked through original contributions for this service, we'll assess the coverage gaps (if any) and update this issue with a plan to address them.

We look forward to expanding the support for Lex in the provider.

@maryelizbeth That is great news. I am the original author. Please let me know what you need from me to get this moved along. I can set aside time to work on this.

Hi all! 👋

Just a quick update to let you know that Lex support is now featured on our ROADMAP for this quarter. Expect to see some movement on this in the coming weeks. We appreciate your patience!

@breathingdust That's great news! I haven't heard from anyone about this, should I be expecting to collaborate?

@jzbruno That would be fantastic! Once we get through some of the in progress roadmap items (WAFv2/ACM Refactor) we'll start to review the items and let you know if we need any changes. I can see you have been through part of a review process before and I apologize for leaving you hanging. Hopefully that means getting these merged will go smoothly! 🎉

Woohoo, excited about this, looking forward to finally getting my bot fully scripted and no manual tweaking required :D cheers everyone!

@jzbruno Great work on getting the Lex Slot merged and deployed. Hopefully, the other 3 PRs will progress smoothly too.

New Resource: aws_lex_intent #8917
New Resource: aws_lex_bot #8918
New Resource: aws_lex_bot_alias #8919

@jch254 can you just explain how exactly the manual things works for using amazon lex using terraform. Or can you just suggest any git repo for learning about that...
@jzbruno when can we expect the other resource to be merged and deployed.

@harshithak24 We were able to get slot type reviewed and merged. The remaining PRs will need to be updated with the same changes and merged one by one. As I have time this week I will try to get them ready for review but this will depend on reviews.

Thanks again for the PRs, @jzbruno. Unfortunately, we've made some changes to the codebase of the provider since you initially submitted them, such as breaking out the Provider Plugin SDK, then updating the SDK to v2. Likely the easiest way to resolve that is to rebase on the current master branch of the repo.

As part of the AWS provider 3.0 release, we also removed the website/aws.erb file from the repo, which is causing a conflict on the PRs.

I'll take a look at the PRs once they've bee updated.

No problem. Saw the changes when getting slot type PR pushed through. Just haven't had time to pre-emptively update these too. :)

Hi guys we are really looking forward to using this lex terraform to spin up - will it have alias setups and channels setup as well or is that still a manual thing?

@johnboy007 Hi, yes there is a PR #8919 for the bot alias resource too. As for channel associations, I don't see a way to create them or associate them to a bot through the API https://docs.aws.amazon.com/lex/latest/dg/API_Operations_Amazon_Lex_Model_Building_Service.html. I only see get and delete which is weird. Only place I see to do this is the Amazon web console. Anyone know of a programmatic way to manage these?

@jzbruno i have added a feature request into AWS to get a channel API sorted so we can create and associate , then hopefully the whole process can be automated

@johnboy007 That's great , thanks for requesting that.

@gdavison and @nywilken and everyone else. Thanks for helping get these resources merged! Great to know people will get to use them. :)

Well, done - the channels API is now on the roadmap for the Lex team so fingers crossed it comes soon

@jzbruno is there no Alias on these? or am i missing it

@johnboy007 It was merged but didn't make it into the last release. I'm guessing it will be part of the new provider release. But @gdavison would know more about that.

Hi @johnboy007 , the alias resource and datasource were just released in v3.10.0 of the provider. Thanks again to @jzbruno for the implementation 🚀

I'm going to lock this issue because it has been closed for _30 days_ ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

Was this page helpful?
0 / 5 - 0 ratings