hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.85k stars 9.19k forks source link

AWS Lex #905

Closed jch254 closed 4 years ago

jch254 commented 7 years ago

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!

nicholasjackson commented 7 years ago

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

jmstone617 commented 6 years ago

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.

jzbruno commented 6 years ago

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

nywilken commented 5 years ago

@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 commented 5 years ago

@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.

nywilken commented 5 years ago

@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.

simquad commented 5 years ago

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

jzbruno commented 5 years ago

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

simquad commented 5 years ago

@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 :)

bostrowski13 commented 5 years ago

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?

leonfs commented 5 years ago

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.

leonfs commented 4 years ago

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

bostrowski13 commented 4 years ago

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

jzbruno commented 4 years ago

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.

tdoberg commented 4 years ago

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!

jzbruno commented 4 years ago

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

maryelizbeth commented 4 years ago

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.

jzbruno commented 4 years ago

@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.

breathingdust commented 4 years ago

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!

jzbruno commented 4 years ago

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

breathingdust commented 4 years ago

@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! 🎉

jch254 commented 4 years ago

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

leonfs commented 4 years ago

@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

harshithak24 commented 4 years ago

@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.

jzbruno commented 4 years ago

@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.

gdavison commented 4 years ago

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.

jzbruno commented 4 years ago

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

johnboy007 commented 4 years ago

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?

jzbruno commented 4 years ago

@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?

johnboy007 commented 4 years ago

@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

jzbruno commented 4 years ago

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

jzbruno commented 4 years ago

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

johnboy007 commented 4 years ago

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

johnboy007 commented 4 years ago

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

jzbruno commented 4 years ago

@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.

breathingdust commented 4 years ago

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

ghost commented 4 years ago

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!