【发布时间】:2020-01-04 17:25:39
【问题描述】:
我正在使用 CloudFormation 创建我的基础架构。
我希望使用“API Gateway Extensions to OpenAPI”来创建 API
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html
相关代码段如下所示。
"MorningApi": {
"Type": "AWS::ApiGateway::RestApi",
"Properties": {
"Description": {
"Fn::Sub": "${Stage}-MorningApi"
},
"Name": {
"Fn::Sub": "${Stage}-MorningApi"
},
"EndpointConfiguration": {
"Types": [
"REGIONAL"
]
},
"BodyS3Location": {
"Bucket" : "cf-morning",
"Key" : "nested-templates-stack/MorningApiStatusStackSwagger.json"
}
}
},
"MorningApiloadBalancer": {
"Type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
"Properties": {
"Name": {
"Fn::Sub": "${Stage}-MorningApiloadBalancer"
},
"Subnets": [
{
"Ref": "PrivateASubnet"
},
{
"Ref": "PrivateBSubnet"
},
{
"Ref": "PrivateCSubnet"
}
],
"Type": {
"Ref": "ELBType"
},
"Scheme": "internal",
"IpAddressType": {
"Ref": "ELBIpAddressType"
}
}
}
我需要将“MorningApiloadBalancer”的“DNSName”传递给位于 S3 位置的 swagger 文件。我找不到办法做到这一点。 任何帮助表示赞赏。
【问题讨论】:
-
你有没有想过如何做到这一点?
-
我们无法做到这一点。我将 swagger ui 与 Angular 应用程序集成在一起。我在运行时更改了 DNSName。我们为 dev、pre-prod 和 prod 维护了三个 swagger 应用程序。 Swagger 文件作为文档的一部分独立维护。最后我们没有使用 API 网关 swagger 扩展。
标签: amazon-web-services swagger amazon-cloudformation openapi