Commit 71812e34 by Clinton Blackburn

Added YAML configuration for API Gateway

ECOM-3862
parent 5bc5bb59
# Discovery IDA: upstream API definitions, including vendor extensions.
# Note, while this document is not strictly to Swagger spec, each HTTP method"s
# definition _must_ be to spec or the downstream ref will fail.
apigateway_responses: &apigateway_responses
default:
statusCode: "400"
200:
statusCode: "200"
401:
statusCode: "401"
403:
statusCode: "403"
404:
statusCode: "404"
429:
statusCode: "429"
500:
statusCode: "500"
produces: &produces
- "application/json"
- "application/csv"
responses: &responses
200:
description: "OK"
400:
description: "Bad Request"
401:
description: "Unauthorized"
403:
description: "Forbidden"
404:
description: "Not Found"
429:
description: "Too Many Requests"
500:
description: "Internal Server Error"
id_parameter: &id_parameter
name: "id"
in: "path"
required: true
type: "number"
auth_header: &auth_header
name: "Authorization"
in: "header"
required: true
type: "string"
# AWS API Gateway vendor extension point. This information is used
# by https://github.com/awslabs/aws-apigateway-importer.
x-amazon-apigateway-integration: &apigateway_integration
responses: *apigateway_responses
httpMethod: "GET"
type: "http"
requestParameters:
integration.request.header.Authorization: "method.request.header.Authorization"
x-amazon-apigateway-integration-with-id: &apigateway_integration_with_id_parameter
responses: *apigateway_responses
httpMethod: "GET"
type: "http"
requestParameters:
integration.request.header.Authorization: "method.request.header.Authorization"
integration.request.path.id: "method.request.path.id"
endpoints:
v1:
# /v1/catalogs
catalogs:
get:
produces: *produces
parameters:
- *auth_header
operationId: "get_catalogs"
responses: *responses
x-amazon-apigateway-integration:
<<: *apigateway_integration
uri: "https://${stageVariables.discovery_host}/v1/catalogs/"
# /v1/catalogs/{id}
catalogsById:
get:
produces: *produces
parameters:
- *auth_header
- *id_parameter
operationId: "get_catalogs_by_id"
responses: *responses
x-amazon-apigateway-integration:
<<: *apigateway_integration_with_id_parameter
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/"
# This file is a "de-compacted" version of api-compact.yaml. The consuming tools are unable to process YAML anchors.
# This file was generated using http://www.yamllint.com/.
---
endpoints:
v1:
catalogs:
get:
operationId: get_catalogs
parameters:
-
in: header
name: Authorization
required: true
type: string
produces:
- application/json
- application/csv
responses:
200:
description: OK
400:
description: "Bad Request"
401:
description: Unauthorized
403:
description: Forbidden
404:
description: "Not Found"
429:
description: "Too Many Requests"
500:
description: "Internal Server Error"
x-amazon-apigateway-integration:
httpMethod: GET
requestParameters:
integration.request.header.Authorization: method.request.header.Authorization
responses:
200:
statusCode: "200"
401:
statusCode: "401"
403:
statusCode: "403"
404:
statusCode: "404"
429:
statusCode: "429"
500:
statusCode: "500"
default:
statusCode: "400"
type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/"
catalogsById:
get:
operationId: get_catalogs_by_id
parameters:
-
in: header
name: Authorization
required: true
type: string
-
in: path
name: id
required: true
type: number
produces:
- application/json
- application/csv
responses:
200:
description: OK
400:
description: "Bad Request"
401:
description: Unauthorized
403:
description: Forbidden
404:
description: "Not Found"
429:
description: "Too Many Requests"
500:
description: "Internal Server Error"
x-amazon-apigateway-integration:
httpMethod: GET
requestParameters:
integration.request.header.Authorization: method.request.header.Authorization
integration.request.path.id: method.request.path.id
responses:
200:
statusCode: "200"
401:
statusCode: "401"
403:
statusCode: "403"
404:
statusCode: "404"
429:
statusCode: "429"
500:
statusCode: "500"
default:
statusCode: "400"
type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment