Inspiration

I love Automation and creating bots and when there is a competition, there's nothing like it.

What it does

This bot basically saves time and lots of it. As you can see in the video, I created the entire cloud network which includes the VPC, Subnets, RouteTables, Security Groups, NAT Gateways, EIPs, VPC FlowLogs, and some other resources, + S3 bucket with required options + the entire Infrastructure summary document which is about 6 pages containing about 13 different AWS Resources in about 2.5 minutes

Try creating all of this manually and it will easily eat up about a couple of days.

This bot is basically used for 4 things

1) Basic Hi/Hello conversation

2) Create AWS Network –

  • All you have to do is type in – (in different formats)

create {num_vpc} vpc with {num_subnet_pri} private and {num_subnet_pub} public subnet

  • It creates the VPC, Public/Private Subnets, Route Tables, NAT Gateway, Assigns public IP to it, create the security groups, and add tags wherever required.

  • Output: Gives you the details about the created network.

  • How is this useful?

    • - This bot creates the entire network in less than 30 seconds. Whereas, if you try to create the same manually, it will take at least 15-20 mins for the same.
    • - This is a live scenario and is currently being used by the team in my organization.

3) Create S3 Bucket

  • This bot can also be used to create the S3 bucket.

  • The message can be something like:

Create a bucket named {bucket_name}

  • It asks you for few more options and finally creates the bucket for you

  • Output: Gives you the bucket endpoint

  • How is this useful?

    • - A simple bot to create the s3 bucket.
    • - Instead of going through the aws console or aws cli and type in commands, you can simply create the bucket by chatting with bot in simple english statements.

4) Create the InfraStructure Summary document

  • This bot can be used to create an InfraStructure Summary document.

  • The message can be something like:

Create an infrastructure summary for {aws_region}

  • It jots down 13 different resource details for you (if resources are created) in the required format. This saves your time and you get the entire Infrastructure summary document created for you in about 30 seconds.

  • Purpose/Scope of this Document | Audience | Architecture Summary | Services Used | AWS Account Information | Virtual Private Cloud | Network Information - Subnets, Routes, Security Groups | AWS Web Load Balancer Details | Amazon - Ec2 Details | Amazon - RDS Details | Amazon S3 Details | IAM Details | Amazon - CloudTrail Details are some of the resources the document contains.

  • How is this useful?

    • - This is a live scenario and is currently being used by the team in my organization.
    • - This feature saves at least 15-20 hours of manually going through each of the resources and noting them down in proper/required format.

How I built it

It took me about a month with about 2-3 hours daily to come up with the working model as I mostly worked on this after my office hours. Lots of trial and error and many different versions created to come up with the working bot

Challenges I ran into

Since Lex is still developing, and there is not much help available - be it documentation or videos or live examples, I had to figure out many things by trial and error. For ex - The bot does not support more than about 140 characters, it does not have attachment option, it does not have formatting options like new line characters, bold, italic etc, bullets, etc, I cannot change the flow in middle of a single conversation without hitting the lambda function.

Accomplishments that I'm proud of

This code written for bot is now published in my office for the other teams to use and its being used to create the network and the Infrastructure document for the clients.

For ex: 1) The creation of the Infrastructure Summary Document used to take about 20-25 hours minimum with lot of revisions for each of the customers. Now with the help of this bot, it hardly takes 20-25 seconds which has in-turn increased the productivity and the team members do not have to jot down all the resources used for different client

2) Same with creation of network. This bot creates the entire network for you in about 15-20 seconds whereas, it took people about 15-20 mins to come up with the basic network. Again a live implementation in my team. It jots down 13 different resource details for you (if resources are created) in the required format. This saves your time and you get the entire Infrastructure summary document created for you in no time.

What I learned

Learnt a lot many things about chatbots. Because of this competition, I had to go through a lot of material and videos online related to automation, aws, AI to get to know the things. Had very less knowledge of Python and had never worked on Lex or AWS Boto3 APIs before, but now I can safely say that I can not only handle things but come up with a solution in Python or AWS APIs in quick time.

What's next for AWS-Services-ChatBot

Its a great initiative. I enjoyed working on the overall bot. Its been fun and got to learn a lot of new things. Hope you guys come up with many more features in Lex - specially the attachments and formatting features, google maps, fb, google api integrations, and much more.

And hope this continues every year with some more additional features and challenges. GOD BLESS!!

Built With

Share this project:

Updates