[READ ONLY MIRROR] Envoy REST/proto API definitions and documentation. (grpc依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

71 lines
2.6 KiB

syntax = "proto3";
package envoy.api.v2;
import "google/protobuf/wrappers.proto";
import "validate/validate.proto";
// [#protodoc-title: Network addresses]
// [#v2-api-diff: Addresses now have .proto structure.]
message Pipe {
// Unix Domain Socket path.
string path = 1 [(validate.rules).string.min_bytes = 1];
}
message SocketAddress {
enum Protocol {
TCP = 0;
// [#not-implemented-hide:]
UDP = 1;
}
Protocol protocol = 1 [(validate.rules).enum = {in: [0]}];
// The address for this socket. :ref:`Listeners <config_listeners>` will bind
// to the address or outbound connections will be made. An empty address
// implies a bind to 0.0.0.0 or ::. It's still possible to distinguish on an
// address via the prefix/suffix matching in FilterChainMatch after connection.
// For :ref:`clusters <config_cluster_manager_cluster>`, an address may be
// either an IP or hostname to be resolved via DNS. If it is a hostname,
// :ref:`resolver_name <envoy_api_field_SocketAddress.resolver_name>` should
// be set unless default (i.e. DNS) resolution is expected.
string address = 2;
oneof port_specifier {
option (validate.required) = true;
uint32 port_value = 3;
// This is only valid if :ref:`resolver_name
// <envoy_api_field_SocketAddress.resolver_name>` is specified below and the
// named resolver is capable of named port resolution.
string named_port = 4;
}
// The name of the resolver. This must have been registered with Envoy. If this is
// empty, a context dependent default applies. If address is a hostname this
// should be set for resolution other than DNS. If the address is a concrete
// IP address, no resolution will occur.
string resolver_name = 5;
}
message BindConfig {
// The address to bind to when creating a socket.
SocketAddress source_address = 1 [(validate.rules).message.required = true];
}
// Addresses specify either a logical or physical address and port, which are
// used to tell Envoy where to bind/listen, connect to upstream and find
// management servers.
message Address {
oneof address {
option (validate.required) = true;
SocketAddress socket_address = 1;
Pipe pipe = 2;
}
}
// CidrRange specifies an IP Address and a prefix length to construct
// the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.
message CidrRange {
// IPv4 or IPv6 address, e.g. 192.0.0.0 or 2001:db8::.
string address_prefix = 1 [(validate.rules).string.min_bytes = 1];
// Length of prefix, e.g. 0, 32.
google.protobuf.UInt32Value prefix_len = 2 [(validate.rules).uint32.lte = 128];
}