[CDKTF] Configuring API key source for API Gateway created with OpenAPI
bgoh216
Posted on April 12, 2024
Context
A typical ApiGatewayRestApi object looks like this,
const apiGatewayRestApi = new aws.apiGatewayRestApi.ApiGatewayRestApi(this, "awpigw-rest-api", {
name: "my-apigw",
body: myOpenApiSpecification
})
Initial intuition and instruction to update API Gateway's API_KEY_SOURCE is to add x-amazon-apigateway-api-key-source
to OpenAPI specification and pass it as the body for initializing ApiGatewayRestApi.
Problem
Adding x-amazon-apigateway-api-key-source
to OpenAPI specification and setting it in the body does not update API Gateway's API_KEY_SOURCE
{
"openapi" : "3.0.1",
"info" : {
"title" : "Test1"
},
"servers" : [ {
"url" : "/{basePath}",
"variables" : {
"basePath" : {
"default" : "import"
}
}
} ],
"x-amazon-apigateway-api-key-source" : "HEADER",
.
.
.
}
Solution
In order to add the change the API Gateways's API_KEY_SOURCE, we only need to add one more line of configuration while initializing ApiGatewayRestApi,
const apiGatewayRestApi = new aws.apiGatewayRestApi.ApiGatewayRestApi(this, "awpigw-rest-api", {
name: "my-apigw",
body: myOpenApiSpecification,
apiKeySource: "AUTHORIZER"
})
There is no need to configure it in the 'myOpenApiSpecification' as specified here.
💖 💪 🙅 🚩
bgoh216
Posted on April 12, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.