Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide easy integration between kinesis and apigateway #33

Open
CyrusNajmabadi opened this issue Jun 11, 2019 · 0 comments
Open

Provide easy integration between kinesis and apigateway #33

CyrusNajmabadi opened this issue Jun 11, 2019 · 0 comments
Labels
kind/enhancement Improvements or new features

Comments

@CyrusNajmabadi
Copy link

See https://docs.aws.amazon.com/apigateway/latest/developerguide/api-as-kinesis-proxy-export-swagger-with-extensions.html for details on what we can take care of for the user.

Note: there are several ways we could do (and we might want to do may of them). These include:

  1. making it easy to create an IntegreationRoute's target from a kinesis stream.
  2. being able ot make an entire Route from a kinesis stream.

The difference between the two can be see with something like:

      "/streams/{stream-name}": {
         "get": {
            "parameters": [
               {
                  "name": "stream-name",
                  "in": "path",
                  "required": true,
                  "schema": {
                     "type": "string"
                  }
               }
            ],
            "responses": {
               "200": {
                  "description": "200 response",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/Empty"
                        }
                     }
                  }
               }
            },
            "x-amazon-apigateway-integration": {
               "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole",
               "responses": {
                  "default": {
                     "statusCode": "200"
                  }
               },
               "requestTemplates": {
                  "application/json": "{\n    \"StreamName\": \"$input.params('stream-name')\"\n}"
               },
               "uri": "arn:aws:apigateway:us-east-1:kinesis:action/DescribeStream",
               "httpMethod": "POST",
               "type": "aws"
            }
         },

Doing just the 'integration target' would set up the "x-amazon-apigateway-integration" portion, but likely would not setup the parameters/responses pieces (leaving the user to have to do that).

Indeed, it's not even likely that the "integration target" approach would work given that for this to work a common stream-name variable needs to be referenced in all places.

@danielrbradley danielrbradley transferred this issue from pulumi/pulumi-awsx May 19, 2022
@guineveresaenger guineveresaenger added the kind/enhancement Improvements or new features label May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Improvements or new features
Projects
None yet
Development

No branches or pull requests

2 participants