Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex API Gateway
  • Начало работы
    • Все инструкции
    • Создание API-шлюза
      • Изменить API-шлюз и его спецификацию
      • Подключить домен
      • Указать облачную сеть
      • Настроить переменные
      • Настроить канареечный релиз
      • Посмотреть графики мониторинга
      • Отключить домен
      • Миграция в зону ru-central1-d
      • Удалить API-шлюз
    • Просмотр операций с ресурсами сервиса
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Управление API-шлюзом
  3. Настроить переменные

Настроить переменные

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.

Сервис 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-шлюза:

Консоль управления
CLI
Terraform
API
  1. В консоли управления перейдите в каталог, в котором необходимо изменить API-шлюз.
  2. В списке сервисов выберите API Gateway.
  3. В строке с API-шлюзом нажмите кнопку и выберите Редактировать.
  4. В блоке Управление переменными перечислите все объявленные в спецификации переменные и их значения.
  5. Нажмите кнопку Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы настроить переменные:

  1. При необходимости внесите изменения в файл спецификации OpenAPI или подготовьте новый файл.

  2. Посмотрите описание команды CLI для изменения API-шлюза:

    yc serverless api-gateway update --help
    
  3. Укажите в команде идентификатор или имя API-шлюза, а также список всех объявленных в спецификации переменных в формате ключ=значение:

    yc serverless api-gateway update \
      --id <идентификатор_API-шлюза> \
      --variables <список_переменных>
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы передать значения переменных, объявленных в спецификации API-шлюза:

  1. Откройте файл конфигурации Terraform и добавьте в него блок variables:

    resource "yandex_api_gateway" "<имя_API-шлюза>" {
      ...
      variables = {
        <список_переменных>
      }
      ...
    }
    

    Список переменных задается в формате ключ = значение, например:

    resource "yandex_api_gateway" "<имя_API-шлюза>" {
      ...
      variables = {
        environment = "testing"
      }
      ...
    }
    
  2. Проверьте конфигурацию командой:

    terraform validate
    

    Если конфигурация является корректной, появится сообщение:

    Success! The configuration is valid.
    
  3. Выполните команду:

    terraform plan
    

    В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

  4. Примените изменения конфигурации:

    terraform apply
    
  5. Подтвердите изменения: введите в терминал слово yes и нажмите Enter.

    Проверить, что API-шлюз изменился, можно в консоли управления или с помощью команды CLI:

    yc serverless api-gateway get <имя_API-шлюза>
    

Чтобы настроить переменные для спецификации API-шлюза, воспользуйтесь методом REST API update для ресурса ApiGateway или вызовом gRPC API ApiGatewayService/Update.

См. такжеСм. также

  • Как работает параметризация спецификации.
  • Как изменить спецификацию API-шлюза.

Была ли статья полезна?

Предыдущая
Указать облачную сеть
Следующая
Настроить канареечный релиз
Проект Яндекса
© 2025 ООО «Яндекс.Облако»