AWS ' API-шлюз напрямую поддерживает импорт OpenAPI 3.0 spe c для определения всех соответствующих частей API-шлюза.
С Terraform это можно сделать с помощью ресурс aws_api_gateway_rest_api
и параметр body
.
Пример приведен в тестах для ресурса :
resource "aws_api_gateway_rest_api" "test" {
name = "foo"
body = <<EOF
{
"swagger": "2.0",
"info": {
"title": "foo",
"version": "2017-04-20T04:08:08Z"
},
"schemes": [
"https"
],
"paths": {
"/test": {
"get": {
"responses": {
"200": {
"description": "200 response"
}
},
"x-amazon-apigateway-integration": {
"type": "HTTP",
"uri": "https://www.google.de",
"httpMethod": "GET",
"responses": {
"default": {
"statusCode": 200
}
}
}
}
}
}
}
EOF
}
Вы также можете использовать функцию file
для прямой загрузки OpenAPI spe c из файла YAML:
resource "aws_api_gateway_rest_api" "test" {
name = "foo"
body = file("${path.module}/api.yml")
}