x-yc-apigateway-integration:serverless_containers extension
The x-yc-apigateway-integration:serverless_containers
extension invokes the relevant container and provides the HTTP request sent to the API gateway to it. In which case the Host
header specifies the host used by the user to access the API gateway, not the container's host.
If a request contains the X-Forwarded-For
You can add an extension to a specification using the specification constructor.
Supported parameters
The table below lists the parameters specific to API Gateway API gateways. You can find the description of other parameters in the OpenAPI 3.0 specification
Parameter | Type | Description |
---|---|---|
container_id |
string |
Container ID. |
service_account_id |
string |
Service account ID used for authorization when accessing a container. If you omit the parameter, the service_account_id top-level parameter value will be used. |
context |
object |
This is an optional parameter. It provides the operation context, i.e., an object in YAML or JSON format. It is encoded in Base64 and provided to the container in the X-Yc-ApiGateway-Operation-Context header. The parameters are subsituted into context . |
Extension specification
Specification example:
/example/{ID}:
get:
summary: Get ID
operationId: getID
tags:
- example
parameters:
- name: ID
in: path
description: Return ID
required: true
schema:
type: string
x-yc-apigateway-integration:
type: serverless_containers
container_id: b095c95icnvb********
service_account_id: ajehfe12hhl********
Example of proxying all requests to a container:
paths:
/{proxy+}:
x-yc-apigateway-any-method:
x-yc-apigateway-integration:
type: serverless_containers
container_id: bba0hocqr8rl********
service_account_id: ajegj8fnpmkm********
parameters:
- explode: false
in: path
name: proxy
required: false
schema:
default: '-'
type: string
style: simple