Amit Kanderi
Amit Kanderi

Reputation: 204

How to host aws cdk custom construct library as an API

Few days back I asked a question to stack overflow community at about custom construct library Question

Although I didn't got the exact answer I was looking for. But somehow I managed to create a custom construct library. But now I have another query on how to host the CDK App as an API.

Below is the snapshot of custom construct library:

test_ec2 = ec2.Instance(self, "APIInstance", 
                                vpc=my_vpc,
                                machine_image=ec2.AmazonLinuxImage(
                                        generation=ec2.AmazonLinuxGeneration.AMAZON_LINUX
                                ),
                                key_name="test-cdk",
                                instance_name=inst-name
                                )

If I want to host above AWS CDK Application as an API that will accept a string for the variable inst-name and will create a EC2 instance. I tried creating it as an lambda function but not sure how to manage "node dependencies and python dependencies" at same time.

Can it be done using an already created EC2 Instance(attaching an IAM Role with permission of cloudformation) and accepting HTTP requests (But don't know how?) Is this making sense?

Thank You in advance to all the devs.

Upvotes: 0

Views: 329

Answers (1)

Farid Nouri Neshat
Farid Nouri Neshat

Reputation: 30430

There are many ways to do this. I think the simplest would be to syntesize your cloudformation templates and publish them to S3 ahead of time and use API gateway with a REST API and with AWS request type integration that would create the Cloudformation stack.

Here's a tutorial that explains how to build a REST API with AWS API integration: https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-aws-proxy.html

Just this is for SNS:ListTopics action, but you would want cloudformation:CreateStack action instead.

Upvotes: 1

Related Questions