Изменить API-шлюз
После создания API-шлюза вы можете изменить любые его параметры и спецификацию OpenAPI
-
В консоли управления
перейдите в каталог, в котором необходимо изменить API-шлюз. -
В списке сервисов выберите API Gateway.
-
В строке с API-шлюзом нажмите кнопку
и выберите Редактировать. -
Отредактируйте параметры API-шлюза или спецификацию OpenAPI при необходимости.
Чтобы добавить расширение x-yc-apigateway-integration в спецификацию, вы можете воспользоваться конструктором спецификаций.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить API-шлюз:
-
При необходимости внесите изменения в файл спецификации OpenAPI или подготовьте новый файл.
-
Посмотрите описание команды CLI для изменения API-шлюза:
yc serverless api-gateway update --help
-
Укажите в команде изменения идентификатор или имя API-шлюза, а также параметры, которые необходимо изменить (в примере приведены не все доступные параметры):
yc serverless api-gateway update \ --id <идентификатор_шлюза> \ --new-name <новое_имя_шлюза> \ --spec=<путь_к_новому_файлу_спецификации>
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы изменить имя, описание или спецификацию API-шлюза:
-
Откройте файл конфигурации Terraform и измените параметры
name
,description
илиspec
соответственно.Пример структуры конфигурационного файла:
... resource "yandex_api_gateway" "test-api-gateway" { name = "some_name" description = "any description" labels = { label = "label" empty-label = "" } spec = <<-EOT openapi: "3.0.0" info: version: 1.0.0 title: Test API paths: /hello: get: summary: Say hello operationId: hello parameters: - name: user in: query description: User name to appear in greetings. required: false schema: type: string default: 'world' responses: '200': description: Greeting. content: 'text/plain': schema: type: "string" x-yc-apigateway-integration: type: dummy http_code: 200 http_headers: 'Content-Type': "text/plain" content: 'text/plain': "Hello again, {user}!\n" EOT } ...
Более подробную информацию о параметрах ресурса
yandex_api_gateway
в Terraform см. в документации провайдера . -
Проверьте конфигурацию командой:
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.
Изменить имя, описание или спецификацию API-шлюза можно с помощью плагина Yandex Cloud Toolkit