Настроить переменные
Сервис API Gateway поддерживает использование переменных в спецификации OpenAPI.
Пример файла спецификации с переменной
openapi: 3.0.0
info:
title: Sample API
version: 1.0.0
x-yc-apigateway:
variables:
environment:
default: "prod"
enum:
- "prod"
- "testing"
- "dev"
description: "API Gateway installation."
paths:
/env/info:
get:
x-yc-apigateway-integration:
type: dummy
content:
'*': It is ${var.environment} environment!
http_code: 200
http_headers:
Content-Type: text/plain
По умолчанию переменные принимают значения, которые указаны в поле default
в спецификации OpenAPI
- В консоли управления
перейдите в каталог, в котором необходимо изменить API-шлюз. - В списке сервисов выберите API Gateway.
- В строке с API-шлюзом нажмите кнопку
и выберите Редактировать. - В блоке Управление переменными перечислите все объявленные в спецификации переменные и их значения.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы настроить переменные:
-
При необходимости внесите изменения в файл спецификации OpenAPI или подготовьте новый файл.
-
Посмотрите описание команды CLI для изменения API-шлюза:
yc serverless api-gateway update --help
-
Укажите в команде идентификатор или имя API-шлюза, а также список всех объявленных в спецификации переменных в формате
ключ=значение
:yc serverless api-gateway update \ --id <идентификатор_шлюза> \ --variables <список_переменных>
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы передать значения переменных, объявленных в спецификации API-шлюза:
-
Откройте файл конфигурации Terraform и добавьте в него блок
variables
:resource "yandex_api_gateway" "<имя_API-шлюза>" { ... variables = { <список_переменных> } ... }
Список переменных задается в формате
ключ = значение
, например:resource "yandex_api_gateway" "<имя_API-шлюза>" { ... variables = { environment = "testing" } ... }
-
Проверьте конфигурацию командой:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминал слово
yes
и нажмите Enter.Проверить, что API-шлюз изменился, можно в консоли управления
или с помощью команды CLI:yc serverless api-gateway get <имя_API-шлюза>
Чтобы настроить переменные для спецификации API-шлюза, воспользуйтесь методом REST API update для ресурса ApiGateway или вызовом gRPC API ApiGatewayService/Update.