openapi client
openapi client
The openapi client binding creates composite of http, tls, and tcp bindings with client kind and adapts OpenAPI request-response streams to HTTP request-response streams.
openapi_client:
type: openapi
kind: client
options:
tcp:
host: localhost
port: 8080
specs:
petstore:
servers:
- url: http://localhost:9090
catalog:
my_catalog:
subject: petstore
version: latestConfiguration (* required)
options
object
The openapi specific options.
options:
specs:
petstore:
servers:
- url: http://localhost:9090
catalog:
my_catalog:
subject: petstore
version: latestoptions.specs
objectas map of namedobjectproperties
The specs specific options.
specs.catalog
objectas map of namedobjectproperties
The catalog specific options.
catalog.subject*
string
Subject name used when storing the catalog artifact.
catalog.version
string| Default:latest
Catalog artifact version to use.
specs.servers
arrayofobject
The servers to match from the schema that are used when defining endpoints.
servers[].url
string| Pattern:^([a-zA-Z0-9\\\\.-]+)(:(\\\\{[a-zA-Z_]+\\\\}|[0-9]+))?$
The server url to match in openapi spec
options.http
object
The http specific options.
http.authorization
objectas map of namedobjectproperties
Authorization by guard for the HTTP/1.1 and HTTP/2 protocols.
authorization:
my_jwt_guard:
credentials:
headers:
authorization: Bearer {credentials}authorization.credentials*
object
Defines how to extract credentials from the HTTP request.
credentials.cookies
objectas map of namedstringproperties
Named cookie value pattern with {credentials}.
credentials.headers
objectas map of namedstringproperties
Named header value pattern with {credentials}, e.g. "Bearer {credentials}".
credentials.query*
objectas map of namedstringproperties
Named query parameter value pattern with {credentials}.
options.tcp
object
TCP options to connect to an external client.
tcp.host
string
Hostname or IP address.
tcp.port
integer,string,array
Port number(s), including port number ranges.
options.tls
object
The tls specific options.
tls.version
string
Protocol version.
tls.keys
arrayofstring
A list of reference names for the Vault key.
tls.trust
arrayofstring
A list of reference names for the Vault certificate.
tls.signers
arrayofstring
A list of reference names for the Vault signer certificate.
tls.trustcacerts
boolean
Trust CA certificates. When the this property is not explicitly set it will be automatically set to true if tls.trust is null.
tls.sni
arrayofstring
A list of the Server Name Indications.
tls.alpn
arrayofstring
Application protocols.
tls.mutual
enum[required,requested,none]
Mutual authentication. When the this property is not explicitly set it will be automatically set to none if tls.trust is null, otherwise it will be set to required.
vault
string
Vault name.
telemetry
object
Defines the desired telemetry for the binding.
telemetry.metrics
array
Telemetry metrics to track
telemetry:
metrics:
- stream.*
