Я пытаюсь развернуть две версии API на конечных точках Google Cloud, но в процессе развертывания сталкиваюсь с проблемами конфигурации.
Определение API api-1.yaml
выглядит следующим образом:
swagger: "2.0"
info:
description: "API"
title: "API"
version: "1.0.0"
host: "api.endpoints.GCP_PROJECT.cloud.goog"
basePath: "/v1"
x-google-api-name: v1
x-google-endpoints:
- name: "api.endpoints.GCP_PROJECT.cloud.goog"
target: "IP_ADDRESS"
...
Это работает очень хорошо, если развернуто в одиночку. Однако, если добавлено api-2.yaml
:
swagger: "2.0"
info:
description: "API"
title: "API"
version: "2.0.0"
host: "api.endpoints.GCP_PROJECT.cloud.goog"
basePath: "/v2"
x-google-api-name: v2
x-google-endpoints:
- name: "api.endpoints.GCP_PROJECT.cloud.goog"
target: "IP_ADDRESS"
...
Это приводит к ошибке развертывания: OpenAPI spec is invalid. Multiple endpoint entries are defined in the extension \'x-google-endpoints\'. At most one entry is allowed.
Удаление расширения x-google-endpoints
из одного файла yaml
работает, но оставляет другой yaml
файл является неполным и, следовательно, не оптимальным решением.
Может ли возникнуть проблема с объединением / проверкой файлов yaml
во время развертывания? Можно ли использовать расширение x-google-endpoints
для определения домена .cloud.goog
для версий API?