mirror of https://github.com/grpc/grpc-node.git
Merge branch 'master' into grpc-js-xds_server2
This commit is contained in:
commit
f2dcb21a77
|
@ -8,17 +8,21 @@ See [CONTRIBUTING.md](https://github.com/grpc/grpc-community/blob/master/CONTRIB
|
|||
for general contribution guidelines.
|
||||
|
||||
## Maintainers (in alphabetical order)
|
||||
|
||||
- [jtattermusch](https://github.com/jtattermusch), Google Inc.
|
||||
|
||||
- [gnossen](https://github.com/gnossen), Google Inc.
|
||||
- [murgatroid99](https://github.com/murgatroid99), Google Inc.
|
||||
- [nicolasnoble](https://github.com/nicolasnoble), Google Inc.
|
||||
- [srini100](https://github.com/srini100), Google Inc.
|
||||
- [sergiitk](https://github.com/sergiitk), Google Inc.
|
||||
- [temawi](https://github.com/temawi), Google Inc.
|
||||
- [wenbozhu](https://github.com/wenbozhu), Google Inc.
|
||||
|
||||
## Emeritus Maintainers (in alphabetical order)
|
||||
- [jiangtaoli2016](https://github.com/jiangtaoli2016), Google Inc.
|
||||
- [kjin](https://github.com/kjin), Google Inc.
|
||||
- [matt-kwong](https://github.com/matt-kwong), Google Inc.
|
||||
- [ofrobots](https://github.com/ofrobots), Google Inc.
|
||||
- [WeiranFang](https://github.com/WeiranFang), Google Inc.
|
||||
- [jiangtaoli2016](https://github.com/jiangtaoli2016)
|
||||
- [jtattermusch](https://github.com/jtattermusch)
|
||||
- [kjin](https://github.com/kjin)
|
||||
- [matt-kwong](https://github.com/matt-kwong)
|
||||
- [nicolasnoble](https://github.com/nicolasnoble)
|
||||
- [nimf](https://github.com/nimf)
|
||||
- [ofrobots](https://github.com/ofrobots)
|
||||
- [srini100](https://github.com/srini100)
|
||||
- [WeiranFang](https://github.com/WeiranFang)
|
||||
|
||||
|
|
|
@ -0,0 +1,120 @@
|
|||
# Interceptor
|
||||
|
||||
Node gRPC provides simple APIs to implement and install interceptors on clients
|
||||
and servers. An interceptor intercepts the execution of each incoming/outgoing
|
||||
RPC call on the client or server where it is installed. Users can use
|
||||
interceptors to do logging, authentication/authorization, metrics collection,
|
||||
and many other functions that can be shared across RPCs.
|
||||
|
||||
## Run the server
|
||||
|
||||
```
|
||||
node server.js
|
||||
```
|
||||
|
||||
## Run the client
|
||||
|
||||
```
|
||||
node client.js
|
||||
```
|
||||
|
||||
# Explanation
|
||||
|
||||
In Node gRPC, clients and servers each have their own types of interceptors.
|
||||
|
||||
## Client
|
||||
|
||||
Node gRPC client interceptors are formally specified in [gRFC L5](https://github.com/grpc/proposal/blob/master/L5-node-client-interceptors.md).
|
||||
An interceptor is a function that can wrap a call object with an
|
||||
`InterceptingCall`, with intercepting functions for individual call operations.
|
||||
To illustrate, the following is a trivial interceptor with all interception
|
||||
methods:
|
||||
|
||||
```js
|
||||
const interceptor = function(options, nextCall) {
|
||||
const requester = {
|
||||
start: function(metadata, listener, next) {
|
||||
const listener = {
|
||||
onReceiveMetadata: function(metadata, next) {
|
||||
next(metadata);
|
||||
},
|
||||
onReceiveMessage: function(message, next) {
|
||||
next(message);
|
||||
},
|
||||
onReceiveStatus: function(status, next) {
|
||||
next(status);
|
||||
}
|
||||
};
|
||||
next(metadata, listener);
|
||||
},
|
||||
sendMessage: function(message, next) {
|
||||
next(messasge);
|
||||
},
|
||||
halfClose: function(next) {
|
||||
next();
|
||||
},
|
||||
cancel: function(message, next) {
|
||||
next();
|
||||
}
|
||||
};
|
||||
return new InterceptingCall(nextCall(options), requester);
|
||||
};
|
||||
```
|
||||
|
||||
The requester intercepts outgoing operations, and the listener intercepts
|
||||
incoming operations. Each intercepting method can read or modify the data for
|
||||
that operation before passing it along to the `next` callback.
|
||||
|
||||
The `RequesterBuilder` and `ListenerBuilder` utility classes provide an
|
||||
alternative way to construct requester and listener objects
|
||||
|
||||
## Server
|
||||
|
||||
Node gRPC server interceptors are formally specified in [gRFC L112](https://github.com/grpc/proposal/blob/master/L112-node-server-interceptors.md).
|
||||
Similar to client interceptors, a server interceptor is a function that can
|
||||
wrap a call object with a `ServerInterceptingCall`, with intercepting functions
|
||||
for individual call operations. Server intercepting functions broadly mirror
|
||||
the client intercepting functions, with sending and receiving switched. To
|
||||
illustrate, the following is a trivial server interceptor with all interception
|
||||
methods:
|
||||
|
||||
```js
|
||||
const interceptor = function(methodDescriptor, call) {
|
||||
const responder = {
|
||||
start: function(next) {
|
||||
const listener = {
|
||||
onReceiveMetadata: function(metadata, next) {
|
||||
next(metadata);
|
||||
},
|
||||
onReceiveMessage: function(message, next) {
|
||||
next(message);
|
||||
},
|
||||
onReceiveHalfClose: function(next) {
|
||||
next();
|
||||
},
|
||||
onCancel: function() {
|
||||
}
|
||||
};
|
||||
next(listener);
|
||||
},
|
||||
sendMetadata: function(metadata, next) {
|
||||
next(metadata);
|
||||
},
|
||||
sendMessage: function(message, next) {
|
||||
next(message);
|
||||
},
|
||||
sendStatus: function(status, next) {
|
||||
next(status);
|
||||
}
|
||||
};
|
||||
return new ServerInterceptingCall(call, responder);
|
||||
}
|
||||
```
|
||||
|
||||
As with client interceptors, the responder intercepts outgoing operations and
|
||||
the listener intercepts incoming operations. Each intercepting method can read
|
||||
or modify the data for that operation before passing it along to the `next`
|
||||
callback.
|
||||
|
||||
The `ResponderBuilder` and `ServerListenerBuilder` utility classes provide an
|
||||
alternative way to build responder and server listener objects.
|
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2024 gRPC authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
const grpc = require('@grpc/grpc-js');
|
||||
const protoLoader = require('@grpc/proto-loader');
|
||||
const parseArgs = require('minimist');
|
||||
|
||||
const PROTO_PATH = __dirname + '/../protos/echo.proto';
|
||||
|
||||
const packageDefinition = protoLoader.loadSync(
|
||||
PROTO_PATH,
|
||||
{keepCase: true,
|
||||
longs: String,
|
||||
enums: String,
|
||||
defaults: true,
|
||||
oneofs: true
|
||||
});
|
||||
const echoProto = grpc.loadPackageDefinition(packageDefinition).grpc.examples.echo;
|
||||
|
||||
function authInterceptor(options, nextCall) {
|
||||
const requester = (new grpc.RequesterBuilder())
|
||||
.withStart((metadata, listener, next) => {
|
||||
metadata.set('authorization', 'some-secret-token');
|
||||
next(metadata, listener);
|
||||
}).build();
|
||||
return new grpc.InterceptingCall(nextCall(options), requester);
|
||||
}
|
||||
|
||||
// logger is to mock a sophisticated logging system. To simplify the example, we just print out the content.
|
||||
function logger(format, ...args) {
|
||||
console.log(`LOG (client):\t${format}\n`, ...args);
|
||||
}
|
||||
|
||||
function loggingInterceptor(options, nextCall) {
|
||||
const listener = (new grpc.ListenerBuilder())
|
||||
.withOnReceiveMessage((message, next) => {
|
||||
logger(`Receive a message ${JSON.stringify(message)} at ${(new Date()).toISOString()}`);
|
||||
next(message);
|
||||
}).build();
|
||||
const requester = (new grpc.RequesterBuilder())
|
||||
.withSendMessage((message, next) => {
|
||||
logger(`Send a message ${JSON.stringify(message)} at ${(new Date()).toISOString()}`);
|
||||
next(message);
|
||||
}).build();
|
||||
return new grpc.InterceptingCall(nextCall(options), requester);
|
||||
}
|
||||
|
||||
function callUnaryEcho(client, message) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const deadline = new Date();
|
||||
deadline.setSeconds(deadline.getSeconds() + 10);
|
||||
client.unaryEcho({message: message}, {deadline}, (error, value) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
return;
|
||||
}
|
||||
console.log(`UnaryEcho: ${JSON.stringify(value)}`);
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function callBidiStreamingEcho(client) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const deadline = new Date();
|
||||
deadline.setSeconds(deadline.getSeconds() + 10);
|
||||
const call = client.bidirectionalStreamingEcho({deadline});
|
||||
call.on('data', value => {
|
||||
console.log(`BidiStreamingEcho: ${JSON.stringify(value)}`);
|
||||
});
|
||||
call.on('status', status => {
|
||||
if (status.code === grpc.status.OK) {
|
||||
resolve();
|
||||
} else {
|
||||
reject(status);
|
||||
}
|
||||
});
|
||||
call.on('error', () => {
|
||||
// Ignore error event
|
||||
});
|
||||
for (let i = 0; i < 5; i++) {
|
||||
call.write({message: `Request ${i + 1}`});
|
||||
}
|
||||
call.end();
|
||||
});
|
||||
}
|
||||
|
||||
async function main() {
|
||||
let argv = parseArgs(process.argv.slice(2), {
|
||||
string: 'target',
|
||||
default: {target: 'localhost:50051'}
|
||||
});
|
||||
const client = new echoProto.Echo(argv.target, grpc.credentials.createInsecure(), {interceptors: [authInterceptor, loggingInterceptor]});
|
||||
await callUnaryEcho(client, 'hello world');
|
||||
await callBidiStreamingEcho(client);
|
||||
}
|
||||
|
||||
main();
|
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2024 gRPC authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
const grpc = require('@grpc/grpc-js');
|
||||
const protoLoader = require('@grpc/proto-loader');
|
||||
const parseArgs = require('minimist');
|
||||
|
||||
const PROTO_PATH = __dirname + '/../protos/echo.proto';
|
||||
|
||||
const packageDefinition = protoLoader.loadSync(
|
||||
PROTO_PATH,
|
||||
{keepCase: true,
|
||||
longs: String,
|
||||
enums: String,
|
||||
defaults: true,
|
||||
oneofs: true
|
||||
});
|
||||
const echoProto = grpc.loadPackageDefinition(packageDefinition).grpc.examples.echo;
|
||||
|
||||
function unaryEcho(call, callback) {
|
||||
console.log(`unary echoing message ${call.request.message}`);
|
||||
callback(null, call.request);
|
||||
}
|
||||
|
||||
function bidirectionalStreamingEcho(call) {
|
||||
call.on('data', request => {
|
||||
console.log(`bidi echoing message ${request.message}`);
|
||||
call.write(request);
|
||||
});
|
||||
call.on('end', () => {
|
||||
call.end();
|
||||
});
|
||||
}
|
||||
|
||||
const serviceImplementation = {
|
||||
unaryEcho,
|
||||
bidirectionalStreamingEcho
|
||||
}
|
||||
|
||||
function validateAuthorizationMetadata(metadata) {
|
||||
const authorization = metadata.get('authorization');
|
||||
if (authorization.length < 1) {
|
||||
return false;
|
||||
}
|
||||
return authorization[0] === 'some-secret-token';
|
||||
}
|
||||
|
||||
function authInterceptor(methodDescriptor, call) {
|
||||
const listener = (new grpc.ServerListenerBuilder())
|
||||
.withOnReceiveMetadata((metadata, next) => {
|
||||
if (validateAuthorizationMetadata(metadata)) {
|
||||
next(metadata);
|
||||
} else {
|
||||
call.sendStatus({
|
||||
code: grpc.status.UNAUTHENTICATED,
|
||||
details: 'Auth metadata not correct'
|
||||
});
|
||||
}
|
||||
}).build();
|
||||
const responder = (new grpc.ResponderBuilder())
|
||||
.withStart(next => {
|
||||
next(listener);
|
||||
}).build();
|
||||
return new grpc.ServerInterceptingCall(call, responder);
|
||||
}
|
||||
|
||||
// logger is to mock a sophisticated logging system. To simplify the example, we just print out the content.
|
||||
function logger(format, ...args) {
|
||||
console.log(`LOG (server):\t${format}\n`, ...args);
|
||||
}
|
||||
|
||||
function loggingInterceptor(methodDescriptor, call) {
|
||||
const listener = new grpc.ServerListenerBuilder()
|
||||
.withOnReceiveMessage((message, next) => {
|
||||
logger(`Receive a message ${JSON.stringify(message)} at ${(new Date()).toISOString()}`);
|
||||
next(message);
|
||||
}).build();
|
||||
const responder = new grpc.ResponderBuilder()
|
||||
.withStart(next => {
|
||||
next(listener);
|
||||
})
|
||||
.withSendMessage((message, next) => {
|
||||
logger(`Send a message ${JSON.stringify(message)} at ${(new Date()).toISOString()}`);
|
||||
next(message);
|
||||
}).build();
|
||||
return new grpc.ServerInterceptingCall(call, responder);
|
||||
}
|
||||
|
||||
function main() {
|
||||
const argv = parseArgs(process.argv.slice(2), {
|
||||
string: 'port',
|
||||
default: {port: '50051'}
|
||||
});
|
||||
const server = new grpc.Server({interceptors: [authInterceptor, loggingInterceptor]});
|
||||
server.addService(echoProto.Echo.service, serviceImplementation);
|
||||
server.bindAsync(`0.0.0.0:${argv.port}`, grpc.ServerCredentials.createInsecure(), (err, port) => {
|
||||
if (err != null) {
|
||||
return console.error(err);
|
||||
}
|
||||
console.log(`gRPC listening on ${port}`)
|
||||
});
|
||||
client = new echoProto.Echo(`localhost:${argv.port}`, grpc.credentials.createInsecure());
|
||||
}
|
||||
|
||||
main();
|
|
@ -0,0 +1,16 @@
|
|||
# Keepalive
|
||||
|
||||
This example illustrates how to set up client-side keepalive pings and
|
||||
server-side keepalive pings and connection age and idleness settings.
|
||||
|
||||
## Start the server
|
||||
|
||||
```
|
||||
node server.js
|
||||
```
|
||||
|
||||
## Start the client
|
||||
|
||||
```
|
||||
GRPC_TRACE=transport,keepalive GRPC_VERBOSITY=DEBUG node client.js
|
||||
```
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2024 gRPC authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
const grpc = require('@grpc/grpc-js');
|
||||
const protoLoader = require('@grpc/proto-loader');
|
||||
const parseArgs = require('minimist');
|
||||
|
||||
const PROTO_PATH = __dirname + '/../protos/echo.proto';
|
||||
|
||||
const packageDefinition = protoLoader.loadSync(
|
||||
PROTO_PATH,
|
||||
{keepCase: true,
|
||||
longs: String,
|
||||
enums: String,
|
||||
defaults: true,
|
||||
oneofs: true
|
||||
});
|
||||
const echoProto = grpc.loadPackageDefinition(packageDefinition).grpc.examples.echo;
|
||||
|
||||
const keepaliveOptions = {
|
||||
// Ping the server every 10 seconds to ensure the connection is still active
|
||||
'grpc.keepalive_time_ms': 10_000,
|
||||
// Wait 1 second for the ping ack before assuming the connection is dead
|
||||
'grpc.keepalive_timeout_ms': 1_000,
|
||||
// send pings even without active streams
|
||||
'grpc.keepalive_permit_without_calls': 1
|
||||
}
|
||||
|
||||
function main() {
|
||||
let argv = parseArgs(process.argv.slice(2), {
|
||||
string: 'target',
|
||||
default: {target: 'localhost:50052'}
|
||||
});
|
||||
const client = new echoProto.Echo(argv.target, grpc.credentials.createInsecure(), keepaliveOptions);
|
||||
client.unaryEcho({message: 'keepalive demo'}, (error, value) => {
|
||||
if (error) {
|
||||
console.log(`Unexpected error from UnaryEcho: ${error}`);
|
||||
return;
|
||||
}
|
||||
console.log(`RPC response: ${JSON.stringify(value)}`);
|
||||
});
|
||||
// Keep process alive forever; run with GRPC_TRACE=transport,keepalive GRPC_VERBOSITY=DEBUG to observe ping frames and GOAWAYs due to idleness.
|
||||
setInterval(() => {}, 1000);
|
||||
}
|
||||
|
||||
main();
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2024 gRPC authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
const grpc = require('@grpc/grpc-js');
|
||||
const protoLoader = require('@grpc/proto-loader');
|
||||
const parseArgs = require('minimist');
|
||||
|
||||
const PROTO_PATH = __dirname + '/../protos/echo.proto';
|
||||
|
||||
const packageDefinition = protoLoader.loadSync(
|
||||
PROTO_PATH,
|
||||
{keepCase: true,
|
||||
longs: String,
|
||||
enums: String,
|
||||
defaults: true,
|
||||
oneofs: true
|
||||
});
|
||||
const echoProto = grpc.loadPackageDefinition(packageDefinition).grpc.examples.echo;
|
||||
|
||||
const keepaliveOptions = {
|
||||
// If a client is idle for 15 seconds, send a GOAWAY
|
||||
'grpc.max_connection_idle_ms': 15_000,
|
||||
// If any connection is alive for more than 30 seconds, send a GOAWAY
|
||||
'grpc.max_connection_age_ms': 30_000,
|
||||
// Allow 5 seconds for pending RPCs to complete before forcibly closing connections
|
||||
'grpc.max_connection_age_grace_ms': 5_000,
|
||||
// Ping the client every 5 seconds to ensure the connection is still active
|
||||
'grpc.keepalive_time_ms': 5_000,
|
||||
// Wait 1 second for the ping ack before assuming the connection is dead
|
||||
'grpc.keepalive_timeout_ms': 1_000
|
||||
}
|
||||
|
||||
function unaryEcho(call, callback) {
|
||||
callback(null, call.request);
|
||||
}
|
||||
|
||||
const serviceImplementation = {
|
||||
unaryEcho
|
||||
};
|
||||
|
||||
function main() {
|
||||
const argv = parseArgs(process.argv.slice(2), {
|
||||
string: 'port',
|
||||
default: {port: '50052'}
|
||||
});
|
||||
const server = new grpc.Server(keepaliveOptions);
|
||||
server.addService(echoProto.Echo.service, serviceImplementation);
|
||||
server.bindAsync(`0.0.0.0:${argv.port}`, grpc.ServerCredentials.createInsecure(), (err, port) => {
|
||||
if (err != null) {
|
||||
return console.error(err);
|
||||
}
|
||||
console.log(`gRPC listening on ${port}`)
|
||||
});
|
||||
}
|
||||
|
||||
main();
|
|
@ -5,8 +5,8 @@
|
|||
"@grpc/proto-loader": "^0.6.0",
|
||||
"async": "^1.5.2",
|
||||
"google-protobuf": "^3.0.0",
|
||||
"@grpc/grpc-js": "^1.8.0",
|
||||
"@grpc/grpc-js-xds": "^1.8.0",
|
||||
"@grpc/grpc-js": "^1.10.2",
|
||||
"@grpc/grpc-js-xds": "^1.10.0",
|
||||
"@grpc/reflection": "^1.0.0",
|
||||
"lodash": "^4.6.1",
|
||||
"minimist": "^1.2.0"
|
||||
|
|
|
@ -23,15 +23,15 @@ import * as reflection from './packages/grpc-reflection/gulpfile';
|
|||
import * as protobuf from './packages/proto-loader/gulpfile';
|
||||
import * as internalTest from './test/gulpfile';
|
||||
|
||||
const installAll = gulp.series(jsCore.install, healthCheck.install, protobuf.install, internalTest.install, jsXds.install, reflection.install);
|
||||
const installAll = gulp.series(protobuf.install, jsCore.install, healthCheck.install, internalTest.install, jsXds.install, reflection.install);
|
||||
|
||||
const lint = gulp.parallel(jsCore.lint);
|
||||
|
||||
const build = gulp.series(jsCore.compile, protobuf.compile, jsXds.compile);
|
||||
const build = gulp.series(protobuf.compile, jsCore.compile, jsXds.compile);
|
||||
|
||||
const setup = gulp.series(installAll);
|
||||
|
||||
const setupPureJSInterop = gulp.series(jsCore.install, protobuf.install, internalTest.install);
|
||||
const setupPureJSInterop = gulp.series(protobuf.install, jsCore.install, internalTest.install);
|
||||
|
||||
const clean = gulp.series(jsCore.clean, protobuf.clean, jsXds.clean);
|
||||
|
||||
|
|
|
@ -20,14 +20,13 @@
|
|||
"del": "^3.0.0",
|
||||
"execa": "^0.8.0",
|
||||
"gulp": "^4.0.1",
|
||||
"gulp-jsdoc3": "^1.0.1",
|
||||
"gulp-jshint": "^2.0.4",
|
||||
"gulp-mocha": "^4.3.1",
|
||||
"gulp-sourcemaps": "^2.6.1",
|
||||
"gulp-tslint": "^8.1.1",
|
||||
"gulp-typescript": "^3.2.2",
|
||||
"gulp-util": "^3.0.8",
|
||||
"jsdoc": "^3.3.2",
|
||||
"jsdoc": "^4.0.3",
|
||||
"jshint": "^2.9.5",
|
||||
"make-dir": "^1.1.0",
|
||||
"merge2": "^1.1.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "grpc-health-check",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"author": "Google Inc.",
|
||||
"description": "Health check client and service for use with gRPC-node",
|
||||
"repository": {
|
||||
|
@ -21,7 +21,7 @@
|
|||
"generate-test-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --includeDirs proto/ -O test/generated --grpcLib=@grpc/grpc-js health/v1/health.proto"
|
||||
},
|
||||
"dependencies": {
|
||||
"@grpc/proto-loader": "^0.7.10"
|
||||
"@grpc/proto-loader": "^0.7.13"
|
||||
},
|
||||
"files": [
|
||||
"LICENSE",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# @grpc/grpc-js xDS plugin
|
||||
|
||||
This package provides support for the `xds://` URL scheme to the `@grpc/grpc-js` library. The latest version of this package is compatible with `@grpc/grpc-js` version 1.9.x.
|
||||
This package provides support for the `xds://` URL scheme to the `@grpc/grpc-js` library. The latest version of this package is compatible with `@grpc/grpc-js` version 1.10.x.
|
||||
|
||||
## Installation
|
||||
|
||||
|
@ -30,5 +30,8 @@ const client = new MyServiceClient('xds:///example.com:123');
|
|||
- [Client Status Discovery Service](https://github.com/grpc/proposal/blob/master/A40-csds-support.md)
|
||||
- [Outlier Detection](https://github.com/grpc/proposal/blob/master/A50-xds-outlier-detection.md)
|
||||
- [xDS Retry Support](https://github.com/grpc/proposal/blob/master/A44-xds-retry.md)
|
||||
- [xDS Aggregate and Logical DNS Clusters](https://github.com/grpc/proposal/blob/master/A37-xds-aggregate-and-logical-dns-clusters.md)'
|
||||
- [xDS Aggregate and Logical DNS Clusters](https://github.com/grpc/proposal/blob/master/A37-xds-aggregate-and-logical-dns-clusters.md)
|
||||
- [xDS Federation](https://github.com/grpc/proposal/blob/master/A47-xds-federation.md) (Currently experimental, enabled by environment variable `GRPC_EXPERIMENTAL_XDS_FEDERATION`)
|
||||
- [xDS Custom Load Balancer Configuration](https://github.com/grpc/proposal/blob/master/A52-xds-custom-lb-policies.md) (Custom load balancer registration not currently supported)
|
||||
- [xDS Ring Hash LB Policy](https://github.com/grpc/proposal/blob/master/A42-xds-ring-hash-lb-policy.md)
|
||||
- [`pick_first` via xDS](https://github.com/grpc/proposal/blob/master/A62-pick-first.md#pick_first-via-xds-1) (Currently experimental, enabled by environment variable `GRPC_EXPERIMENTAL_PICKFIRST_LB_CONFIG`)
|
||||
|
|
|
@ -62,10 +62,9 @@ const compile = checkTask(() => execNpmCommand('compile'));
|
|||
|
||||
const runTests = checkTask(() => {
|
||||
process.env.GRPC_EXPERIMENTAL_XDS_FEDERATION = 'true';
|
||||
process.env.GRPC_EXPERIMENTAL_XDS_CUSTOM_LB_CONFIG = 'true';
|
||||
process.env.GRPC_EXPERIMENTAL_PICKFIRST_LB_CONFIG = 'true';
|
||||
if (Number(process.versions.node.split('.')[0]) > 14) {
|
||||
process.env.GRPC_XDS_EXPERIMENTAL_ENABLE_RING_HASH = 'true';
|
||||
if (Number(process.versions.node.split('.')[0]) <= 14) {
|
||||
process.env.GRPC_XDS_EXPERIMENTAL_ENABLE_RING_HASH = 'false';
|
||||
}
|
||||
return gulp.src(`${outDir}/test/**/*.js`)
|
||||
.pipe(mocha({reporter: 'mocha-jenkins-reporter',
|
||||
|
|
|
@ -22,6 +22,8 @@ FROM node:18-slim as build
|
|||
WORKDIR /node/src/grpc-node
|
||||
COPY . .
|
||||
|
||||
WORKDIR /node/src/grpc-node/packages/proto-loader
|
||||
RUN npm install
|
||||
WORKDIR /node/src/grpc-node/packages/grpc-js
|
||||
RUN npm install
|
||||
WORKDIR /node/src/grpc-node/packages/grpc-js-xds
|
||||
|
@ -29,6 +31,7 @@ RUN npm install
|
|||
|
||||
FROM gcr.io/distroless/nodejs18-debian11:latest
|
||||
WORKDIR /node/src/grpc-node
|
||||
COPY --from=build /node/src/grpc-node/packages/proto-loader ./packages/proto-loader/
|
||||
COPY --from=build /node/src/grpc-node/packages/grpc-js ./packages/grpc-js/
|
||||
COPY --from=build /node/src/grpc-node/packages/grpc-js-xds ./packages/grpc-js-xds/
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Metadata to be attached for the given type of RPCs.
|
||||
*/
|
||||
export interface _grpc_testing_ClientConfigureRequest_Metadata {
|
||||
'type'?: (_grpc_testing_ClientConfigureRequest_RpcType | keyof typeof _grpc_testing_ClientConfigureRequest_RpcType);
|
||||
'type'?: (_grpc_testing_ClientConfigureRequest_RpcType);
|
||||
'key'?: (string);
|
||||
'value'?: (string);
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ export interface _grpc_testing_ClientConfigureRequest_Metadata {
|
|||
* Metadata to be attached for the given type of RPCs.
|
||||
*/
|
||||
export interface _grpc_testing_ClientConfigureRequest_Metadata__Output {
|
||||
'type': (keyof typeof _grpc_testing_ClientConfigureRequest_RpcType);
|
||||
'type': (_grpc_testing_ClientConfigureRequest_RpcType__Output);
|
||||
'key': (string);
|
||||
'value': (string);
|
||||
}
|
||||
|
@ -24,10 +24,24 @@ export interface _grpc_testing_ClientConfigureRequest_Metadata__Output {
|
|||
/**
|
||||
* Type of RPCs to send.
|
||||
*/
|
||||
export enum _grpc_testing_ClientConfigureRequest_RpcType {
|
||||
EMPTY_CALL = 0,
|
||||
UNARY_CALL = 1,
|
||||
}
|
||||
export const _grpc_testing_ClientConfigureRequest_RpcType = {
|
||||
EMPTY_CALL: 'EMPTY_CALL',
|
||||
UNARY_CALL: 'UNARY_CALL',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Type of RPCs to send.
|
||||
*/
|
||||
export type _grpc_testing_ClientConfigureRequest_RpcType =
|
||||
| 'EMPTY_CALL'
|
||||
| 0
|
||||
| 'UNARY_CALL'
|
||||
| 1
|
||||
|
||||
/**
|
||||
* Type of RPCs to send.
|
||||
*/
|
||||
export type _grpc_testing_ClientConfigureRequest_RpcType__Output = typeof _grpc_testing_ClientConfigureRequest_RpcType[keyof typeof _grpc_testing_ClientConfigureRequest_RpcType]
|
||||
|
||||
/**
|
||||
* Configurations for a test client.
|
||||
|
@ -36,7 +50,7 @@ export interface ClientConfigureRequest {
|
|||
/**
|
||||
* The types of RPCs the client sends.
|
||||
*/
|
||||
'types'?: (_grpc_testing_ClientConfigureRequest_RpcType | keyof typeof _grpc_testing_ClientConfigureRequest_RpcType)[];
|
||||
'types'?: (_grpc_testing_ClientConfigureRequest_RpcType)[];
|
||||
/**
|
||||
* The collection of custom metadata to be attached to RPCs sent by the client.
|
||||
*/
|
||||
|
@ -55,7 +69,7 @@ export interface ClientConfigureRequest__Output {
|
|||
/**
|
||||
* The types of RPCs the client sends.
|
||||
*/
|
||||
'types': (keyof typeof _grpc_testing_ClientConfigureRequest_RpcType)[];
|
||||
'types': (_grpc_testing_ClientConfigureRequest_RpcType__Output)[];
|
||||
/**
|
||||
* The collection of custom metadata to be attached to RPCs sent by the client.
|
||||
*/
|
||||
|
|
|
@ -8,17 +8,52 @@
|
|||
* the address of this server from the gRPCLB server BalanceLoad RPC). Exactly
|
||||
* how this detection is done is context and server dependent.
|
||||
*/
|
||||
export enum GrpclbRouteType {
|
||||
export const GrpclbRouteType = {
|
||||
/**
|
||||
* Server didn't detect the route that a client took to reach it.
|
||||
*/
|
||||
GRPCLB_ROUTE_TYPE_UNKNOWN = 0,
|
||||
GRPCLB_ROUTE_TYPE_UNKNOWN: 'GRPCLB_ROUTE_TYPE_UNKNOWN',
|
||||
/**
|
||||
* Indicates that a client reached a server via gRPCLB fallback.
|
||||
*/
|
||||
GRPCLB_ROUTE_TYPE_FALLBACK = 1,
|
||||
GRPCLB_ROUTE_TYPE_FALLBACK: 'GRPCLB_ROUTE_TYPE_FALLBACK',
|
||||
/**
|
||||
* Indicates that a client reached a server as a gRPCLB-given backend.
|
||||
*/
|
||||
GRPCLB_ROUTE_TYPE_BACKEND = 2,
|
||||
}
|
||||
GRPCLB_ROUTE_TYPE_BACKEND: 'GRPCLB_ROUTE_TYPE_BACKEND',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* The type of route that a client took to reach a server w.r.t. gRPCLB.
|
||||
* The server must fill in "fallback" if it detects that the RPC reached
|
||||
* the server via the "gRPCLB fallback" path, and "backend" if it detects
|
||||
* that the RPC reached the server via "gRPCLB backend" path (i.e. if it got
|
||||
* the address of this server from the gRPCLB server BalanceLoad RPC). Exactly
|
||||
* how this detection is done is context and server dependent.
|
||||
*/
|
||||
export type GrpclbRouteType =
|
||||
/**
|
||||
* Server didn't detect the route that a client took to reach it.
|
||||
*/
|
||||
| 'GRPCLB_ROUTE_TYPE_UNKNOWN'
|
||||
| 0
|
||||
/**
|
||||
* Indicates that a client reached a server via gRPCLB fallback.
|
||||
*/
|
||||
| 'GRPCLB_ROUTE_TYPE_FALLBACK'
|
||||
| 1
|
||||
/**
|
||||
* Indicates that a client reached a server as a gRPCLB-given backend.
|
||||
*/
|
||||
| 'GRPCLB_ROUTE_TYPE_BACKEND'
|
||||
| 2
|
||||
|
||||
/**
|
||||
* The type of route that a client took to reach a server w.r.t. gRPCLB.
|
||||
* The server must fill in "fallback" if it detects that the RPC reached
|
||||
* the server via the "gRPCLB fallback" path, and "backend" if it detects
|
||||
* that the RPC reached the server via "gRPCLB backend" path (i.e. if it got
|
||||
* the address of this server from the gRPCLB server BalanceLoad RPC). Exactly
|
||||
* how this detection is done is context and server dependent.
|
||||
*/
|
||||
export type GrpclbRouteType__Output = typeof GrpclbRouteType[keyof typeof GrpclbRouteType]
|
||||
|
|
|
@ -32,16 +32,19 @@ export interface LoadBalancerAccumulatedStatsResponse {
|
|||
/**
|
||||
* The total number of RPCs have ever issued for each type.
|
||||
* Deprecated: use stats_per_method.rpcs_started instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'num_rpcs_started_by_method'?: ({[key: string]: number});
|
||||
/**
|
||||
* The total number of RPCs have ever completed successfully for each type.
|
||||
* Deprecated: use stats_per_method.result instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'num_rpcs_succeeded_by_method'?: ({[key: string]: number});
|
||||
/**
|
||||
* The total number of RPCs have ever failed for each type.
|
||||
* Deprecated: use stats_per_method.result instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'num_rpcs_failed_by_method'?: ({[key: string]: number});
|
||||
/**
|
||||
|
@ -58,21 +61,24 @@ export interface LoadBalancerAccumulatedStatsResponse__Output {
|
|||
/**
|
||||
* The total number of RPCs have ever issued for each type.
|
||||
* Deprecated: use stats_per_method.rpcs_started instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'num_rpcs_started_by_method': ({[key: string]: number});
|
||||
/**
|
||||
* The total number of RPCs have ever completed successfully for each type.
|
||||
* Deprecated: use stats_per_method.result instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'num_rpcs_succeeded_by_method': ({[key: string]: number});
|
||||
/**
|
||||
* The total number of RPCs have ever failed for each type.
|
||||
* Deprecated: use stats_per_method.result instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'num_rpcs_failed_by_method': ({[key: string]: number});
|
||||
/**
|
||||
* Per-method RPC statistics. The key is the RpcType in string form; e.g.
|
||||
* 'EMPTY_CALL' or 'UNARY_CALL'
|
||||
*/
|
||||
'stats_per_method'?: ({[key: string]: _grpc_testing_LoadBalancerAccumulatedStatsResponse_MethodStats__Output});
|
||||
'stats_per_method': ({[key: string]: _grpc_testing_LoadBalancerAccumulatedStatsResponse_MethodStats__Output});
|
||||
}
|
||||
|
|
|
@ -36,5 +36,5 @@ export interface LoadBalancerStatsResponse__Output {
|
|||
* The number of RPCs that failed to record a remote peer.
|
||||
*/
|
||||
'num_failures': (number);
|
||||
'rpcs_by_method'?: ({[key: string]: _grpc_testing_LoadBalancerStatsResponse_RpcsByPeer__Output});
|
||||
'rpcs_by_method': ({[key: string]: _grpc_testing_LoadBalancerStatsResponse_RpcsByPeer__Output});
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Original file: proto/grpc/testing/test.proto
|
||||
|
||||
import type * as grpc from '@grpc/grpc-js'
|
||||
import type { MethodDefinition } from '@grpc/proto-loader'
|
||||
import type { LoadBalancerAccumulatedStatsRequest as _grpc_testing_LoadBalancerAccumulatedStatsRequest, LoadBalancerAccumulatedStatsRequest__Output as _grpc_testing_LoadBalancerAccumulatedStatsRequest__Output } from '../../grpc/testing/LoadBalancerAccumulatedStatsRequest';
|
||||
import type { LoadBalancerAccumulatedStatsResponse as _grpc_testing_LoadBalancerAccumulatedStatsResponse, LoadBalancerAccumulatedStatsResponse__Output as _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output } from '../../grpc/testing/LoadBalancerAccumulatedStatsResponse';
|
||||
import type { LoadBalancerStatsRequest as _grpc_testing_LoadBalancerStatsRequest, LoadBalancerStatsRequest__Output as _grpc_testing_LoadBalancerStatsRequest__Output } from '../../grpc/testing/LoadBalancerStatsRequest';
|
||||
|
@ -13,32 +14,32 @@ export interface LoadBalancerStatsServiceClient extends grpc.Client {
|
|||
/**
|
||||
* Gets the accumulated stats for RPCs sent by a test client.
|
||||
*/
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
GetClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* Gets the accumulated stats for RPCs sent by a test client.
|
||||
*/
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
getClientAccumulatedStats(argument: _grpc_testing_LoadBalancerAccumulatedStatsRequest, callback: grpc.requestCallback<_grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
/**
|
||||
* Gets the backend distribution for RPCs sent by a test client.
|
||||
*/
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
GetClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* Gets the backend distribution for RPCs sent by a test client.
|
||||
*/
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_LoadBalancerStatsResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
getClientStats(argument: _grpc_testing_LoadBalancerStatsRequest, callback: grpc.requestCallback<_grpc_testing_LoadBalancerStatsResponse__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
}
|
||||
|
||||
|
@ -57,3 +58,8 @@ export interface LoadBalancerStatsServiceHandlers extends grpc.UntypedServiceImp
|
|||
GetClientStats: grpc.handleUnaryCall<_grpc_testing_LoadBalancerStatsRequest__Output, _grpc_testing_LoadBalancerStatsResponse>;
|
||||
|
||||
}
|
||||
|
||||
export interface LoadBalancerStatsServiceDefinition extends grpc.ServiceDefinition {
|
||||
GetClientAccumulatedStats: MethodDefinition<_grpc_testing_LoadBalancerAccumulatedStatsRequest, _grpc_testing_LoadBalancerAccumulatedStatsResponse, _grpc_testing_LoadBalancerAccumulatedStatsRequest__Output, _grpc_testing_LoadBalancerAccumulatedStatsResponse__Output>
|
||||
GetClientStats: MethodDefinition<_grpc_testing_LoadBalancerStatsRequest, _grpc_testing_LoadBalancerStatsResponse, _grpc_testing_LoadBalancerStatsRequest__Output, _grpc_testing_LoadBalancerStatsResponse__Output>
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: proto/grpc/testing/messages.proto
|
||||
|
||||
import type { PayloadType as _grpc_testing_PayloadType } from '../../grpc/testing/PayloadType';
|
||||
import type { PayloadType as _grpc_testing_PayloadType, PayloadType__Output as _grpc_testing_PayloadType__Output } from '../../grpc/testing/PayloadType';
|
||||
|
||||
/**
|
||||
* A block of data, to simply increase gRPC message size.
|
||||
|
@ -9,7 +9,7 @@ export interface Payload {
|
|||
/**
|
||||
* The type of data in body.
|
||||
*/
|
||||
'type'?: (_grpc_testing_PayloadType | keyof typeof _grpc_testing_PayloadType);
|
||||
'type'?: (_grpc_testing_PayloadType);
|
||||
/**
|
||||
* Primary contents of payload.
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ export interface Payload__Output {
|
|||
/**
|
||||
* The type of data in body.
|
||||
*/
|
||||
'type': (keyof typeof _grpc_testing_PayloadType);
|
||||
'type': (_grpc_testing_PayloadType__Output);
|
||||
/**
|
||||
* Primary contents of payload.
|
||||
*/
|
||||
|
|
|
@ -3,9 +3,24 @@
|
|||
/**
|
||||
* The type of payload that should be returned.
|
||||
*/
|
||||
export enum PayloadType {
|
||||
export const PayloadType = {
|
||||
/**
|
||||
* Compressable text format.
|
||||
*/
|
||||
COMPRESSABLE = 0,
|
||||
}
|
||||
COMPRESSABLE: 'COMPRESSABLE',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* The type of payload that should be returned.
|
||||
*/
|
||||
export type PayloadType =
|
||||
/**
|
||||
* Compressable text format.
|
||||
*/
|
||||
| 'COMPRESSABLE'
|
||||
| 0
|
||||
|
||||
/**
|
||||
* The type of payload that should be returned.
|
||||
*/
|
||||
export type PayloadType__Output = typeof PayloadType[keyof typeof PayloadType]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Original file: proto/grpc/testing/test.proto
|
||||
|
||||
import type * as grpc from '@grpc/grpc-js'
|
||||
import type { MethodDefinition } from '@grpc/proto-loader'
|
||||
import type { Empty as _grpc_testing_Empty, Empty__Output as _grpc_testing_Empty__Output } from '../../grpc/testing/Empty';
|
||||
import type { ReconnectInfo as _grpc_testing_ReconnectInfo, ReconnectInfo__Output as _grpc_testing_ReconnectInfo__Output } from '../../grpc/testing/ReconnectInfo';
|
||||
import type { ReconnectParams as _grpc_testing_ReconnectParams, ReconnectParams__Output as _grpc_testing_ReconnectParams__Output } from '../../grpc/testing/ReconnectParams';
|
||||
|
@ -9,23 +10,23 @@ import type { ReconnectParams as _grpc_testing_ReconnectParams, ReconnectParams_
|
|||
* A service used to control reconnect server.
|
||||
*/
|
||||
export interface ReconnectServiceClient extends grpc.Client {
|
||||
Start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
Start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
Start(argument: _grpc_testing_ReconnectParams, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
Start(argument: _grpc_testing_ReconnectParams, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
Start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
Start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
Start(argument: _grpc_testing_ReconnectParams, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
Start(argument: _grpc_testing_ReconnectParams, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
start(argument: _grpc_testing_ReconnectParams, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
Stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
Stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
Stop(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
Stop(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ReconnectInfo__Output) => void): grpc.ClientUnaryCall;
|
||||
Stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
Stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
Stop(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
Stop(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
stop(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_ReconnectInfo__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
}
|
||||
|
||||
|
@ -38,3 +39,8 @@ export interface ReconnectServiceHandlers extends grpc.UntypedServiceImplementat
|
|||
Stop: grpc.handleUnaryCall<_grpc_testing_Empty__Output, _grpc_testing_ReconnectInfo>;
|
||||
|
||||
}
|
||||
|
||||
export interface ReconnectServiceDefinition extends grpc.ServiceDefinition {
|
||||
Start: MethodDefinition<_grpc_testing_ReconnectParams, _grpc_testing_Empty, _grpc_testing_ReconnectParams__Output, _grpc_testing_Empty__Output>
|
||||
Stop: MethodDefinition<_grpc_testing_Empty, _grpc_testing_ReconnectInfo, _grpc_testing_Empty__Output, _grpc_testing_ReconnectInfo__Output>
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ export interface ResponseParameters {
|
|||
* implement the full compression tests by introspecting the call to verify
|
||||
* the response's compression status.
|
||||
*/
|
||||
'compressed'?: (_grpc_testing_BoolValue);
|
||||
'compressed'?: (_grpc_testing_BoolValue | null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -43,5 +43,5 @@ export interface ResponseParameters__Output {
|
|||
* implement the full compression tests by introspecting the call to verify
|
||||
* the response's compression status.
|
||||
*/
|
||||
'compressed'?: (_grpc_testing_BoolValue__Output);
|
||||
'compressed': (_grpc_testing_BoolValue__Output | null);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: proto/grpc/testing/messages.proto
|
||||
|
||||
import type { PayloadType as _grpc_testing_PayloadType } from '../../grpc/testing/PayloadType';
|
||||
import type { PayloadType as _grpc_testing_PayloadType, PayloadType__Output as _grpc_testing_PayloadType__Output } from '../../grpc/testing/PayloadType';
|
||||
import type { Payload as _grpc_testing_Payload, Payload__Output as _grpc_testing_Payload__Output } from '../../grpc/testing/Payload';
|
||||
import type { BoolValue as _grpc_testing_BoolValue, BoolValue__Output as _grpc_testing_BoolValue__Output } from '../../grpc/testing/BoolValue';
|
||||
import type { EchoStatus as _grpc_testing_EchoStatus, EchoStatus__Output as _grpc_testing_EchoStatus__Output } from '../../grpc/testing/EchoStatus';
|
||||
|
@ -13,7 +13,7 @@ export interface SimpleRequest {
|
|||
* Desired payload type in the response from the server.
|
||||
* If response_type is RANDOM, server randomly chooses one from other formats.
|
||||
*/
|
||||
'response_type'?: (_grpc_testing_PayloadType | keyof typeof _grpc_testing_PayloadType);
|
||||
'response_type'?: (_grpc_testing_PayloadType);
|
||||
/**
|
||||
* Desired payload size in the response from the server.
|
||||
*/
|
||||
|
@ -21,7 +21,7 @@ export interface SimpleRequest {
|
|||
/**
|
||||
* Optional input payload sent along with the request.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload);
|
||||
'payload'?: (_grpc_testing_Payload | null);
|
||||
/**
|
||||
* Whether SimpleResponse should include username.
|
||||
*/
|
||||
|
@ -36,15 +36,15 @@ export interface SimpleRequest {
|
|||
* implement the full compression tests by introspecting the call to verify
|
||||
* the response's compression status.
|
||||
*/
|
||||
'response_compressed'?: (_grpc_testing_BoolValue);
|
||||
'response_compressed'?: (_grpc_testing_BoolValue | null);
|
||||
/**
|
||||
* Whether server should return a given status
|
||||
*/
|
||||
'response_status'?: (_grpc_testing_EchoStatus);
|
||||
'response_status'?: (_grpc_testing_EchoStatus | null);
|
||||
/**
|
||||
* Whether the server should expect this request to be compressed.
|
||||
*/
|
||||
'expect_compressed'?: (_grpc_testing_BoolValue);
|
||||
'expect_compressed'?: (_grpc_testing_BoolValue | null);
|
||||
/**
|
||||
* Whether SimpleResponse should include server_id.
|
||||
*/
|
||||
|
@ -63,7 +63,7 @@ export interface SimpleRequest__Output {
|
|||
* Desired payload type in the response from the server.
|
||||
* If response_type is RANDOM, server randomly chooses one from other formats.
|
||||
*/
|
||||
'response_type': (keyof typeof _grpc_testing_PayloadType);
|
||||
'response_type': (_grpc_testing_PayloadType__Output);
|
||||
/**
|
||||
* Desired payload size in the response from the server.
|
||||
*/
|
||||
|
@ -71,7 +71,7 @@ export interface SimpleRequest__Output {
|
|||
/**
|
||||
* Optional input payload sent along with the request.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload__Output);
|
||||
'payload': (_grpc_testing_Payload__Output | null);
|
||||
/**
|
||||
* Whether SimpleResponse should include username.
|
||||
*/
|
||||
|
@ -86,15 +86,15 @@ export interface SimpleRequest__Output {
|
|||
* implement the full compression tests by introspecting the call to verify
|
||||
* the response's compression status.
|
||||
*/
|
||||
'response_compressed'?: (_grpc_testing_BoolValue__Output);
|
||||
'response_compressed': (_grpc_testing_BoolValue__Output | null);
|
||||
/**
|
||||
* Whether server should return a given status
|
||||
*/
|
||||
'response_status'?: (_grpc_testing_EchoStatus__Output);
|
||||
'response_status': (_grpc_testing_EchoStatus__Output | null);
|
||||
/**
|
||||
* Whether the server should expect this request to be compressed.
|
||||
*/
|
||||
'expect_compressed'?: (_grpc_testing_BoolValue__Output);
|
||||
'expect_compressed': (_grpc_testing_BoolValue__Output | null);
|
||||
/**
|
||||
* Whether SimpleResponse should include server_id.
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// Original file: proto/grpc/testing/messages.proto
|
||||
|
||||
import type { Payload as _grpc_testing_Payload, Payload__Output as _grpc_testing_Payload__Output } from '../../grpc/testing/Payload';
|
||||
import type { GrpclbRouteType as _grpc_testing_GrpclbRouteType } from '../../grpc/testing/GrpclbRouteType';
|
||||
import type { GrpclbRouteType as _grpc_testing_GrpclbRouteType, GrpclbRouteType__Output as _grpc_testing_GrpclbRouteType__Output } from '../../grpc/testing/GrpclbRouteType';
|
||||
|
||||
/**
|
||||
* Unary response, as configured by the request.
|
||||
|
@ -10,7 +10,7 @@ export interface SimpleResponse {
|
|||
/**
|
||||
* Payload to increase message size.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload);
|
||||
'payload'?: (_grpc_testing_Payload | null);
|
||||
/**
|
||||
* The user the request came from, for verifying authentication was
|
||||
* successful when the client expected it.
|
||||
|
@ -28,7 +28,7 @@ export interface SimpleResponse {
|
|||
/**
|
||||
* gRPCLB Path.
|
||||
*/
|
||||
'grpclb_route_type'?: (_grpc_testing_GrpclbRouteType | keyof typeof _grpc_testing_GrpclbRouteType);
|
||||
'grpclb_route_type'?: (_grpc_testing_GrpclbRouteType);
|
||||
/**
|
||||
* Server hostname.
|
||||
*/
|
||||
|
@ -42,7 +42,7 @@ export interface SimpleResponse__Output {
|
|||
/**
|
||||
* Payload to increase message size.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload__Output);
|
||||
'payload': (_grpc_testing_Payload__Output | null);
|
||||
/**
|
||||
* The user the request came from, for verifying authentication was
|
||||
* successful when the client expected it.
|
||||
|
@ -60,7 +60,7 @@ export interface SimpleResponse__Output {
|
|||
/**
|
||||
* gRPCLB Path.
|
||||
*/
|
||||
'grpclb_route_type': (keyof typeof _grpc_testing_GrpclbRouteType);
|
||||
'grpclb_route_type': (_grpc_testing_GrpclbRouteType__Output);
|
||||
/**
|
||||
* Server hostname.
|
||||
*/
|
||||
|
|
|
@ -10,14 +10,14 @@ export interface StreamingInputCallRequest {
|
|||
/**
|
||||
* Optional input payload sent along with the request.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload);
|
||||
'payload'?: (_grpc_testing_Payload | null);
|
||||
/**
|
||||
* Whether the server should expect this request to be compressed. This field
|
||||
* is "nullable" in order to interoperate seamlessly with servers not able to
|
||||
* implement the full compression tests by introspecting the call to verify
|
||||
* the request's compression status.
|
||||
*/
|
||||
'expect_compressed'?: (_grpc_testing_BoolValue);
|
||||
'expect_compressed'?: (_grpc_testing_BoolValue | null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -27,12 +27,12 @@ export interface StreamingInputCallRequest__Output {
|
|||
/**
|
||||
* Optional input payload sent along with the request.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload__Output);
|
||||
'payload': (_grpc_testing_Payload__Output | null);
|
||||
/**
|
||||
* Whether the server should expect this request to be compressed. This field
|
||||
* is "nullable" in order to interoperate seamlessly with servers not able to
|
||||
* implement the full compression tests by introspecting the call to verify
|
||||
* the request's compression status.
|
||||
*/
|
||||
'expect_compressed'?: (_grpc_testing_BoolValue__Output);
|
||||
'expect_compressed': (_grpc_testing_BoolValue__Output | null);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: proto/grpc/testing/messages.proto
|
||||
|
||||
import type { PayloadType as _grpc_testing_PayloadType } from '../../grpc/testing/PayloadType';
|
||||
import type { PayloadType as _grpc_testing_PayloadType, PayloadType__Output as _grpc_testing_PayloadType__Output } from '../../grpc/testing/PayloadType';
|
||||
import type { ResponseParameters as _grpc_testing_ResponseParameters, ResponseParameters__Output as _grpc_testing_ResponseParameters__Output } from '../../grpc/testing/ResponseParameters';
|
||||
import type { Payload as _grpc_testing_Payload, Payload__Output as _grpc_testing_Payload__Output } from '../../grpc/testing/Payload';
|
||||
import type { EchoStatus as _grpc_testing_EchoStatus, EchoStatus__Output as _grpc_testing_EchoStatus__Output } from '../../grpc/testing/EchoStatus';
|
||||
|
@ -15,7 +15,7 @@ export interface StreamingOutputCallRequest {
|
|||
* might be of different types. This is to simulate a mixed type of payload
|
||||
* stream.
|
||||
*/
|
||||
'response_type'?: (_grpc_testing_PayloadType | keyof typeof _grpc_testing_PayloadType);
|
||||
'response_type'?: (_grpc_testing_PayloadType);
|
||||
/**
|
||||
* Configuration for each expected response message.
|
||||
*/
|
||||
|
@ -23,11 +23,11 @@ export interface StreamingOutputCallRequest {
|
|||
/**
|
||||
* Optional input payload sent along with the request.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload);
|
||||
'payload'?: (_grpc_testing_Payload | null);
|
||||
/**
|
||||
* Whether server should return a given status
|
||||
*/
|
||||
'response_status'?: (_grpc_testing_EchoStatus);
|
||||
'response_status'?: (_grpc_testing_EchoStatus | null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -40,7 +40,7 @@ export interface StreamingOutputCallRequest__Output {
|
|||
* might be of different types. This is to simulate a mixed type of payload
|
||||
* stream.
|
||||
*/
|
||||
'response_type': (keyof typeof _grpc_testing_PayloadType);
|
||||
'response_type': (_grpc_testing_PayloadType__Output);
|
||||
/**
|
||||
* Configuration for each expected response message.
|
||||
*/
|
||||
|
@ -48,9 +48,9 @@ export interface StreamingOutputCallRequest__Output {
|
|||
/**
|
||||
* Optional input payload sent along with the request.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload__Output);
|
||||
'payload': (_grpc_testing_Payload__Output | null);
|
||||
/**
|
||||
* Whether server should return a given status
|
||||
*/
|
||||
'response_status'?: (_grpc_testing_EchoStatus__Output);
|
||||
'response_status': (_grpc_testing_EchoStatus__Output | null);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ export interface StreamingOutputCallResponse {
|
|||
/**
|
||||
* Payload to increase response size.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload);
|
||||
'payload'?: (_grpc_testing_Payload | null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,5 +19,5 @@ export interface StreamingOutputCallResponse__Output {
|
|||
/**
|
||||
* Payload to increase response size.
|
||||
*/
|
||||
'payload'?: (_grpc_testing_Payload__Output);
|
||||
'payload': (_grpc_testing_Payload__Output | null);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Original file: proto/grpc/testing/test.proto
|
||||
|
||||
import type * as grpc from '@grpc/grpc-js'
|
||||
import type { MethodDefinition } from '@grpc/proto-loader'
|
||||
import type { Empty as _grpc_testing_Empty, Empty__Output as _grpc_testing_Empty__Output } from '../../grpc/testing/Empty';
|
||||
import type { SimpleRequest as _grpc_testing_SimpleRequest, SimpleRequest__Output as _grpc_testing_SimpleRequest__Output } from '../../grpc/testing/SimpleRequest';
|
||||
import type { SimpleResponse as _grpc_testing_SimpleResponse, SimpleResponse__Output as _grpc_testing_SimpleResponse__Output } from '../../grpc/testing/SimpleResponse';
|
||||
|
@ -19,34 +20,34 @@ export interface TestServiceClient extends grpc.Client {
|
|||
* headers set such that a caching HTTP proxy (such as GFE) can
|
||||
* satisfy subsequent requests.
|
||||
*/
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
CacheableUnaryCall(argument: _grpc_testing_SimpleRequest, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* One request followed by one response. Response has cache control
|
||||
* headers set such that a caching HTTP proxy (such as GFE) can
|
||||
* satisfy subsequent requests.
|
||||
*/
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
cacheableUnaryCall(argument: _grpc_testing_SimpleRequest, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
/**
|
||||
* One empty request followed by one empty response.
|
||||
*/
|
||||
EmptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
EmptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
EmptyCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
EmptyCall(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
EmptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
EmptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
EmptyCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
EmptyCall(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* One empty request followed by one empty response.
|
||||
*/
|
||||
emptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
emptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
emptyCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
emptyCall(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
emptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
emptyCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
emptyCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
emptyCall(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
/**
|
||||
* A sequence of requests with each request served by the server immediately.
|
||||
|
@ -84,18 +85,18 @@ export interface TestServiceClient extends grpc.Client {
|
|||
* A sequence of requests followed by one response (streamed upload).
|
||||
* The server returns the aggregated size of client payload as the result.
|
||||
*/
|
||||
StreamingInputCall(metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
StreamingInputCall(metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
StreamingInputCall(options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
StreamingInputCall(callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
StreamingInputCall(metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
StreamingInputCall(metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
StreamingInputCall(options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
StreamingInputCall(callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
/**
|
||||
* A sequence of requests followed by one response (streamed upload).
|
||||
* The server returns the aggregated size of client payload as the result.
|
||||
*/
|
||||
streamingInputCall(metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
streamingInputCall(metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
streamingInputCall(options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
streamingInputCall(callback: (error?: grpc.ServiceError, result?: _grpc_testing_StreamingInputCallResponse__Output) => void): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
streamingInputCall(metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
streamingInputCall(metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
streamingInputCall(options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
streamingInputCall(callback: grpc.requestCallback<_grpc_testing_StreamingInputCallResponse__Output>): grpc.ClientWritableStream<_grpc_testing_StreamingInputCallRequest>;
|
||||
|
||||
/**
|
||||
* One request followed by a sequence of responses (streamed download).
|
||||
|
@ -113,34 +114,34 @@ export interface TestServiceClient extends grpc.Client {
|
|||
/**
|
||||
* One request followed by one response.
|
||||
*/
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
UnaryCall(argument: _grpc_testing_SimpleRequest, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* One request followed by one response.
|
||||
*/
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_SimpleResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
unaryCall(argument: _grpc_testing_SimpleRequest, callback: grpc.requestCallback<_grpc_testing_SimpleResponse__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
/**
|
||||
* The test server will not implement this method. It will be used
|
||||
* to test the behavior when clients call unimplemented methods.
|
||||
*/
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* The test server will not implement this method. It will be used
|
||||
* to test the behavior when clients call unimplemented methods.
|
||||
*/
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
}
|
||||
|
||||
|
@ -200,3 +201,14 @@ export interface TestServiceHandlers extends grpc.UntypedServiceImplementation {
|
|||
UnimplementedCall: grpc.handleUnaryCall<_grpc_testing_Empty__Output, _grpc_testing_Empty>;
|
||||
|
||||
}
|
||||
|
||||
export interface TestServiceDefinition extends grpc.ServiceDefinition {
|
||||
CacheableUnaryCall: MethodDefinition<_grpc_testing_SimpleRequest, _grpc_testing_SimpleResponse, _grpc_testing_SimpleRequest__Output, _grpc_testing_SimpleResponse__Output>
|
||||
EmptyCall: MethodDefinition<_grpc_testing_Empty, _grpc_testing_Empty, _grpc_testing_Empty__Output, _grpc_testing_Empty__Output>
|
||||
FullDuplexCall: MethodDefinition<_grpc_testing_StreamingOutputCallRequest, _grpc_testing_StreamingOutputCallResponse, _grpc_testing_StreamingOutputCallRequest__Output, _grpc_testing_StreamingOutputCallResponse__Output>
|
||||
HalfDuplexCall: MethodDefinition<_grpc_testing_StreamingOutputCallRequest, _grpc_testing_StreamingOutputCallResponse, _grpc_testing_StreamingOutputCallRequest__Output, _grpc_testing_StreamingOutputCallResponse__Output>
|
||||
StreamingInputCall: MethodDefinition<_grpc_testing_StreamingInputCallRequest, _grpc_testing_StreamingInputCallResponse, _grpc_testing_StreamingInputCallRequest__Output, _grpc_testing_StreamingInputCallResponse__Output>
|
||||
StreamingOutputCall: MethodDefinition<_grpc_testing_StreamingOutputCallRequest, _grpc_testing_StreamingOutputCallResponse, _grpc_testing_StreamingOutputCallRequest__Output, _grpc_testing_StreamingOutputCallResponse__Output>
|
||||
UnaryCall: MethodDefinition<_grpc_testing_SimpleRequest, _grpc_testing_SimpleResponse, _grpc_testing_SimpleRequest__Output, _grpc_testing_SimpleResponse__Output>
|
||||
UnimplementedCall: MethodDefinition<_grpc_testing_Empty, _grpc_testing_Empty, _grpc_testing_Empty__Output, _grpc_testing_Empty__Output>
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Original file: proto/grpc/testing/test.proto
|
||||
|
||||
import type * as grpc from '@grpc/grpc-js'
|
||||
import type { MethodDefinition } from '@grpc/proto-loader'
|
||||
import type { Empty as _grpc_testing_Empty, Empty__Output as _grpc_testing_Empty__Output } from '../../grpc/testing/Empty';
|
||||
|
||||
/**
|
||||
|
@ -11,17 +12,17 @@ export interface UnimplementedServiceClient extends grpc.Client {
|
|||
/**
|
||||
* A call that no server should implement
|
||||
*/
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
UnimplementedCall(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* A call that no server should implement
|
||||
*/
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
unimplementedCall(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
}
|
||||
|
||||
|
@ -36,3 +37,7 @@ export interface UnimplementedServiceHandlers extends grpc.UntypedServiceImpleme
|
|||
UnimplementedCall: grpc.handleUnaryCall<_grpc_testing_Empty__Output, _grpc_testing_Empty>;
|
||||
|
||||
}
|
||||
|
||||
export interface UnimplementedServiceDefinition extends grpc.ServiceDefinition {
|
||||
UnimplementedCall: MethodDefinition<_grpc_testing_Empty, _grpc_testing_Empty, _grpc_testing_Empty__Output, _grpc_testing_Empty__Output>
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Original file: proto/grpc/testing/test.proto
|
||||
|
||||
import type * as grpc from '@grpc/grpc-js'
|
||||
import type { MethodDefinition } from '@grpc/proto-loader'
|
||||
import type { ClientConfigureRequest as _grpc_testing_ClientConfigureRequest, ClientConfigureRequest__Output as _grpc_testing_ClientConfigureRequest__Output } from '../../grpc/testing/ClientConfigureRequest';
|
||||
import type { ClientConfigureResponse as _grpc_testing_ClientConfigureResponse, ClientConfigureResponse__Output as _grpc_testing_ClientConfigureResponse__Output } from '../../grpc/testing/ClientConfigureResponse';
|
||||
|
||||
|
@ -11,17 +12,17 @@ export interface XdsUpdateClientConfigureServiceClient extends grpc.Client {
|
|||
/**
|
||||
* Update the tes client's configuration.
|
||||
*/
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
Configure(argument: _grpc_testing_ClientConfigureRequest, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
/**
|
||||
* Update the tes client's configuration.
|
||||
*/
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, callback: (error?: grpc.ServiceError, result?: _grpc_testing_ClientConfigureResponse__Output) => void): grpc.ClientUnaryCall;
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
configure(argument: _grpc_testing_ClientConfigureRequest, callback: grpc.requestCallback<_grpc_testing_ClientConfigureResponse__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
}
|
||||
|
||||
|
@ -35,3 +36,7 @@ export interface XdsUpdateClientConfigureServiceHandlers extends grpc.UntypedSer
|
|||
Configure: grpc.handleUnaryCall<_grpc_testing_ClientConfigureRequest__Output, _grpc_testing_ClientConfigureResponse>;
|
||||
|
||||
}
|
||||
|
||||
export interface XdsUpdateClientConfigureServiceDefinition extends grpc.ServiceDefinition {
|
||||
Configure: MethodDefinition<_grpc_testing_ClientConfigureRequest, _grpc_testing_ClientConfigureResponse, _grpc_testing_ClientConfigureRequest__Output, _grpc_testing_ClientConfigureResponse__Output>
|
||||
}
|
||||
|
|
|
@ -1,29 +1,30 @@
|
|||
// Original file: proto/grpc/testing/test.proto
|
||||
|
||||
import type * as grpc from '@grpc/grpc-js'
|
||||
import type { MethodDefinition } from '@grpc/proto-loader'
|
||||
import type { Empty as _grpc_testing_Empty, Empty__Output as _grpc_testing_Empty__Output } from '../../grpc/testing/Empty';
|
||||
|
||||
/**
|
||||
* A service to remotely control health status of an xDS test server.
|
||||
*/
|
||||
export interface XdsUpdateHealthServiceClient extends grpc.Client {
|
||||
SetNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetNotServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetNotServing(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
SetNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
SetNotServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
SetNotServing(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setNotServing(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
SetServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetServing(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, callback: (error?: grpc.ServiceError, result?: _grpc_testing_Empty__Output) => void): grpc.ClientUnaryCall;
|
||||
SetServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
SetServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
SetServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
SetServing(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
setServing(argument: _grpc_testing_Empty, callback: grpc.requestCallback<_grpc_testing_Empty__Output>): grpc.ClientUnaryCall;
|
||||
|
||||
}
|
||||
|
||||
|
@ -36,3 +37,8 @@ export interface XdsUpdateHealthServiceHandlers extends grpc.UntypedServiceImple
|
|||
SetServing: grpc.handleUnaryCall<_grpc_testing_Empty__Output, _grpc_testing_Empty>;
|
||||
|
||||
}
|
||||
|
||||
export interface XdsUpdateHealthServiceDefinition extends grpc.ServiceDefinition {
|
||||
SetNotServing: MethodDefinition<_grpc_testing_Empty, _grpc_testing_Empty, _grpc_testing_Empty__Output, _grpc_testing_Empty__Output>
|
||||
SetServing: MethodDefinition<_grpc_testing_Empty, _grpc_testing_Empty, _grpc_testing_Empty__Output, _grpc_testing_Empty__Output>
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import type * as grpc from '@grpc/grpc-js';
|
||||
import type { ServiceDefinition, EnumTypeDefinition, MessageTypeDefinition } from '@grpc/proto-loader';
|
||||
import type { EnumTypeDefinition, MessageTypeDefinition } from '@grpc/proto-loader';
|
||||
|
||||
import type { LoadBalancerStatsServiceClient as _grpc_testing_LoadBalancerStatsServiceClient } from './grpc/testing/LoadBalancerStatsService';
|
||||
import type { ReconnectServiceClient as _grpc_testing_ReconnectServiceClient } from './grpc/testing/ReconnectService';
|
||||
import type { TestServiceClient as _grpc_testing_TestServiceClient } from './grpc/testing/TestService';
|
||||
import type { UnimplementedServiceClient as _grpc_testing_UnimplementedServiceClient } from './grpc/testing/UnimplementedService';
|
||||
import type { XdsUpdateClientConfigureServiceClient as _grpc_testing_XdsUpdateClientConfigureServiceClient } from './grpc/testing/XdsUpdateClientConfigureService';
|
||||
import type { XdsUpdateHealthServiceClient as _grpc_testing_XdsUpdateHealthServiceClient } from './grpc/testing/XdsUpdateHealthService';
|
||||
import type { LoadBalancerStatsServiceClient as _grpc_testing_LoadBalancerStatsServiceClient, LoadBalancerStatsServiceDefinition as _grpc_testing_LoadBalancerStatsServiceDefinition } from './grpc/testing/LoadBalancerStatsService';
|
||||
import type { ReconnectServiceClient as _grpc_testing_ReconnectServiceClient, ReconnectServiceDefinition as _grpc_testing_ReconnectServiceDefinition } from './grpc/testing/ReconnectService';
|
||||
import type { TestServiceClient as _grpc_testing_TestServiceClient, TestServiceDefinition as _grpc_testing_TestServiceDefinition } from './grpc/testing/TestService';
|
||||
import type { UnimplementedServiceClient as _grpc_testing_UnimplementedServiceClient, UnimplementedServiceDefinition as _grpc_testing_UnimplementedServiceDefinition } from './grpc/testing/UnimplementedService';
|
||||
import type { XdsUpdateClientConfigureServiceClient as _grpc_testing_XdsUpdateClientConfigureServiceClient, XdsUpdateClientConfigureServiceDefinition as _grpc_testing_XdsUpdateClientConfigureServiceDefinition } from './grpc/testing/XdsUpdateClientConfigureService';
|
||||
import type { XdsUpdateHealthServiceClient as _grpc_testing_XdsUpdateHealthServiceClient, XdsUpdateHealthServiceDefinition as _grpc_testing_XdsUpdateHealthServiceDefinition } from './grpc/testing/XdsUpdateHealthService';
|
||||
|
||||
type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {
|
||||
new(...args: ConstructorParameters<Constructor>): Subtype;
|
||||
|
@ -28,7 +28,7 @@ export interface ProtoGrpcType {
|
|||
/**
|
||||
* A service used to obtain stats for verifying LB behavior.
|
||||
*/
|
||||
LoadBalancerStatsService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_LoadBalancerStatsServiceClient> & { service: ServiceDefinition }
|
||||
LoadBalancerStatsService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_LoadBalancerStatsServiceClient> & { service: _grpc_testing_LoadBalancerStatsServiceDefinition }
|
||||
Payload: MessageTypeDefinition
|
||||
PayloadType: EnumTypeDefinition
|
||||
ReconnectInfo: MessageTypeDefinition
|
||||
|
@ -36,7 +36,7 @@ export interface ProtoGrpcType {
|
|||
/**
|
||||
* A service used to control reconnect server.
|
||||
*/
|
||||
ReconnectService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_ReconnectServiceClient> & { service: ServiceDefinition }
|
||||
ReconnectService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_ReconnectServiceClient> & { service: _grpc_testing_ReconnectServiceDefinition }
|
||||
ResponseParameters: MessageTypeDefinition
|
||||
SimpleRequest: MessageTypeDefinition
|
||||
SimpleResponse: MessageTypeDefinition
|
||||
|
@ -48,20 +48,20 @@ export interface ProtoGrpcType {
|
|||
* A simple service to test the various types of RPCs and experiment with
|
||||
* performance with various types of payload.
|
||||
*/
|
||||
TestService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_TestServiceClient> & { service: ServiceDefinition }
|
||||
TestService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_TestServiceClient> & { service: _grpc_testing_TestServiceDefinition }
|
||||
/**
|
||||
* A simple service NOT implemented at servers so clients can test for
|
||||
* that case.
|
||||
*/
|
||||
UnimplementedService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_UnimplementedServiceClient> & { service: ServiceDefinition }
|
||||
UnimplementedService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_UnimplementedServiceClient> & { service: _grpc_testing_UnimplementedServiceDefinition }
|
||||
/**
|
||||
* A service to dynamically update the configuration of an xDS test client.
|
||||
*/
|
||||
XdsUpdateClientConfigureService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_XdsUpdateClientConfigureServiceClient> & { service: ServiceDefinition }
|
||||
XdsUpdateClientConfigureService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_XdsUpdateClientConfigureServiceClient> & { service: _grpc_testing_XdsUpdateClientConfigureServiceDefinition }
|
||||
/**
|
||||
* A service to remotely control health status of an xDS test server.
|
||||
*/
|
||||
XdsUpdateHealthService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_XdsUpdateHealthServiceClient> & { service: ServiceDefinition }
|
||||
XdsUpdateHealthService: SubtypeConstructor<typeof grpc.Client, _grpc_testing_XdsUpdateHealthServiceClient> & { service: _grpc_testing_XdsUpdateHealthServiceDefinition }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -398,7 +398,7 @@ function makeSingleRequest(client: TestServiceClient, type: CallType, failOnFail
|
|||
const startTime = process.hrtime.bigint();
|
||||
const deadline = new Date();
|
||||
deadline.setSeconds(deadline.getSeconds() + currentConfig.timeoutSec);
|
||||
const callback = (error: grpc.ServiceError | undefined, value: Empty__Output | undefined) => {
|
||||
const callback = (error: grpc.ServiceError | null, value: Empty__Output | undefined) => {
|
||||
const statusCode = error?.code ?? grpc.status.OK;
|
||||
const duration = process.hrtime.bigint() - startTime;
|
||||
const durationSeconds = Number(duration / TIMESTAMP_ONE_SECOND) | 0;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@grpc/grpc-js-xds",
|
||||
"version": "1.9.2",
|
||||
"version": "1.10.1",
|
||||
"description": "Plugin for @grpc/grpc-js. Adds the xds:// URL scheme and associated features.",
|
||||
"main": "build/src/index.js",
|
||||
"scripts": {
|
||||
|
@ -12,7 +12,7 @@
|
|||
"prepare": "npm run generate-types && npm run compile",
|
||||
"pretest": "npm run compile",
|
||||
"posttest": "npm run check",
|
||||
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --includeDirs deps/envoy-api/ deps/xds/ deps/googleapis/ deps/protoc-gen-validate/ -O src/generated/ --grpcLib @grpc/grpc-js envoy/service/discovery/v3/ads.proto envoy/service/load_stats/v3/lrs.proto envoy/config/listener/v3/listener.proto envoy/config/route/v3/route.proto envoy/config/cluster/v3/cluster.proto envoy/config/endpoint/v3/endpoint.proto envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto udpa/type/v1/typed_struct.proto xds/type/v3/typed_struct.proto envoy/extensions/filters/http/fault/v3/fault.proto envoy/service/status/v3/csds.proto envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.proto envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.proto",
|
||||
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --includeDirs deps/envoy-api/ deps/xds/ deps/googleapis/ deps/protoc-gen-validate/ -O src/generated/ --grpcLib @grpc/grpc-js envoy/service/discovery/v3/ads.proto envoy/service/load_stats/v3/lrs.proto envoy/config/listener/v3/listener.proto envoy/config/route/v3/route.proto envoy/config/cluster/v3/cluster.proto envoy/config/endpoint/v3/endpoint.proto envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto udpa/type/v1/typed_struct.proto xds/type/v3/typed_struct.proto envoy/extensions/filters/http/fault/v3/fault.proto envoy/service/status/v3/csds.proto envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.proto envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.proto envoy/extensions/clusters/aggregate/v3/cluster.proto",
|
||||
"generate-interop-types": "proto-loader-gen-types --keep-case --longs String --enums String --defaults --oneofs --json --includeComments --includeDirs proto/ -O interop/generated --grpcLib @grpc/grpc-js grpc/testing/test.proto",
|
||||
"generate-test-types": "proto-loader-gen-types --keep-case --longs String --enums String --defaults --oneofs --json --includeComments --includeDirs proto/ -O test/generated --grpcLib @grpc/grpc-js grpc/testing/echo.proto"
|
||||
},
|
||||
|
@ -33,6 +33,7 @@
|
|||
"homepage": "https://github.com/grpc/grpc-node#readme",
|
||||
"devDependencies": {
|
||||
"@grpc/grpc-js": "file:../grpc-js",
|
||||
"@grpc/proto-loader": "file:../proto-loader",
|
||||
"@types/gulp": "^4.0.6",
|
||||
"@types/gulp-mocha": "0.0.32",
|
||||
"@types/mocha": "^5.2.6",
|
||||
|
@ -40,18 +41,18 @@
|
|||
"@types/yargs": "^15.0.5",
|
||||
"find-free-ports": "^3.1.1",
|
||||
"gts": "^5.0.1",
|
||||
"typescript": "^4.9.5",
|
||||
"typescript": "^5.1.3",
|
||||
"yargs": "^15.4.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@grpc/proto-loader": "^0.6.0",
|
||||
"@grpc/proto-loader": "^0.7.13",
|
||||
"google-auth-library": "^7.0.2",
|
||||
"re2-wasm": "^1.0.1",
|
||||
"vscode-uri": "^3.0.7",
|
||||
"xxhash-wasm": "^1.0.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@grpc/grpc-js": "~1.9.0"
|
||||
"@grpc/grpc-js": "~1.10.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.10.0"
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
# Copyright 2024 gRPC authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
set -eo pipefail
|
||||
|
||||
#######################################
|
||||
# Builds test app Docker images and pushes them to GCR.
|
||||
# Called from psm_interop_kokoro_lib.sh.
|
||||
#
|
||||
# Globals:
|
||||
# SRC_DIR: Absolute path to the source repo on Kokoro VM
|
||||
# SERVER_IMAGE_NAME: Test server Docker image name
|
||||
# CLIENT_IMAGE_NAME: Test client Docker image name
|
||||
# GIT_COMMIT: SHA-1 of git commit being built
|
||||
# DOCKER_REGISTRY: Docker registry to push to
|
||||
# Outputs:
|
||||
# Writes the output of docker image build stdout, stderr
|
||||
#######################################
|
||||
psm::lang::build_docker_images() {
|
||||
local client_dockerfile="packages/grpc-js-xds/interop/Dockerfile"
|
||||
|
||||
cd "${SRC_DIR}"
|
||||
psm::tools::run_verbose git submodule update --init --recursive
|
||||
psm::tools::run_verbose git submodule status
|
||||
|
||||
psm::build::docker_images_generic "${client_dockerfile}"
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env bash
|
||||
# Copyright 2024 gRPC authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
set -eo pipefail
|
||||
|
||||
# Input parameters to psm:: methods of the install script.
|
||||
readonly GRPC_LANGUAGE="node"
|
||||
readonly BUILD_SCRIPT_DIR="$(dirname "$0")"
|
||||
|
||||
# Used locally.
|
||||
readonly TEST_DRIVER_INSTALL_SCRIPT_URL="https://raw.githubusercontent.com/${TEST_DRIVER_REPO_OWNER:-grpc}/psm-interop/${TEST_DRIVER_BRANCH:-main}/.kokoro/psm_interop_kokoro_lib.sh"
|
||||
|
||||
psm::lang::source_install_lib() {
|
||||
echo "Sourcing test driver install script from: ${TEST_DRIVER_INSTALL_SCRIPT_URL}"
|
||||
local install_lib
|
||||
# Download to a tmp file.
|
||||
install_lib="$(mktemp -d)/psm_interop_kokoro_lib.sh"
|
||||
curl -s --retry-connrefused --retry 5 -o "${install_lib}" "${TEST_DRIVER_INSTALL_SCRIPT_URL}"
|
||||
# Checksum.
|
||||
if command -v sha256sum &> /dev/null; then
|
||||
echo "Install script checksum:"
|
||||
sha256sum "${install_lib}"
|
||||
fi
|
||||
source "${install_lib}"
|
||||
}
|
||||
|
||||
psm::lang::source_install_lib
|
||||
source "${BUILD_SCRIPT_DIR}/psm-interop-build-${GRPC_LANGUAGE}.sh"
|
||||
psm::run "${PSM_TEST_SUITE}"
|
|
@ -34,6 +34,9 @@ echo "source $NVM_DIR/nvm.sh" > ~/.profile
|
|||
echo "source $NVM_DIR/nvm.sh" > ~/.shrc
|
||||
export ENV=~/.shrc
|
||||
|
||||
cd $base/../proto-loader
|
||||
npm install
|
||||
|
||||
cd $base/../grpc-js
|
||||
npm install
|
||||
|
||||
|
|
|
@ -1,185 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Copyright 2022 gRPC authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
# Constants
|
||||
readonly GITHUB_REPOSITORY_NAME="grpc-node"
|
||||
readonly TEST_DRIVER_INSTALL_SCRIPT_URL="https://raw.githubusercontent.com/${TEST_DRIVER_REPO_OWNER:-grpc}/psm-interop/${TEST_DRIVER_BRANCH:-main}/.kokoro/psm_interop_kokoro_lib.sh"
|
||||
## xDS test client Docker images
|
||||
readonly SERVER_IMAGE_NAME="gcr.io/grpc-testing/xds-interop/java-server:558b5b0bfac8e21755c223063274a779b3898afe"
|
||||
readonly CLIENT_IMAGE_NAME="gcr.io/grpc-testing/xds-interop/node-client"
|
||||
readonly FORCE_IMAGE_BUILD="${FORCE_IMAGE_BUILD:-0}"
|
||||
readonly BUILD_APP_PATH="packages/grpc-js-xds/interop/Dockerfile"
|
||||
readonly LANGUAGE_NAME="Node"
|
||||
|
||||
#######################################
|
||||
# Builds test app Docker images and pushes them to GCR
|
||||
# Globals:
|
||||
# BUILD_APP_PATH
|
||||
# CLIENT_IMAGE_NAME: Test client Docker image name
|
||||
# GIT_COMMIT: SHA-1 of git commit being built
|
||||
# TESTING_VERSION: version branch under test, f.e. v1.42.x, master
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# Writes the output of `gcloud builds submit` to stdout, stderr
|
||||
#######################################
|
||||
build_test_app_docker_images() {
|
||||
echo "Building ${LANGUAGE_NAME} xDS interop test app Docker images"
|
||||
|
||||
pushd "${SRC_DIR}"
|
||||
docker build \
|
||||
-f "${BUILD_APP_PATH}" \
|
||||
-t "${CLIENT_IMAGE_NAME}:${GIT_COMMIT}" \
|
||||
.
|
||||
|
||||
gcloud -q auth configure-docker
|
||||
docker push "${CLIENT_IMAGE_NAME}:${GIT_COMMIT}"
|
||||
if is_version_branch "${TESTING_VERSION}"; then
|
||||
tag_and_push_docker_image "${CLIENT_IMAGE_NAME}" "${GIT_COMMIT}" "${TESTING_VERSION}"
|
||||
fi
|
||||
popd
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Builds test app and its docker images unless they already exist
|
||||
# Globals:
|
||||
# CLIENT_IMAGE_NAME: Test client Docker image name
|
||||
# GIT_COMMIT: SHA-1 of git commit being built
|
||||
# FORCE_IMAGE_BUILD
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# Writes the output to stdout, stderr
|
||||
#######################################
|
||||
build_docker_images_if_needed() {
|
||||
# Check if images already exist
|
||||
client_tags="$(gcloud_gcr_list_image_tags "${CLIENT_IMAGE_NAME}" "${GIT_COMMIT}")"
|
||||
printf "Client image: %s:%s\n" "${CLIENT_IMAGE_NAME}" "${GIT_COMMIT}"
|
||||
echo "${client_tags:-Client image not found}"
|
||||
|
||||
# Build if any of the images are missing, or FORCE_IMAGE_BUILD=1
|
||||
if [[ "${FORCE_IMAGE_BUILD}" == "1" || -z "${client_tags}" ]]; then
|
||||
build_test_app_docker_images
|
||||
else
|
||||
echo "Skipping ${LANGUAGE_NAME} test app build"
|
||||
fi
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Executes the test case
|
||||
# Globals:
|
||||
# TEST_DRIVER_FLAGFILE: Relative path to test driver flagfile
|
||||
# KUBE_CONTEXT: The name of kubectl context with GKE cluster access
|
||||
# SECONDARY_KUBE_CONTEXT: The name of kubectl context with secondary GKE cluster access, if any
|
||||
# TEST_XML_OUTPUT_DIR: Output directory for the test xUnit XML report
|
||||
# CLIENT_IMAGE_NAME: Test client Docker image name
|
||||
# GIT_COMMIT: SHA-1 of git commit being built
|
||||
# Arguments:
|
||||
# Test case name
|
||||
# Outputs:
|
||||
# Writes the output of test execution to stdout, stderr
|
||||
# Test xUnit report to ${TEST_XML_OUTPUT_DIR}/${test_name}/sponge_log.xml
|
||||
#######################################
|
||||
run_test() {
|
||||
# Test driver usage:
|
||||
# https://github.com/grpc/grpc/tree/master/tools/run_tests/xds_k8s_test_driver#basic-usage
|
||||
local test_name="${1:?Usage: run_test test_name}"
|
||||
local out_dir="${TEST_XML_OUTPUT_DIR}/${test_name}"
|
||||
mkdir -pv "${out_dir}"
|
||||
# testing_version is used by the framework to determine the supported PSM
|
||||
# features. It's captured from Kokoro job name of the Node repo, which takes
|
||||
# the form:
|
||||
# grpc/node/<branch name>/<job name>
|
||||
python3 -m "tests.${test_name}" \
|
||||
--flagfile="${TEST_DRIVER_FLAGFILE}" \
|
||||
--kube_context="${KUBE_CONTEXT}" \
|
||||
--secondary_kube_context="${SECONDARY_KUBE_CONTEXT}" \
|
||||
--client_image="${CLIENT_IMAGE_NAME}:${GIT_COMMIT}" \
|
||||
--server_image="${SERVER_IMAGE_NAME}" \
|
||||
--testing_version="${TESTING_VERSION}" \
|
||||
--force_cleanup \
|
||||
--collect_app_logs \
|
||||
--log_dir="${out_dir}" \
|
||||
--xml_output_file="${out_dir}/sponge_log.xml" \
|
||||
|& tee "${out_dir}/sponge_log.log"
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Main function: provision software necessary to execute tests, and run them
|
||||
# Globals:
|
||||
# KOKORO_ARTIFACTS_DIR
|
||||
# GITHUB_REPOSITORY_NAME
|
||||
# SRC_DIR: Populated with absolute path to the source repo
|
||||
# TEST_DRIVER_REPO_DIR: Populated with the path to the repo containing
|
||||
# the test driver
|
||||
# TEST_DRIVER_FULL_DIR: Populated with the path to the test driver source code
|
||||
# TEST_DRIVER_FLAGFILE: Populated with relative path to test driver flagfile
|
||||
# TEST_XML_OUTPUT_DIR: Populated with the path to test xUnit XML report
|
||||
# GIT_ORIGIN_URL: Populated with the origin URL of git repo used for the build
|
||||
# GIT_COMMIT: Populated with the SHA-1 of git commit being built
|
||||
# GIT_COMMIT_SHORT: Populated with the short SHA-1 of git commit being built
|
||||
# KUBE_CONTEXT: Populated with name of kubectl context with GKE cluster access
|
||||
# SECONDARY_KUBE_CONTEXT: Populated with name of kubectl context with secondary GKE cluster access, if any
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# Writes the output of test execution to stdout, stderr
|
||||
#######################################
|
||||
main() {
|
||||
local script_dir
|
||||
script_dir="$(dirname "$0")"
|
||||
|
||||
cd "${script_dir}"
|
||||
|
||||
git submodule update --init --recursive
|
||||
|
||||
# Source the test driver from the master branch.
|
||||
echo "Sourcing test driver install script from: ${TEST_DRIVER_INSTALL_SCRIPT_URL}"
|
||||
source /dev/stdin <<< "$(curl -s "${TEST_DRIVER_INSTALL_SCRIPT_URL}")"
|
||||
|
||||
activate_gke_cluster GKE_CLUSTER_PSM_LB
|
||||
activate_secondary_gke_cluster GKE_CLUSTER_PSM_LB
|
||||
|
||||
set -x
|
||||
if [[ -n "${KOKORO_ARTIFACTS_DIR}" ]]; then
|
||||
kokoro_setup_test_driver "${GITHUB_REPOSITORY_NAME}"
|
||||
else
|
||||
local_setup_test_driver "${script_dir}"
|
||||
fi
|
||||
build_docker_images_if_needed
|
||||
|
||||
# Run tests
|
||||
cd "${TEST_DRIVER_FULL_DIR}"
|
||||
local failed_tests=0
|
||||
test_suites=(
|
||||
"affinity_test"
|
||||
"api_listener_test"
|
||||
"baseline_test"
|
||||
"change_backend_service_test"
|
||||
"custom_lb_test"
|
||||
"failover_test"
|
||||
"outlier_detection_test"
|
||||
"remove_neg_test"
|
||||
"round_robin_test"
|
||||
)
|
||||
for test in "${test_suites[@]}"; do
|
||||
run_test $test || (( ++failed_tests ))
|
||||
done
|
||||
echo "Failed test suites: ${failed_tests}"
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,162 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Copyright 2022 gRPC authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
# Constants
|
||||
readonly GITHUB_REPOSITORY_NAME="grpc-node"
|
||||
readonly TEST_DRIVER_INSTALL_SCRIPT_URL="https://raw.githubusercontent.com/${TEST_DRIVER_REPO_OWNER:-grpc}/psm-interop/${TEST_DRIVER_BRANCH:-main}/.kokoro/psm_interop_kokoro_lib.sh"
|
||||
## xDS test client Docker images
|
||||
readonly CLIENT_IMAGE_NAME="gcr.io/grpc-testing/xds-interop/node-client"
|
||||
readonly FORCE_IMAGE_BUILD="${FORCE_IMAGE_BUILD:-0}"
|
||||
readonly BUILD_APP_PATH="packages/grpc-js-xds/interop/Dockerfile"
|
||||
readonly LANGUAGE_NAME="Node"
|
||||
|
||||
#######################################
|
||||
# Builds test app Docker images and pushes them to GCR
|
||||
# Globals:
|
||||
# BUILD_APP_PATH
|
||||
# CLIENT_IMAGE_NAME: Test client Docker image name
|
||||
# GIT_COMMIT: SHA-1 of git commit being built
|
||||
# TESTING_VERSION: version branch under test, f.e. v1.42.x, master
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# Writes the output of `gcloud builds submit` to stdout, stderr
|
||||
#######################################
|
||||
build_test_app_docker_images() {
|
||||
echo "Building ${LANGUAGE_NAME} xDS interop test app Docker images"
|
||||
|
||||
pushd "${SRC_DIR}"
|
||||
docker build \
|
||||
-f "${BUILD_APP_PATH}" \
|
||||
-t "${CLIENT_IMAGE_NAME}:${GIT_COMMIT}" \
|
||||
.
|
||||
|
||||
gcloud -q auth configure-docker
|
||||
docker push "${CLIENT_IMAGE_NAME}:${GIT_COMMIT}"
|
||||
if is_version_branch "${TESTING_VERSION}"; then
|
||||
tag_and_push_docker_image "${CLIENT_IMAGE_NAME}" "${GIT_COMMIT}" "${TESTING_VERSION}"
|
||||
fi
|
||||
popd
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Builds test app and its docker images unless they already exist
|
||||
# Globals:
|
||||
# CLIENT_IMAGE_NAME: Test client Docker image name
|
||||
# GIT_COMMIT: SHA-1 of git commit being built
|
||||
# FORCE_IMAGE_BUILD
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# Writes the output to stdout, stderr
|
||||
#######################################
|
||||
build_docker_images_if_needed() {
|
||||
# Check if images already exist
|
||||
client_tags="$(gcloud_gcr_list_image_tags "${CLIENT_IMAGE_NAME}" "${GIT_COMMIT}")"
|
||||
printf "Client image: %s:%s\n" "${CLIENT_IMAGE_NAME}" "${GIT_COMMIT}"
|
||||
echo "${client_tags:-Client image not found}"
|
||||
|
||||
# Build if any of the images are missing, or FORCE_IMAGE_BUILD=1
|
||||
if [[ "${FORCE_IMAGE_BUILD}" == "1" || -z "${client_tags}" ]]; then
|
||||
build_test_app_docker_images
|
||||
else
|
||||
echo "Skipping ${LANGUAGE_NAME} test app build"
|
||||
fi
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Executes the test case
|
||||
# Globals:
|
||||
# TEST_DRIVER_FLAGFILE: Relative path to test driver flagfile
|
||||
# KUBE_CONTEXT: The name of kubectl context with GKE cluster access
|
||||
# TEST_XML_OUTPUT_DIR: Output directory for the test xUnit XML report
|
||||
# CLIENT_IMAGE_NAME: Test client Docker image name
|
||||
# GIT_COMMIT: SHA-1 of git commit being built
|
||||
# TESTING_VERSION: version branch under test: used by the framework to determine the supported PSM
|
||||
# features.
|
||||
# Arguments:
|
||||
# Test case name
|
||||
# Outputs:
|
||||
# Writes the output of test execution to stdout, stderr
|
||||
# Test xUnit report to ${TEST_XML_OUTPUT_DIR}/${test_name}/sponge_log.xml
|
||||
#######################################
|
||||
run_test() {
|
||||
# Test driver usage:
|
||||
# https://github.com/grpc/grpc/tree/master/tools/run_tests/xds_k8s_test_driver#basic-usage
|
||||
local test_name="${1:?Usage: run_test test_name}"
|
||||
local out_dir="${TEST_XML_OUTPUT_DIR}/${test_name}"
|
||||
mkdir -pv "${out_dir}"
|
||||
set -x
|
||||
python3 -m "tests.${test_name}" \
|
||||
--flagfile="${TEST_DRIVER_FLAGFILE}" \
|
||||
--flagfile="config/url-map.cfg" \
|
||||
--kube_context="${KUBE_CONTEXT}" \
|
||||
--client_image="${CLIENT_IMAGE_NAME}:${GIT_COMMIT}" \
|
||||
--testing_version="${TESTING_VERSION}" \
|
||||
--collect_app_logs \
|
||||
--log_dir="${out_dir}" \
|
||||
--xml_output_file="${out_dir}/sponge_log.xml" \
|
||||
|& tee "${out_dir}/sponge_log.log"
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Main function: provision software necessary to execute tests, and run them
|
||||
# Globals:
|
||||
# KOKORO_ARTIFACTS_DIR
|
||||
# GITHUB_REPOSITORY_NAME
|
||||
# SRC_DIR: Populated with absolute path to the source repo
|
||||
# TEST_DRIVER_REPO_DIR: Populated with the path to the repo containing
|
||||
# the test driver
|
||||
# TEST_DRIVER_FULL_DIR: Populated with the path to the test driver source code
|
||||
# TEST_DRIVER_FLAGFILE: Populated with relative path to test driver flagfile
|
||||
# TEST_XML_OUTPUT_DIR: Populated with the path to test xUnit XML report
|
||||
# GIT_ORIGIN_URL: Populated with the origin URL of git repo used for the build
|
||||
# GIT_COMMIT: Populated with the SHA-1 of git commit being built
|
||||
# GIT_COMMIT_SHORT: Populated with the short SHA-1 of git commit being built
|
||||
# KUBE_CONTEXT: Populated with name of kubectl context with GKE cluster access
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# Writes the output of test execution to stdout, stderr
|
||||
#######################################
|
||||
main() {
|
||||
local script_dir
|
||||
script_dir="$(dirname "$0")"
|
||||
|
||||
cd "${script_dir}"
|
||||
|
||||
git submodule update --init --recursive
|
||||
|
||||
# Source the test driver from the master branch.
|
||||
echo "Sourcing test driver install script from: ${TEST_DRIVER_INSTALL_SCRIPT_URL}"
|
||||
source /dev/stdin <<< "$(curl -s "${TEST_DRIVER_INSTALL_SCRIPT_URL}")"
|
||||
|
||||
activate_gke_cluster GKE_CLUSTER_PSM_BASIC
|
||||
|
||||
set -x
|
||||
if [[ -n "${KOKORO_ARTIFACTS_DIR}" ]]; then
|
||||
kokoro_setup_test_driver "${GITHUB_REPOSITORY_NAME}"
|
||||
else
|
||||
local_setup_test_driver "${script_dir}"
|
||||
fi
|
||||
build_docker_images_if_needed
|
||||
# Run tests
|
||||
cd "${TEST_DRIVER_FULL_DIR}"
|
||||
run_test url_map || echo "Failed url_map test"
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -15,11 +15,14 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/* Switches to enable or disable experimental features. If the default is
|
||||
* 'true', the feature is enabled by default, if the default is 'false' the
|
||||
* feature is disabled by default. */
|
||||
export const EXPERIMENTAL_FAULT_INJECTION = (process.env.GRPC_XDS_EXPERIMENTAL_FAULT_INJECTION ?? 'true') === 'true';
|
||||
export const EXPERIMENTAL_OUTLIER_DETECTION = (process.env.GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION ?? 'true') === 'true';
|
||||
export const EXPERIMENTAL_RETRY = (process.env.GRPC_XDS_EXPERIMENTAL_ENABLE_RETRY ?? 'true') === 'true';
|
||||
export const EXPERIMENTAL_FEDERATION = (process.env.GRPC_EXPERIMENTAL_XDS_FEDERATION ?? 'false') === 'true';
|
||||
export const EXPERIMENTAL_CUSTOM_LB_CONFIG = (process.env.GRPC_EXPERIMENTAL_XDS_CUSTOM_LB_CONFIG ?? 'false') === 'true';
|
||||
export const EXPERIMENTAL_RING_HASH = (process.env.GRPC_XDS_EXPERIMENTAL_ENABLE_RING_HASH ?? 'false') === 'true';
|
||||
export const EXPERIMENTAL_CUSTOM_LB_CONFIG = (process.env.GRPC_EXPERIMENTAL_XDS_CUSTOM_LB_CONFIG ?? 'true') === 'true';
|
||||
export const EXPERIMENTAL_RING_HASH = (process.env.GRPC_XDS_EXPERIMENTAL_ENABLE_RING_HASH ?? 'true') === 'true';
|
||||
export const EXPERIMENTAL_PICK_FIRST = (process.env.GRPC_EXPERIMENTAL_PICKFIRST_LB_CONFIG ?? 'false') === 'true';
|
||||
export const EXPERIMENTAL_DUALSTACK_ENDPOINTS = (process.env.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS ?? 'false') === 'true';
|
||||
|
|
|
@ -101,6 +101,15 @@ export interface ProtoGrpcType {
|
|||
}
|
||||
}
|
||||
}
|
||||
extensions: {
|
||||
clusters: {
|
||||
aggregate: {
|
||||
v3: {
|
||||
ClusterConfig: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
type: {
|
||||
matcher: {
|
||||
v3: {
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/admin/v3/config_dump.proto
|
||||
|
||||
import type { Bootstrap as _envoy_config_bootstrap_v3_Bootstrap, Bootstrap__Output as _envoy_config_bootstrap_v3_Bootstrap__Output } from '../../../envoy/config/bootstrap/v3/Bootstrap';
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
|
||||
/**
|
||||
* This message describes the bootstrap configuration that Envoy was started with. This includes
|
||||
* any CLI overrides that were merged. Bootstrap configuration information can be used to recreate
|
||||
* the static portions of an Envoy configuration by reusing the output as the bootstrap
|
||||
* configuration for another Envoy.
|
||||
*/
|
||||
export interface BootstrapConfigDump {
|
||||
'bootstrap'?: (_envoy_config_bootstrap_v3_Bootstrap | null);
|
||||
/**
|
||||
* The timestamp when the BootstrapConfig was last updated.
|
||||
*/
|
||||
'last_updated'?: (_google_protobuf_Timestamp | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* This message describes the bootstrap configuration that Envoy was started with. This includes
|
||||
* any CLI overrides that were merged. Bootstrap configuration information can be used to recreate
|
||||
* the static portions of an Envoy configuration by reusing the output as the bootstrap
|
||||
* configuration for another Envoy.
|
||||
*/
|
||||
export interface BootstrapConfigDump__Output {
|
||||
'bootstrap': (_envoy_config_bootstrap_v3_Bootstrap__Output | null);
|
||||
/**
|
||||
* The timestamp when the BootstrapConfig was last updated.
|
||||
*/
|
||||
'last_updated': (_google_protobuf_Timestamp__Output | null);
|
||||
}
|
|
@ -4,17 +4,17 @@
|
|||
* Resource status from the view of a xDS client, which tells the synchronization
|
||||
* status between the xDS client and the xDS server.
|
||||
*/
|
||||
export enum ClientResourceStatus {
|
||||
export const ClientResourceStatus = {
|
||||
/**
|
||||
* Resource status is not available/unknown.
|
||||
*/
|
||||
UNKNOWN = 0,
|
||||
UNKNOWN: 'UNKNOWN',
|
||||
/**
|
||||
* Client requested this resource but hasn't received any update from management
|
||||
* server. The client will not fail requests, but will queue them until update
|
||||
* arrives or the client times out waiting for the resource.
|
||||
*/
|
||||
REQUESTED = 1,
|
||||
REQUESTED: 'REQUESTED',
|
||||
/**
|
||||
* This resource has been requested by the client but has either not been
|
||||
* delivered by the server or was previously delivered by the server and then
|
||||
|
@ -22,13 +22,56 @@ export enum ClientResourceStatus {
|
|||
* information, please refer to the :ref:`"Knowing When a Requested Resource
|
||||
* Does Not Exist" <xds_protocol_resource_not_existed>` section.
|
||||
*/
|
||||
DOES_NOT_EXIST = 2,
|
||||
DOES_NOT_EXIST: 'DOES_NOT_EXIST',
|
||||
/**
|
||||
* Client received this resource and replied with ACK.
|
||||
*/
|
||||
ACKED = 3,
|
||||
ACKED: 'ACKED',
|
||||
/**
|
||||
* Client received this resource and replied with NACK.
|
||||
*/
|
||||
NACKED = 4,
|
||||
}
|
||||
NACKED: 'NACKED',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Resource status from the view of a xDS client, which tells the synchronization
|
||||
* status between the xDS client and the xDS server.
|
||||
*/
|
||||
export type ClientResourceStatus =
|
||||
/**
|
||||
* Resource status is not available/unknown.
|
||||
*/
|
||||
| 'UNKNOWN'
|
||||
| 0
|
||||
/**
|
||||
* Client requested this resource but hasn't received any update from management
|
||||
* server. The client will not fail requests, but will queue them until update
|
||||
* arrives or the client times out waiting for the resource.
|
||||
*/
|
||||
| 'REQUESTED'
|
||||
| 1
|
||||
/**
|
||||
* This resource has been requested by the client but has either not been
|
||||
* delivered by the server or was previously delivered by the server and then
|
||||
* subsequently removed from resources provided by the server. For more
|
||||
* information, please refer to the :ref:`"Knowing When a Requested Resource
|
||||
* Does Not Exist" <xds_protocol_resource_not_existed>` section.
|
||||
*/
|
||||
| 'DOES_NOT_EXIST'
|
||||
| 2
|
||||
/**
|
||||
* Client received this resource and replied with ACK.
|
||||
*/
|
||||
| 'ACKED'
|
||||
| 3
|
||||
/**
|
||||
* Client received this resource and replied with NACK.
|
||||
*/
|
||||
| 'NACKED'
|
||||
| 4
|
||||
|
||||
/**
|
||||
* Resource status from the view of a xDS client, which tells the synchronization
|
||||
* status between the xDS client and the xDS server.
|
||||
*/
|
||||
export type ClientResourceStatus__Output = typeof ClientResourceStatus[keyof typeof ClientResourceStatus]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
import type { UpdateFailureState as _envoy_admin_v3_UpdateFailureState, UpdateFailureState__Output as _envoy_admin_v3_UpdateFailureState__Output } from '../../../envoy/admin/v3/UpdateFailureState';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus, ClientResourceStatus__Output as _envoy_admin_v3_ClientResourceStatus__Output } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
|
||||
/**
|
||||
* Describes a dynamically loaded cluster via the CDS API.
|
||||
|
@ -37,7 +37,7 @@ export interface _envoy_admin_v3_ClustersConfigDump_DynamicCluster {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus | keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -72,7 +72,7 @@ export interface _envoy_admin_v3_ClustersConfigDump_DynamicCluster__Output {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status': (keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status': (_envoy_admin_v3_ClientResourceStatus__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/admin/v3/config_dump.proto
|
||||
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
|
||||
/**
|
||||
* The :ref:`/config_dump <operations_admin_interface_config_dump>` admin endpoint uses this wrapper
|
||||
* message to maintain and serve arbitrary configuration information from any component in Envoy.
|
||||
*/
|
||||
export interface ConfigDump {
|
||||
/**
|
||||
* This list is serialized and dumped in its entirety at the
|
||||
* :ref:`/config_dump <operations_admin_interface_config_dump>` endpoint.
|
||||
*
|
||||
* The following configurations are currently supported and will be dumped in the order given
|
||||
* below:
|
||||
*
|
||||
* * *bootstrap*: :ref:`BootstrapConfigDump <envoy_v3_api_msg_admin.v3.BootstrapConfigDump>`
|
||||
* * *clusters*: :ref:`ClustersConfigDump <envoy_v3_api_msg_admin.v3.ClustersConfigDump>`
|
||||
* * *endpoints*: :ref:`EndpointsConfigDump <envoy_v3_api_msg_admin.v3.EndpointsConfigDump>`
|
||||
* * *listeners*: :ref:`ListenersConfigDump <envoy_v3_api_msg_admin.v3.ListenersConfigDump>`
|
||||
* * *scoped_routes*: :ref:`ScopedRoutesConfigDump <envoy_v3_api_msg_admin.v3.ScopedRoutesConfigDump>`
|
||||
* * *routes*: :ref:`RoutesConfigDump <envoy_v3_api_msg_admin.v3.RoutesConfigDump>`
|
||||
* * *secrets*: :ref:`SecretsConfigDump <envoy_v3_api_msg_admin.v3.SecretsConfigDump>`
|
||||
*
|
||||
* EDS Configuration will only be dumped by using parameter `?include_eds`
|
||||
*
|
||||
* You can filter output with the resource and mask query parameters.
|
||||
* See :ref:`/config_dump?resource={} <operations_admin_interface_config_dump_by_resource>`,
|
||||
* :ref:`/config_dump?mask={} <operations_admin_interface_config_dump_by_mask>`,
|
||||
* or :ref:`/config_dump?resource={},mask={}
|
||||
* <operations_admin_interface_config_dump_by_resource_and_mask>` for more information.
|
||||
*/
|
||||
'configs'?: (_google_protobuf_Any)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* The :ref:`/config_dump <operations_admin_interface_config_dump>` admin endpoint uses this wrapper
|
||||
* message to maintain and serve arbitrary configuration information from any component in Envoy.
|
||||
*/
|
||||
export interface ConfigDump__Output {
|
||||
/**
|
||||
* This list is serialized and dumped in its entirety at the
|
||||
* :ref:`/config_dump <operations_admin_interface_config_dump>` endpoint.
|
||||
*
|
||||
* The following configurations are currently supported and will be dumped in the order given
|
||||
* below:
|
||||
*
|
||||
* * *bootstrap*: :ref:`BootstrapConfigDump <envoy_v3_api_msg_admin.v3.BootstrapConfigDump>`
|
||||
* * *clusters*: :ref:`ClustersConfigDump <envoy_v3_api_msg_admin.v3.ClustersConfigDump>`
|
||||
* * *endpoints*: :ref:`EndpointsConfigDump <envoy_v3_api_msg_admin.v3.EndpointsConfigDump>`
|
||||
* * *listeners*: :ref:`ListenersConfigDump <envoy_v3_api_msg_admin.v3.ListenersConfigDump>`
|
||||
* * *scoped_routes*: :ref:`ScopedRoutesConfigDump <envoy_v3_api_msg_admin.v3.ScopedRoutesConfigDump>`
|
||||
* * *routes*: :ref:`RoutesConfigDump <envoy_v3_api_msg_admin.v3.RoutesConfigDump>`
|
||||
* * *secrets*: :ref:`SecretsConfigDump <envoy_v3_api_msg_admin.v3.SecretsConfigDump>`
|
||||
*
|
||||
* EDS Configuration will only be dumped by using parameter `?include_eds`
|
||||
*
|
||||
* You can filter output with the resource and mask query parameters.
|
||||
* See :ref:`/config_dump?resource={} <operations_admin_interface_config_dump_by_resource>`,
|
||||
* :ref:`/config_dump?mask={} <operations_admin_interface_config_dump_by_mask>`,
|
||||
* or :ref:`/config_dump?resource={},mask={}
|
||||
* <operations_admin_interface_config_dump_by_resource_and_mask>` for more information.
|
||||
*/
|
||||
'configs': (_google_protobuf_Any__Output)[];
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
import type { UpdateFailureState as _envoy_admin_v3_UpdateFailureState, UpdateFailureState__Output as _envoy_admin_v3_UpdateFailureState__Output } from '../../../envoy/admin/v3/UpdateFailureState';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus, ClientResourceStatus__Output as _envoy_admin_v3_ClientResourceStatus__Output } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
|
@ -36,7 +36,7 @@ export interface _envoy_admin_v3_EcdsConfigDump_EcdsFilterConfig {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus | keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -70,7 +70,7 @@ export interface _envoy_admin_v3_EcdsConfigDump_EcdsFilterConfig__Output {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status': (keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status': (_envoy_admin_v3_ClientResourceStatus__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
import type { UpdateFailureState as _envoy_admin_v3_UpdateFailureState, UpdateFailureState__Output as _envoy_admin_v3_UpdateFailureState__Output } from '../../../envoy/admin/v3/UpdateFailureState';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus, ClientResourceStatus__Output as _envoy_admin_v3_ClientResourceStatus__Output } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
|
@ -35,7 +35,7 @@ export interface _envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus | keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -68,7 +68,7 @@ export interface _envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig__Outp
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status': (keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status': (_envoy_admin_v3_ClientResourceStatus__Output);
|
||||
}
|
||||
|
||||
export interface _envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
import type { UpdateFailureState as _envoy_admin_v3_UpdateFailureState, UpdateFailureState__Output as _envoy_admin_v3_UpdateFailureState__Output } from '../../../envoy/admin/v3/UpdateFailureState';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus, ClientResourceStatus__Output as _envoy_admin_v3_ClientResourceStatus__Output } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
|
||||
/**
|
||||
* Describes a dynamically loaded listener via the LDS API.
|
||||
|
@ -44,7 +44,7 @@ export interface _envoy_admin_v3_ListenersConfigDump_DynamicListener {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus | keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -86,7 +86,7 @@ export interface _envoy_admin_v3_ListenersConfigDump_DynamicListener__Output {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status': (keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status': (_envoy_admin_v3_ClientResourceStatus__Output);
|
||||
}
|
||||
|
||||
export interface _envoy_admin_v3_ListenersConfigDump_DynamicListenerState {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
import type { UpdateFailureState as _envoy_admin_v3_UpdateFailureState, UpdateFailureState__Output as _envoy_admin_v3_UpdateFailureState__Output } from '../../../envoy/admin/v3/UpdateFailureState';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus, ClientResourceStatus__Output as _envoy_admin_v3_ClientResourceStatus__Output } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
|
@ -35,7 +35,7 @@ export interface _envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus | keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -68,7 +68,7 @@ export interface _envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig__Output {
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status': (keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status': (_envoy_admin_v3_ClientResourceStatus__Output);
|
||||
}
|
||||
|
||||
export interface _envoy_admin_v3_RoutesConfigDump_StaticRouteConfig {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
import type { UpdateFailureState as _envoy_admin_v3_UpdateFailureState, UpdateFailureState__Output as _envoy_admin_v3_UpdateFailureState__Output } from '../../../envoy/admin/v3/UpdateFailureState';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus, ClientResourceStatus__Output as _envoy_admin_v3_ClientResourceStatus__Output } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
|
@ -39,7 +39,7 @@ export interface _envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfig
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus | keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -76,7 +76,7 @@ export interface _envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfig
|
|||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status': (keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
'client_status': (_envoy_admin_v3_ClientResourceStatus__Output);
|
||||
}
|
||||
|
||||
export interface _envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs {
|
||||
|
|
|
@ -1,162 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/admin/v3/config_dump.proto
|
||||
|
||||
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { UpdateFailureState as _envoy_admin_v3_UpdateFailureState, UpdateFailureState__Output as _envoy_admin_v3_UpdateFailureState__Output } from '../../../envoy/admin/v3/UpdateFailureState';
|
||||
import type { ClientResourceStatus as _envoy_admin_v3_ClientResourceStatus } from '../../../envoy/admin/v3/ClientResourceStatus';
|
||||
|
||||
/**
|
||||
* DynamicSecret contains secret information fetched via SDS.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_admin_v3_SecretsConfigDump_DynamicSecret {
|
||||
/**
|
||||
* The name assigned to the secret.
|
||||
*/
|
||||
'name'?: (string);
|
||||
/**
|
||||
* This is the per-resource version information.
|
||||
*/
|
||||
'version_info'?: (string);
|
||||
/**
|
||||
* The timestamp when the secret was last updated.
|
||||
*/
|
||||
'last_updated'?: (_google_protobuf_Timestamp | null);
|
||||
/**
|
||||
* The actual secret information.
|
||||
* Security sensitive information is redacted (replaced with "[redacted]") for
|
||||
* private keys and passwords in TLS certificates.
|
||||
*/
|
||||
'secret'?: (_google_protobuf_Any | null);
|
||||
/**
|
||||
* Set if the last update failed, cleared after the next successful update.
|
||||
* The *error_state* field contains the rejected version of this particular
|
||||
* resource along with the reason and timestamp. For successfully updated or
|
||||
* acknowledged resource, this field should be empty.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'error_state'?: (_envoy_admin_v3_UpdateFailureState | null);
|
||||
/**
|
||||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status'?: (_envoy_admin_v3_ClientResourceStatus | keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
* DynamicSecret contains secret information fetched via SDS.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_admin_v3_SecretsConfigDump_DynamicSecret__Output {
|
||||
/**
|
||||
* The name assigned to the secret.
|
||||
*/
|
||||
'name': (string);
|
||||
/**
|
||||
* This is the per-resource version information.
|
||||
*/
|
||||
'version_info': (string);
|
||||
/**
|
||||
* The timestamp when the secret was last updated.
|
||||
*/
|
||||
'last_updated': (_google_protobuf_Timestamp__Output | null);
|
||||
/**
|
||||
* The actual secret information.
|
||||
* Security sensitive information is redacted (replaced with "[redacted]") for
|
||||
* private keys and passwords in TLS certificates.
|
||||
*/
|
||||
'secret': (_google_protobuf_Any__Output | null);
|
||||
/**
|
||||
* Set if the last update failed, cleared after the next successful update.
|
||||
* The *error_state* field contains the rejected version of this particular
|
||||
* resource along with the reason and timestamp. For successfully updated or
|
||||
* acknowledged resource, this field should be empty.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'error_state': (_envoy_admin_v3_UpdateFailureState__Output | null);
|
||||
/**
|
||||
* The client status of this resource.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'client_status': (keyof typeof _envoy_admin_v3_ClientResourceStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
* StaticSecret specifies statically loaded secret in bootstrap.
|
||||
*/
|
||||
export interface _envoy_admin_v3_SecretsConfigDump_StaticSecret {
|
||||
/**
|
||||
* The name assigned to the secret.
|
||||
*/
|
||||
'name'?: (string);
|
||||
/**
|
||||
* The timestamp when the secret was last updated.
|
||||
*/
|
||||
'last_updated'?: (_google_protobuf_Timestamp | null);
|
||||
/**
|
||||
* The actual secret information.
|
||||
* Security sensitive information is redacted (replaced with "[redacted]") for
|
||||
* private keys and passwords in TLS certificates.
|
||||
*/
|
||||
'secret'?: (_google_protobuf_Any | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* StaticSecret specifies statically loaded secret in bootstrap.
|
||||
*/
|
||||
export interface _envoy_admin_v3_SecretsConfigDump_StaticSecret__Output {
|
||||
/**
|
||||
* The name assigned to the secret.
|
||||
*/
|
||||
'name': (string);
|
||||
/**
|
||||
* The timestamp when the secret was last updated.
|
||||
*/
|
||||
'last_updated': (_google_protobuf_Timestamp__Output | null);
|
||||
/**
|
||||
* The actual secret information.
|
||||
* Security sensitive information is redacted (replaced with "[redacted]") for
|
||||
* private keys and passwords in TLS certificates.
|
||||
*/
|
||||
'secret': (_google_protobuf_Any__Output | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS.
|
||||
*/
|
||||
export interface SecretsConfigDump {
|
||||
/**
|
||||
* The statically loaded secrets.
|
||||
*/
|
||||
'static_secrets'?: (_envoy_admin_v3_SecretsConfigDump_StaticSecret)[];
|
||||
/**
|
||||
* The dynamically loaded active secrets. These are secrets that are available to service
|
||||
* clusters or listeners.
|
||||
*/
|
||||
'dynamic_active_secrets'?: (_envoy_admin_v3_SecretsConfigDump_DynamicSecret)[];
|
||||
/**
|
||||
* The dynamically loaded warming secrets. These are secrets that are currently undergoing
|
||||
* warming in preparation to service clusters or listeners.
|
||||
*/
|
||||
'dynamic_warming_secrets'?: (_envoy_admin_v3_SecretsConfigDump_DynamicSecret)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS.
|
||||
*/
|
||||
export interface SecretsConfigDump__Output {
|
||||
/**
|
||||
* The statically loaded secrets.
|
||||
*/
|
||||
'static_secrets': (_envoy_admin_v3_SecretsConfigDump_StaticSecret__Output)[];
|
||||
/**
|
||||
* The dynamically loaded active secrets. These are secrets that are available to service
|
||||
* clusters or listeners.
|
||||
*/
|
||||
'dynamic_active_secrets': (_envoy_admin_v3_SecretsConfigDump_DynamicSecret__Output)[];
|
||||
/**
|
||||
* The dynamically loaded warming secrets. These are secrets that are currently undergoing
|
||||
* warming in preparation to service clusters or listeners.
|
||||
*/
|
||||
'dynamic_warming_secrets': (_envoy_admin_v3_SecretsConfigDump_DynamicSecret__Output)[];
|
||||
}
|
|
@ -4,20 +4,39 @@ import type { RuntimeUInt32 as _envoy_config_core_v3_RuntimeUInt32, RuntimeUInt3
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
export enum _envoy_config_accesslog_v3_ComparisonFilter_Op {
|
||||
export const _envoy_config_accesslog_v3_ComparisonFilter_Op = {
|
||||
/**
|
||||
* =
|
||||
*/
|
||||
EQ = 0,
|
||||
EQ: 'EQ',
|
||||
/**
|
||||
* >=
|
||||
*/
|
||||
GE = 1,
|
||||
GE: 'GE',
|
||||
/**
|
||||
* <=
|
||||
*/
|
||||
LE = 2,
|
||||
}
|
||||
LE: 'LE',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_accesslog_v3_ComparisonFilter_Op =
|
||||
/**
|
||||
* =
|
||||
*/
|
||||
| 'EQ'
|
||||
| 0
|
||||
/**
|
||||
* >=
|
||||
*/
|
||||
| 'GE'
|
||||
| 1
|
||||
/**
|
||||
* <=
|
||||
*/
|
||||
| 'LE'
|
||||
| 2
|
||||
|
||||
export type _envoy_config_accesslog_v3_ComparisonFilter_Op__Output = typeof _envoy_config_accesslog_v3_ComparisonFilter_Op[keyof typeof _envoy_config_accesslog_v3_ComparisonFilter_Op]
|
||||
|
||||
/**
|
||||
* Filter on an integer comparison.
|
||||
|
@ -26,7 +45,7 @@ export interface ComparisonFilter {
|
|||
/**
|
||||
* Comparison operator.
|
||||
*/
|
||||
'op'?: (_envoy_config_accesslog_v3_ComparisonFilter_Op | keyof typeof _envoy_config_accesslog_v3_ComparisonFilter_Op);
|
||||
'op'?: (_envoy_config_accesslog_v3_ComparisonFilter_Op);
|
||||
/**
|
||||
* Value to compare against.
|
||||
*/
|
||||
|
@ -40,7 +59,7 @@ export interface ComparisonFilter__Output {
|
|||
/**
|
||||
* Comparison operator.
|
||||
*/
|
||||
'op': (keyof typeof _envoy_config_accesslog_v3_ComparisonFilter_Op);
|
||||
'op': (_envoy_config_accesslog_v3_ComparisonFilter_Op__Output);
|
||||
/**
|
||||
* Value to compare against.
|
||||
*/
|
||||
|
|
|
@ -3,25 +3,63 @@
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
export enum _envoy_config_accesslog_v3_GrpcStatusFilter_Status {
|
||||
OK = 0,
|
||||
CANCELED = 1,
|
||||
UNKNOWN = 2,
|
||||
INVALID_ARGUMENT = 3,
|
||||
DEADLINE_EXCEEDED = 4,
|
||||
NOT_FOUND = 5,
|
||||
ALREADY_EXISTS = 6,
|
||||
PERMISSION_DENIED = 7,
|
||||
RESOURCE_EXHAUSTED = 8,
|
||||
FAILED_PRECONDITION = 9,
|
||||
ABORTED = 10,
|
||||
OUT_OF_RANGE = 11,
|
||||
UNIMPLEMENTED = 12,
|
||||
INTERNAL = 13,
|
||||
UNAVAILABLE = 14,
|
||||
DATA_LOSS = 15,
|
||||
UNAUTHENTICATED = 16,
|
||||
}
|
||||
export const _envoy_config_accesslog_v3_GrpcStatusFilter_Status = {
|
||||
OK: 'OK',
|
||||
CANCELED: 'CANCELED',
|
||||
UNKNOWN: 'UNKNOWN',
|
||||
INVALID_ARGUMENT: 'INVALID_ARGUMENT',
|
||||
DEADLINE_EXCEEDED: 'DEADLINE_EXCEEDED',
|
||||
NOT_FOUND: 'NOT_FOUND',
|
||||
ALREADY_EXISTS: 'ALREADY_EXISTS',
|
||||
PERMISSION_DENIED: 'PERMISSION_DENIED',
|
||||
RESOURCE_EXHAUSTED: 'RESOURCE_EXHAUSTED',
|
||||
FAILED_PRECONDITION: 'FAILED_PRECONDITION',
|
||||
ABORTED: 'ABORTED',
|
||||
OUT_OF_RANGE: 'OUT_OF_RANGE',
|
||||
UNIMPLEMENTED: 'UNIMPLEMENTED',
|
||||
INTERNAL: 'INTERNAL',
|
||||
UNAVAILABLE: 'UNAVAILABLE',
|
||||
DATA_LOSS: 'DATA_LOSS',
|
||||
UNAUTHENTICATED: 'UNAUTHENTICATED',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_accesslog_v3_GrpcStatusFilter_Status =
|
||||
| 'OK'
|
||||
| 0
|
||||
| 'CANCELED'
|
||||
| 1
|
||||
| 'UNKNOWN'
|
||||
| 2
|
||||
| 'INVALID_ARGUMENT'
|
||||
| 3
|
||||
| 'DEADLINE_EXCEEDED'
|
||||
| 4
|
||||
| 'NOT_FOUND'
|
||||
| 5
|
||||
| 'ALREADY_EXISTS'
|
||||
| 6
|
||||
| 'PERMISSION_DENIED'
|
||||
| 7
|
||||
| 'RESOURCE_EXHAUSTED'
|
||||
| 8
|
||||
| 'FAILED_PRECONDITION'
|
||||
| 9
|
||||
| 'ABORTED'
|
||||
| 10
|
||||
| 'OUT_OF_RANGE'
|
||||
| 11
|
||||
| 'UNIMPLEMENTED'
|
||||
| 12
|
||||
| 'INTERNAL'
|
||||
| 13
|
||||
| 'UNAVAILABLE'
|
||||
| 14
|
||||
| 'DATA_LOSS'
|
||||
| 15
|
||||
| 'UNAUTHENTICATED'
|
||||
| 16
|
||||
|
||||
export type _envoy_config_accesslog_v3_GrpcStatusFilter_Status__Output = typeof _envoy_config_accesslog_v3_GrpcStatusFilter_Status[keyof typeof _envoy_config_accesslog_v3_GrpcStatusFilter_Status]
|
||||
|
||||
/**
|
||||
* Filters gRPC requests based on their response status. If a gRPC status is not
|
||||
|
@ -31,7 +69,7 @@ export interface GrpcStatusFilter {
|
|||
/**
|
||||
* Logs only responses that have any one of the gRPC statuses in this field.
|
||||
*/
|
||||
'statuses'?: (_envoy_config_accesslog_v3_GrpcStatusFilter_Status | keyof typeof _envoy_config_accesslog_v3_GrpcStatusFilter_Status)[];
|
||||
'statuses'?: (_envoy_config_accesslog_v3_GrpcStatusFilter_Status)[];
|
||||
/**
|
||||
* If included and set to true, the filter will instead block all responses
|
||||
* with a gRPC status or inferred gRPC status enumerated in statuses, and
|
||||
|
@ -48,7 +86,7 @@ export interface GrpcStatusFilter__Output {
|
|||
/**
|
||||
* Logs only responses that have any one of the gRPC statuses in this field.
|
||||
*/
|
||||
'statuses': (keyof typeof _envoy_config_accesslog_v3_GrpcStatusFilter_Status)[];
|
||||
'statuses': (_envoy_config_accesslog_v3_GrpcStatusFilter_Status__Output)[];
|
||||
/**
|
||||
* If included and set to true, the filter will instead block all responses
|
||||
* with a gRPC status or inferred gRPC status enumerated in statuses, and
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { AccessLogType as _envoy_data_accesslog_v3_AccessLogType } from '../../../../envoy/data/accesslog/v3/AccessLogType';
|
||||
import type { AccessLogType as _envoy_data_accesslog_v3_AccessLogType, AccessLogType__Output as _envoy_data_accesslog_v3_AccessLogType__Output } from '../../../../envoy/data/accesslog/v3/AccessLogType';
|
||||
|
||||
/**
|
||||
* Filters based on access log type.
|
||||
|
@ -9,7 +9,7 @@ export interface LogTypeFilter {
|
|||
/**
|
||||
* Logs only records which their type is one of the types defined in this field.
|
||||
*/
|
||||
'types'?: (_envoy_data_accesslog_v3_AccessLogType | keyof typeof _envoy_data_accesslog_v3_AccessLogType)[];
|
||||
'types'?: (_envoy_data_accesslog_v3_AccessLogType)[];
|
||||
/**
|
||||
* If this field is set to true, the filter will instead block all records
|
||||
* with a access log type in types field, and allow all other records.
|
||||
|
@ -24,7 +24,7 @@ export interface LogTypeFilter__Output {
|
|||
/**
|
||||
* Logs only records which their type is one of the types defined in this field.
|
||||
*/
|
||||
'types': (keyof typeof _envoy_data_accesslog_v3_AccessLogType)[];
|
||||
'types': (_envoy_data_accesslog_v3_AccessLogType__Output)[];
|
||||
/**
|
||||
* If this field is set to true, the filter will instead block all records
|
||||
* with a access log type in types field, and allow all other records.
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { Address as _envoy_config_core_v3_Address, Address__Output as _envoy_config_core_v3_Address__Output } from '../../../../envoy/config/core/v3/Address';
|
||||
import type { SocketOption as _envoy_config_core_v3_SocketOption, SocketOption__Output as _envoy_config_core_v3_SocketOption__Output } from '../../../../envoy/config/core/v3/SocketOption';
|
||||
import type { AccessLog as _envoy_config_accesslog_v3_AccessLog, AccessLog__Output as _envoy_config_accesslog_v3_AccessLog__Output } from '../../../../envoy/config/accesslog/v3/AccessLog';
|
||||
|
||||
/**
|
||||
* Administration interface :ref:`operations documentation
|
||||
* <operations_admin_interface>`.
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface Admin {
|
||||
/**
|
||||
* The path to write the access log for the administration server. If no
|
||||
* access log is desired specify ‘/dev/null’. This is only required if
|
||||
* :ref:`address <envoy_v3_api_field_config.bootstrap.v3.Admin.address>` is set.
|
||||
* Deprecated in favor of *access_log* which offers more options.
|
||||
*/
|
||||
'access_log_path'?: (string);
|
||||
/**
|
||||
* The cpu profiler output path for the administration server. If no profile
|
||||
* path is specified, the default is ‘/var/log/envoy/envoy.prof’.
|
||||
*/
|
||||
'profile_path'?: (string);
|
||||
/**
|
||||
* The TCP address that the administration server will listen on.
|
||||
* If not specified, Envoy will not start an administration server.
|
||||
*/
|
||||
'address'?: (_envoy_config_core_v3_Address | null);
|
||||
/**
|
||||
* Additional socket options that may not be present in Envoy source code or
|
||||
* precompiled binaries.
|
||||
*/
|
||||
'socket_options'?: (_envoy_config_core_v3_SocketOption)[];
|
||||
/**
|
||||
* Configuration for :ref:`access logs <arch_overview_access_logs>`
|
||||
* emitted by the administration server.
|
||||
*/
|
||||
'access_log'?: (_envoy_config_accesslog_v3_AccessLog)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Administration interface :ref:`operations documentation
|
||||
* <operations_admin_interface>`.
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface Admin__Output {
|
||||
/**
|
||||
* The path to write the access log for the administration server. If no
|
||||
* access log is desired specify ‘/dev/null’. This is only required if
|
||||
* :ref:`address <envoy_v3_api_field_config.bootstrap.v3.Admin.address>` is set.
|
||||
* Deprecated in favor of *access_log* which offers more options.
|
||||
*/
|
||||
'access_log_path': (string);
|
||||
/**
|
||||
* The cpu profiler output path for the administration server. If no profile
|
||||
* path is specified, the default is ‘/var/log/envoy/envoy.prof’.
|
||||
*/
|
||||
'profile_path': (string);
|
||||
/**
|
||||
* The TCP address that the administration server will listen on.
|
||||
* If not specified, Envoy will not start an administration server.
|
||||
*/
|
||||
'address': (_envoy_config_core_v3_Address__Output | null);
|
||||
/**
|
||||
* Additional socket options that may not be present in Envoy source code or
|
||||
* precompiled binaries.
|
||||
*/
|
||||
'socket_options': (_envoy_config_core_v3_SocketOption__Output)[];
|
||||
/**
|
||||
* Configuration for :ref:`access logs <arch_overview_access_logs>`
|
||||
* emitted by the administration server.
|
||||
*/
|
||||
'access_log': (_envoy_config_accesslog_v3_AccessLog__Output)[];
|
||||
}
|
|
@ -1,642 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { Node as _envoy_config_core_v3_Node, Node__Output as _envoy_config_core_v3_Node__Output } from '../../../../envoy/config/core/v3/Node';
|
||||
import type { ClusterManager as _envoy_config_bootstrap_v3_ClusterManager, ClusterManager__Output as _envoy_config_bootstrap_v3_ClusterManager__Output } from '../../../../envoy/config/bootstrap/v3/ClusterManager';
|
||||
import type { StatsSink as _envoy_config_metrics_v3_StatsSink, StatsSink__Output as _envoy_config_metrics_v3_StatsSink__Output } from '../../../../envoy/config/metrics/v3/StatsSink';
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { Watchdog as _envoy_config_bootstrap_v3_Watchdog, Watchdog__Output as _envoy_config_bootstrap_v3_Watchdog__Output } from '../../../../envoy/config/bootstrap/v3/Watchdog';
|
||||
import type { Tracing as _envoy_config_trace_v3_Tracing, Tracing__Output as _envoy_config_trace_v3_Tracing__Output } from '../../../../envoy/config/trace/v3/Tracing';
|
||||
import type { Admin as _envoy_config_bootstrap_v3_Admin, Admin__Output as _envoy_config_bootstrap_v3_Admin__Output } from '../../../../envoy/config/bootstrap/v3/Admin';
|
||||
import type { StatsConfig as _envoy_config_metrics_v3_StatsConfig, StatsConfig__Output as _envoy_config_metrics_v3_StatsConfig__Output } from '../../../../envoy/config/metrics/v3/StatsConfig';
|
||||
import type { ApiConfigSource as _envoy_config_core_v3_ApiConfigSource, ApiConfigSource__Output as _envoy_config_core_v3_ApiConfigSource__Output } from '../../../../envoy/config/core/v3/ApiConfigSource';
|
||||
import type { OverloadManager as _envoy_config_overload_v3_OverloadManager, OverloadManager__Output as _envoy_config_overload_v3_OverloadManager__Output } from '../../../../envoy/config/overload/v3/OverloadManager';
|
||||
import type { LayeredRuntime as _envoy_config_bootstrap_v3_LayeredRuntime, LayeredRuntime__Output as _envoy_config_bootstrap_v3_LayeredRuntime__Output } from '../../../../envoy/config/bootstrap/v3/LayeredRuntime';
|
||||
import type { UInt64Value as _google_protobuf_UInt64Value, UInt64Value__Output as _google_protobuf_UInt64Value__Output } from '../../../../google/protobuf/UInt64Value';
|
||||
import type { TypedExtensionConfig as _envoy_config_core_v3_TypedExtensionConfig, TypedExtensionConfig__Output as _envoy_config_core_v3_TypedExtensionConfig__Output } from '../../../../envoy/config/core/v3/TypedExtensionConfig';
|
||||
import type { ConfigSource as _envoy_config_core_v3_ConfigSource, ConfigSource__Output as _envoy_config_core_v3_ConfigSource__Output } from '../../../../envoy/config/core/v3/ConfigSource';
|
||||
import type { Watchdogs as _envoy_config_bootstrap_v3_Watchdogs, Watchdogs__Output as _envoy_config_bootstrap_v3_Watchdogs__Output } from '../../../../envoy/config/bootstrap/v3/Watchdogs';
|
||||
import type { FatalAction as _envoy_config_bootstrap_v3_FatalAction, FatalAction__Output as _envoy_config_bootstrap_v3_FatalAction__Output } from '../../../../envoy/config/bootstrap/v3/FatalAction';
|
||||
import type { DnsResolutionConfig as _envoy_config_core_v3_DnsResolutionConfig, DnsResolutionConfig__Output as _envoy_config_core_v3_DnsResolutionConfig__Output } from '../../../../envoy/config/core/v3/DnsResolutionConfig';
|
||||
import type { CustomInlineHeader as _envoy_config_bootstrap_v3_CustomInlineHeader, CustomInlineHeader__Output as _envoy_config_bootstrap_v3_CustomInlineHeader__Output } from '../../../../envoy/config/bootstrap/v3/CustomInlineHeader';
|
||||
import type { Listener as _envoy_config_listener_v3_Listener, Listener__Output as _envoy_config_listener_v3_Listener__Output } from '../../../../envoy/config/listener/v3/Listener';
|
||||
import type { Cluster as _envoy_config_cluster_v3_Cluster, Cluster__Output as _envoy_config_cluster_v3_Cluster__Output } from '../../../../envoy/config/cluster/v3/Cluster';
|
||||
import type { Secret as _envoy_extensions_transport_sockets_tls_v3_Secret, Secret__Output as _envoy_extensions_transport_sockets_tls_v3_Secret__Output } from '../../../../envoy/extensions/transport_sockets/tls/v3/Secret';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_Bootstrap_DynamicResources {
|
||||
/**
|
||||
* All :ref:`Listeners <envoy_v3_api_msg_config.listener.v3.Listener>` are provided by a single
|
||||
* :ref:`LDS <arch_overview_dynamic_config_lds>` configuration source.
|
||||
*/
|
||||
'lds_config'?: (_envoy_config_core_v3_ConfigSource | null);
|
||||
/**
|
||||
* xdstp:// resource locator for listener collection.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'lds_resources_locator'?: (string);
|
||||
/**
|
||||
* All post-bootstrap :ref:`Cluster <envoy_v3_api_msg_config.cluster.v3.Cluster>` definitions are
|
||||
* provided by a single :ref:`CDS <arch_overview_dynamic_config_cds>`
|
||||
* configuration source.
|
||||
*/
|
||||
'cds_config'?: (_envoy_config_core_v3_ConfigSource | null);
|
||||
/**
|
||||
* xdstp:// resource locator for cluster collection.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'cds_resources_locator'?: (string);
|
||||
/**
|
||||
* A single :ref:`ADS <config_overview_ads>` source may be optionally
|
||||
* specified. This must have :ref:`api_type
|
||||
* <envoy_v3_api_field_config.core.v3.ApiConfigSource.api_type>` :ref:`GRPC
|
||||
* <envoy_v3_api_enum_value_config.core.v3.ApiConfigSource.ApiType.GRPC>`. Only
|
||||
* :ref:`ConfigSources <envoy_v3_api_msg_config.core.v3.ConfigSource>` that have
|
||||
* the :ref:`ads <envoy_v3_api_field_config.core.v3.ConfigSource.ads>` field set will be
|
||||
* streamed on the ADS channel.
|
||||
*/
|
||||
'ads_config'?: (_envoy_config_core_v3_ApiConfigSource | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_Bootstrap_DynamicResources__Output {
|
||||
/**
|
||||
* All :ref:`Listeners <envoy_v3_api_msg_config.listener.v3.Listener>` are provided by a single
|
||||
* :ref:`LDS <arch_overview_dynamic_config_lds>` configuration source.
|
||||
*/
|
||||
'lds_config': (_envoy_config_core_v3_ConfigSource__Output | null);
|
||||
/**
|
||||
* xdstp:// resource locator for listener collection.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'lds_resources_locator': (string);
|
||||
/**
|
||||
* All post-bootstrap :ref:`Cluster <envoy_v3_api_msg_config.cluster.v3.Cluster>` definitions are
|
||||
* provided by a single :ref:`CDS <arch_overview_dynamic_config_cds>`
|
||||
* configuration source.
|
||||
*/
|
||||
'cds_config': (_envoy_config_core_v3_ConfigSource__Output | null);
|
||||
/**
|
||||
* xdstp:// resource locator for cluster collection.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'cds_resources_locator': (string);
|
||||
/**
|
||||
* A single :ref:`ADS <config_overview_ads>` source may be optionally
|
||||
* specified. This must have :ref:`api_type
|
||||
* <envoy_v3_api_field_config.core.v3.ApiConfigSource.api_type>` :ref:`GRPC
|
||||
* <envoy_v3_api_enum_value_config.core.v3.ApiConfigSource.ApiType.GRPC>`. Only
|
||||
* :ref:`ConfigSources <envoy_v3_api_msg_config.core.v3.ConfigSource>` that have
|
||||
* the :ref:`ads <envoy_v3_api_field_config.core.v3.ConfigSource.ads>` field set will be
|
||||
* streamed on the ADS channel.
|
||||
*/
|
||||
'ads_config': (_envoy_config_core_v3_ApiConfigSource__Output | null);
|
||||
}
|
||||
|
||||
export interface _envoy_config_bootstrap_v3_Bootstrap_StaticResources {
|
||||
/**
|
||||
* Static :ref:`Listeners <envoy_v3_api_msg_config.listener.v3.Listener>`. These listeners are
|
||||
* available regardless of LDS configuration.
|
||||
*/
|
||||
'listeners'?: (_envoy_config_listener_v3_Listener)[];
|
||||
/**
|
||||
* If a network based configuration source is specified for :ref:`cds_config
|
||||
* <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.DynamicResources.cds_config>`, it's necessary
|
||||
* to have some initial cluster definitions available to allow Envoy to know
|
||||
* how to speak to the management server. These cluster definitions may not
|
||||
* use :ref:`EDS <arch_overview_dynamic_config_eds>` (i.e. they should be static
|
||||
* IP or DNS-based).
|
||||
*/
|
||||
'clusters'?: (_envoy_config_cluster_v3_Cluster)[];
|
||||
/**
|
||||
* These static secrets can be used by :ref:`SdsSecretConfig
|
||||
* <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.SdsSecretConfig>`
|
||||
*/
|
||||
'secrets'?: (_envoy_extensions_transport_sockets_tls_v3_Secret)[];
|
||||
}
|
||||
|
||||
export interface _envoy_config_bootstrap_v3_Bootstrap_StaticResources__Output {
|
||||
/**
|
||||
* Static :ref:`Listeners <envoy_v3_api_msg_config.listener.v3.Listener>`. These listeners are
|
||||
* available regardless of LDS configuration.
|
||||
*/
|
||||
'listeners': (_envoy_config_listener_v3_Listener__Output)[];
|
||||
/**
|
||||
* If a network based configuration source is specified for :ref:`cds_config
|
||||
* <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.DynamicResources.cds_config>`, it's necessary
|
||||
* to have some initial cluster definitions available to allow Envoy to know
|
||||
* how to speak to the management server. These cluster definitions may not
|
||||
* use :ref:`EDS <arch_overview_dynamic_config_eds>` (i.e. they should be static
|
||||
* IP or DNS-based).
|
||||
*/
|
||||
'clusters': (_envoy_config_cluster_v3_Cluster__Output)[];
|
||||
/**
|
||||
* These static secrets can be used by :ref:`SdsSecretConfig
|
||||
* <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.SdsSecretConfig>`
|
||||
*/
|
||||
'secrets': (_envoy_extensions_transport_sockets_tls_v3_Secret__Output)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
|
||||
* [#next-free-field: 33]
|
||||
*/
|
||||
export interface Bootstrap {
|
||||
/**
|
||||
* Node identity to present to the management server and for instance
|
||||
* identification purposes (e.g. in generated headers).
|
||||
*/
|
||||
'node'?: (_envoy_config_core_v3_Node | null);
|
||||
/**
|
||||
* Statically specified resources.
|
||||
*/
|
||||
'static_resources'?: (_envoy_config_bootstrap_v3_Bootstrap_StaticResources | null);
|
||||
/**
|
||||
* xDS configuration sources.
|
||||
*/
|
||||
'dynamic_resources'?: (_envoy_config_bootstrap_v3_Bootstrap_DynamicResources | null);
|
||||
/**
|
||||
* Configuration for the cluster manager which owns all upstream clusters
|
||||
* within the server.
|
||||
*/
|
||||
'cluster_manager'?: (_envoy_config_bootstrap_v3_ClusterManager | null);
|
||||
/**
|
||||
* Optional file system path to search for startup flag files.
|
||||
*/
|
||||
'flags_path'?: (string);
|
||||
/**
|
||||
* Optional set of stats sinks.
|
||||
*/
|
||||
'stats_sinks'?: (_envoy_config_metrics_v3_StatsSink)[];
|
||||
/**
|
||||
* Optional duration between flushes to configured stats sinks. For
|
||||
* performance reasons Envoy latches counters and only flushes counters and
|
||||
* gauges at a periodic interval. If not specified the default is 5000ms (5
|
||||
* seconds). Only one of `stats_flush_interval` or `stats_flush_on_admin`
|
||||
* can be set.
|
||||
* Duration must be at least 1ms and at most 5 min.
|
||||
*/
|
||||
'stats_flush_interval'?: (_google_protobuf_Duration | null);
|
||||
/**
|
||||
* Optional watchdog configuration.
|
||||
* This is for a single watchdog configuration for the entire system.
|
||||
* Deprecated in favor of *watchdogs* which has finer granularity.
|
||||
*/
|
||||
'watchdog'?: (_envoy_config_bootstrap_v3_Watchdog | null);
|
||||
/**
|
||||
* Configuration for an external tracing provider.
|
||||
*
|
||||
* .. attention::
|
||||
* This field has been deprecated in favor of :ref:`HttpConnectionManager.Tracing.provider
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.provider>`.
|
||||
*/
|
||||
'tracing'?: (_envoy_config_trace_v3_Tracing | null);
|
||||
/**
|
||||
* Configuration for the local administration HTTP server.
|
||||
*/
|
||||
'admin'?: (_envoy_config_bootstrap_v3_Admin | null);
|
||||
/**
|
||||
* Configuration for internal processing of stats.
|
||||
*/
|
||||
'stats_config'?: (_envoy_config_metrics_v3_StatsConfig | null);
|
||||
/**
|
||||
* Health discovery service config option.
|
||||
* (:ref:`core.ApiConfigSource <envoy_v3_api_msg_config.core.v3.ApiConfigSource>`)
|
||||
*/
|
||||
'hds_config'?: (_envoy_config_core_v3_ApiConfigSource | null);
|
||||
/**
|
||||
* Optional overload manager configuration.
|
||||
*/
|
||||
'overload_manager'?: (_envoy_config_overload_v3_OverloadManager | null);
|
||||
/**
|
||||
* Enable :ref:`stats for event dispatcher <operations_performance>`, defaults to false.
|
||||
* Note that this records a value for each iteration of the event loop on every thread. This
|
||||
* should normally be minimal overhead, but when using
|
||||
* :ref:`statsd <envoy_v3_api_msg_config.metrics.v3.StatsdSink>`, it will send each observed value
|
||||
* over the wire individually because the statsd protocol doesn't have any way to represent a
|
||||
* histogram summary. Be aware that this can be a very large volume of data.
|
||||
*/
|
||||
'enable_dispatcher_stats'?: (boolean);
|
||||
/**
|
||||
* Configuration for the runtime configuration provider. If not
|
||||
* specified, a “null” provider will be used which will result in all defaults
|
||||
* being used.
|
||||
*/
|
||||
'layered_runtime'?: (_envoy_config_bootstrap_v3_LayeredRuntime | null);
|
||||
/**
|
||||
* Optional string which will be used in lieu of x-envoy in prefixing headers.
|
||||
*
|
||||
* For example, if this string is present and set to X-Foo, then x-envoy-retry-on will be
|
||||
* transformed into x-foo-retry-on etc.
|
||||
*
|
||||
* Note this applies to the headers Envoy will generate, the headers Envoy will sanitize, and the
|
||||
* headers Envoy will trust for core code and core extensions only. Be VERY careful making
|
||||
* changes to this string, especially in multi-layer Envoy deployments or deployments using
|
||||
* extensions which are not upstream.
|
||||
*/
|
||||
'header_prefix'?: (string);
|
||||
/**
|
||||
* Optional proxy version which will be used to set the value of :ref:`server.version statistic
|
||||
* <server_statistics>` if specified. Envoy will not process this value, it will be sent as is to
|
||||
* :ref:`stats sinks <envoy_v3_api_msg_config.metrics.v3.StatsSink>`.
|
||||
*/
|
||||
'stats_server_version_override'?: (_google_protobuf_UInt64Value | null);
|
||||
/**
|
||||
* Always use TCP queries instead of UDP queries for DNS lookups.
|
||||
* This may be overridden on a per-cluster basis in cds_config,
|
||||
* when :ref:`dns_resolvers <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolvers>` and
|
||||
* :ref:`use_tcp_for_dns_lookups <envoy_v3_api_field_config.cluster.v3.Cluster.use_tcp_for_dns_lookups>` are
|
||||
* specified.
|
||||
* Setting this value causes failure if the
|
||||
* ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
|
||||
* server startup. Apple' API only uses UDP for DNS resolution.
|
||||
* This field is deprecated in favor of *dns_resolution_config*
|
||||
* which aggregates all of the DNS resolver configuration in a single message.
|
||||
*/
|
||||
'use_tcp_for_dns_lookups'?: (boolean);
|
||||
/**
|
||||
* Specifies optional bootstrap extensions to be instantiated at startup time.
|
||||
* Each item contains extension specific configuration.
|
||||
* [#extension-category: envoy.bootstrap]
|
||||
*/
|
||||
'bootstrap_extensions'?: (_envoy_config_core_v3_TypedExtensionConfig)[];
|
||||
/**
|
||||
* Configuration sources that will participate in
|
||||
* xdstp:// URL authority resolution. The algorithm is as
|
||||
* follows:
|
||||
* 1. The authority field is taken from the xdstp:// URL, call
|
||||
* this *resource_authority*.
|
||||
* 2. *resource_authority* is compared against the authorities in any peer
|
||||
* *ConfigSource*. The peer *ConfigSource* is the configuration source
|
||||
* message which would have been used unconditionally for resolution
|
||||
* with opaque resource names. If there is a match with an authority, the
|
||||
* peer *ConfigSource* message is used.
|
||||
* 3. *resource_authority* is compared sequentially with the authorities in
|
||||
* each configuration source in *config_sources*. The first *ConfigSource*
|
||||
* to match wins.
|
||||
* 4. As a fallback, if no configuration source matches, then
|
||||
* *default_config_source* is used.
|
||||
* 5. If *default_config_source* is not specified, resolution fails.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'config_sources'?: (_envoy_config_core_v3_ConfigSource)[];
|
||||
/**
|
||||
* Default configuration source for xdstp:// URLs if all
|
||||
* other resolution fails.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'default_config_source'?: (_envoy_config_core_v3_ConfigSource | null);
|
||||
/**
|
||||
* Optional overriding of default socket interface. The value must be the name of one of the
|
||||
* socket interface factories initialized through a bootstrap extension
|
||||
*/
|
||||
'default_socket_interface'?: (string);
|
||||
/**
|
||||
* Global map of CertificateProvider instances. These instances are referred to by name in the
|
||||
* :ref:`CommonTlsContext.CertificateProviderInstance.instance_name
|
||||
* <envoy_v3_api_field_extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProviderInstance.instance_name>`
|
||||
* field.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'certificate_provider_instances'?: ({[key: string]: _envoy_config_core_v3_TypedExtensionConfig});
|
||||
/**
|
||||
* A list of :ref:`Node <envoy_v3_api_msg_config.core.v3.Node>` field names
|
||||
* that will be included in the context parameters of the effective
|
||||
* xdstp:// URL that is sent in a discovery request when resource
|
||||
* locators are used for LDS/CDS. Any non-string field will have its JSON
|
||||
* encoding set as the context parameter value, with the exception of
|
||||
* metadata, which will be flattened (see example below). The supported field
|
||||
* names are:
|
||||
* - "cluster"
|
||||
* - "id"
|
||||
* - "locality.region"
|
||||
* - "locality.sub_zone"
|
||||
* - "locality.zone"
|
||||
* - "metadata"
|
||||
* - "user_agent_build_version.metadata"
|
||||
* - "user_agent_build_version.version"
|
||||
* - "user_agent_name"
|
||||
* - "user_agent_version"
|
||||
*
|
||||
* The node context parameters act as a base layer dictionary for the context
|
||||
* parameters (i.e. more specific resource specific context parameters will
|
||||
* override). Field names will be prefixed with “udpa.node.” when included in
|
||||
* context parameters.
|
||||
*
|
||||
* For example, if node_context_params is ``["user_agent_name", "metadata"]``,
|
||||
* the implied context parameters might be::
|
||||
*
|
||||
* node.user_agent_name: "envoy"
|
||||
* node.metadata.foo: "{\"bar\": \"baz\"}"
|
||||
* node.metadata.some: "42"
|
||||
* node.metadata.thing: "\"thing\""
|
||||
*
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'node_context_params'?: (string)[];
|
||||
/**
|
||||
* Optional watchdogs configuration.
|
||||
* This is used for specifying different watchdogs for the different subsystems.
|
||||
* [#extension-category: envoy.guarddog_actions]
|
||||
*/
|
||||
'watchdogs'?: (_envoy_config_bootstrap_v3_Watchdogs | null);
|
||||
/**
|
||||
* Specifies optional extensions instantiated at startup time and
|
||||
* invoked during crash time on the request that caused the crash.
|
||||
*/
|
||||
'fatal_actions'?: (_envoy_config_bootstrap_v3_FatalAction)[];
|
||||
/**
|
||||
* Flush stats to sinks only when queried for on the admin interface. If set,
|
||||
* a flush timer is not created. Only one of `stats_flush_on_admin` or
|
||||
* `stats_flush_interval` can be set.
|
||||
*/
|
||||
'stats_flush_on_admin'?: (boolean);
|
||||
/**
|
||||
* DNS resolution configuration which includes the underlying dns resolver addresses and options.
|
||||
* This may be overridden on a per-cluster basis in cds_config, when
|
||||
* :ref:`dns_resolution_config <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
|
||||
* is specified.
|
||||
* *dns_resolution_config* will be deprecated once
|
||||
* :ref:'typed_dns_resolver_config <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.typed_dns_resolver_config>'
|
||||
* is fully supported.
|
||||
*/
|
||||
'dns_resolution_config'?: (_envoy_config_core_v3_DnsResolutionConfig | null);
|
||||
/**
|
||||
* DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
|
||||
* or any other DNS resolver types and the related parameters.
|
||||
* For example, an object of :ref:`DnsResolutionConfig <envoy_v3_api_msg_config.core.v3.DnsResolutionConfig>`
|
||||
* can be packed into this *typed_dns_resolver_config*. This configuration will replace the
|
||||
* :ref:'dns_resolution_config <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.dns_resolution_config>'
|
||||
* configuration eventually.
|
||||
* TODO(yanjunxiang): Investigate the deprecation plan for *dns_resolution_config*.
|
||||
* During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
|
||||
* this configuration is optional.
|
||||
* When *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
|
||||
* When *typed_dns_resolver_config* is missing, the default behavior is in place.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'typed_dns_resolver_config'?: (_envoy_config_core_v3_TypedExtensionConfig | null);
|
||||
/**
|
||||
* Specifies a set of headers that need to be registered as inline header. This configuration
|
||||
* allows users to customize the inline headers on-demand at Envoy startup without modifying
|
||||
* Envoy's source code.
|
||||
*
|
||||
* Note that the 'set-cookie' header cannot be registered as inline header.
|
||||
*/
|
||||
'inline_headers'?: (_envoy_config_bootstrap_v3_CustomInlineHeader)[];
|
||||
'stats_flush'?: "stats_flush_on_admin";
|
||||
}
|
||||
|
||||
/**
|
||||
* Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
|
||||
* [#next-free-field: 33]
|
||||
*/
|
||||
export interface Bootstrap__Output {
|
||||
/**
|
||||
* Node identity to present to the management server and for instance
|
||||
* identification purposes (e.g. in generated headers).
|
||||
*/
|
||||
'node': (_envoy_config_core_v3_Node__Output | null);
|
||||
/**
|
||||
* Statically specified resources.
|
||||
*/
|
||||
'static_resources': (_envoy_config_bootstrap_v3_Bootstrap_StaticResources__Output | null);
|
||||
/**
|
||||
* xDS configuration sources.
|
||||
*/
|
||||
'dynamic_resources': (_envoy_config_bootstrap_v3_Bootstrap_DynamicResources__Output | null);
|
||||
/**
|
||||
* Configuration for the cluster manager which owns all upstream clusters
|
||||
* within the server.
|
||||
*/
|
||||
'cluster_manager': (_envoy_config_bootstrap_v3_ClusterManager__Output | null);
|
||||
/**
|
||||
* Optional file system path to search for startup flag files.
|
||||
*/
|
||||
'flags_path': (string);
|
||||
/**
|
||||
* Optional set of stats sinks.
|
||||
*/
|
||||
'stats_sinks': (_envoy_config_metrics_v3_StatsSink__Output)[];
|
||||
/**
|
||||
* Optional duration between flushes to configured stats sinks. For
|
||||
* performance reasons Envoy latches counters and only flushes counters and
|
||||
* gauges at a periodic interval. If not specified the default is 5000ms (5
|
||||
* seconds). Only one of `stats_flush_interval` or `stats_flush_on_admin`
|
||||
* can be set.
|
||||
* Duration must be at least 1ms and at most 5 min.
|
||||
*/
|
||||
'stats_flush_interval': (_google_protobuf_Duration__Output | null);
|
||||
/**
|
||||
* Optional watchdog configuration.
|
||||
* This is for a single watchdog configuration for the entire system.
|
||||
* Deprecated in favor of *watchdogs* which has finer granularity.
|
||||
*/
|
||||
'watchdog': (_envoy_config_bootstrap_v3_Watchdog__Output | null);
|
||||
/**
|
||||
* Configuration for an external tracing provider.
|
||||
*
|
||||
* .. attention::
|
||||
* This field has been deprecated in favor of :ref:`HttpConnectionManager.Tracing.provider
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.provider>`.
|
||||
*/
|
||||
'tracing': (_envoy_config_trace_v3_Tracing__Output | null);
|
||||
/**
|
||||
* Configuration for the local administration HTTP server.
|
||||
*/
|
||||
'admin': (_envoy_config_bootstrap_v3_Admin__Output | null);
|
||||
/**
|
||||
* Configuration for internal processing of stats.
|
||||
*/
|
||||
'stats_config': (_envoy_config_metrics_v3_StatsConfig__Output | null);
|
||||
/**
|
||||
* Health discovery service config option.
|
||||
* (:ref:`core.ApiConfigSource <envoy_v3_api_msg_config.core.v3.ApiConfigSource>`)
|
||||
*/
|
||||
'hds_config': (_envoy_config_core_v3_ApiConfigSource__Output | null);
|
||||
/**
|
||||
* Optional overload manager configuration.
|
||||
*/
|
||||
'overload_manager': (_envoy_config_overload_v3_OverloadManager__Output | null);
|
||||
/**
|
||||
* Enable :ref:`stats for event dispatcher <operations_performance>`, defaults to false.
|
||||
* Note that this records a value for each iteration of the event loop on every thread. This
|
||||
* should normally be minimal overhead, but when using
|
||||
* :ref:`statsd <envoy_v3_api_msg_config.metrics.v3.StatsdSink>`, it will send each observed value
|
||||
* over the wire individually because the statsd protocol doesn't have any way to represent a
|
||||
* histogram summary. Be aware that this can be a very large volume of data.
|
||||
*/
|
||||
'enable_dispatcher_stats': (boolean);
|
||||
/**
|
||||
* Configuration for the runtime configuration provider. If not
|
||||
* specified, a “null” provider will be used which will result in all defaults
|
||||
* being used.
|
||||
*/
|
||||
'layered_runtime': (_envoy_config_bootstrap_v3_LayeredRuntime__Output | null);
|
||||
/**
|
||||
* Optional string which will be used in lieu of x-envoy in prefixing headers.
|
||||
*
|
||||
* For example, if this string is present and set to X-Foo, then x-envoy-retry-on will be
|
||||
* transformed into x-foo-retry-on etc.
|
||||
*
|
||||
* Note this applies to the headers Envoy will generate, the headers Envoy will sanitize, and the
|
||||
* headers Envoy will trust for core code and core extensions only. Be VERY careful making
|
||||
* changes to this string, especially in multi-layer Envoy deployments or deployments using
|
||||
* extensions which are not upstream.
|
||||
*/
|
||||
'header_prefix': (string);
|
||||
/**
|
||||
* Optional proxy version which will be used to set the value of :ref:`server.version statistic
|
||||
* <server_statistics>` if specified. Envoy will not process this value, it will be sent as is to
|
||||
* :ref:`stats sinks <envoy_v3_api_msg_config.metrics.v3.StatsSink>`.
|
||||
*/
|
||||
'stats_server_version_override': (_google_protobuf_UInt64Value__Output | null);
|
||||
/**
|
||||
* Always use TCP queries instead of UDP queries for DNS lookups.
|
||||
* This may be overridden on a per-cluster basis in cds_config,
|
||||
* when :ref:`dns_resolvers <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolvers>` and
|
||||
* :ref:`use_tcp_for_dns_lookups <envoy_v3_api_field_config.cluster.v3.Cluster.use_tcp_for_dns_lookups>` are
|
||||
* specified.
|
||||
* Setting this value causes failure if the
|
||||
* ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
|
||||
* server startup. Apple' API only uses UDP for DNS resolution.
|
||||
* This field is deprecated in favor of *dns_resolution_config*
|
||||
* which aggregates all of the DNS resolver configuration in a single message.
|
||||
*/
|
||||
'use_tcp_for_dns_lookups': (boolean);
|
||||
/**
|
||||
* Specifies optional bootstrap extensions to be instantiated at startup time.
|
||||
* Each item contains extension specific configuration.
|
||||
* [#extension-category: envoy.bootstrap]
|
||||
*/
|
||||
'bootstrap_extensions': (_envoy_config_core_v3_TypedExtensionConfig__Output)[];
|
||||
/**
|
||||
* Configuration sources that will participate in
|
||||
* xdstp:// URL authority resolution. The algorithm is as
|
||||
* follows:
|
||||
* 1. The authority field is taken from the xdstp:// URL, call
|
||||
* this *resource_authority*.
|
||||
* 2. *resource_authority* is compared against the authorities in any peer
|
||||
* *ConfigSource*. The peer *ConfigSource* is the configuration source
|
||||
* message which would have been used unconditionally for resolution
|
||||
* with opaque resource names. If there is a match with an authority, the
|
||||
* peer *ConfigSource* message is used.
|
||||
* 3. *resource_authority* is compared sequentially with the authorities in
|
||||
* each configuration source in *config_sources*. The first *ConfigSource*
|
||||
* to match wins.
|
||||
* 4. As a fallback, if no configuration source matches, then
|
||||
* *default_config_source* is used.
|
||||
* 5. If *default_config_source* is not specified, resolution fails.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'config_sources': (_envoy_config_core_v3_ConfigSource__Output)[];
|
||||
/**
|
||||
* Default configuration source for xdstp:// URLs if all
|
||||
* other resolution fails.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'default_config_source': (_envoy_config_core_v3_ConfigSource__Output | null);
|
||||
/**
|
||||
* Optional overriding of default socket interface. The value must be the name of one of the
|
||||
* socket interface factories initialized through a bootstrap extension
|
||||
*/
|
||||
'default_socket_interface': (string);
|
||||
/**
|
||||
* Global map of CertificateProvider instances. These instances are referred to by name in the
|
||||
* :ref:`CommonTlsContext.CertificateProviderInstance.instance_name
|
||||
* <envoy_v3_api_field_extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProviderInstance.instance_name>`
|
||||
* field.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'certificate_provider_instances': ({[key: string]: _envoy_config_core_v3_TypedExtensionConfig__Output});
|
||||
/**
|
||||
* A list of :ref:`Node <envoy_v3_api_msg_config.core.v3.Node>` field names
|
||||
* that will be included in the context parameters of the effective
|
||||
* xdstp:// URL that is sent in a discovery request when resource
|
||||
* locators are used for LDS/CDS. Any non-string field will have its JSON
|
||||
* encoding set as the context parameter value, with the exception of
|
||||
* metadata, which will be flattened (see example below). The supported field
|
||||
* names are:
|
||||
* - "cluster"
|
||||
* - "id"
|
||||
* - "locality.region"
|
||||
* - "locality.sub_zone"
|
||||
* - "locality.zone"
|
||||
* - "metadata"
|
||||
* - "user_agent_build_version.metadata"
|
||||
* - "user_agent_build_version.version"
|
||||
* - "user_agent_name"
|
||||
* - "user_agent_version"
|
||||
*
|
||||
* The node context parameters act as a base layer dictionary for the context
|
||||
* parameters (i.e. more specific resource specific context parameters will
|
||||
* override). Field names will be prefixed with “udpa.node.” when included in
|
||||
* context parameters.
|
||||
*
|
||||
* For example, if node_context_params is ``["user_agent_name", "metadata"]``,
|
||||
* the implied context parameters might be::
|
||||
*
|
||||
* node.user_agent_name: "envoy"
|
||||
* node.metadata.foo: "{\"bar\": \"baz\"}"
|
||||
* node.metadata.some: "42"
|
||||
* node.metadata.thing: "\"thing\""
|
||||
*
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'node_context_params': (string)[];
|
||||
/**
|
||||
* Optional watchdogs configuration.
|
||||
* This is used for specifying different watchdogs for the different subsystems.
|
||||
* [#extension-category: envoy.guarddog_actions]
|
||||
*/
|
||||
'watchdogs': (_envoy_config_bootstrap_v3_Watchdogs__Output | null);
|
||||
/**
|
||||
* Specifies optional extensions instantiated at startup time and
|
||||
* invoked during crash time on the request that caused the crash.
|
||||
*/
|
||||
'fatal_actions': (_envoy_config_bootstrap_v3_FatalAction__Output)[];
|
||||
/**
|
||||
* Flush stats to sinks only when queried for on the admin interface. If set,
|
||||
* a flush timer is not created. Only one of `stats_flush_on_admin` or
|
||||
* `stats_flush_interval` can be set.
|
||||
*/
|
||||
'stats_flush_on_admin'?: (boolean);
|
||||
/**
|
||||
* DNS resolution configuration which includes the underlying dns resolver addresses and options.
|
||||
* This may be overridden on a per-cluster basis in cds_config, when
|
||||
* :ref:`dns_resolution_config <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
|
||||
* is specified.
|
||||
* *dns_resolution_config* will be deprecated once
|
||||
* :ref:'typed_dns_resolver_config <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.typed_dns_resolver_config>'
|
||||
* is fully supported.
|
||||
*/
|
||||
'dns_resolution_config': (_envoy_config_core_v3_DnsResolutionConfig__Output | null);
|
||||
/**
|
||||
* DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
|
||||
* or any other DNS resolver types and the related parameters.
|
||||
* For example, an object of :ref:`DnsResolutionConfig <envoy_v3_api_msg_config.core.v3.DnsResolutionConfig>`
|
||||
* can be packed into this *typed_dns_resolver_config*. This configuration will replace the
|
||||
* :ref:'dns_resolution_config <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.dns_resolution_config>'
|
||||
* configuration eventually.
|
||||
* TODO(yanjunxiang): Investigate the deprecation plan for *dns_resolution_config*.
|
||||
* During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
|
||||
* this configuration is optional.
|
||||
* When *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
|
||||
* When *typed_dns_resolver_config* is missing, the default behavior is in place.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'typed_dns_resolver_config': (_envoy_config_core_v3_TypedExtensionConfig__Output | null);
|
||||
/**
|
||||
* Specifies a set of headers that need to be registered as inline header. This configuration
|
||||
* allows users to customize the inline headers on-demand at Envoy startup without modifying
|
||||
* Envoy's source code.
|
||||
*
|
||||
* Note that the 'set-cookie' header cannot be registered as inline header.
|
||||
*/
|
||||
'inline_headers': (_envoy_config_bootstrap_v3_CustomInlineHeader__Output)[];
|
||||
'stats_flush': "stats_flush_on_admin";
|
||||
}
|
|
@ -1,99 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { BindConfig as _envoy_config_core_v3_BindConfig, BindConfig__Output as _envoy_config_core_v3_BindConfig__Output } from '../../../../envoy/config/core/v3/BindConfig';
|
||||
import type { ApiConfigSource as _envoy_config_core_v3_ApiConfigSource, ApiConfigSource__Output as _envoy_config_core_v3_ApiConfigSource__Output } from '../../../../envoy/config/core/v3/ApiConfigSource';
|
||||
import type { EventServiceConfig as _envoy_config_core_v3_EventServiceConfig, EventServiceConfig__Output as _envoy_config_core_v3_EventServiceConfig__Output } from '../../../../envoy/config/core/v3/EventServiceConfig';
|
||||
|
||||
export interface _envoy_config_bootstrap_v3_ClusterManager_OutlierDetection {
|
||||
/**
|
||||
* Specifies the path to the outlier event log.
|
||||
*/
|
||||
'event_log_path'?: (string);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* The gRPC service for the outlier detection event service.
|
||||
* If empty, outlier detection events won't be sent to a remote endpoint.
|
||||
*/
|
||||
'event_service'?: (_envoy_config_core_v3_EventServiceConfig | null);
|
||||
}
|
||||
|
||||
export interface _envoy_config_bootstrap_v3_ClusterManager_OutlierDetection__Output {
|
||||
/**
|
||||
* Specifies the path to the outlier event log.
|
||||
*/
|
||||
'event_log_path': (string);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* The gRPC service for the outlier detection event service.
|
||||
* If empty, outlier detection events won't be sent to a remote endpoint.
|
||||
*/
|
||||
'event_service': (_envoy_config_core_v3_EventServiceConfig__Output | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cluster manager :ref:`architecture overview <arch_overview_cluster_manager>`.
|
||||
*/
|
||||
export interface ClusterManager {
|
||||
/**
|
||||
* Name of the local cluster (i.e., the cluster that owns the Envoy running
|
||||
* this configuration). In order to enable :ref:`zone aware routing
|
||||
* <arch_overview_load_balancing_zone_aware_routing>` this option must be set.
|
||||
* If *local_cluster_name* is defined then :ref:`clusters
|
||||
* <envoy_v3_api_msg_config.cluster.v3.Cluster>` must be defined in the :ref:`Bootstrap
|
||||
* static cluster resources
|
||||
* <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.StaticResources.clusters>`. This is unrelated to
|
||||
* the :option:`--service-cluster` option which does not `affect zone aware
|
||||
* routing <https://github.com/envoyproxy/envoy/issues/774>`_.
|
||||
*/
|
||||
'local_cluster_name'?: (string);
|
||||
/**
|
||||
* Optional global configuration for outlier detection.
|
||||
*/
|
||||
'outlier_detection'?: (_envoy_config_bootstrap_v3_ClusterManager_OutlierDetection | null);
|
||||
/**
|
||||
* Optional configuration used to bind newly established upstream connections.
|
||||
* This may be overridden on a per-cluster basis by upstream_bind_config in the cds_config.
|
||||
*/
|
||||
'upstream_bind_config'?: (_envoy_config_core_v3_BindConfig | null);
|
||||
/**
|
||||
* A management server endpoint to stream load stats to via
|
||||
* *StreamLoadStats*. This must have :ref:`api_type
|
||||
* <envoy_v3_api_field_config.core.v3.ApiConfigSource.api_type>` :ref:`GRPC
|
||||
* <envoy_v3_api_enum_value_config.core.v3.ApiConfigSource.ApiType.GRPC>`.
|
||||
*/
|
||||
'load_stats_config'?: (_envoy_config_core_v3_ApiConfigSource | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cluster manager :ref:`architecture overview <arch_overview_cluster_manager>`.
|
||||
*/
|
||||
export interface ClusterManager__Output {
|
||||
/**
|
||||
* Name of the local cluster (i.e., the cluster that owns the Envoy running
|
||||
* this configuration). In order to enable :ref:`zone aware routing
|
||||
* <arch_overview_load_balancing_zone_aware_routing>` this option must be set.
|
||||
* If *local_cluster_name* is defined then :ref:`clusters
|
||||
* <envoy_v3_api_msg_config.cluster.v3.Cluster>` must be defined in the :ref:`Bootstrap
|
||||
* static cluster resources
|
||||
* <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.StaticResources.clusters>`. This is unrelated to
|
||||
* the :option:`--service-cluster` option which does not `affect zone aware
|
||||
* routing <https://github.com/envoyproxy/envoy/issues/774>`_.
|
||||
*/
|
||||
'local_cluster_name': (string);
|
||||
/**
|
||||
* Optional global configuration for outlier detection.
|
||||
*/
|
||||
'outlier_detection': (_envoy_config_bootstrap_v3_ClusterManager_OutlierDetection__Output | null);
|
||||
/**
|
||||
* Optional configuration used to bind newly established upstream connections.
|
||||
* This may be overridden on a per-cluster basis by upstream_bind_config in the cds_config.
|
||||
*/
|
||||
'upstream_bind_config': (_envoy_config_core_v3_BindConfig__Output | null);
|
||||
/**
|
||||
* A management server endpoint to stream load stats to via
|
||||
* *StreamLoadStats*. This must have :ref:`api_type
|
||||
* <envoy_v3_api_field_config.core.v3.ApiConfigSource.api_type>` :ref:`GRPC
|
||||
* <envoy_v3_api_enum_value_config.core.v3.ApiConfigSource.ApiType.GRPC>`.
|
||||
*/
|
||||
'load_stats_config': (_envoy_config_core_v3_ApiConfigSource__Output | null);
|
||||
}
|
|
@ -1,85 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
export enum _envoy_config_bootstrap_v3_CustomInlineHeader_InlineHeaderType {
|
||||
REQUEST_HEADER = 0,
|
||||
REQUEST_TRAILER = 1,
|
||||
RESPONSE_HEADER = 2,
|
||||
RESPONSE_TRAILER = 3,
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to specify the header that needs to be registered as an inline header.
|
||||
*
|
||||
* If request or response contain multiple headers with the same name and the header
|
||||
* name is registered as an inline header. Then multiple headers will be folded
|
||||
* into one, and multiple header values will be concatenated by a suitable delimiter.
|
||||
* The delimiter is generally a comma.
|
||||
*
|
||||
* For example, if 'foo' is registered as an inline header, and the headers contains
|
||||
* the following two headers:
|
||||
*
|
||||
* .. code-block:: text
|
||||
*
|
||||
* foo: bar
|
||||
* foo: eep
|
||||
*
|
||||
* Then they will eventually be folded into:
|
||||
*
|
||||
* .. code-block:: text
|
||||
*
|
||||
* foo: bar, eep
|
||||
*
|
||||
* Inline headers provide O(1) search performance, but each inline header imposes
|
||||
* an additional memory overhead on all instances of the corresponding type of
|
||||
* HeaderMap or TrailerMap.
|
||||
*/
|
||||
export interface CustomInlineHeader {
|
||||
/**
|
||||
* The name of the header that is expected to be set as the inline header.
|
||||
*/
|
||||
'inline_header_name'?: (string);
|
||||
/**
|
||||
* The type of the header that is expected to be set as the inline header.
|
||||
*/
|
||||
'inline_header_type'?: (_envoy_config_bootstrap_v3_CustomInlineHeader_InlineHeaderType | keyof typeof _envoy_config_bootstrap_v3_CustomInlineHeader_InlineHeaderType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to specify the header that needs to be registered as an inline header.
|
||||
*
|
||||
* If request or response contain multiple headers with the same name and the header
|
||||
* name is registered as an inline header. Then multiple headers will be folded
|
||||
* into one, and multiple header values will be concatenated by a suitable delimiter.
|
||||
* The delimiter is generally a comma.
|
||||
*
|
||||
* For example, if 'foo' is registered as an inline header, and the headers contains
|
||||
* the following two headers:
|
||||
*
|
||||
* .. code-block:: text
|
||||
*
|
||||
* foo: bar
|
||||
* foo: eep
|
||||
*
|
||||
* Then they will eventually be folded into:
|
||||
*
|
||||
* .. code-block:: text
|
||||
*
|
||||
* foo: bar, eep
|
||||
*
|
||||
* Inline headers provide O(1) search performance, but each inline header imposes
|
||||
* an additional memory overhead on all instances of the corresponding type of
|
||||
* HeaderMap or TrailerMap.
|
||||
*/
|
||||
export interface CustomInlineHeader__Output {
|
||||
/**
|
||||
* The name of the header that is expected to be set as the inline header.
|
||||
*/
|
||||
'inline_header_name': (string);
|
||||
/**
|
||||
* The type of the header that is expected to be set as the inline header.
|
||||
*/
|
||||
'inline_header_type': (keyof typeof _envoy_config_bootstrap_v3_CustomInlineHeader_InlineHeaderType);
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { TypedExtensionConfig as _envoy_config_core_v3_TypedExtensionConfig, TypedExtensionConfig__Output as _envoy_config_core_v3_TypedExtensionConfig__Output } from '../../../../envoy/config/core/v3/TypedExtensionConfig';
|
||||
|
||||
/**
|
||||
* Fatal actions to run while crashing. Actions can be safe (meaning they are
|
||||
* async-signal safe) or unsafe. We run all safe actions before we run unsafe actions.
|
||||
* If using an unsafe action that could get stuck or deadlock, it important to
|
||||
* have an out of band system to terminate the process.
|
||||
*
|
||||
* The interface for the extension is ``Envoy::Server::Configuration::FatalAction``.
|
||||
* *FatalAction* extensions live in the ``envoy.extensions.fatal_actions`` API
|
||||
* namespace.
|
||||
*/
|
||||
export interface FatalAction {
|
||||
/**
|
||||
* Extension specific configuration for the action. It's expected to conform
|
||||
* to the ``Envoy::Server::Configuration::FatalAction`` interface.
|
||||
*/
|
||||
'config'?: (_envoy_config_core_v3_TypedExtensionConfig | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fatal actions to run while crashing. Actions can be safe (meaning they are
|
||||
* async-signal safe) or unsafe. We run all safe actions before we run unsafe actions.
|
||||
* If using an unsafe action that could get stuck or deadlock, it important to
|
||||
* have an out of band system to terminate the process.
|
||||
*
|
||||
* The interface for the extension is ``Envoy::Server::Configuration::FatalAction``.
|
||||
* *FatalAction* extensions live in the ``envoy.extensions.fatal_actions`` API
|
||||
* namespace.
|
||||
*/
|
||||
export interface FatalAction__Output {
|
||||
/**
|
||||
* Extension specific configuration for the action. It's expected to conform
|
||||
* to the ``Envoy::Server::Configuration::FatalAction`` interface.
|
||||
*/
|
||||
'config': (_envoy_config_core_v3_TypedExtensionConfig__Output | null);
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { RuntimeLayer as _envoy_config_bootstrap_v3_RuntimeLayer, RuntimeLayer__Output as _envoy_config_bootstrap_v3_RuntimeLayer__Output } from '../../../../envoy/config/bootstrap/v3/RuntimeLayer';
|
||||
|
||||
/**
|
||||
* Runtime :ref:`configuration overview <config_runtime>`.
|
||||
*/
|
||||
export interface LayeredRuntime {
|
||||
/**
|
||||
* The :ref:`layers <config_runtime_layering>` of the runtime. This is ordered
|
||||
* such that later layers in the list overlay earlier entries.
|
||||
*/
|
||||
'layers'?: (_envoy_config_bootstrap_v3_RuntimeLayer)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Runtime :ref:`configuration overview <config_runtime>`.
|
||||
*/
|
||||
export interface LayeredRuntime__Output {
|
||||
/**
|
||||
* The :ref:`layers <config_runtime_layering>` of the runtime. This is ordered
|
||||
* such that later layers in the list overlay earlier entries.
|
||||
*/
|
||||
'layers': (_envoy_config_bootstrap_v3_RuntimeLayer__Output)[];
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
|
||||
/**
|
||||
* Runtime :ref:`configuration overview <config_runtime>` (deprecated).
|
||||
*/
|
||||
export interface Runtime {
|
||||
/**
|
||||
* The implementation assumes that the file system tree is accessed via a
|
||||
* symbolic link. An atomic link swap is used when a new tree should be
|
||||
* switched to. This parameter specifies the path to the symbolic link. Envoy
|
||||
* will watch the location for changes and reload the file system tree when
|
||||
* they happen. If this parameter is not set, there will be no disk based
|
||||
* runtime.
|
||||
*/
|
||||
'symlink_root'?: (string);
|
||||
/**
|
||||
* Specifies the subdirectory to load within the root directory. This is
|
||||
* useful if multiple systems share the same delivery mechanism. Envoy
|
||||
* configuration elements can be contained in a dedicated subdirectory.
|
||||
*/
|
||||
'subdirectory'?: (string);
|
||||
/**
|
||||
* Specifies an optional subdirectory to load within the root directory. If
|
||||
* specified and the directory exists, configuration values within this
|
||||
* directory will override those found in the primary subdirectory. This is
|
||||
* useful when Envoy is deployed across many different types of servers.
|
||||
* Sometimes it is useful to have a per service cluster directory for runtime
|
||||
* configuration. See below for exactly how the override directory is used.
|
||||
*/
|
||||
'override_subdirectory'?: (string);
|
||||
/**
|
||||
* Static base runtime. This will be :ref:`overridden
|
||||
* <config_runtime_layering>` by other runtime layers, e.g.
|
||||
* disk or admin. This follows the :ref:`runtime protobuf JSON representation
|
||||
* encoding <config_runtime_proto_json>`.
|
||||
*/
|
||||
'base'?: (_google_protobuf_Struct | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runtime :ref:`configuration overview <config_runtime>` (deprecated).
|
||||
*/
|
||||
export interface Runtime__Output {
|
||||
/**
|
||||
* The implementation assumes that the file system tree is accessed via a
|
||||
* symbolic link. An atomic link swap is used when a new tree should be
|
||||
* switched to. This parameter specifies the path to the symbolic link. Envoy
|
||||
* will watch the location for changes and reload the file system tree when
|
||||
* they happen. If this parameter is not set, there will be no disk based
|
||||
* runtime.
|
||||
*/
|
||||
'symlink_root': (string);
|
||||
/**
|
||||
* Specifies the subdirectory to load within the root directory. This is
|
||||
* useful if multiple systems share the same delivery mechanism. Envoy
|
||||
* configuration elements can be contained in a dedicated subdirectory.
|
||||
*/
|
||||
'subdirectory': (string);
|
||||
/**
|
||||
* Specifies an optional subdirectory to load within the root directory. If
|
||||
* specified and the directory exists, configuration values within this
|
||||
* directory will override those found in the primary subdirectory. This is
|
||||
* useful when Envoy is deployed across many different types of servers.
|
||||
* Sometimes it is useful to have a per service cluster directory for runtime
|
||||
* configuration. See below for exactly how the override directory is used.
|
||||
*/
|
||||
'override_subdirectory': (string);
|
||||
/**
|
||||
* Static base runtime. This will be :ref:`overridden
|
||||
* <config_runtime_layering>` by other runtime layers, e.g.
|
||||
* disk or admin. This follows the :ref:`runtime protobuf JSON representation
|
||||
* encoding <config_runtime_proto_json>`.
|
||||
*/
|
||||
'base': (_google_protobuf_Struct__Output | null);
|
||||
}
|
|
@ -1,142 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import type { ConfigSource as _envoy_config_core_v3_ConfigSource, ConfigSource__Output as _envoy_config_core_v3_ConfigSource__Output } from '../../../../envoy/config/core/v3/ConfigSource';
|
||||
|
||||
/**
|
||||
* :ref:`Admin console runtime <config_runtime_admin>` layer.
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer {
|
||||
}
|
||||
|
||||
/**
|
||||
* :ref:`Admin console runtime <config_runtime_admin>` layer.
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* :ref:`Disk runtime <config_runtime_local_disk>` layer.
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer {
|
||||
/**
|
||||
* The implementation assumes that the file system tree is accessed via a
|
||||
* symbolic link. An atomic link swap is used when a new tree should be
|
||||
* switched to. This parameter specifies the path to the symbolic link.
|
||||
* Envoy will watch the location for changes and reload the file system tree
|
||||
* when they happen. See documentation on runtime :ref:`atomicity
|
||||
* <config_runtime_atomicity>` for further details on how reloads are
|
||||
* treated.
|
||||
*/
|
||||
'symlink_root'?: (string);
|
||||
/**
|
||||
* Specifies the subdirectory to load within the root directory. This is
|
||||
* useful if multiple systems share the same delivery mechanism. Envoy
|
||||
* configuration elements can be contained in a dedicated subdirectory.
|
||||
*/
|
||||
'subdirectory'?: (string);
|
||||
/**
|
||||
* :ref:`Append <config_runtime_local_disk_service_cluster_subdirs>` the
|
||||
* service cluster to the path under symlink root.
|
||||
*/
|
||||
'append_service_cluster'?: (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* :ref:`Disk runtime <config_runtime_local_disk>` layer.
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer__Output {
|
||||
/**
|
||||
* The implementation assumes that the file system tree is accessed via a
|
||||
* symbolic link. An atomic link swap is used when a new tree should be
|
||||
* switched to. This parameter specifies the path to the symbolic link.
|
||||
* Envoy will watch the location for changes and reload the file system tree
|
||||
* when they happen. See documentation on runtime :ref:`atomicity
|
||||
* <config_runtime_atomicity>` for further details on how reloads are
|
||||
* treated.
|
||||
*/
|
||||
'symlink_root': (string);
|
||||
/**
|
||||
* Specifies the subdirectory to load within the root directory. This is
|
||||
* useful if multiple systems share the same delivery mechanism. Envoy
|
||||
* configuration elements can be contained in a dedicated subdirectory.
|
||||
*/
|
||||
'subdirectory': (string);
|
||||
/**
|
||||
* :ref:`Append <config_runtime_local_disk_service_cluster_subdirs>` the
|
||||
* service cluster to the path under symlink root.
|
||||
*/
|
||||
'append_service_cluster': (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* :ref:`Runtime Discovery Service (RTDS) <config_runtime_rtds>` layer.
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer {
|
||||
/**
|
||||
* Resource to subscribe to at *rtds_config* for the RTDS layer.
|
||||
*/
|
||||
'name'?: (string);
|
||||
/**
|
||||
* RTDS configuration source.
|
||||
*/
|
||||
'rtds_config'?: (_envoy_config_core_v3_ConfigSource | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* :ref:`Runtime Discovery Service (RTDS) <config_runtime_rtds>` layer.
|
||||
*/
|
||||
export interface _envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer__Output {
|
||||
/**
|
||||
* Resource to subscribe to at *rtds_config* for the RTDS layer.
|
||||
*/
|
||||
'name': (string);
|
||||
/**
|
||||
* RTDS configuration source.
|
||||
*/
|
||||
'rtds_config': (_envoy_config_core_v3_ConfigSource__Output | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface RuntimeLayer {
|
||||
/**
|
||||
* Descriptive name for the runtime layer. This is only used for the runtime
|
||||
* :http:get:`/runtime` output.
|
||||
*/
|
||||
'name'?: (string);
|
||||
/**
|
||||
* :ref:`Static runtime <config_runtime_bootstrap>` layer.
|
||||
* This follows the :ref:`runtime protobuf JSON representation encoding
|
||||
* <config_runtime_proto_json>`. Unlike static xDS resources, this static
|
||||
* layer is overridable by later layers in the runtime virtual filesystem.
|
||||
*/
|
||||
'static_layer'?: (_google_protobuf_Struct | null);
|
||||
'disk_layer'?: (_envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer | null);
|
||||
'admin_layer'?: (_envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer | null);
|
||||
'rtds_layer'?: (_envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer | null);
|
||||
'layer_specifier'?: "static_layer"|"disk_layer"|"admin_layer"|"rtds_layer";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface RuntimeLayer__Output {
|
||||
/**
|
||||
* Descriptive name for the runtime layer. This is only used for the runtime
|
||||
* :http:get:`/runtime` output.
|
||||
*/
|
||||
'name': (string);
|
||||
/**
|
||||
* :ref:`Static runtime <config_runtime_bootstrap>` layer.
|
||||
* This follows the :ref:`runtime protobuf JSON representation encoding
|
||||
* <config_runtime_proto_json>`. Unlike static xDS resources, this static
|
||||
* layer is overridable by later layers in the runtime virtual filesystem.
|
||||
*/
|
||||
'static_layer'?: (_google_protobuf_Struct__Output | null);
|
||||
'disk_layer'?: (_envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer__Output | null);
|
||||
'admin_layer'?: (_envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer__Output | null);
|
||||
'rtds_layer'?: (_envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer__Output | null);
|
||||
'layer_specifier': "static_layer"|"disk_layer"|"admin_layer"|"rtds_layer";
|
||||
}
|
|
@ -1,141 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { Percent as _envoy_type_v3_Percent, Percent__Output as _envoy_type_v3_Percent__Output } from '../../../../envoy/type/v3/Percent';
|
||||
import type { TypedExtensionConfig as _envoy_config_core_v3_TypedExtensionConfig, TypedExtensionConfig__Output as _envoy_config_core_v3_TypedExtensionConfig__Output } from '../../../../envoy/config/core/v3/TypedExtensionConfig';
|
||||
|
||||
export interface _envoy_config_bootstrap_v3_Watchdog_WatchdogAction {
|
||||
/**
|
||||
* Extension specific configuration for the action.
|
||||
*/
|
||||
'config'?: (_envoy_config_core_v3_TypedExtensionConfig | null);
|
||||
'event'?: (_envoy_config_bootstrap_v3_Watchdog_WatchdogAction_WatchdogEvent | keyof typeof _envoy_config_bootstrap_v3_Watchdog_WatchdogAction_WatchdogEvent);
|
||||
}
|
||||
|
||||
export interface _envoy_config_bootstrap_v3_Watchdog_WatchdogAction__Output {
|
||||
/**
|
||||
* Extension specific configuration for the action.
|
||||
*/
|
||||
'config': (_envoy_config_core_v3_TypedExtensionConfig__Output | null);
|
||||
'event': (keyof typeof _envoy_config_bootstrap_v3_Watchdog_WatchdogAction_WatchdogEvent);
|
||||
}
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
/**
|
||||
* The events are fired in this order: KILL, MULTIKILL, MEGAMISS, MISS.
|
||||
* Within an event type, actions execute in the order they are configured.
|
||||
* For KILL/MULTIKILL there is a default PANIC that will run after the
|
||||
* registered actions and kills the process if it wasn't already killed.
|
||||
* It might be useful to specify several debug actions, and possibly an
|
||||
* alternate FATAL action.
|
||||
*/
|
||||
export enum _envoy_config_bootstrap_v3_Watchdog_WatchdogAction_WatchdogEvent {
|
||||
UNKNOWN = 0,
|
||||
KILL = 1,
|
||||
MULTIKILL = 2,
|
||||
MEGAMISS = 3,
|
||||
MISS = 4,
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoy process watchdog configuration. When configured, this monitors for
|
||||
* nonresponsive threads and kills the process after the configured thresholds.
|
||||
* See the :ref:`watchdog documentation <operations_performance_watchdog>` for more information.
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface Watchdog {
|
||||
/**
|
||||
* The duration after which Envoy counts a nonresponsive thread in the
|
||||
* *watchdog_miss* statistic. If not specified the default is 200ms.
|
||||
*/
|
||||
'miss_timeout'?: (_google_protobuf_Duration | null);
|
||||
/**
|
||||
* The duration after which Envoy counts a nonresponsive thread in the
|
||||
* *watchdog_mega_miss* statistic. If not specified the default is
|
||||
* 1000ms.
|
||||
*/
|
||||
'megamiss_timeout'?: (_google_protobuf_Duration | null);
|
||||
/**
|
||||
* If a watched thread has been nonresponsive for this duration, assume a
|
||||
* programming error and kill the entire Envoy process. Set to 0 to disable
|
||||
* kill behavior. If not specified the default is 0 (disabled).
|
||||
*/
|
||||
'kill_timeout'?: (_google_protobuf_Duration | null);
|
||||
/**
|
||||
* If max(2, ceil(registered_threads * Fraction(*multikill_threshold*)))
|
||||
* threads have been nonresponsive for at least this duration kill the entire
|
||||
* Envoy process. Set to 0 to disable this behavior. If not specified the
|
||||
* default is 0 (disabled).
|
||||
*/
|
||||
'multikill_timeout'?: (_google_protobuf_Duration | null);
|
||||
/**
|
||||
* Sets the threshold for *multikill_timeout* in terms of the percentage of
|
||||
* nonresponsive threads required for the *multikill_timeout*.
|
||||
* If not specified the default is 0.
|
||||
*/
|
||||
'multikill_threshold'?: (_envoy_type_v3_Percent | null);
|
||||
/**
|
||||
* Defines the maximum jitter used to adjust the *kill_timeout* if *kill_timeout* is
|
||||
* enabled. Enabling this feature would help to reduce risk of synchronized
|
||||
* watchdog kill events across proxies due to external triggers. Set to 0 to
|
||||
* disable. If not specified the default is 0 (disabled).
|
||||
*/
|
||||
'max_kill_timeout_jitter'?: (_google_protobuf_Duration | null);
|
||||
/**
|
||||
* Register actions that will fire on given WatchDog events.
|
||||
* See *WatchDogAction* for priority of events.
|
||||
*/
|
||||
'actions'?: (_envoy_config_bootstrap_v3_Watchdog_WatchdogAction)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoy process watchdog configuration. When configured, this monitors for
|
||||
* nonresponsive threads and kills the process after the configured thresholds.
|
||||
* See the :ref:`watchdog documentation <operations_performance_watchdog>` for more information.
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface Watchdog__Output {
|
||||
/**
|
||||
* The duration after which Envoy counts a nonresponsive thread in the
|
||||
* *watchdog_miss* statistic. If not specified the default is 200ms.
|
||||
*/
|
||||
'miss_timeout': (_google_protobuf_Duration__Output | null);
|
||||
/**
|
||||
* The duration after which Envoy counts a nonresponsive thread in the
|
||||
* *watchdog_mega_miss* statistic. If not specified the default is
|
||||
* 1000ms.
|
||||
*/
|
||||
'megamiss_timeout': (_google_protobuf_Duration__Output | null);
|
||||
/**
|
||||
* If a watched thread has been nonresponsive for this duration, assume a
|
||||
* programming error and kill the entire Envoy process. Set to 0 to disable
|
||||
* kill behavior. If not specified the default is 0 (disabled).
|
||||
*/
|
||||
'kill_timeout': (_google_protobuf_Duration__Output | null);
|
||||
/**
|
||||
* If max(2, ceil(registered_threads * Fraction(*multikill_threshold*)))
|
||||
* threads have been nonresponsive for at least this duration kill the entire
|
||||
* Envoy process. Set to 0 to disable this behavior. If not specified the
|
||||
* default is 0 (disabled).
|
||||
*/
|
||||
'multikill_timeout': (_google_protobuf_Duration__Output | null);
|
||||
/**
|
||||
* Sets the threshold for *multikill_timeout* in terms of the percentage of
|
||||
* nonresponsive threads required for the *multikill_timeout*.
|
||||
* If not specified the default is 0.
|
||||
*/
|
||||
'multikill_threshold': (_envoy_type_v3_Percent__Output | null);
|
||||
/**
|
||||
* Defines the maximum jitter used to adjust the *kill_timeout* if *kill_timeout* is
|
||||
* enabled. Enabling this feature would help to reduce risk of synchronized
|
||||
* watchdog kill events across proxies due to external triggers. Set to 0 to
|
||||
* disable. If not specified the default is 0 (disabled).
|
||||
*/
|
||||
'max_kill_timeout_jitter': (_google_protobuf_Duration__Output | null);
|
||||
/**
|
||||
* Register actions that will fire on given WatchDog events.
|
||||
* See *WatchDogAction* for priority of events.
|
||||
*/
|
||||
'actions': (_envoy_config_bootstrap_v3_Watchdog_WatchdogAction__Output)[];
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/bootstrap/v3/bootstrap.proto
|
||||
|
||||
import type { Watchdog as _envoy_config_bootstrap_v3_Watchdog, Watchdog__Output as _envoy_config_bootstrap_v3_Watchdog__Output } from '../../../../envoy/config/bootstrap/v3/Watchdog';
|
||||
|
||||
/**
|
||||
* Allows you to specify different watchdog configs for different subsystems.
|
||||
* This allows finer tuned policies for the watchdog. If a subsystem is omitted
|
||||
* the default values for that system will be used.
|
||||
*/
|
||||
export interface Watchdogs {
|
||||
/**
|
||||
* Watchdog for the main thread.
|
||||
*/
|
||||
'main_thread_watchdog'?: (_envoy_config_bootstrap_v3_Watchdog | null);
|
||||
/**
|
||||
* Watchdog for the worker threads.
|
||||
*/
|
||||
'worker_watchdog'?: (_envoy_config_bootstrap_v3_Watchdog | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows you to specify different watchdog configs for different subsystems.
|
||||
* This allows finer tuned policies for the watchdog. If a subsystem is omitted
|
||||
* the default values for that system will be used.
|
||||
*/
|
||||
export interface Watchdogs__Output {
|
||||
/**
|
||||
* Watchdog for the main thread.
|
||||
*/
|
||||
'main_thread_watchdog': (_envoy_config_bootstrap_v3_Watchdog__Output | null);
|
||||
/**
|
||||
* Watchdog for the worker threads.
|
||||
*/
|
||||
'worker_watchdog': (_envoy_config_bootstrap_v3_Watchdog__Output | null);
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/config/cluster/v3/circuit_breaker.proto
|
||||
|
||||
import type { RoutingPriority as _envoy_config_core_v3_RoutingPriority } from '../../../../envoy/config/core/v3/RoutingPriority';
|
||||
import type { RoutingPriority as _envoy_config_core_v3_RoutingPriority, RoutingPriority__Output as _envoy_config_core_v3_RoutingPriority__Output } from '../../../../envoy/config/core/v3/RoutingPriority';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { Percent as _envoy_type_v3_Percent, Percent__Output as _envoy_type_v3_Percent__Output } from '../../../../envoy/type/v3/Percent';
|
||||
|
||||
|
@ -50,7 +50,7 @@ export interface _envoy_config_cluster_v3_CircuitBreakers_Thresholds {
|
|||
* The :ref:`RoutingPriority<envoy_v3_api_enum_config.core.v3.RoutingPriority>`
|
||||
* the specified CircuitBreaker settings apply to.
|
||||
*/
|
||||
'priority'?: (_envoy_config_core_v3_RoutingPriority | keyof typeof _envoy_config_core_v3_RoutingPriority);
|
||||
'priority'?: (_envoy_config_core_v3_RoutingPriority);
|
||||
/**
|
||||
* The maximum number of connections that Envoy will make to the upstream
|
||||
* cluster. If not specified, the default is 1024.
|
||||
|
@ -114,7 +114,7 @@ export interface _envoy_config_cluster_v3_CircuitBreakers_Thresholds__Output {
|
|||
* The :ref:`RoutingPriority<envoy_v3_api_enum_config.core.v3.RoutingPriority>`
|
||||
* the specified CircuitBreaker settings apply to.
|
||||
*/
|
||||
'priority': (keyof typeof _envoy_config_core_v3_RoutingPriority);
|
||||
'priority': (_envoy_config_core_v3_RoutingPriority__Output);
|
||||
/**
|
||||
* The maximum number of connections that Envoy will make to the upstream
|
||||
* cluster. If not specified, the default is 1024.
|
||||
|
|
|
@ -30,22 +30,37 @@ import type { UInt64Value as _google_protobuf_UInt64Value, UInt64Value__Output a
|
|||
import type { MetadataKey as _envoy_type_metadata_v3_MetadataKey, MetadataKey__Output as _envoy_type_metadata_v3_MetadataKey__Output } from '../../../../envoy/type/metadata/v3/MetadataKey';
|
||||
import type { HealthStatusSet as _envoy_config_core_v3_HealthStatusSet, HealthStatusSet__Output as _envoy_config_core_v3_HealthStatusSet__Output } from '../../../../envoy/config/core/v3/HealthStatusSet';
|
||||
import type { DoubleValue as _google_protobuf_DoubleValue, DoubleValue__Output as _google_protobuf_DoubleValue__Output } from '../../../../google/protobuf/DoubleValue';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
export enum _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection {
|
||||
export const _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection = {
|
||||
/**
|
||||
* Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
|
||||
* If :ref:`http2_protocol_options <envoy_v3_api_field_config.cluster.v3.Cluster.http2_protocol_options>` are
|
||||
* present, HTTP2 will be used, otherwise HTTP1.1 will be used.
|
||||
*/
|
||||
USE_CONFIGURED_PROTOCOL = 0,
|
||||
USE_CONFIGURED_PROTOCOL: 'USE_CONFIGURED_PROTOCOL',
|
||||
/**
|
||||
* Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
|
||||
*/
|
||||
USE_DOWNSTREAM_PROTOCOL = 1,
|
||||
}
|
||||
USE_DOWNSTREAM_PROTOCOL: 'USE_DOWNSTREAM_PROTOCOL',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection =
|
||||
/**
|
||||
* Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
|
||||
* If :ref:`http2_protocol_options <envoy_v3_api_field_config.cluster.v3.Cluster.http2_protocol_options>` are
|
||||
* present, HTTP2 will be used, otherwise HTTP1.1 will be used.
|
||||
*/
|
||||
| 'USE_CONFIGURED_PROTOCOL'
|
||||
| 0
|
||||
/**
|
||||
* Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
|
||||
*/
|
||||
| 'USE_DOWNSTREAM_PROTOCOL'
|
||||
| 1
|
||||
|
||||
export type _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection__Output = typeof _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection[keyof typeof _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection]
|
||||
|
||||
/**
|
||||
* Common configuration for all load balancer implementations.
|
||||
|
@ -269,36 +284,81 @@ export interface _envoy_config_cluster_v3_Cluster_CustomClusterType__Output {
|
|||
* Refer to :ref:`service discovery type <arch_overview_service_discovery_types>`
|
||||
* for an explanation on each type.
|
||||
*/
|
||||
export enum _envoy_config_cluster_v3_Cluster_DiscoveryType {
|
||||
export const _envoy_config_cluster_v3_Cluster_DiscoveryType = {
|
||||
/**
|
||||
* Refer to the :ref:`static discovery type<arch_overview_service_discovery_types_static>`
|
||||
* for an explanation.
|
||||
*/
|
||||
STATIC = 0,
|
||||
STATIC: 'STATIC',
|
||||
/**
|
||||
* Refer to the :ref:`strict DNS discovery
|
||||
* type<arch_overview_service_discovery_types_strict_dns>`
|
||||
* for an explanation.
|
||||
*/
|
||||
STRICT_DNS = 1,
|
||||
STRICT_DNS: 'STRICT_DNS',
|
||||
/**
|
||||
* Refer to the :ref:`logical DNS discovery
|
||||
* type<arch_overview_service_discovery_types_logical_dns>`
|
||||
* for an explanation.
|
||||
*/
|
||||
LOGICAL_DNS = 2,
|
||||
LOGICAL_DNS: 'LOGICAL_DNS',
|
||||
/**
|
||||
* Refer to the :ref:`service discovery type<arch_overview_service_discovery_types_eds>`
|
||||
* for an explanation.
|
||||
*/
|
||||
EDS = 3,
|
||||
EDS: 'EDS',
|
||||
/**
|
||||
* Refer to the :ref:`original destination discovery
|
||||
* type<arch_overview_service_discovery_types_original_destination>`
|
||||
* for an explanation.
|
||||
*/
|
||||
ORIGINAL_DST = 4,
|
||||
}
|
||||
ORIGINAL_DST: 'ORIGINAL_DST',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Refer to :ref:`service discovery type <arch_overview_service_discovery_types>`
|
||||
* for an explanation on each type.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_DiscoveryType =
|
||||
/**
|
||||
* Refer to the :ref:`static discovery type<arch_overview_service_discovery_types_static>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'STATIC'
|
||||
| 0
|
||||
/**
|
||||
* Refer to the :ref:`strict DNS discovery
|
||||
* type<arch_overview_service_discovery_types_strict_dns>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'STRICT_DNS'
|
||||
| 1
|
||||
/**
|
||||
* Refer to the :ref:`logical DNS discovery
|
||||
* type<arch_overview_service_discovery_types_logical_dns>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'LOGICAL_DNS'
|
||||
| 2
|
||||
/**
|
||||
* Refer to the :ref:`service discovery type<arch_overview_service_discovery_types_eds>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'EDS'
|
||||
| 3
|
||||
/**
|
||||
* Refer to the :ref:`original destination discovery
|
||||
* type<arch_overview_service_discovery_types_original_destination>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'ORIGINAL_DST'
|
||||
| 4
|
||||
|
||||
/**
|
||||
* Refer to :ref:`service discovery type <arch_overview_service_discovery_types>`
|
||||
* for an explanation on each type.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_DiscoveryType__Output = typeof _envoy_config_cluster_v3_Cluster_DiscoveryType[keyof typeof _envoy_config_cluster_v3_Cluster_DiscoveryType]
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
|
@ -325,13 +385,73 @@ export enum _envoy_config_cluster_v3_Cluster_DiscoveryType {
|
|||
* ignored.
|
||||
* [#next-major-version: deprecate AUTO in favor of a V6_PREFERRED option.]
|
||||
*/
|
||||
export enum _envoy_config_cluster_v3_Cluster_DnsLookupFamily {
|
||||
AUTO = 0,
|
||||
V4_ONLY = 1,
|
||||
V6_ONLY = 2,
|
||||
V4_PREFERRED = 3,
|
||||
ALL = 4,
|
||||
}
|
||||
export const _envoy_config_cluster_v3_Cluster_DnsLookupFamily = {
|
||||
AUTO: 'AUTO',
|
||||
V4_ONLY: 'V4_ONLY',
|
||||
V6_ONLY: 'V6_ONLY',
|
||||
V4_PREFERRED: 'V4_PREFERRED',
|
||||
ALL: 'ALL',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* When V4_ONLY is selected, the DNS resolver will only perform a lookup for
|
||||
* addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will
|
||||
* only perform a lookup for addresses in the IPv6 family. If AUTO is
|
||||
* specified, the DNS resolver will first perform a lookup for addresses in
|
||||
* the IPv6 family and fallback to a lookup for addresses in the IPv4 family.
|
||||
* This is semantically equivalent to a non-existent V6_PREFERRED option.
|
||||
* AUTO is a legacy name that is more opaque than
|
||||
* necessary and will be deprecated in favor of V6_PREFERRED in a future major version of the API.
|
||||
* If V4_PREFERRED is specified, the DNS resolver will first perform a lookup for addresses in the
|
||||
* IPv4 family and fallback to a lookup for addresses in the IPv6 family. i.e., the callback
|
||||
* target will only get v6 addresses if there were NO v4 addresses to return.
|
||||
* If ALL is specified, the DNS resolver will perform a lookup for both IPv4 and IPv6 families,
|
||||
* and return all resolved addresses. When this is used, Happy Eyeballs will be enabled for
|
||||
* upstream connections. Refer to :ref:`Happy Eyeballs Support <arch_overview_happy_eyeballs>`
|
||||
* for more information.
|
||||
* For cluster types other than
|
||||
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
|
||||
* :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
|
||||
* this setting is
|
||||
* ignored.
|
||||
* [#next-major-version: deprecate AUTO in favor of a V6_PREFERRED option.]
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_DnsLookupFamily =
|
||||
| 'AUTO'
|
||||
| 0
|
||||
| 'V4_ONLY'
|
||||
| 1
|
||||
| 'V6_ONLY'
|
||||
| 2
|
||||
| 'V4_PREFERRED'
|
||||
| 3
|
||||
| 'ALL'
|
||||
| 4
|
||||
|
||||
/**
|
||||
* When V4_ONLY is selected, the DNS resolver will only perform a lookup for
|
||||
* addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will
|
||||
* only perform a lookup for addresses in the IPv6 family. If AUTO is
|
||||
* specified, the DNS resolver will first perform a lookup for addresses in
|
||||
* the IPv6 family and fallback to a lookup for addresses in the IPv4 family.
|
||||
* This is semantically equivalent to a non-existent V6_PREFERRED option.
|
||||
* AUTO is a legacy name that is more opaque than
|
||||
* necessary and will be deprecated in favor of V6_PREFERRED in a future major version of the API.
|
||||
* If V4_PREFERRED is specified, the DNS resolver will first perform a lookup for addresses in the
|
||||
* IPv4 family and fallback to a lookup for addresses in the IPv6 family. i.e., the callback
|
||||
* target will only get v6 addresses if there were NO v4 addresses to return.
|
||||
* If ALL is specified, the DNS resolver will perform a lookup for both IPv4 and IPv6 families,
|
||||
* and return all resolved addresses. When this is used, Happy Eyeballs will be enabled for
|
||||
* upstream connections. Refer to :ref:`Happy Eyeballs Support <arch_overview_happy_eyeballs>`
|
||||
* for more information.
|
||||
* For cluster types other than
|
||||
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
|
||||
* :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
|
||||
* this setting is
|
||||
* ignored.
|
||||
* [#next-major-version: deprecate AUTO in favor of a V6_PREFERRED option.]
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_DnsLookupFamily__Output = typeof _envoy_config_cluster_v3_Cluster_DnsLookupFamily[keyof typeof _envoy_config_cluster_v3_Cluster_DnsLookupFamily]
|
||||
|
||||
/**
|
||||
* Only valid when discovery type is EDS.
|
||||
|
@ -370,18 +490,40 @@ export interface _envoy_config_cluster_v3_Cluster_EdsClusterConfig__Output {
|
|||
/**
|
||||
* The hash function used to hash hosts onto the ketama ring.
|
||||
*/
|
||||
export enum _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction {
|
||||
export const _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction = {
|
||||
/**
|
||||
* Use `xxHash <https://github.com/Cyan4973/xxHash>`_, this is the default hash function.
|
||||
*/
|
||||
XX_HASH = 0,
|
||||
XX_HASH: 'XX_HASH',
|
||||
/**
|
||||
* Use `MurmurHash2 <https://sites.google.com/site/murmurhash/>`_, this is compatible with
|
||||
* std:hash<string> in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled
|
||||
* on Linux and not macOS.
|
||||
*/
|
||||
MURMUR_HASH_2 = 1,
|
||||
}
|
||||
MURMUR_HASH_2: 'MURMUR_HASH_2',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* The hash function used to hash hosts onto the ketama ring.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction =
|
||||
/**
|
||||
* Use `xxHash <https://github.com/Cyan4973/xxHash>`_, this is the default hash function.
|
||||
*/
|
||||
| 'XX_HASH'
|
||||
| 0
|
||||
/**
|
||||
* Use `MurmurHash2 <https://sites.google.com/site/murmurhash/>`_, this is compatible with
|
||||
* std:hash<string> in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled
|
||||
* on Linux and not macOS.
|
||||
*/
|
||||
| 'MURMUR_HASH_2'
|
||||
| 1
|
||||
|
||||
/**
|
||||
* The hash function used to hash hosts onto the ketama ring.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction__Output = typeof _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction[keyof typeof _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction]
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
|
@ -389,42 +531,42 @@ export enum _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction {
|
|||
* Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture
|
||||
* overview section for information on each type.
|
||||
*/
|
||||
export enum _envoy_config_cluster_v3_Cluster_LbPolicy {
|
||||
export const _envoy_config_cluster_v3_Cluster_LbPolicy = {
|
||||
/**
|
||||
* Refer to the :ref:`round robin load balancing
|
||||
* policy<arch_overview_load_balancing_types_round_robin>`
|
||||
* for an explanation.
|
||||
*/
|
||||
ROUND_ROBIN = 0,
|
||||
ROUND_ROBIN: 'ROUND_ROBIN',
|
||||
/**
|
||||
* Refer to the :ref:`least request load balancing
|
||||
* policy<arch_overview_load_balancing_types_least_request>`
|
||||
* for an explanation.
|
||||
*/
|
||||
LEAST_REQUEST = 1,
|
||||
LEAST_REQUEST: 'LEAST_REQUEST',
|
||||
/**
|
||||
* Refer to the :ref:`ring hash load balancing
|
||||
* policy<arch_overview_load_balancing_types_ring_hash>`
|
||||
* for an explanation.
|
||||
*/
|
||||
RING_HASH = 2,
|
||||
RING_HASH: 'RING_HASH',
|
||||
/**
|
||||
* Refer to the :ref:`random load balancing
|
||||
* policy<arch_overview_load_balancing_types_random>`
|
||||
* for an explanation.
|
||||
*/
|
||||
RANDOM = 3,
|
||||
RANDOM: 'RANDOM',
|
||||
/**
|
||||
* Refer to the :ref:`Maglev load balancing policy<arch_overview_load_balancing_types_maglev>`
|
||||
* for an explanation.
|
||||
*/
|
||||
MAGLEV = 5,
|
||||
MAGLEV: 'MAGLEV',
|
||||
/**
|
||||
* This load balancer type must be specified if the configured cluster provides a cluster
|
||||
* specific load balancer. Consult the configured cluster's documentation for whether to set
|
||||
* this option or not.
|
||||
*/
|
||||
CLUSTER_PROVIDED = 6,
|
||||
CLUSTER_PROVIDED: 'CLUSTER_PROVIDED',
|
||||
/**
|
||||
* Use the new :ref:`load_balancing_policy
|
||||
* <envoy_v3_api_field_config.cluster.v3.Cluster.load_balancing_policy>` field to determine the LB policy.
|
||||
|
@ -432,8 +574,70 @@ export enum _envoy_config_cluster_v3_Cluster_LbPolicy {
|
|||
* <envoy_v3_api_field_config.cluster.v3.Cluster.load_balancing_policy>` field without
|
||||
* setting any value in :ref:`lb_policy<envoy_v3_api_field_config.cluster.v3.Cluster.lb_policy>`.
|
||||
*/
|
||||
LOAD_BALANCING_POLICY_CONFIG = 7,
|
||||
}
|
||||
LOAD_BALANCING_POLICY_CONFIG: 'LOAD_BALANCING_POLICY_CONFIG',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture
|
||||
* overview section for information on each type.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_LbPolicy =
|
||||
/**
|
||||
* Refer to the :ref:`round robin load balancing
|
||||
* policy<arch_overview_load_balancing_types_round_robin>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'ROUND_ROBIN'
|
||||
| 0
|
||||
/**
|
||||
* Refer to the :ref:`least request load balancing
|
||||
* policy<arch_overview_load_balancing_types_least_request>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'LEAST_REQUEST'
|
||||
| 1
|
||||
/**
|
||||
* Refer to the :ref:`ring hash load balancing
|
||||
* policy<arch_overview_load_balancing_types_ring_hash>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'RING_HASH'
|
||||
| 2
|
||||
/**
|
||||
* Refer to the :ref:`random load balancing
|
||||
* policy<arch_overview_load_balancing_types_random>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'RANDOM'
|
||||
| 3
|
||||
/**
|
||||
* Refer to the :ref:`Maglev load balancing policy<arch_overview_load_balancing_types_maglev>`
|
||||
* for an explanation.
|
||||
*/
|
||||
| 'MAGLEV'
|
||||
| 5
|
||||
/**
|
||||
* This load balancer type must be specified if the configured cluster provides a cluster
|
||||
* specific load balancer. Consult the configured cluster's documentation for whether to set
|
||||
* this option or not.
|
||||
*/
|
||||
| 'CLUSTER_PROVIDED'
|
||||
| 6
|
||||
/**
|
||||
* Use the new :ref:`load_balancing_policy
|
||||
* <envoy_v3_api_field_config.cluster.v3.Cluster.load_balancing_policy>` field to determine the LB policy.
|
||||
* This has been deprecated in favor of using the :ref:`load_balancing_policy
|
||||
* <envoy_v3_api_field_config.cluster.v3.Cluster.load_balancing_policy>` field without
|
||||
* setting any value in :ref:`lb_policy<envoy_v3_api_field_config.cluster.v3.Cluster.lb_policy>`.
|
||||
*/
|
||||
| 'LOAD_BALANCING_POLICY_CONFIG'
|
||||
| 7
|
||||
|
||||
/**
|
||||
* Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture
|
||||
* overview section for information on each type.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_LbPolicy__Output = typeof _envoy_config_cluster_v3_Cluster_LbPolicy[keyof typeof _envoy_config_cluster_v3_Cluster_LbPolicy]
|
||||
|
||||
/**
|
||||
* Optionally divide the endpoints in this cluster into subsets defined by
|
||||
|
@ -446,7 +650,7 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig {
|
|||
* metadata. The value defaults to
|
||||
* :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
|
||||
*/
|
||||
'fallback_policy'?: (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy | keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy);
|
||||
'fallback_policy'?: (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy);
|
||||
/**
|
||||
* Specifies the default subset of endpoints used during fallback if
|
||||
* fallback_policy is
|
||||
|
@ -519,7 +723,7 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig {
|
|||
* The value defaults to
|
||||
* :ref:`METADATA_NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy.METADATA_NO_FALLBACK>`.
|
||||
*/
|
||||
'metadata_fallback_policy'?: (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy | keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy);
|
||||
'metadata_fallback_policy'?: (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -533,7 +737,7 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig__Output {
|
|||
* metadata. The value defaults to
|
||||
* :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
|
||||
*/
|
||||
'fallback_policy': (keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy);
|
||||
'fallback_policy': (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy__Output);
|
||||
/**
|
||||
* Specifies the default subset of endpoints used during fallback if
|
||||
* fallback_policy is
|
||||
|
@ -606,7 +810,7 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig__Output {
|
|||
* The value defaults to
|
||||
* :ref:`METADATA_NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy.METADATA_NO_FALLBACK>`.
|
||||
*/
|
||||
'metadata_fallback_policy': (keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy);
|
||||
'metadata_fallback_policy': (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy__Output);
|
||||
}
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
@ -618,19 +822,43 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig__Output {
|
|||
* etc). If DEFAULT_SUBSET is selected, load balancing is performed over the
|
||||
* endpoints matching the values from the default_subset field.
|
||||
*/
|
||||
export enum _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy {
|
||||
NO_FALLBACK = 0,
|
||||
ANY_ENDPOINT = 1,
|
||||
DEFAULT_SUBSET = 2,
|
||||
}
|
||||
export const _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = {
|
||||
NO_FALLBACK: 'NO_FALLBACK',
|
||||
ANY_ENDPOINT: 'ANY_ENDPOINT',
|
||||
DEFAULT_SUBSET: 'DEFAULT_SUBSET',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* If NO_FALLBACK is selected, a result
|
||||
* equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected,
|
||||
* any cluster endpoint may be returned (subject to policy, health checks,
|
||||
* etc). If DEFAULT_SUBSET is selected, load balancing is performed over the
|
||||
* endpoints matching the values from the default_subset field.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy =
|
||||
| 'NO_FALLBACK'
|
||||
| 0
|
||||
| 'ANY_ENDPOINT'
|
||||
| 1
|
||||
| 'DEFAULT_SUBSET'
|
||||
| 2
|
||||
|
||||
/**
|
||||
* If NO_FALLBACK is selected, a result
|
||||
* equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected,
|
||||
* any cluster endpoint may be returned (subject to policy, health checks,
|
||||
* etc). If DEFAULT_SUBSET is selected, load balancing is performed over the
|
||||
* endpoints matching the values from the default_subset field.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy__Output = typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy[keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetFallbackPolicy]
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
export enum _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy {
|
||||
export const _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy = {
|
||||
/**
|
||||
* No fallback. Route metadata will be used as-is.
|
||||
*/
|
||||
METADATA_NO_FALLBACK = 0,
|
||||
METADATA_NO_FALLBACK: 'METADATA_NO_FALLBACK',
|
||||
/**
|
||||
* A special metadata key ``fallback_list`` will be used to provide variants of metadata to try.
|
||||
* Value of ``fallback_list`` key has to be a list. Every list element has to be a struct - it will
|
||||
|
@ -672,8 +900,60 @@ export enum _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFall
|
|||
*
|
||||
* is used.
|
||||
*/
|
||||
FALLBACK_LIST = 1,
|
||||
}
|
||||
FALLBACK_LIST: 'FALLBACK_LIST',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy =
|
||||
/**
|
||||
* No fallback. Route metadata will be used as-is.
|
||||
*/
|
||||
| 'METADATA_NO_FALLBACK'
|
||||
| 0
|
||||
/**
|
||||
* A special metadata key ``fallback_list`` will be used to provide variants of metadata to try.
|
||||
* Value of ``fallback_list`` key has to be a list. Every list element has to be a struct - it will
|
||||
* be merged with route metadata, overriding keys that appear in both places.
|
||||
* ``fallback_list`` entries will be used in order until a host is found.
|
||||
*
|
||||
* ``fallback_list`` key itself is removed from metadata before subset load balancing is performed.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* for metadata:
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* version: 1.0
|
||||
* fallback_list:
|
||||
* - version: 2.0
|
||||
* hardware: c64
|
||||
* - hardware: c32
|
||||
* - version: 3.0
|
||||
*
|
||||
* at first, metadata:
|
||||
*
|
||||
* .. code-block:: json
|
||||
*
|
||||
* {"version": "2.0", "hardware": "c64"}
|
||||
*
|
||||
* will be used for load balancing. If no host is found, metadata:
|
||||
*
|
||||
* .. code-block:: json
|
||||
*
|
||||
* {"version": "1.0", "hardware": "c32"}
|
||||
*
|
||||
* is next to try. If it still results in no host, finally metadata:
|
||||
*
|
||||
* .. code-block:: json
|
||||
*
|
||||
* {"version": "3.0"}
|
||||
*
|
||||
* is used.
|
||||
*/
|
||||
| 'FALLBACK_LIST'
|
||||
| 1
|
||||
|
||||
export type _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy__Output = typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy[keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy]
|
||||
|
||||
/**
|
||||
* Specifications for subsets.
|
||||
|
@ -699,7 +979,7 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelecto
|
|||
* The behavior used when no endpoint subset matches the selected route's
|
||||
* metadata.
|
||||
*/
|
||||
'fallback_policy'?: (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy | keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy);
|
||||
'fallback_policy'?: (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy);
|
||||
/**
|
||||
* Subset of
|
||||
* :ref:`keys<envoy_v3_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.keys>` used by
|
||||
|
@ -738,7 +1018,7 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelecto
|
|||
* The behavior used when no endpoint subset matches the selected route's
|
||||
* metadata.
|
||||
*/
|
||||
'fallback_policy': (keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy);
|
||||
'fallback_policy': (_envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy__Output);
|
||||
/**
|
||||
* Subset of
|
||||
* :ref:`keys<envoy_v3_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.keys>` used by
|
||||
|
@ -758,25 +1038,25 @@ export interface _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelecto
|
|||
/**
|
||||
* Allows to override top level fallback policy per selector.
|
||||
*/
|
||||
export enum _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy {
|
||||
export const _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = {
|
||||
/**
|
||||
* If NOT_DEFINED top level config fallback policy is used instead.
|
||||
*/
|
||||
NOT_DEFINED = 0,
|
||||
NOT_DEFINED: 'NOT_DEFINED',
|
||||
/**
|
||||
* If NO_FALLBACK is selected, a result equivalent to no healthy hosts is reported.
|
||||
*/
|
||||
NO_FALLBACK = 1,
|
||||
NO_FALLBACK: 'NO_FALLBACK',
|
||||
/**
|
||||
* If ANY_ENDPOINT is selected, any cluster endpoint may be returned
|
||||
* (subject to policy, health checks, etc).
|
||||
*/
|
||||
ANY_ENDPOINT = 2,
|
||||
ANY_ENDPOINT: 'ANY_ENDPOINT',
|
||||
/**
|
||||
* If DEFAULT_SUBSET is selected, load balancing is performed over the
|
||||
* endpoints matching the values from the default_subset field.
|
||||
*/
|
||||
DEFAULT_SUBSET = 3,
|
||||
DEFAULT_SUBSET: 'DEFAULT_SUBSET',
|
||||
/**
|
||||
* If KEYS_SUBSET is selected, subset selector matching is performed again with metadata
|
||||
* keys reduced to
|
||||
|
@ -784,8 +1064,49 @@ export enum _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbS
|
|||
* It allows for a fallback to a different, less specific selector if some of the keys of
|
||||
* the selector are considered optional.
|
||||
*/
|
||||
KEYS_SUBSET = 4,
|
||||
}
|
||||
KEYS_SUBSET: 'KEYS_SUBSET',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Allows to override top level fallback policy per selector.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy =
|
||||
/**
|
||||
* If NOT_DEFINED top level config fallback policy is used instead.
|
||||
*/
|
||||
| 'NOT_DEFINED'
|
||||
| 0
|
||||
/**
|
||||
* If NO_FALLBACK is selected, a result equivalent to no healthy hosts is reported.
|
||||
*/
|
||||
| 'NO_FALLBACK'
|
||||
| 1
|
||||
/**
|
||||
* If ANY_ENDPOINT is selected, any cluster endpoint may be returned
|
||||
* (subject to policy, health checks, etc).
|
||||
*/
|
||||
| 'ANY_ENDPOINT'
|
||||
| 2
|
||||
/**
|
||||
* If DEFAULT_SUBSET is selected, load balancing is performed over the
|
||||
* endpoints matching the values from the default_subset field.
|
||||
*/
|
||||
| 'DEFAULT_SUBSET'
|
||||
| 3
|
||||
/**
|
||||
* If KEYS_SUBSET is selected, subset selector matching is performed again with metadata
|
||||
* keys reduced to
|
||||
* :ref:`fallback_keys_subset<envoy_v3_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_keys_subset>`.
|
||||
* It allows for a fallback to a different, less specific selector if some of the keys of
|
||||
* the selector are considered optional.
|
||||
*/
|
||||
| 'KEYS_SUBSET'
|
||||
| 4
|
||||
|
||||
/**
|
||||
* Allows to override top level fallback policy per selector.
|
||||
*/
|
||||
export type _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy__Output = typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy[keyof typeof _envoy_config_cluster_v3_Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy]
|
||||
|
||||
/**
|
||||
* Specific configuration for the LeastRequest load balancing policy.
|
||||
|
@ -1149,7 +1470,7 @@ export interface _envoy_config_cluster_v3_Cluster_RingHashLbConfig {
|
|||
* The hash function used to hash hosts onto the ketama ring. The value defaults to
|
||||
* :ref:`XX_HASH<envoy_v3_api_enum_value_config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH>`.
|
||||
*/
|
||||
'hash_function'?: (_envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction | keyof typeof _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction);
|
||||
'hash_function'?: (_envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction);
|
||||
/**
|
||||
* Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered
|
||||
* to further constrain resource use. See also
|
||||
|
@ -1174,7 +1495,7 @@ export interface _envoy_config_cluster_v3_Cluster_RingHashLbConfig__Output {
|
|||
* The hash function used to hash hosts onto the ketama ring. The value defaults to
|
||||
* :ref:`XX_HASH<envoy_v3_api_enum_value_config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH>`.
|
||||
*/
|
||||
'hash_function': (keyof typeof _envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction);
|
||||
'hash_function': (_envoy_config_cluster_v3_Cluster_RingHashLbConfig_HashFunction__Output);
|
||||
/**
|
||||
* Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered
|
||||
* to further constrain resource use. See also
|
||||
|
@ -1394,7 +1715,7 @@ export interface Cluster {
|
|||
* The :ref:`service discovery type <arch_overview_service_discovery_types>`
|
||||
* to use for resolving the cluster.
|
||||
*/
|
||||
'type'?: (_envoy_config_cluster_v3_Cluster_DiscoveryType | keyof typeof _envoy_config_cluster_v3_Cluster_DiscoveryType);
|
||||
'type'?: (_envoy_config_cluster_v3_Cluster_DiscoveryType);
|
||||
/**
|
||||
* Configuration to use for EDS updates for the Cluster.
|
||||
*/
|
||||
|
@ -1413,7 +1734,7 @@ export interface Cluster {
|
|||
* The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
|
||||
* when picking a host in the cluster.
|
||||
*/
|
||||
'lb_policy'?: (_envoy_config_cluster_v3_Cluster_LbPolicy | keyof typeof _envoy_config_cluster_v3_Cluster_LbPolicy);
|
||||
'lb_policy'?: (_envoy_config_cluster_v3_Cluster_LbPolicy);
|
||||
/**
|
||||
* Optional :ref:`active health checking <arch_overview_health_checking>`
|
||||
* configuration for the cluster. If no
|
||||
|
@ -1429,6 +1750,7 @@ export interface Cluster {
|
|||
*
|
||||
* .. attention::
|
||||
* This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
|
||||
* @deprecated
|
||||
*/
|
||||
'max_requests_per_connection'?: (_google_protobuf_UInt32Value | null);
|
||||
/**
|
||||
|
@ -1444,6 +1766,7 @@ export interface Cluster {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'http_protocol_options'?: (_envoy_config_core_v3_Http1ProtocolOptions | null);
|
||||
/**
|
||||
|
@ -1460,6 +1783,7 @@ export interface Cluster {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'http2_protocol_options'?: (_envoy_config_core_v3_Http2ProtocolOptions | null);
|
||||
/**
|
||||
|
@ -1479,7 +1803,7 @@ export interface Cluster {
|
|||
* value defaults to
|
||||
* :ref:`AUTO<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
|
||||
*/
|
||||
'dns_lookup_family'?: (_envoy_config_cluster_v3_Cluster_DnsLookupFamily | keyof typeof _envoy_config_cluster_v3_Cluster_DnsLookupFamily);
|
||||
'dns_lookup_family'?: (_envoy_config_cluster_v3_Cluster_DnsLookupFamily);
|
||||
/**
|
||||
* If DNS resolvers are specified and the cluster type is either
|
||||
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
|
||||
|
@ -1493,6 +1817,7 @@ export interface Cluster {
|
|||
* this setting is ignored.
|
||||
* This field is deprecated in favor of ``dns_resolution_config``
|
||||
* which aggregates all of the DNS resolver configuration in a single message.
|
||||
* @deprecated
|
||||
*/
|
||||
'dns_resolvers'?: (_envoy_config_core_v3_Address)[];
|
||||
/**
|
||||
|
@ -1554,8 +1879,9 @@ export interface Cluster {
|
|||
* <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
|
||||
* http_protocol_options can be set via the cluster's
|
||||
* :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'protocol_selection'?: (_envoy_config_cluster_v3_Cluster_ClusterProtocolSelection | keyof typeof _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection);
|
||||
'protocol_selection'?: (_envoy_config_cluster_v3_Cluster_ClusterProtocolSelection);
|
||||
/**
|
||||
* Common configuration for all load balancer implementations.
|
||||
*/
|
||||
|
@ -1581,6 +1907,7 @@ export interface Cluster {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'common_http_protocol_options'?: (_envoy_config_core_v3_HttpProtocolOptions | null);
|
||||
/**
|
||||
|
@ -1743,6 +2070,7 @@ export interface Cluster {
|
|||
* Always use TCP queries instead of UDP queries for DNS lookups.
|
||||
* This field is deprecated in favor of ``dns_resolution_config``
|
||||
* which aggregates all of the DNS resolver configuration in a single message.
|
||||
* @deprecated
|
||||
*/
|
||||
'use_tcp_for_dns_lookups'?: (boolean);
|
||||
/**
|
||||
|
@ -1756,6 +2084,7 @@ export interface Cluster {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'upstream_http_protocol_options'?: (_envoy_config_core_v3_UpstreamHttpProtocolOptions | null);
|
||||
/**
|
||||
|
@ -1769,6 +2098,7 @@ export interface Cluster {
|
|||
*
|
||||
* This field has been deprecated in favor of ``timeout_budgets``, part of
|
||||
* :ref:`track_cluster_stats <envoy_v3_api_field_config.cluster.v3.Cluster.track_cluster_stats>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'track_timeout_budgets'?: (boolean);
|
||||
/**
|
||||
|
@ -1813,6 +2143,7 @@ export interface Cluster {
|
|||
* DNS resolution configuration which includes the underlying dns resolver addresses and options.
|
||||
* This field is deprecated in favor of
|
||||
* :ref:`typed_dns_resolver_config <envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'dns_resolution_config'?: (_envoy_config_core_v3_DnsResolutionConfig | null);
|
||||
/**
|
||||
|
@ -1873,7 +2204,7 @@ export interface Cluster__Output {
|
|||
* The :ref:`service discovery type <arch_overview_service_discovery_types>`
|
||||
* to use for resolving the cluster.
|
||||
*/
|
||||
'type'?: (keyof typeof _envoy_config_cluster_v3_Cluster_DiscoveryType);
|
||||
'type'?: (_envoy_config_cluster_v3_Cluster_DiscoveryType__Output);
|
||||
/**
|
||||
* Configuration to use for EDS updates for the Cluster.
|
||||
*/
|
||||
|
@ -1892,7 +2223,7 @@ export interface Cluster__Output {
|
|||
* The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
|
||||
* when picking a host in the cluster.
|
||||
*/
|
||||
'lb_policy': (keyof typeof _envoy_config_cluster_v3_Cluster_LbPolicy);
|
||||
'lb_policy': (_envoy_config_cluster_v3_Cluster_LbPolicy__Output);
|
||||
/**
|
||||
* Optional :ref:`active health checking <arch_overview_health_checking>`
|
||||
* configuration for the cluster. If no
|
||||
|
@ -1908,6 +2239,7 @@ export interface Cluster__Output {
|
|||
*
|
||||
* .. attention::
|
||||
* This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
|
||||
* @deprecated
|
||||
*/
|
||||
'max_requests_per_connection': (_google_protobuf_UInt32Value__Output | null);
|
||||
/**
|
||||
|
@ -1923,6 +2255,7 @@ export interface Cluster__Output {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'http_protocol_options': (_envoy_config_core_v3_Http1ProtocolOptions__Output | null);
|
||||
/**
|
||||
|
@ -1939,6 +2272,7 @@ export interface Cluster__Output {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'http2_protocol_options': (_envoy_config_core_v3_Http2ProtocolOptions__Output | null);
|
||||
/**
|
||||
|
@ -1958,7 +2292,7 @@ export interface Cluster__Output {
|
|||
* value defaults to
|
||||
* :ref:`AUTO<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
|
||||
*/
|
||||
'dns_lookup_family': (keyof typeof _envoy_config_cluster_v3_Cluster_DnsLookupFamily);
|
||||
'dns_lookup_family': (_envoy_config_cluster_v3_Cluster_DnsLookupFamily__Output);
|
||||
/**
|
||||
* If DNS resolvers are specified and the cluster type is either
|
||||
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
|
||||
|
@ -1972,6 +2306,7 @@ export interface Cluster__Output {
|
|||
* this setting is ignored.
|
||||
* This field is deprecated in favor of ``dns_resolution_config``
|
||||
* which aggregates all of the DNS resolver configuration in a single message.
|
||||
* @deprecated
|
||||
*/
|
||||
'dns_resolvers': (_envoy_config_core_v3_Address__Output)[];
|
||||
/**
|
||||
|
@ -2033,8 +2368,9 @@ export interface Cluster__Output {
|
|||
* <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
|
||||
* http_protocol_options can be set via the cluster's
|
||||
* :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'protocol_selection': (keyof typeof _envoy_config_cluster_v3_Cluster_ClusterProtocolSelection);
|
||||
'protocol_selection': (_envoy_config_cluster_v3_Cluster_ClusterProtocolSelection__Output);
|
||||
/**
|
||||
* Common configuration for all load balancer implementations.
|
||||
*/
|
||||
|
@ -2060,6 +2396,7 @@ export interface Cluster__Output {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'common_http_protocol_options': (_envoy_config_core_v3_HttpProtocolOptions__Output | null);
|
||||
/**
|
||||
|
@ -2222,6 +2559,7 @@ export interface Cluster__Output {
|
|||
* Always use TCP queries instead of UDP queries for DNS lookups.
|
||||
* This field is deprecated in favor of ``dns_resolution_config``
|
||||
* which aggregates all of the DNS resolver configuration in a single message.
|
||||
* @deprecated
|
||||
*/
|
||||
'use_tcp_for_dns_lookups': (boolean);
|
||||
/**
|
||||
|
@ -2235,6 +2573,7 @@ export interface Cluster__Output {
|
|||
* See :ref:`upstream_http_protocol_options
|
||||
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
|
||||
* for example usage.
|
||||
* @deprecated
|
||||
*/
|
||||
'upstream_http_protocol_options': (_envoy_config_core_v3_UpstreamHttpProtocolOptions__Output | null);
|
||||
/**
|
||||
|
@ -2248,6 +2587,7 @@ export interface Cluster__Output {
|
|||
*
|
||||
* This field has been deprecated in favor of ``timeout_budgets``, part of
|
||||
* :ref:`track_cluster_stats <envoy_v3_api_field_config.cluster.v3.Cluster.track_cluster_stats>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'track_timeout_budgets': (boolean);
|
||||
/**
|
||||
|
@ -2292,6 +2632,7 @@ export interface Cluster__Output {
|
|||
* DNS resolution configuration which includes the underlying dns resolver addresses and options.
|
||||
* This field is deprecated in favor of
|
||||
* :ref:`typed_dns_resolver_config <envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'dns_resolution_config': (_envoy_config_core_v3_DnsResolutionConfig__Output | null);
|
||||
/**
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
import type { Address as _envoy_config_core_v3_Address, Address__Output as _envoy_config_core_v3_Address__Output } from '../../../../envoy/config/core/v3/Address';
|
||||
|
||||
/**
|
||||
* An extensible structure containing the address Envoy should bind to when
|
||||
* establishing upstream connections.
|
||||
*/
|
||||
export interface UpstreamBindConfig {
|
||||
/**
|
||||
* The address Envoy should bind to when establishing upstream connections.
|
||||
*/
|
||||
'source_address'?: (_envoy_config_core_v3_Address | null);
|
||||
}
|
||||
|
||||
/**
|
||||
* An extensible structure containing the address Envoy should bind to when
|
||||
* establishing upstream connections.
|
||||
*/
|
||||
export interface UpstreamBindConfig__Output {
|
||||
/**
|
||||
* The address Envoy should bind to when establishing upstream connections.
|
||||
*/
|
||||
'source_address': (_envoy_config_core_v3_Address__Output | null);
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { GrpcService as _envoy_config_core_v3_GrpcService, GrpcService__Output as _envoy_config_core_v3_GrpcService__Output } from '../../../../envoy/config/core/v3/GrpcService';
|
||||
import type { RateLimitSettings as _envoy_config_core_v3_RateLimitSettings, RateLimitSettings__Output as _envoy_config_core_v3_RateLimitSettings__Output } from '../../../../envoy/config/core/v3/RateLimitSettings';
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion, ApiVersion__Output as _envoy_config_core_v3_ApiVersion__Output } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
import type { TypedExtensionConfig as _envoy_config_core_v3_TypedExtensionConfig, TypedExtensionConfig__Output as _envoy_config_core_v3_TypedExtensionConfig__Output } from '../../../../envoy/config/core/v3/TypedExtensionConfig';
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
@ -11,41 +11,91 @@ import type { TypedExtensionConfig as _envoy_config_core_v3_TypedExtensionConfig
|
|||
/**
|
||||
* APIs may be fetched via either REST or gRPC.
|
||||
*/
|
||||
export enum _envoy_config_core_v3_ApiConfigSource_ApiType {
|
||||
export const _envoy_config_core_v3_ApiConfigSource_ApiType = {
|
||||
/**
|
||||
* Ideally this would be 'reserved 0' but one can't reserve the default
|
||||
* value. Instead we throw an exception if this is ever used.
|
||||
* @deprecated
|
||||
*/
|
||||
DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE = 0,
|
||||
DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE: 'DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE',
|
||||
/**
|
||||
* REST-JSON v2 API. The `canonical JSON encoding
|
||||
* <https://developers.google.com/protocol-buffers/docs/proto3#json>`_ for
|
||||
* the v2 protos is used.
|
||||
*/
|
||||
REST = 1,
|
||||
REST: 'REST',
|
||||
/**
|
||||
* SotW gRPC service.
|
||||
*/
|
||||
GRPC = 2,
|
||||
GRPC: 'GRPC',
|
||||
/**
|
||||
* Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response}
|
||||
* rather than Discovery{Request,Response}. Rather than sending Envoy the entire state
|
||||
* with every update, the xDS server only sends what has changed since the last update.
|
||||
*/
|
||||
DELTA_GRPC = 3,
|
||||
DELTA_GRPC: 'DELTA_GRPC',
|
||||
/**
|
||||
* SotW xDS gRPC with ADS. All resources which resolve to this configuration source will be
|
||||
* multiplexed on a single connection to an ADS endpoint.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
AGGREGATED_GRPC = 5,
|
||||
AGGREGATED_GRPC: 'AGGREGATED_GRPC',
|
||||
/**
|
||||
* Delta xDS gRPC with ADS. All resources which resolve to this configuration source will be
|
||||
* multiplexed on a single connection to an ADS endpoint.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
AGGREGATED_DELTA_GRPC = 6,
|
||||
}
|
||||
AGGREGATED_DELTA_GRPC: 'AGGREGATED_DELTA_GRPC',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* APIs may be fetched via either REST or gRPC.
|
||||
*/
|
||||
export type _envoy_config_core_v3_ApiConfigSource_ApiType =
|
||||
/**
|
||||
* Ideally this would be 'reserved 0' but one can't reserve the default
|
||||
* value. Instead we throw an exception if this is ever used.
|
||||
*/
|
||||
| 'DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE'
|
||||
| 0
|
||||
/**
|
||||
* REST-JSON v2 API. The `canonical JSON encoding
|
||||
* <https://developers.google.com/protocol-buffers/docs/proto3#json>`_ for
|
||||
* the v2 protos is used.
|
||||
*/
|
||||
| 'REST'
|
||||
| 1
|
||||
/**
|
||||
* SotW gRPC service.
|
||||
*/
|
||||
| 'GRPC'
|
||||
| 2
|
||||
/**
|
||||
* Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response}
|
||||
* rather than Discovery{Request,Response}. Rather than sending Envoy the entire state
|
||||
* with every update, the xDS server only sends what has changed since the last update.
|
||||
*/
|
||||
| 'DELTA_GRPC'
|
||||
| 3
|
||||
/**
|
||||
* SotW xDS gRPC with ADS. All resources which resolve to this configuration source will be
|
||||
* multiplexed on a single connection to an ADS endpoint.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
| 'AGGREGATED_GRPC'
|
||||
| 5
|
||||
/**
|
||||
* Delta xDS gRPC with ADS. All resources which resolve to this configuration source will be
|
||||
* multiplexed on a single connection to an ADS endpoint.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
| 'AGGREGATED_DELTA_GRPC'
|
||||
| 6
|
||||
|
||||
/**
|
||||
* APIs may be fetched via either REST or gRPC.
|
||||
*/
|
||||
export type _envoy_config_core_v3_ApiConfigSource_ApiType__Output = typeof _envoy_config_core_v3_ApiConfigSource_ApiType[keyof typeof _envoy_config_core_v3_ApiConfigSource_ApiType]
|
||||
|
||||
/**
|
||||
* API configuration source. This identifies the API type and cluster that Envoy
|
||||
|
@ -56,7 +106,7 @@ export interface ApiConfigSource {
|
|||
/**
|
||||
* API type (gRPC, REST, delta gRPC)
|
||||
*/
|
||||
'api_type'?: (_envoy_config_core_v3_ApiConfigSource_ApiType | keyof typeof _envoy_config_core_v3_ApiConfigSource_ApiType);
|
||||
'api_type'?: (_envoy_config_core_v3_ApiConfigSource_ApiType);
|
||||
/**
|
||||
* Cluster names should be used only with REST. If > 1
|
||||
* cluster is defined, clusters will be cycled through if any kind of failure
|
||||
|
@ -94,7 +144,7 @@ export interface ApiConfigSource {
|
|||
* API version for xDS transport protocol. This describes the xDS gRPC/REST
|
||||
* endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
|
||||
*/
|
||||
'transport_api_version'?: (_envoy_config_core_v3_ApiVersion | keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
'transport_api_version'?: (_envoy_config_core_v3_ApiVersion);
|
||||
/**
|
||||
* A list of config validators that will be executed when a new update is
|
||||
* received from the ApiConfigSource. Note that each validator handles a
|
||||
|
@ -117,7 +167,7 @@ export interface ApiConfigSource__Output {
|
|||
/**
|
||||
* API type (gRPC, REST, delta gRPC)
|
||||
*/
|
||||
'api_type': (keyof typeof _envoy_config_core_v3_ApiConfigSource_ApiType);
|
||||
'api_type': (_envoy_config_core_v3_ApiConfigSource_ApiType__Output);
|
||||
/**
|
||||
* Cluster names should be used only with REST. If > 1
|
||||
* cluster is defined, clusters will be cycled through if any kind of failure
|
||||
|
@ -155,7 +205,7 @@ export interface ApiConfigSource__Output {
|
|||
* API version for xDS transport protocol. This describes the xDS gRPC/REST
|
||||
* endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
|
||||
*/
|
||||
'transport_api_version': (keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
'transport_api_version': (_envoy_config_core_v3_ApiVersion__Output);
|
||||
/**
|
||||
* A list of config validators that will be executed when a new update is
|
||||
* received from the ApiConfigSource. Note that each validator handles a
|
||||
|
|
|
@ -4,19 +4,50 @@
|
|||
* xDS API and non-xDS services version. This is used to describe both resource and transport
|
||||
* protocol versions (in distinct configuration fields).
|
||||
*/
|
||||
export enum ApiVersion {
|
||||
export const ApiVersion = {
|
||||
/**
|
||||
* When not specified, we assume v2, to ease migration to Envoy's stable API
|
||||
* versioning. If a client does not support v2 (e.g. due to deprecation), this
|
||||
* is an invalid value.
|
||||
* @deprecated
|
||||
*/
|
||||
AUTO: 'AUTO',
|
||||
/**
|
||||
* Use xDS v2 API.
|
||||
* @deprecated
|
||||
*/
|
||||
V2: 'V2',
|
||||
/**
|
||||
* Use xDS v3 API.
|
||||
*/
|
||||
V3: 'V3',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* xDS API and non-xDS services version. This is used to describe both resource and transport
|
||||
* protocol versions (in distinct configuration fields).
|
||||
*/
|
||||
export type ApiVersion =
|
||||
/**
|
||||
* When not specified, we assume v2, to ease migration to Envoy's stable API
|
||||
* versioning. If a client does not support v2 (e.g. due to deprecation), this
|
||||
* is an invalid value.
|
||||
*/
|
||||
AUTO = 0,
|
||||
| 'AUTO'
|
||||
| 0
|
||||
/**
|
||||
* Use xDS v2 API.
|
||||
*/
|
||||
V2 = 1,
|
||||
| 'V2'
|
||||
| 1
|
||||
/**
|
||||
* Use xDS v3 API.
|
||||
*/
|
||||
V3 = 2,
|
||||
}
|
||||
| 'V3'
|
||||
| 2
|
||||
|
||||
/**
|
||||
* xDS API and non-xDS services version. This is used to describe both resource and transport
|
||||
* protocol versions (in distinct configuration fields).
|
||||
*/
|
||||
export type ApiVersion__Output = typeof ApiVersion[keyof typeof ApiVersion]
|
||||
|
|
|
@ -32,6 +32,7 @@ export interface BindConfig {
|
|||
/**
|
||||
* Deprecated by
|
||||
* :ref:`extra_source_addresses <envoy_v3_api_field_config.core.v3.BindConfig.extra_source_addresses>`
|
||||
* @deprecated
|
||||
*/
|
||||
'additional_source_addresses'?: (_envoy_config_core_v3_SocketAddress)[];
|
||||
/**
|
||||
|
@ -76,6 +77,7 @@ export interface BindConfig__Output {
|
|||
/**
|
||||
* Deprecated by
|
||||
* :ref:`extra_source_addresses <envoy_v3_api_field_config.core.v3.BindConfig.extra_source_addresses>`
|
||||
* @deprecated
|
||||
*/
|
||||
'additional_source_addresses': (_envoy_config_core_v3_SocketAddress__Output)[];
|
||||
/**
|
||||
|
|
|
@ -4,7 +4,7 @@ import type { ApiConfigSource as _envoy_config_core_v3_ApiConfigSource, ApiConfi
|
|||
import type { AggregatedConfigSource as _envoy_config_core_v3_AggregatedConfigSource, AggregatedConfigSource__Output as _envoy_config_core_v3_AggregatedConfigSource__Output } from '../../../../envoy/config/core/v3/AggregatedConfigSource';
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { SelfConfigSource as _envoy_config_core_v3_SelfConfigSource, SelfConfigSource__Output as _envoy_config_core_v3_SelfConfigSource__Output } from '../../../../envoy/config/core/v3/SelfConfigSource';
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion, ApiVersion__Output as _envoy_config_core_v3_ApiVersion__Output } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
import type { Authority as _xds_core_v3_Authority, Authority__Output as _xds_core_v3_Authority__Output } from '../../../../xds/core/v3/Authority';
|
||||
import type { PathConfigSource as _envoy_config_core_v3_PathConfigSource, PathConfigSource__Output as _envoy_config_core_v3_PathConfigSource__Output } from '../../../../envoy/config/core/v3/PathConfigSource';
|
||||
|
||||
|
@ -20,6 +20,7 @@ import type { PathConfigSource as _envoy_config_core_v3_PathConfigSource, PathCo
|
|||
export interface ConfigSource {
|
||||
/**
|
||||
* Deprecated in favor of ``path_config_source``. Use that field instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'path'?: (string);
|
||||
/**
|
||||
|
@ -60,7 +61,7 @@ export interface ConfigSource {
|
|||
* will request for resources and the resource type that the client will in
|
||||
* turn expect to be delivered.
|
||||
*/
|
||||
'resource_api_version'?: (_envoy_config_core_v3_ApiVersion | keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
'resource_api_version'?: (_envoy_config_core_v3_ApiVersion);
|
||||
/**
|
||||
* Authorities that this config source may be used for. An authority specified in a xdstp:// URL
|
||||
* is resolved to a ``ConfigSource`` prior to configuration fetch. This field provides the
|
||||
|
@ -87,6 +88,7 @@ export interface ConfigSource {
|
|||
export interface ConfigSource__Output {
|
||||
/**
|
||||
* Deprecated in favor of ``path_config_source``. Use that field instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'path'?: (string);
|
||||
/**
|
||||
|
@ -127,7 +129,7 @@ export interface ConfigSource__Output {
|
|||
* will request for resources and the resource type that the client will in
|
||||
* turn expect to be delivered.
|
||||
*/
|
||||
'resource_api_version': (keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
'resource_api_version': (_envoy_config_core_v3_ApiVersion__Output);
|
||||
/**
|
||||
* Authorities that this config source may be used for. An authority specified in a xdstp:// URL
|
||||
* is resolved to a ``ConfigSource`` prior to configuration fetch. This field provides the
|
||||
|
|
|
@ -24,6 +24,7 @@ export interface Extension {
|
|||
* [#not-implemented-hide:] Type descriptor of extension configuration proto.
|
||||
* [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.]
|
||||
* [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.]
|
||||
* @deprecated
|
||||
*/
|
||||
'type_descriptor'?: (string);
|
||||
/**
|
||||
|
@ -64,6 +65,7 @@ export interface Extension__Output {
|
|||
* [#not-implemented-hide:] Type descriptor of extension configuration proto.
|
||||
* [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.]
|
||||
* [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.]
|
||||
* @deprecated
|
||||
*/
|
||||
'type_descriptor': (string);
|
||||
/**
|
||||
|
|
|
@ -8,7 +8,7 @@ import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _goo
|
|||
/**
|
||||
* Describes the supported actions types for header append action.
|
||||
*/
|
||||
export enum _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction {
|
||||
export const _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction = {
|
||||
/**
|
||||
* If the header already exists, this action will result in:
|
||||
*
|
||||
|
@ -17,24 +17,63 @@ export enum _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction {
|
|||
*
|
||||
* If the header doesn't exist then this will add new header with specified key and value.
|
||||
*/
|
||||
APPEND_IF_EXISTS_OR_ADD = 0,
|
||||
APPEND_IF_EXISTS_OR_ADD: 'APPEND_IF_EXISTS_OR_ADD',
|
||||
/**
|
||||
* This action will add the header if it doesn't already exist. If the header
|
||||
* already exists then this will be a no-op.
|
||||
*/
|
||||
ADD_IF_ABSENT = 1,
|
||||
ADD_IF_ABSENT: 'ADD_IF_ABSENT',
|
||||
/**
|
||||
* This action will overwrite the specified value by discarding any existing values if
|
||||
* the header already exists. If the header doesn't exist then this will add the header
|
||||
* with specified key and value.
|
||||
*/
|
||||
OVERWRITE_IF_EXISTS_OR_ADD = 2,
|
||||
OVERWRITE_IF_EXISTS_OR_ADD: 'OVERWRITE_IF_EXISTS_OR_ADD',
|
||||
/**
|
||||
* This action will overwrite the specified value by discarding any existing values if
|
||||
* the header already exists. If the header doesn't exist then this will be no-op.
|
||||
*/
|
||||
OVERWRITE_IF_EXISTS = 3,
|
||||
}
|
||||
OVERWRITE_IF_EXISTS: 'OVERWRITE_IF_EXISTS',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Describes the supported actions types for header append action.
|
||||
*/
|
||||
export type _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction =
|
||||
/**
|
||||
* If the header already exists, this action will result in:
|
||||
*
|
||||
* - Comma-concatenated for predefined inline headers.
|
||||
* - Duplicate header added in the ``HeaderMap`` for other headers.
|
||||
*
|
||||
* If the header doesn't exist then this will add new header with specified key and value.
|
||||
*/
|
||||
| 'APPEND_IF_EXISTS_OR_ADD'
|
||||
| 0
|
||||
/**
|
||||
* This action will add the header if it doesn't already exist. If the header
|
||||
* already exists then this will be a no-op.
|
||||
*/
|
||||
| 'ADD_IF_ABSENT'
|
||||
| 1
|
||||
/**
|
||||
* This action will overwrite the specified value by discarding any existing values if
|
||||
* the header already exists. If the header doesn't exist then this will add the header
|
||||
* with specified key and value.
|
||||
*/
|
||||
| 'OVERWRITE_IF_EXISTS_OR_ADD'
|
||||
| 2
|
||||
/**
|
||||
* This action will overwrite the specified value by discarding any existing values if
|
||||
* the header already exists. If the header doesn't exist then this will be no-op.
|
||||
*/
|
||||
| 'OVERWRITE_IF_EXISTS'
|
||||
| 3
|
||||
|
||||
/**
|
||||
* Describes the supported actions types for header append action.
|
||||
*/
|
||||
export type _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction__Output = typeof _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction[keyof typeof _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction]
|
||||
|
||||
/**
|
||||
* Header name/value pair plus option to control append behavior.
|
||||
|
@ -54,6 +93,7 @@ export interface HeaderValueOption {
|
|||
* The :ref:`external authorization service <envoy_v3_api_msg_service.auth.v3.CheckResponse>` and
|
||||
* :ref:`external processor service <envoy_v3_api_msg_service.ext_proc.v3.ProcessingResponse>` have
|
||||
* default value (``false``) for this field.
|
||||
* @deprecated
|
||||
*/
|
||||
'append'?: (_google_protobuf_BoolValue | null);
|
||||
/**
|
||||
|
@ -62,7 +102,7 @@ export interface HeaderValueOption {
|
|||
* Value defaults to :ref:`APPEND_IF_EXISTS_OR_ADD
|
||||
* <envoy_v3_api_enum_value_config.core.v3.HeaderValueOption.HeaderAppendAction.APPEND_IF_EXISTS_OR_ADD>`.
|
||||
*/
|
||||
'append_action'?: (_envoy_config_core_v3_HeaderValueOption_HeaderAppendAction | keyof typeof _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction);
|
||||
'append_action'?: (_envoy_config_core_v3_HeaderValueOption_HeaderAppendAction);
|
||||
/**
|
||||
* Is the header value allowed to be empty? If false (default), custom headers with empty values are dropped,
|
||||
* otherwise they are added.
|
||||
|
@ -88,6 +128,7 @@ export interface HeaderValueOption__Output {
|
|||
* The :ref:`external authorization service <envoy_v3_api_msg_service.auth.v3.CheckResponse>` and
|
||||
* :ref:`external processor service <envoy_v3_api_msg_service.ext_proc.v3.ProcessingResponse>` have
|
||||
* default value (``false``) for this field.
|
||||
* @deprecated
|
||||
*/
|
||||
'append': (_google_protobuf_BoolValue__Output | null);
|
||||
/**
|
||||
|
@ -96,7 +137,7 @@ export interface HeaderValueOption__Output {
|
|||
* Value defaults to :ref:`APPEND_IF_EXISTS_OR_ADD
|
||||
* <envoy_v3_api_enum_value_config.core.v3.HeaderValueOption.HeaderAppendAction.APPEND_IF_EXISTS_OR_ADD>`.
|
||||
*/
|
||||
'append_action': (keyof typeof _envoy_config_core_v3_HeaderValueOption_HeaderAppendAction);
|
||||
'append_action': (_envoy_config_core_v3_HeaderValueOption_HeaderAppendAction__Output);
|
||||
/**
|
||||
* Is the header value allowed to be empty? If false (default), custom headers with empty values are dropped,
|
||||
* otherwise they are added.
|
||||
|
|
|
@ -9,11 +9,10 @@ import type { TypedExtensionConfig as _envoy_config_core_v3_TypedExtensionConfig
|
|||
import type { UInt64Value as _google_protobuf_UInt64Value, UInt64Value__Output as _google_protobuf_UInt64Value__Output } from '../../../../google/protobuf/UInt64Value';
|
||||
import type { HeaderValueOption as _envoy_config_core_v3_HeaderValueOption, HeaderValueOption__Output as _envoy_config_core_v3_HeaderValueOption__Output } from '../../../../envoy/config/core/v3/HeaderValueOption';
|
||||
import type { Int64Range as _envoy_type_v3_Int64Range, Int64Range__Output as _envoy_type_v3_Int64Range__Output } from '../../../../envoy/type/v3/Int64Range';
|
||||
import type { CodecClientType as _envoy_type_v3_CodecClientType } from '../../../../envoy/type/v3/CodecClientType';
|
||||
import type { CodecClientType as _envoy_type_v3_CodecClientType, CodecClientType__Output as _envoy_type_v3_CodecClientType__Output } from '../../../../envoy/type/v3/CodecClientType';
|
||||
import type { StringMatcher as _envoy_type_matcher_v3_StringMatcher, StringMatcher__Output as _envoy_type_matcher_v3_StringMatcher__Output } from '../../../../envoy/type/matcher/v3/StringMatcher';
|
||||
import type { RequestMethod as _envoy_config_core_v3_RequestMethod } from '../../../../envoy/config/core/v3/RequestMethod';
|
||||
import type { RequestMethod as _envoy_config_core_v3_RequestMethod, RequestMethod__Output as _envoy_config_core_v3_RequestMethod__Output } from '../../../../envoy/config/core/v3/RequestMethod';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
* Custom health check.
|
||||
|
@ -183,7 +182,7 @@ export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck {
|
|||
/**
|
||||
* Use specified application protocol for health checks.
|
||||
*/
|
||||
'codec_client_type'?: (_envoy_type_v3_CodecClientType | keyof typeof _envoy_type_v3_CodecClientType);
|
||||
'codec_client_type'?: (_envoy_type_v3_CodecClientType);
|
||||
/**
|
||||
* An optional service name parameter which is used to validate the identity of
|
||||
* the health checked cluster using a :ref:`StringMatcher
|
||||
|
@ -197,7 +196,7 @@ export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck {
|
|||
* CONNECT method is disallowed because it is not appropriate for health check request.
|
||||
* If a non-200 response is expected by the method, it needs to be set in :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>`.
|
||||
*/
|
||||
'method'?: (_envoy_config_core_v3_RequestMethod | keyof typeof _envoy_config_core_v3_RequestMethod);
|
||||
'method'?: (_envoy_config_core_v3_RequestMethod);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -272,7 +271,7 @@ export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck__Output {
|
|||
/**
|
||||
* Use specified application protocol for health checks.
|
||||
*/
|
||||
'codec_client_type': (keyof typeof _envoy_type_v3_CodecClientType);
|
||||
'codec_client_type': (_envoy_type_v3_CodecClientType__Output);
|
||||
/**
|
||||
* An optional service name parameter which is used to validate the identity of
|
||||
* the health checked cluster using a :ref:`StringMatcher
|
||||
|
@ -286,7 +285,7 @@ export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck__Output {
|
|||
* CONNECT method is disallowed because it is not appropriate for health check request.
|
||||
* If a non-200 response is expected by the method, it needs to be set in :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>`.
|
||||
*/
|
||||
'method': (keyof typeof _envoy_config_core_v3_RequestMethod);
|
||||
'method': (_envoy_config_core_v3_RequestMethod__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -497,6 +496,7 @@ export interface HealthCheck {
|
|||
* in the file sink extension.
|
||||
*
|
||||
* Specifies the path to the :ref:`health check event log <arch_overview_health_check_logging>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'event_log_path'?: (string);
|
||||
/**
|
||||
|
@ -687,6 +687,7 @@ export interface HealthCheck__Output {
|
|||
* in the file sink extension.
|
||||
*
|
||||
* Specifies the path to the :ref:`health check event log <arch_overview_health_check_logging>`.
|
||||
* @deprecated
|
||||
*/
|
||||
'event_log_path': (string);
|
||||
/**
|
||||
|
|
|
@ -3,19 +3,19 @@
|
|||
/**
|
||||
* Endpoint health status.
|
||||
*/
|
||||
export enum HealthStatus {
|
||||
export const HealthStatus = {
|
||||
/**
|
||||
* The health status is not known. This is interpreted by Envoy as ``HEALTHY``.
|
||||
*/
|
||||
UNKNOWN = 0,
|
||||
UNKNOWN: 'UNKNOWN',
|
||||
/**
|
||||
* Healthy.
|
||||
*/
|
||||
HEALTHY = 1,
|
||||
HEALTHY: 'HEALTHY',
|
||||
/**
|
||||
* Unhealthy.
|
||||
*/
|
||||
UNHEALTHY = 2,
|
||||
UNHEALTHY: 'UNHEALTHY',
|
||||
/**
|
||||
* Connection draining in progress. E.g.,
|
||||
* `<https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/>`_
|
||||
|
@ -23,14 +23,59 @@ export enum HealthStatus {
|
|||
* `<https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining>`_.
|
||||
* This is interpreted by Envoy as ``UNHEALTHY``.
|
||||
*/
|
||||
DRAINING = 3,
|
||||
DRAINING: 'DRAINING',
|
||||
/**
|
||||
* Health check timed out. This is part of HDS and is interpreted by Envoy as
|
||||
* ``UNHEALTHY``.
|
||||
*/
|
||||
TIMEOUT = 4,
|
||||
TIMEOUT: 'TIMEOUT',
|
||||
/**
|
||||
* Degraded.
|
||||
*/
|
||||
DEGRADED = 5,
|
||||
}
|
||||
DEGRADED: 'DEGRADED',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Endpoint health status.
|
||||
*/
|
||||
export type HealthStatus =
|
||||
/**
|
||||
* The health status is not known. This is interpreted by Envoy as ``HEALTHY``.
|
||||
*/
|
||||
| 'UNKNOWN'
|
||||
| 0
|
||||
/**
|
||||
* Healthy.
|
||||
*/
|
||||
| 'HEALTHY'
|
||||
| 1
|
||||
/**
|
||||
* Unhealthy.
|
||||
*/
|
||||
| 'UNHEALTHY'
|
||||
| 2
|
||||
/**
|
||||
* Connection draining in progress. E.g.,
|
||||
* `<https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/>`_
|
||||
* or
|
||||
* `<https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining>`_.
|
||||
* This is interpreted by Envoy as ``UNHEALTHY``.
|
||||
*/
|
||||
| 'DRAINING'
|
||||
| 3
|
||||
/**
|
||||
* Health check timed out. This is part of HDS and is interpreted by Envoy as
|
||||
* ``UNHEALTHY``.
|
||||
*/
|
||||
| 'TIMEOUT'
|
||||
| 4
|
||||
/**
|
||||
* Degraded.
|
||||
*/
|
||||
| 'DEGRADED'
|
||||
| 5
|
||||
|
||||
/**
|
||||
* Endpoint health status.
|
||||
*/
|
||||
export type HealthStatus__Output = typeof HealthStatus[keyof typeof HealthStatus]
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/health_check.proto
|
||||
|
||||
import type { HealthStatus as _envoy_config_core_v3_HealthStatus } from '../../../../envoy/config/core/v3/HealthStatus';
|
||||
import type { HealthStatus as _envoy_config_core_v3_HealthStatus, HealthStatus__Output as _envoy_config_core_v3_HealthStatus__Output } from '../../../../envoy/config/core/v3/HealthStatus';
|
||||
|
||||
export interface HealthStatusSet {
|
||||
/**
|
||||
* An order-independent set of health status.
|
||||
*/
|
||||
'statuses'?: (_envoy_config_core_v3_HealthStatus | keyof typeof _envoy_config_core_v3_HealthStatus)[];
|
||||
'statuses'?: (_envoy_config_core_v3_HealthStatus)[];
|
||||
}
|
||||
|
||||
export interface HealthStatusSet__Output {
|
||||
/**
|
||||
* An order-independent set of health status.
|
||||
*/
|
||||
'statuses': (keyof typeof _envoy_config_core_v3_HealthStatus)[];
|
||||
'statuses': (_envoy_config_core_v3_HealthStatus__Output)[];
|
||||
}
|
||||
|
|
|
@ -159,6 +159,7 @@ export interface Http2ProtocolOptions {
|
|||
* <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
|
||||
*
|
||||
* See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
|
||||
* @deprecated
|
||||
*/
|
||||
'stream_error_on_invalid_http_messaging'?: (boolean);
|
||||
/**
|
||||
|
@ -339,6 +340,7 @@ export interface Http2ProtocolOptions__Output {
|
|||
* <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
|
||||
*
|
||||
* See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
|
||||
* @deprecated
|
||||
*/
|
||||
'stream_error_on_invalid_http_messaging': (boolean);
|
||||
/**
|
||||
|
|
|
@ -12,24 +12,61 @@ import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output a
|
|||
* as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore
|
||||
* characters.
|
||||
*/
|
||||
export enum _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction {
|
||||
export const _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction = {
|
||||
/**
|
||||
* Allow headers with underscores. This is the default behavior.
|
||||
*/
|
||||
ALLOW = 0,
|
||||
ALLOW: 'ALLOW',
|
||||
/**
|
||||
* Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests
|
||||
* end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter
|
||||
* is incremented for each rejected request.
|
||||
*/
|
||||
REJECT_REQUEST = 1,
|
||||
REJECT_REQUEST: 'REJECT_REQUEST',
|
||||
/**
|
||||
* Drop the client header with name containing underscores. The header is dropped before the filter chain is
|
||||
* invoked and as such filters will not see dropped headers. The
|
||||
* "httpN.dropped_headers_with_underscores" is incremented for each dropped header.
|
||||
*/
|
||||
DROP_HEADER = 2,
|
||||
}
|
||||
DROP_HEADER: 'DROP_HEADER',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Action to take when Envoy receives client request with header names containing underscore
|
||||
* characters.
|
||||
* Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented
|
||||
* as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore
|
||||
* characters.
|
||||
*/
|
||||
export type _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction =
|
||||
/**
|
||||
* Allow headers with underscores. This is the default behavior.
|
||||
*/
|
||||
| 'ALLOW'
|
||||
| 0
|
||||
/**
|
||||
* Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests
|
||||
* end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter
|
||||
* is incremented for each rejected request.
|
||||
*/
|
||||
| 'REJECT_REQUEST'
|
||||
| 1
|
||||
/**
|
||||
* Drop the client header with name containing underscores. The header is dropped before the filter chain is
|
||||
* invoked and as such filters will not see dropped headers. The
|
||||
* "httpN.dropped_headers_with_underscores" is incremented for each dropped header.
|
||||
*/
|
||||
| 'DROP_HEADER'
|
||||
| 2
|
||||
|
||||
/**
|
||||
* Action to take when Envoy receives client request with header names containing underscore
|
||||
* characters.
|
||||
* Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented
|
||||
* as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore
|
||||
* characters.
|
||||
*/
|
||||
export type _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction__Output = typeof _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction[keyof typeof _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction]
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
|
@ -81,7 +118,7 @@ export interface HttpProtocolOptions {
|
|||
* Note: this only affects client headers. It does not affect headers added
|
||||
* by Envoy filters and does not have any impact if added to cluster config.
|
||||
*/
|
||||
'headers_with_underscores_action'?: (_envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction | keyof typeof _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction);
|
||||
'headers_with_underscores_action'?: (_envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction);
|
||||
/**
|
||||
* Optional maximum requests for both upstream and downstream connections.
|
||||
* If not specified, there is no limit.
|
||||
|
@ -141,7 +178,7 @@ export interface HttpProtocolOptions__Output {
|
|||
* Note: this only affects client headers. It does not affect headers added
|
||||
* by Envoy filters and does not have any impact if added to cluster config.
|
||||
*/
|
||||
'headers_with_underscores_action': (keyof typeof _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction);
|
||||
'headers_with_underscores_action': (_envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction__Output);
|
||||
/**
|
||||
* Optional maximum requests for both upstream and downstream connections.
|
||||
* If not specified, there is no limit.
|
||||
|
|
|
@ -78,6 +78,7 @@ export interface Node {
|
|||
* for filtering :ref:`listeners <config_listeners>` to be returned. For example,
|
||||
* if there is a listener bound to port 80, the list can optionally contain the
|
||||
* SocketAddress ``(0.0.0.0,80)``. The field is optional and just a hint.
|
||||
* @deprecated
|
||||
*/
|
||||
'listening_addresses'?: (_envoy_config_core_v3_Address)[];
|
||||
/**
|
||||
|
@ -162,6 +163,7 @@ export interface Node__Output {
|
|||
* for filtering :ref:`listeners <config_listeners>` to be returned. For example,
|
||||
* if there is a listener bound to port 80, the list can optionally contain the
|
||||
* SocketAddress ``(0.0.0.0,80)``. The field is optional and just a hint.
|
||||
* @deprecated
|
||||
*/
|
||||
'listening_addresses': (_envoy_config_core_v3_Address__Output)[];
|
||||
/**
|
||||
|
|
|
@ -4,22 +4,36 @@ import type { ProxyProtocolPassThroughTLVs as _envoy_config_core_v3_ProxyProtoco
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/proxy_protocol.proto
|
||||
|
||||
export enum _envoy_config_core_v3_ProxyProtocolConfig_Version {
|
||||
export const _envoy_config_core_v3_ProxyProtocolConfig_Version = {
|
||||
/**
|
||||
* PROXY protocol version 1. Human readable format.
|
||||
*/
|
||||
V1 = 0,
|
||||
V1: 'V1',
|
||||
/**
|
||||
* PROXY protocol version 2. Binary format.
|
||||
*/
|
||||
V2 = 1,
|
||||
}
|
||||
V2: 'V2',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_core_v3_ProxyProtocolConfig_Version =
|
||||
/**
|
||||
* PROXY protocol version 1. Human readable format.
|
||||
*/
|
||||
| 'V1'
|
||||
| 0
|
||||
/**
|
||||
* PROXY protocol version 2. Binary format.
|
||||
*/
|
||||
| 'V2'
|
||||
| 1
|
||||
|
||||
export type _envoy_config_core_v3_ProxyProtocolConfig_Version__Output = typeof _envoy_config_core_v3_ProxyProtocolConfig_Version[keyof typeof _envoy_config_core_v3_ProxyProtocolConfig_Version]
|
||||
|
||||
export interface ProxyProtocolConfig {
|
||||
/**
|
||||
* The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details
|
||||
*/
|
||||
'version'?: (_envoy_config_core_v3_ProxyProtocolConfig_Version | keyof typeof _envoy_config_core_v3_ProxyProtocolConfig_Version);
|
||||
'version'?: (_envoy_config_core_v3_ProxyProtocolConfig_Version);
|
||||
/**
|
||||
* This config controls which TLVs can be passed to upstream if it is Proxy Protocol
|
||||
* V2 header. If there is no setting for this field, no TLVs will be passed through.
|
||||
|
@ -31,7 +45,7 @@ export interface ProxyProtocolConfig__Output {
|
|||
/**
|
||||
* The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details
|
||||
*/
|
||||
'version': (keyof typeof _envoy_config_core_v3_ProxyProtocolConfig_Version);
|
||||
'version': (_envoy_config_core_v3_ProxyProtocolConfig_Version__Output);
|
||||
/**
|
||||
* This config controls which TLVs can be passed to upstream if it is Proxy Protocol
|
||||
* V2 header. If there is no setting for this field, no TLVs will be passed through.
|
||||
|
|
|
@ -3,23 +3,37 @@
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/proxy_protocol.proto
|
||||
|
||||
export enum _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType {
|
||||
export const _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType = {
|
||||
/**
|
||||
* Pass all TLVs.
|
||||
*/
|
||||
INCLUDE_ALL = 0,
|
||||
INCLUDE_ALL: 'INCLUDE_ALL',
|
||||
/**
|
||||
* Pass specific TLVs defined in tlv_type.
|
||||
*/
|
||||
INCLUDE = 1,
|
||||
}
|
||||
INCLUDE: 'INCLUDE',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType =
|
||||
/**
|
||||
* Pass all TLVs.
|
||||
*/
|
||||
| 'INCLUDE_ALL'
|
||||
| 0
|
||||
/**
|
||||
* Pass specific TLVs defined in tlv_type.
|
||||
*/
|
||||
| 'INCLUDE'
|
||||
| 1
|
||||
|
||||
export type _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType__Output = typeof _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType[keyof typeof _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType]
|
||||
|
||||
export interface ProxyProtocolPassThroughTLVs {
|
||||
/**
|
||||
* The strategy to pass through TLVs. Default is INCLUDE_ALL.
|
||||
* If INCLUDE_ALL is set, all TLVs will be passed through no matter the tlv_type field.
|
||||
*/
|
||||
'match_type'?: (_envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType | keyof typeof _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType);
|
||||
'match_type'?: (_envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType);
|
||||
/**
|
||||
* The TLV types that are applied based on match_type.
|
||||
* TLV type is defined as uint8_t in proxy protocol. See `the spec
|
||||
|
@ -33,7 +47,7 @@ export interface ProxyProtocolPassThroughTLVs__Output {
|
|||
* The strategy to pass through TLVs. Default is INCLUDE_ALL.
|
||||
* If INCLUDE_ALL is set, all TLVs will be passed through no matter the tlv_type field.
|
||||
*/
|
||||
'match_type': (keyof typeof _envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType);
|
||||
'match_type': (_envoy_config_core_v3_ProxyProtocolPassThroughTLVs_PassTLVsMatchType__Output);
|
||||
/**
|
||||
* The TLV types that are applied based on match_type.
|
||||
* TLV type is defined as uint8_t in proxy protocol. See `the spec
|
||||
|
|
|
@ -3,15 +3,45 @@
|
|||
/**
|
||||
* HTTP request method.
|
||||
*/
|
||||
export enum RequestMethod {
|
||||
METHOD_UNSPECIFIED = 0,
|
||||
GET = 1,
|
||||
HEAD = 2,
|
||||
POST = 3,
|
||||
PUT = 4,
|
||||
DELETE = 5,
|
||||
CONNECT = 6,
|
||||
OPTIONS = 7,
|
||||
TRACE = 8,
|
||||
PATCH = 9,
|
||||
}
|
||||
export const RequestMethod = {
|
||||
METHOD_UNSPECIFIED: 'METHOD_UNSPECIFIED',
|
||||
GET: 'GET',
|
||||
HEAD: 'HEAD',
|
||||
POST: 'POST',
|
||||
PUT: 'PUT',
|
||||
DELETE: 'DELETE',
|
||||
CONNECT: 'CONNECT',
|
||||
OPTIONS: 'OPTIONS',
|
||||
TRACE: 'TRACE',
|
||||
PATCH: 'PATCH',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* HTTP request method.
|
||||
*/
|
||||
export type RequestMethod =
|
||||
| 'METHOD_UNSPECIFIED'
|
||||
| 0
|
||||
| 'GET'
|
||||
| 1
|
||||
| 'HEAD'
|
||||
| 2
|
||||
| 'POST'
|
||||
| 3
|
||||
| 'PUT'
|
||||
| 4
|
||||
| 'DELETE'
|
||||
| 5
|
||||
| 'CONNECT'
|
||||
| 6
|
||||
| 'OPTIONS'
|
||||
| 7
|
||||
| 'TRACE'
|
||||
| 8
|
||||
| 'PATCH'
|
||||
| 9
|
||||
|
||||
/**
|
||||
* HTTP request method.
|
||||
*/
|
||||
export type RequestMethod__Output = typeof RequestMethod[keyof typeof RequestMethod]
|
||||
|
|
|
@ -9,7 +9,33 @@
|
|||
* upstream host. In the future Envoy will likely support true HTTP/2 priority
|
||||
* over a single upstream connection.
|
||||
*/
|
||||
export enum RoutingPriority {
|
||||
DEFAULT = 0,
|
||||
HIGH = 1,
|
||||
}
|
||||
export const RoutingPriority = {
|
||||
DEFAULT: 'DEFAULT',
|
||||
HIGH: 'HIGH',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Envoy supports :ref:`upstream priority routing
|
||||
* <arch_overview_http_routing_priority>` both at the route and the virtual
|
||||
* cluster level. The current priority implementation uses different connection
|
||||
* pool and circuit breaking settings for each priority level. This means that
|
||||
* even for HTTP/2 requests, two physical connections will be used to an
|
||||
* upstream host. In the future Envoy will likely support true HTTP/2 priority
|
||||
* over a single upstream connection.
|
||||
*/
|
||||
export type RoutingPriority =
|
||||
| 'DEFAULT'
|
||||
| 0
|
||||
| 'HIGH'
|
||||
| 1
|
||||
|
||||
/**
|
||||
* Envoy supports :ref:`upstream priority routing
|
||||
* <arch_overview_http_routing_priority>` both at the route and the virtual
|
||||
* cluster level. The current priority implementation uses different connection
|
||||
* pool and circuit breaking settings for each priority level. This means that
|
||||
* even for HTTP/2 requests, two physical connections will be used to an
|
||||
* upstream host. In the future Envoy will likely support true HTTP/2 priority
|
||||
* over a single upstream connection.
|
||||
*/
|
||||
export type RoutingPriority__Output = typeof RoutingPriority[keyof typeof RoutingPriority]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion, ApiVersion__Output as _envoy_config_core_v3_ApiVersion__Output } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
|
@ -13,7 +13,7 @@ export interface SelfConfigSource {
|
|||
* API version for xDS transport protocol. This describes the xDS gRPC/REST
|
||||
* endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
|
||||
*/
|
||||
'transport_api_version'?: (_envoy_config_core_v3_ApiVersion | keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
'transport_api_version'?: (_envoy_config_core_v3_ApiVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -27,5 +27,5 @@ export interface SelfConfigSource__Output {
|
|||
* API version for xDS transport protocol. This describes the xDS gRPC/REST
|
||||
* endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
|
||||
*/
|
||||
'transport_api_version': (keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
'transport_api_version': (_envoy_config_core_v3_ApiVersion__Output);
|
||||
}
|
||||
|
|
|
@ -3,16 +3,24 @@
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/address.proto
|
||||
|
||||
export enum _envoy_config_core_v3_SocketAddress_Protocol {
|
||||
TCP = 0,
|
||||
UDP = 1,
|
||||
}
|
||||
export const _envoy_config_core_v3_SocketAddress_Protocol = {
|
||||
TCP: 'TCP',
|
||||
UDP: 'UDP',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_core_v3_SocketAddress_Protocol =
|
||||
| 'TCP'
|
||||
| 0
|
||||
| 'UDP'
|
||||
| 1
|
||||
|
||||
export type _envoy_config_core_v3_SocketAddress_Protocol__Output = typeof _envoy_config_core_v3_SocketAddress_Protocol[keyof typeof _envoy_config_core_v3_SocketAddress_Protocol]
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface SocketAddress {
|
||||
'protocol'?: (_envoy_config_core_v3_SocketAddress_Protocol | keyof typeof _envoy_config_core_v3_SocketAddress_Protocol);
|
||||
'protocol'?: (_envoy_config_core_v3_SocketAddress_Protocol);
|
||||
/**
|
||||
* The address for this socket. :ref:`Listeners <config_listeners>` will bind
|
||||
* to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
|
||||
|
@ -56,7 +64,7 @@ export interface SocketAddress {
|
|||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface SocketAddress__Output {
|
||||
'protocol': (keyof typeof _envoy_config_core_v3_SocketAddress_Protocol);
|
||||
'protocol': (_envoy_config_core_v3_SocketAddress_Protocol__Output);
|
||||
/**
|
||||
* The address for this socket. :ref:`Listeners <config_listeners>` will bind
|
||||
* to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
|
||||
|
|
|
@ -4,20 +4,39 @@ import type { Long } from '@grpc/proto-loader';
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/socket_option.proto
|
||||
|
||||
export enum _envoy_config_core_v3_SocketOption_SocketState {
|
||||
export const _envoy_config_core_v3_SocketOption_SocketState = {
|
||||
/**
|
||||
* Socket options are applied after socket creation but before binding the socket to a port
|
||||
*/
|
||||
STATE_PREBIND = 0,
|
||||
STATE_PREBIND: 'STATE_PREBIND',
|
||||
/**
|
||||
* Socket options are applied after binding the socket to a port but before calling listen()
|
||||
*/
|
||||
STATE_BOUND = 1,
|
||||
STATE_BOUND: 'STATE_BOUND',
|
||||
/**
|
||||
* Socket options are applied after calling listen()
|
||||
*/
|
||||
STATE_LISTENING = 2,
|
||||
}
|
||||
STATE_LISTENING: 'STATE_LISTENING',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_core_v3_SocketOption_SocketState =
|
||||
/**
|
||||
* Socket options are applied after socket creation but before binding the socket to a port
|
||||
*/
|
||||
| 'STATE_PREBIND'
|
||||
| 0
|
||||
/**
|
||||
* Socket options are applied after binding the socket to a port but before calling listen()
|
||||
*/
|
||||
| 'STATE_BOUND'
|
||||
| 1
|
||||
/**
|
||||
* Socket options are applied after calling listen()
|
||||
*/
|
||||
| 'STATE_LISTENING'
|
||||
| 2
|
||||
|
||||
export type _envoy_config_core_v3_SocketOption_SocketState__Output = typeof _envoy_config_core_v3_SocketOption_SocketState[keyof typeof _envoy_config_core_v3_SocketOption_SocketState]
|
||||
|
||||
/**
|
||||
* Generic socket option message. This would be used to set socket options that
|
||||
|
@ -70,7 +89,7 @@ export interface SocketOption {
|
|||
* The state in which the option will be applied. When used in BindConfig
|
||||
* STATE_PREBIND is currently the only valid value.
|
||||
*/
|
||||
'state'?: (_envoy_config_core_v3_SocketOption_SocketState | keyof typeof _envoy_config_core_v3_SocketOption_SocketState);
|
||||
'state'?: (_envoy_config_core_v3_SocketOption_SocketState);
|
||||
'value'?: "int_value"|"buf_value";
|
||||
}
|
||||
|
||||
|
@ -125,6 +144,6 @@ export interface SocketOption__Output {
|
|||
* The state in which the option will be applied. When used in BindConfig
|
||||
* STATE_PREBIND is currently the only valid value.
|
||||
*/
|
||||
'state': (keyof typeof _envoy_config_core_v3_SocketOption_SocketState);
|
||||
'state': (_envoy_config_core_v3_SocketOption_SocketState__Output);
|
||||
'value': "int_value"|"buf_value";
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ export interface SubstitutionFormatString {
|
|||
* upstream connect error:503:path=/foo
|
||||
*
|
||||
* Deprecated in favor of :ref:`text_format_source <envoy_v3_api_field_config.core.v3.SubstitutionFormatString.text_format_source>`. To migrate text format strings, use the :ref:`inline_string <envoy_v3_api_field_config.core.v3.DataSource.inline_string>` field.
|
||||
* @deprecated
|
||||
*/
|
||||
'text_format'?: (string);
|
||||
/**
|
||||
|
@ -130,6 +131,7 @@ export interface SubstitutionFormatString__Output {
|
|||
* upstream connect error:503:path=/foo
|
||||
*
|
||||
* Deprecated in favor of :ref:`text_format_source <envoy_v3_api_field_config.core.v3.SubstitutionFormatString.text_format_source>`. To migrate text format strings, use the :ref:`inline_string <envoy_v3_api_field_config.core.v3.DataSource.inline_string>` field.
|
||||
* @deprecated
|
||||
*/
|
||||
'text_format'?: (string);
|
||||
/**
|
||||
|
|
|
@ -3,17 +3,42 @@
|
|||
/**
|
||||
* Identifies the direction of the traffic relative to the local Envoy.
|
||||
*/
|
||||
export enum TrafficDirection {
|
||||
export const TrafficDirection = {
|
||||
/**
|
||||
* Default option is unspecified.
|
||||
*/
|
||||
UNSPECIFIED = 0,
|
||||
UNSPECIFIED: 'UNSPECIFIED',
|
||||
/**
|
||||
* The transport is used for incoming traffic.
|
||||
*/
|
||||
INBOUND = 1,
|
||||
INBOUND: 'INBOUND',
|
||||
/**
|
||||
* The transport is used for outgoing traffic.
|
||||
*/
|
||||
OUTBOUND = 2,
|
||||
}
|
||||
OUTBOUND: 'OUTBOUND',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* Identifies the direction of the traffic relative to the local Envoy.
|
||||
*/
|
||||
export type TrafficDirection =
|
||||
/**
|
||||
* Default option is unspecified.
|
||||
*/
|
||||
| 'UNSPECIFIED'
|
||||
| 0
|
||||
/**
|
||||
* The transport is used for incoming traffic.
|
||||
*/
|
||||
| 'INBOUND'
|
||||
| 1
|
||||
/**
|
||||
* The transport is used for outgoing traffic.
|
||||
*/
|
||||
| 'OUTBOUND'
|
||||
| 2
|
||||
|
||||
/**
|
||||
* Identifies the direction of the traffic relative to the local Envoy.
|
||||
*/
|
||||
export type TrafficDirection__Output = typeof TrafficDirection[keyof typeof TrafficDirection]
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
import type { UInt64Value as _google_protobuf_UInt64Value, UInt64Value__Output as _google_protobuf_UInt64Value__Output } from '../../../../google/protobuf/UInt64Value';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
* Generic UDP socket configuration.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// Original file: deps/envoy-api/envoy/config/endpoint/v3/endpoint_components.proto
|
||||
|
||||
import type { Endpoint as _envoy_config_endpoint_v3_Endpoint, Endpoint__Output as _envoy_config_endpoint_v3_Endpoint__Output } from '../../../../envoy/config/endpoint/v3/Endpoint';
|
||||
import type { HealthStatus as _envoy_config_core_v3_HealthStatus } from '../../../../envoy/config/core/v3/HealthStatus';
|
||||
import type { HealthStatus as _envoy_config_core_v3_HealthStatus, HealthStatus__Output as _envoy_config_core_v3_HealthStatus__Output } from '../../../../envoy/config/core/v3/HealthStatus';
|
||||
import type { Metadata as _envoy_config_core_v3_Metadata, Metadata__Output as _envoy_config_core_v3_Metadata__Output } from '../../../../envoy/config/core/v3/Metadata';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
|
||||
|
@ -14,7 +14,7 @@ export interface LbEndpoint {
|
|||
/**
|
||||
* Optional health status when known and supplied by EDS server.
|
||||
*/
|
||||
'health_status'?: (_envoy_config_core_v3_HealthStatus | keyof typeof _envoy_config_core_v3_HealthStatus);
|
||||
'health_status'?: (_envoy_config_core_v3_HealthStatus);
|
||||
/**
|
||||
* The endpoint metadata specifies values that may be used by the load
|
||||
* balancer to select endpoints in a cluster for a given request. The filter
|
||||
|
@ -56,7 +56,7 @@ export interface LbEndpoint__Output {
|
|||
/**
|
||||
* Optional health status when known and supplied by EDS server.
|
||||
*/
|
||||
'health_status': (keyof typeof _envoy_config_core_v3_HealthStatus);
|
||||
'health_status': (_envoy_config_core_v3_HealthStatus__Output);
|
||||
/**
|
||||
* The endpoint metadata specifies values that may be used by the load
|
||||
* balancer to select endpoints in a cluster for a given request. The filter
|
||||
|
|
|
@ -79,6 +79,7 @@ export interface FilterChain {
|
|||
* This field is deprecated. Add a
|
||||
* :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
|
||||
* explicitly instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'use_proxy_proto'?: (_google_protobuf_BoolValue | null);
|
||||
/**
|
||||
|
@ -149,6 +150,7 @@ export interface FilterChain__Output {
|
|||
* This field is deprecated. Add a
|
||||
* :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
|
||||
* explicitly instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'use_proxy_proto': (_google_protobuf_BoolValue__Output | null);
|
||||
/**
|
||||
|
|
|
@ -5,20 +5,39 @@ import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output a
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/listener/v3/listener_components.proto
|
||||
|
||||
export enum _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType {
|
||||
export const _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType = {
|
||||
/**
|
||||
* Any connection source matches.
|
||||
*/
|
||||
ANY = 0,
|
||||
ANY: 'ANY',
|
||||
/**
|
||||
* Match a connection originating from the same host.
|
||||
*/
|
||||
SAME_IP_OR_LOOPBACK = 1,
|
||||
SAME_IP_OR_LOOPBACK: 'SAME_IP_OR_LOOPBACK',
|
||||
/**
|
||||
* Match a connection originating from a different host.
|
||||
*/
|
||||
EXTERNAL = 2,
|
||||
}
|
||||
EXTERNAL: 'EXTERNAL',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType =
|
||||
/**
|
||||
* Any connection source matches.
|
||||
*/
|
||||
| 'ANY'
|
||||
| 0
|
||||
/**
|
||||
* Match a connection originating from the same host.
|
||||
*/
|
||||
| 'SAME_IP_OR_LOOPBACK'
|
||||
| 1
|
||||
/**
|
||||
* Match a connection originating from a different host.
|
||||
*/
|
||||
| 'EXTERNAL'
|
||||
| 2
|
||||
|
||||
export type _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType__Output = typeof _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType[keyof typeof _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType]
|
||||
|
||||
/**
|
||||
* Specifies the match criteria for selecting a specific filter chain for a
|
||||
|
@ -154,7 +173,7 @@ export interface FilterChainMatch {
|
|||
/**
|
||||
* Specifies the connection source IP match type. Can be any, local or external network.
|
||||
*/
|
||||
'source_type'?: (_envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType | keyof typeof _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType);
|
||||
'source_type'?: (_envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType);
|
||||
/**
|
||||
* The criteria is satisfied if the directly connected source IP address of the downstream
|
||||
* connection is contained in at least one of the specified subnets. If the parameter is not
|
||||
|
@ -297,7 +316,7 @@ export interface FilterChainMatch__Output {
|
|||
/**
|
||||
* Specifies the connection source IP match type. Can be any, local or external network.
|
||||
*/
|
||||
'source_type': (keyof typeof _envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType);
|
||||
'source_type': (_envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType__Output);
|
||||
/**
|
||||
* The criteria is satisfied if the directly connected source IP address of the downstream
|
||||
* connection is contained in at least one of the specified subnets. If the parameter is not
|
||||
|
|
|
@ -8,7 +8,7 @@ import type { Metadata as _envoy_config_core_v3_Metadata, Metadata__Output as _e
|
|||
import type { ListenerFilter as _envoy_config_listener_v3_ListenerFilter, ListenerFilter__Output as _envoy_config_listener_v3_ListenerFilter__Output } from '../../../../envoy/config/listener/v3/ListenerFilter';
|
||||
import type { SocketOption as _envoy_config_core_v3_SocketOption, SocketOption__Output as _envoy_config_core_v3_SocketOption__Output } from '../../../../envoy/config/core/v3/SocketOption';
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { TrafficDirection as _envoy_config_core_v3_TrafficDirection } from '../../../../envoy/config/core/v3/TrafficDirection';
|
||||
import type { TrafficDirection as _envoy_config_core_v3_TrafficDirection, TrafficDirection__Output as _envoy_config_core_v3_TrafficDirection__Output } from '../../../../envoy/config/core/v3/TrafficDirection';
|
||||
import type { UdpListenerConfig as _envoy_config_listener_v3_UdpListenerConfig, UdpListenerConfig__Output as _envoy_config_listener_v3_UdpListenerConfig__Output } from '../../../../envoy/config/listener/v3/UdpListenerConfig';
|
||||
import type { ApiListener as _envoy_config_listener_v3_ApiListener, ApiListener__Output as _envoy_config_listener_v3_ApiListener__Output } from '../../../../envoy/config/listener/v3/ApiListener';
|
||||
import type { AccessLog as _envoy_config_accesslog_v3_AccessLog, AccessLog__Output as _envoy_config_accesslog_v3_AccessLog__Output } from '../../../../envoy/config/accesslog/v3/AccessLog';
|
||||
|
@ -82,19 +82,36 @@ export interface _envoy_config_listener_v3_Listener_DeprecatedV1__Output {
|
|||
|
||||
// Original file: deps/envoy-api/envoy/config/listener/v3/listener.proto
|
||||
|
||||
export enum _envoy_config_listener_v3_Listener_DrainType {
|
||||
export const _envoy_config_listener_v3_Listener_DrainType = {
|
||||
/**
|
||||
* Drain in response to calling /healthcheck/fail admin endpoint (along with the health check
|
||||
* filter), listener removal/modification, and hot restart.
|
||||
*/
|
||||
DEFAULT = 0,
|
||||
DEFAULT: 'DEFAULT',
|
||||
/**
|
||||
* Drain in response to listener removal/modification and hot restart. This setting does not
|
||||
* include /healthcheck/fail. This setting may be desirable if Envoy is hosting both ingress
|
||||
* and egress listeners.
|
||||
*/
|
||||
MODIFY_ONLY = 1,
|
||||
}
|
||||
MODIFY_ONLY: 'MODIFY_ONLY',
|
||||
} as const;
|
||||
|
||||
export type _envoy_config_listener_v3_Listener_DrainType =
|
||||
/**
|
||||
* Drain in response to calling /healthcheck/fail admin endpoint (along with the health check
|
||||
* filter), listener removal/modification, and hot restart.
|
||||
*/
|
||||
| 'DEFAULT'
|
||||
| 0
|
||||
/**
|
||||
* Drain in response to listener removal/modification and hot restart. This setting does not
|
||||
* include /healthcheck/fail. This setting may be desirable if Envoy is hosting both ingress
|
||||
* and egress listeners.
|
||||
*/
|
||||
| 'MODIFY_ONLY'
|
||||
| 1
|
||||
|
||||
export type _envoy_config_listener_v3_Listener_DrainType__Output = typeof _envoy_config_listener_v3_Listener_DrainType[keyof typeof _envoy_config_listener_v3_Listener_DrainType]
|
||||
|
||||
/**
|
||||
* A connection balancer implementation that does exact balancing. This means that a lock is
|
||||
|
@ -176,12 +193,13 @@ export interface Listener {
|
|||
'metadata'?: (_envoy_config_core_v3_Metadata | null);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* @deprecated
|
||||
*/
|
||||
'deprecated_v1'?: (_envoy_config_listener_v3_Listener_DeprecatedV1 | null);
|
||||
/**
|
||||
* The type of draining to perform at a listener-wide level.
|
||||
*/
|
||||
'drain_type'?: (_envoy_config_listener_v3_Listener_DrainType | keyof typeof _envoy_config_listener_v3_Listener_DrainType);
|
||||
'drain_type'?: (_envoy_config_listener_v3_Listener_DrainType);
|
||||
/**
|
||||
* Listener filters have the opportunity to manipulate and augment the connection metadata that
|
||||
* is used in connection filter chain matching, for example. These filters are run before any in
|
||||
|
@ -261,7 +279,7 @@ export interface Listener {
|
|||
* This property is required on Windows for listeners using the original destination filter,
|
||||
* see :ref:`Original Destination <config_listener_filters_original_dst>`.
|
||||
*/
|
||||
'traffic_direction'?: (_envoy_config_core_v3_TrafficDirection | keyof typeof _envoy_config_core_v3_TrafficDirection);
|
||||
'traffic_direction'?: (_envoy_config_core_v3_TrafficDirection);
|
||||
/**
|
||||
* Whether a connection should be created when listener filters timeout. Default is false.
|
||||
*
|
||||
|
@ -312,6 +330,7 @@ export interface Listener {
|
|||
'connection_balance_config'?: (_envoy_config_listener_v3_Listener_ConnectionBalanceConfig | null);
|
||||
/**
|
||||
* Deprecated. Use ``enable_reuse_port`` instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'reuse_port'?: (boolean);
|
||||
/**
|
||||
|
@ -482,12 +501,13 @@ export interface Listener__Output {
|
|||
'metadata': (_envoy_config_core_v3_Metadata__Output | null);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* @deprecated
|
||||
*/
|
||||
'deprecated_v1': (_envoy_config_listener_v3_Listener_DeprecatedV1__Output | null);
|
||||
/**
|
||||
* The type of draining to perform at a listener-wide level.
|
||||
*/
|
||||
'drain_type': (keyof typeof _envoy_config_listener_v3_Listener_DrainType);
|
||||
'drain_type': (_envoy_config_listener_v3_Listener_DrainType__Output);
|
||||
/**
|
||||
* Listener filters have the opportunity to manipulate and augment the connection metadata that
|
||||
* is used in connection filter chain matching, for example. These filters are run before any in
|
||||
|
@ -567,7 +587,7 @@ export interface Listener__Output {
|
|||
* This property is required on Windows for listeners using the original destination filter,
|
||||
* see :ref:`Original Destination <config_listener_filters_original_dst>`.
|
||||
*/
|
||||
'traffic_direction': (keyof typeof _envoy_config_core_v3_TrafficDirection);
|
||||
'traffic_direction': (_envoy_config_core_v3_TrafficDirection__Output);
|
||||
/**
|
||||
* Whether a connection should be created when listener filters timeout. Default is false.
|
||||
*
|
||||
|
@ -618,6 +638,7 @@ export interface Listener__Output {
|
|||
'connection_balance_config': (_envoy_config_listener_v3_Listener_ConnectionBalanceConfig__Output | null);
|
||||
/**
|
||||
* Deprecated. Use ``enable_reuse_port`` instead.
|
||||
* @deprecated
|
||||
*/
|
||||
'reuse_port': (boolean);
|
||||
/**
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/metrics/v3/stats.proto
|
||||
|
||||
import type { Address as _envoy_config_core_v3_Address, Address__Output as _envoy_config_core_v3_Address__Output } from '../../../../envoy/config/core/v3/Address';
|
||||
import type { UInt64Value as _google_protobuf_UInt64Value, UInt64Value__Output as _google_protobuf_UInt64Value__Output } from '../../../../google/protobuf/UInt64Value';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
* Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink.
|
||||
* The sink emits stats with `DogStatsD <https://docs.datadoghq.com/guides/dogstatsd/>`_
|
||||
* compatible tags. Tags are configurable via :ref:`StatsConfig
|
||||
* <envoy_v3_api_msg_config.metrics.v3.StatsConfig>`.
|
||||
* [#extension: envoy.stat_sinks.dog_statsd]
|
||||
*/
|
||||
export interface DogStatsdSink {
|
||||
/**
|
||||
* The UDP address of a running DogStatsD compliant listener. If specified,
|
||||
* statistics will be flushed to this address.
|
||||
*/
|
||||
'address'?: (_envoy_config_core_v3_Address | null);
|
||||
/**
|
||||
* Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
|
||||
* <envoy_v3_api_field_config.metrics.v3.StatsdSink.prefix>` for more details.
|
||||
*/
|
||||
'prefix'?: (string);
|
||||
/**
|
||||
* Optional max datagram size to use when sending UDP messages. By default Envoy
|
||||
* will emit one metric per datagram. By specifying a max-size larger than a single
|
||||
* metric, Envoy will emit multiple, new-line separated metrics. The max datagram
|
||||
* size should not exceed your network's MTU.
|
||||
*
|
||||
* Note that this value may not be respected if smaller than a single metric.
|
||||
*/
|
||||
'max_bytes_per_datagram'?: (_google_protobuf_UInt64Value | null);
|
||||
'dog_statsd_specifier'?: "address";
|
||||
}
|
||||
|
||||
/**
|
||||
* Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink.
|
||||
* The sink emits stats with `DogStatsD <https://docs.datadoghq.com/guides/dogstatsd/>`_
|
||||
* compatible tags. Tags are configurable via :ref:`StatsConfig
|
||||
* <envoy_v3_api_msg_config.metrics.v3.StatsConfig>`.
|
||||
* [#extension: envoy.stat_sinks.dog_statsd]
|
||||
*/
|
||||
export interface DogStatsdSink__Output {
|
||||
/**
|
||||
* The UDP address of a running DogStatsD compliant listener. If specified,
|
||||
* statistics will be flushed to this address.
|
||||
*/
|
||||
'address'?: (_envoy_config_core_v3_Address__Output | null);
|
||||
/**
|
||||
* Optional custom metric name prefix. See :ref:`StatsdSink's prefix field
|
||||
* <envoy_v3_api_field_config.metrics.v3.StatsdSink.prefix>` for more details.
|
||||
*/
|
||||
'prefix': (string);
|
||||
/**
|
||||
* Optional max datagram size to use when sending UDP messages. By default Envoy
|
||||
* will emit one metric per datagram. By specifying a max-size larger than a single
|
||||
* metric, Envoy will emit multiple, new-line separated metrics. The max datagram
|
||||
* size should not exceed your network's MTU.
|
||||
*
|
||||
* Note that this value may not be respected if smaller than a single metric.
|
||||
*/
|
||||
'max_bytes_per_datagram': (_google_protobuf_UInt64Value__Output | null);
|
||||
'dog_statsd_specifier': "address";
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/metrics/v3/stats.proto
|
||||
|
||||
import type { StringMatcher as _envoy_type_matcher_v3_StringMatcher, StringMatcher__Output as _envoy_type_matcher_v3_StringMatcher__Output } from '../../../../envoy/type/matcher/v3/StringMatcher';
|
||||
|
||||
/**
|
||||
* Specifies a matcher for stats and the buckets that matching stats should use.
|
||||
*/
|
||||
export interface HistogramBucketSettings {
|
||||
/**
|
||||
* The stats that this rule applies to. The match is applied to the original stat name
|
||||
* before tag-extraction, for example `cluster.exampleclustername.upstream_cx_length_ms`.
|
||||
*/
|
||||
'match'?: (_envoy_type_matcher_v3_StringMatcher | null);
|
||||
/**
|
||||
* Each value is the upper bound of a bucket. Each bucket must be greater than 0 and unique.
|
||||
* The order of the buckets does not matter.
|
||||
*/
|
||||
'buckets'?: (number | string)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies a matcher for stats and the buckets that matching stats should use.
|
||||
*/
|
||||
export interface HistogramBucketSettings__Output {
|
||||
/**
|
||||
* The stats that this rule applies to. The match is applied to the original stat name
|
||||
* before tag-extraction, for example `cluster.exampleclustername.upstream_cx_length_ms`.
|
||||
*/
|
||||
'match': (_envoy_type_matcher_v3_StringMatcher__Output | null);
|
||||
/**
|
||||
* Each value is the upper bound of a bucket. Each bucket must be greater than 0 and unique.
|
||||
* The order of the buckets does not matter.
|
||||
*/
|
||||
'buckets': (number)[];
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/metrics/v3/stats.proto
|
||||
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
* Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink.
|
||||
* The sink emits stats in `text/event-stream
|
||||
* <https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>`_
|
||||
* formatted stream for use by `Hystrix dashboard
|
||||
* <https://github.com/Netflix-Skunkworks/hystrix-dashboard/wiki>`_.
|
||||
*
|
||||
* Note that only a single HystrixSink should be configured.
|
||||
*
|
||||
* Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`.
|
||||
* [#extension: envoy.stat_sinks.hystrix]
|
||||
*/
|
||||
export interface HystrixSink {
|
||||
/**
|
||||
* The number of buckets the rolling statistical window is divided into.
|
||||
*
|
||||
* Each time the sink is flushed, all relevant Envoy statistics are sampled and
|
||||
* added to the rolling window (removing the oldest samples in the window
|
||||
* in the process). The sink then outputs the aggregate statistics across the
|
||||
* current rolling window to the event stream(s).
|
||||
*
|
||||
* rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets
|
||||
*
|
||||
* More detailed explanation can be found in `Hystrix wiki
|
||||
* <https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#hystrixrollingnumber>`_.
|
||||
*/
|
||||
'num_buckets'?: (number | string | Long);
|
||||
}
|
||||
|
||||
/**
|
||||
* Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink.
|
||||
* The sink emits stats in `text/event-stream
|
||||
* <https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>`_
|
||||
* formatted stream for use by `Hystrix dashboard
|
||||
* <https://github.com/Netflix-Skunkworks/hystrix-dashboard/wiki>`_.
|
||||
*
|
||||
* Note that only a single HystrixSink should be configured.
|
||||
*
|
||||
* Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`.
|
||||
* [#extension: envoy.stat_sinks.hystrix]
|
||||
*/
|
||||
export interface HystrixSink__Output {
|
||||
/**
|
||||
* The number of buckets the rolling statistical window is divided into.
|
||||
*
|
||||
* Each time the sink is flushed, all relevant Envoy statistics are sampled and
|
||||
* added to the rolling window (removing the oldest samples in the window
|
||||
* in the process). The sink then outputs the aggregate statistics across the
|
||||
* current rolling window to the event stream(s).
|
||||
*
|
||||
* rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets
|
||||
*
|
||||
* More detailed explanation can be found in `Hystrix wiki
|
||||
* <https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring#hystrixrollingnumber>`_.
|
||||
*/
|
||||
'num_buckets': (string);
|
||||
}
|
|
@ -1,148 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/metrics/v3/stats.proto
|
||||
|
||||
import type { TagSpecifier as _envoy_config_metrics_v3_TagSpecifier, TagSpecifier__Output as _envoy_config_metrics_v3_TagSpecifier__Output } from '../../../../envoy/config/metrics/v3/TagSpecifier';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { StatsMatcher as _envoy_config_metrics_v3_StatsMatcher, StatsMatcher__Output as _envoy_config_metrics_v3_StatsMatcher__Output } from '../../../../envoy/config/metrics/v3/StatsMatcher';
|
||||
import type { HistogramBucketSettings as _envoy_config_metrics_v3_HistogramBucketSettings, HistogramBucketSettings__Output as _envoy_config_metrics_v3_HistogramBucketSettings__Output } from '../../../../envoy/config/metrics/v3/HistogramBucketSettings';
|
||||
|
||||
/**
|
||||
* Statistics configuration such as tagging.
|
||||
*/
|
||||
export interface StatsConfig {
|
||||
/**
|
||||
* Each stat name is iteratively processed through these tag specifiers.
|
||||
* When a tag is matched, the first capture group is removed from the name so
|
||||
* later :ref:`TagSpecifiers <envoy_v3_api_msg_config.metrics.v3.TagSpecifier>` cannot match that
|
||||
* same portion of the match.
|
||||
*/
|
||||
'stats_tags'?: (_envoy_config_metrics_v3_TagSpecifier)[];
|
||||
/**
|
||||
* Use all default tag regexes specified in Envoy. These can be combined with
|
||||
* custom tags specified in :ref:`stats_tags
|
||||
* <envoy_v3_api_field_config.metrics.v3.StatsConfig.stats_tags>`. They will be processed before
|
||||
* the custom tags.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* If any default tags are specified twice, the config will be considered
|
||||
* invalid.
|
||||
*
|
||||
* See :repo:`well_known_names.h <source/common/config/well_known_names.h>` for a list of the
|
||||
* default tags in Envoy.
|
||||
*
|
||||
* If not provided, the value is assumed to be true.
|
||||
*/
|
||||
'use_all_default_tags'?: (_google_protobuf_BoolValue | null);
|
||||
/**
|
||||
* Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated
|
||||
* as normal. Preventing the instantiation of certain families of stats can improve memory
|
||||
* performance for Envoys running especially large configs.
|
||||
*
|
||||
* .. warning::
|
||||
* Excluding stats may affect Envoy's behavior in undocumented ways. See
|
||||
* `issue #8771 <https://github.com/envoyproxy/envoy/issues/8771>`_ for more information.
|
||||
* If any unexpected behavior changes are observed, please open a new issue immediately.
|
||||
*/
|
||||
'stats_matcher'?: (_envoy_config_metrics_v3_StatsMatcher | null);
|
||||
/**
|
||||
* Defines rules for setting the histogram buckets. Rules are evaluated in order, and the first
|
||||
* match is applied. If no match is found (or if no rules are set), the following default buckets
|
||||
* are used:
|
||||
*
|
||||
* .. code-block:: json
|
||||
*
|
||||
* [
|
||||
* 0.5,
|
||||
* 1,
|
||||
* 5,
|
||||
* 10,
|
||||
* 25,
|
||||
* 50,
|
||||
* 100,
|
||||
* 250,
|
||||
* 500,
|
||||
* 1000,
|
||||
* 2500,
|
||||
* 5000,
|
||||
* 10000,
|
||||
* 30000,
|
||||
* 60000,
|
||||
* 300000,
|
||||
* 600000,
|
||||
* 1800000,
|
||||
* 3600000
|
||||
* ]
|
||||
*/
|
||||
'histogram_bucket_settings'?: (_envoy_config_metrics_v3_HistogramBucketSettings)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Statistics configuration such as tagging.
|
||||
*/
|
||||
export interface StatsConfig__Output {
|
||||
/**
|
||||
* Each stat name is iteratively processed through these tag specifiers.
|
||||
* When a tag is matched, the first capture group is removed from the name so
|
||||
* later :ref:`TagSpecifiers <envoy_v3_api_msg_config.metrics.v3.TagSpecifier>` cannot match that
|
||||
* same portion of the match.
|
||||
*/
|
||||
'stats_tags': (_envoy_config_metrics_v3_TagSpecifier__Output)[];
|
||||
/**
|
||||
* Use all default tag regexes specified in Envoy. These can be combined with
|
||||
* custom tags specified in :ref:`stats_tags
|
||||
* <envoy_v3_api_field_config.metrics.v3.StatsConfig.stats_tags>`. They will be processed before
|
||||
* the custom tags.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* If any default tags are specified twice, the config will be considered
|
||||
* invalid.
|
||||
*
|
||||
* See :repo:`well_known_names.h <source/common/config/well_known_names.h>` for a list of the
|
||||
* default tags in Envoy.
|
||||
*
|
||||
* If not provided, the value is assumed to be true.
|
||||
*/
|
||||
'use_all_default_tags': (_google_protobuf_BoolValue__Output | null);
|
||||
/**
|
||||
* Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated
|
||||
* as normal. Preventing the instantiation of certain families of stats can improve memory
|
||||
* performance for Envoys running especially large configs.
|
||||
*
|
||||
* .. warning::
|
||||
* Excluding stats may affect Envoy's behavior in undocumented ways. See
|
||||
* `issue #8771 <https://github.com/envoyproxy/envoy/issues/8771>`_ for more information.
|
||||
* If any unexpected behavior changes are observed, please open a new issue immediately.
|
||||
*/
|
||||
'stats_matcher': (_envoy_config_metrics_v3_StatsMatcher__Output | null);
|
||||
/**
|
||||
* Defines rules for setting the histogram buckets. Rules are evaluated in order, and the first
|
||||
* match is applied. If no match is found (or if no rules are set), the following default buckets
|
||||
* are used:
|
||||
*
|
||||
* .. code-block:: json
|
||||
*
|
||||
* [
|
||||
* 0.5,
|
||||
* 1,
|
||||
* 5,
|
||||
* 10,
|
||||
* 25,
|
||||
* 50,
|
||||
* 100,
|
||||
* 250,
|
||||
* 500,
|
||||
* 1000,
|
||||
* 2500,
|
||||
* 5000,
|
||||
* 10000,
|
||||
* 30000,
|
||||
* 60000,
|
||||
* 300000,
|
||||
* 600000,
|
||||
* 1800000,
|
||||
* 3600000
|
||||
* ]
|
||||
*/
|
||||
'histogram_bucket_settings': (_envoy_config_metrics_v3_HistogramBucketSettings__Output)[];
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/metrics/v3/stats.proto
|
||||
|
||||
import type { ListStringMatcher as _envoy_type_matcher_v3_ListStringMatcher, ListStringMatcher__Output as _envoy_type_matcher_v3_ListStringMatcher__Output } from '../../../../envoy/type/matcher/v3/ListStringMatcher';
|
||||
|
||||
/**
|
||||
* Configuration for disabling stat instantiation.
|
||||
*/
|
||||
export interface StatsMatcher {
|
||||
/**
|
||||
* If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all
|
||||
* stats are enabled.
|
||||
*/
|
||||
'reject_all'?: (boolean);
|
||||
/**
|
||||
* Exclusive match. All stats are enabled except for those matching one of the supplied
|
||||
* StringMatcher protos.
|
||||
*/
|
||||
'exclusion_list'?: (_envoy_type_matcher_v3_ListStringMatcher | null);
|
||||
/**
|
||||
* Inclusive match. No stats are enabled except for those matching one of the supplied
|
||||
* StringMatcher protos.
|
||||
*/
|
||||
'inclusion_list'?: (_envoy_type_matcher_v3_ListStringMatcher | null);
|
||||
'stats_matcher'?: "reject_all"|"exclusion_list"|"inclusion_list";
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for disabling stat instantiation.
|
||||
*/
|
||||
export interface StatsMatcher__Output {
|
||||
/**
|
||||
* If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all
|
||||
* stats are enabled.
|
||||
*/
|
||||
'reject_all'?: (boolean);
|
||||
/**
|
||||
* Exclusive match. All stats are enabled except for those matching one of the supplied
|
||||
* StringMatcher protos.
|
||||
*/
|
||||
'exclusion_list'?: (_envoy_type_matcher_v3_ListStringMatcher__Output | null);
|
||||
/**
|
||||
* Inclusive match. No stats are enabled except for those matching one of the supplied
|
||||
* StringMatcher protos.
|
||||
*/
|
||||
'inclusion_list'?: (_envoy_type_matcher_v3_ListStringMatcher__Output | null);
|
||||
'stats_matcher': "reject_all"|"exclusion_list"|"inclusion_list";
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/config/metrics/v3/stats.proto
|
||||
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
||||
/**
|
||||
* Configuration for pluggable stats sinks.
|
||||
*/
|
||||
export interface StatsSink {
|
||||
/**
|
||||
* The name of the stats sink to instantiate. The name must match a supported
|
||||
* stats sink.
|
||||
* See the :ref:`extensions listed in typed_config below <extension_category_envoy.stats_sinks>` for the default list of available stats sink.
|
||||
* Sinks optionally support tagged/multiple dimensional metrics.
|
||||
*/
|
||||
'name'?: (string);
|
||||
'typed_config'?: (_google_protobuf_Any | null);
|
||||
/**
|
||||
* Stats sink specific configuration which depends on the sink being instantiated. See
|
||||
* :ref:`StatsdSink <envoy_v3_api_msg_config.metrics.v3.StatsdSink>` for an example.
|
||||
* [#extension-category: envoy.stats_sinks]
|
||||
*/
|
||||
'config_type'?: "typed_config";
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for pluggable stats sinks.
|
||||
*/
|
||||
export interface StatsSink__Output {
|
||||
/**
|
||||
* The name of the stats sink to instantiate. The name must match a supported
|
||||
* stats sink.
|
||||
* See the :ref:`extensions listed in typed_config below <extension_category_envoy.stats_sinks>` for the default list of available stats sink.
|
||||
* Sinks optionally support tagged/multiple dimensional metrics.
|
||||
*/
|
||||
'name': (string);
|
||||
'typed_config'?: (_google_protobuf_Any__Output | null);
|
||||
/**
|
||||
* Stats sink specific configuration which depends on the sink being instantiated. See
|
||||
* :ref:`StatsdSink <envoy_v3_api_msg_config.metrics.v3.StatsdSink>` for an example.
|
||||
* [#extension-category: envoy.stats_sinks]
|
||||
*/
|
||||
'config_type': "typed_config";
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue