dev testing
This commit is contained in:
564
functions/node_modules/@grpc/grpc-js/proto/channelz.proto
generated
vendored
Normal file
564
functions/node_modules/@grpc/grpc-js/proto/channelz.proto
generated
vendored
Normal file
@@ -0,0 +1,564 @@
|
||||
// Copyright 2018 The 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.
|
||||
|
||||
// This file defines an interface for exporting monitoring information
|
||||
// out of gRPC servers. See the full design at
|
||||
// https://github.com/grpc/proposal/blob/master/A14-channelz.md
|
||||
//
|
||||
// The canonical version of this proto can be found at
|
||||
// https://github.com/grpc/grpc-proto/blob/master/grpc/channelz/v1/channelz.proto
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package grpc.channelz.v1;
|
||||
|
||||
import "google/protobuf/any.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/wrappers.proto";
|
||||
|
||||
option go_package = "google.golang.org/grpc/channelz/grpc_channelz_v1";
|
||||
option java_multiple_files = true;
|
||||
option java_package = "io.grpc.channelz.v1";
|
||||
option java_outer_classname = "ChannelzProto";
|
||||
|
||||
// Channel is a logical grouping of channels, subchannels, and sockets.
|
||||
message Channel {
|
||||
// The identifier for this channel. This should bet set.
|
||||
ChannelRef ref = 1;
|
||||
// Data specific to this channel.
|
||||
ChannelData data = 2;
|
||||
// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
|
||||
|
||||
// There are no ordering guarantees on the order of channel refs.
|
||||
// There may not be cycles in the ref graph.
|
||||
// A channel ref may be present in more than one channel or subchannel.
|
||||
repeated ChannelRef channel_ref = 3;
|
||||
|
||||
// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
|
||||
// There are no ordering guarantees on the order of subchannel refs.
|
||||
// There may not be cycles in the ref graph.
|
||||
// A sub channel ref may be present in more than one channel or subchannel.
|
||||
repeated SubchannelRef subchannel_ref = 4;
|
||||
|
||||
// There are no ordering guarantees on the order of sockets.
|
||||
repeated SocketRef socket_ref = 5;
|
||||
}
|
||||
|
||||
// Subchannel is a logical grouping of channels, subchannels, and sockets.
|
||||
// A subchannel is load balanced over by it's ancestor
|
||||
message Subchannel {
|
||||
// The identifier for this channel.
|
||||
SubchannelRef ref = 1;
|
||||
// Data specific to this channel.
|
||||
ChannelData data = 2;
|
||||
// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
|
||||
|
||||
// There are no ordering guarantees on the order of channel refs.
|
||||
// There may not be cycles in the ref graph.
|
||||
// A channel ref may be present in more than one channel or subchannel.
|
||||
repeated ChannelRef channel_ref = 3;
|
||||
|
||||
// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
|
||||
// There are no ordering guarantees on the order of subchannel refs.
|
||||
// There may not be cycles in the ref graph.
|
||||
// A sub channel ref may be present in more than one channel or subchannel.
|
||||
repeated SubchannelRef subchannel_ref = 4;
|
||||
|
||||
// There are no ordering guarantees on the order of sockets.
|
||||
repeated SocketRef socket_ref = 5;
|
||||
}
|
||||
|
||||
// These come from the specified states in this document:
|
||||
// https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
|
||||
message ChannelConnectivityState {
|
||||
enum State {
|
||||
UNKNOWN = 0;
|
||||
IDLE = 1;
|
||||
CONNECTING = 2;
|
||||
READY = 3;
|
||||
TRANSIENT_FAILURE = 4;
|
||||
SHUTDOWN = 5;
|
||||
}
|
||||
State state = 1;
|
||||
}
|
||||
|
||||
// Channel data is data related to a specific Channel or Subchannel.
|
||||
message ChannelData {
|
||||
// The connectivity state of the channel or subchannel. Implementations
|
||||
// should always set this.
|
||||
ChannelConnectivityState state = 1;
|
||||
|
||||
// The target this channel originally tried to connect to. May be absent
|
||||
string target = 2;
|
||||
|
||||
// A trace of recent events on the channel. May be absent.
|
||||
ChannelTrace trace = 3;
|
||||
|
||||
// The number of calls started on the channel
|
||||
int64 calls_started = 4;
|
||||
// The number of calls that have completed with an OK status
|
||||
int64 calls_succeeded = 5;
|
||||
// The number of calls that have completed with a non-OK status
|
||||
int64 calls_failed = 6;
|
||||
|
||||
// The last time a call was started on the channel.
|
||||
google.protobuf.Timestamp last_call_started_timestamp = 7;
|
||||
}
|
||||
|
||||
// A trace event is an interesting thing that happened to a channel or
|
||||
// subchannel, such as creation, address resolution, subchannel creation, etc.
|
||||
message ChannelTraceEvent {
|
||||
// High level description of the event.
|
||||
string description = 1;
|
||||
// The supported severity levels of trace events.
|
||||
enum Severity {
|
||||
CT_UNKNOWN = 0;
|
||||
CT_INFO = 1;
|
||||
CT_WARNING = 2;
|
||||
CT_ERROR = 3;
|
||||
}
|
||||
// the severity of the trace event
|
||||
Severity severity = 2;
|
||||
// When this event occurred.
|
||||
google.protobuf.Timestamp timestamp = 3;
|
||||
// ref of referenced channel or subchannel.
|
||||
// Optional, only present if this event refers to a child object. For example,
|
||||
// this field would be filled if this trace event was for a subchannel being
|
||||
// created.
|
||||
oneof child_ref {
|
||||
ChannelRef channel_ref = 4;
|
||||
SubchannelRef subchannel_ref = 5;
|
||||
}
|
||||
}
|
||||
|
||||
// ChannelTrace represents the recent events that have occurred on the channel.
|
||||
message ChannelTrace {
|
||||
// Number of events ever logged in this tracing object. This can differ from
|
||||
// events.size() because events can be overwritten or garbage collected by
|
||||
// implementations.
|
||||
int64 num_events_logged = 1;
|
||||
// Time that this channel was created.
|
||||
google.protobuf.Timestamp creation_timestamp = 2;
|
||||
// List of events that have occurred on this channel.
|
||||
repeated ChannelTraceEvent events = 3;
|
||||
}
|
||||
|
||||
// ChannelRef is a reference to a Channel.
|
||||
message ChannelRef {
|
||||
// The globally unique id for this channel. Must be a positive number.
|
||||
int64 channel_id = 1;
|
||||
// An optional name associated with the channel.
|
||||
string name = 2;
|
||||
// Intentionally don't use field numbers from other refs.
|
||||
reserved 3, 4, 5, 6, 7, 8;
|
||||
}
|
||||
|
||||
// SubchannelRef is a reference to a Subchannel.
|
||||
message SubchannelRef {
|
||||
// The globally unique id for this subchannel. Must be a positive number.
|
||||
int64 subchannel_id = 7;
|
||||
// An optional name associated with the subchannel.
|
||||
string name = 8;
|
||||
// Intentionally don't use field numbers from other refs.
|
||||
reserved 1, 2, 3, 4, 5, 6;
|
||||
}
|
||||
|
||||
// SocketRef is a reference to a Socket.
|
||||
message SocketRef {
|
||||
// The globally unique id for this socket. Must be a positive number.
|
||||
int64 socket_id = 3;
|
||||
// An optional name associated with the socket.
|
||||
string name = 4;
|
||||
// Intentionally don't use field numbers from other refs.
|
||||
reserved 1, 2, 5, 6, 7, 8;
|
||||
}
|
||||
|
||||
// ServerRef is a reference to a Server.
|
||||
message ServerRef {
|
||||
// A globally unique identifier for this server. Must be a positive number.
|
||||
int64 server_id = 5;
|
||||
// An optional name associated with the server.
|
||||
string name = 6;
|
||||
// Intentionally don't use field numbers from other refs.
|
||||
reserved 1, 2, 3, 4, 7, 8;
|
||||
}
|
||||
|
||||
// Server represents a single server. There may be multiple servers in a single
|
||||
// program.
|
||||
message Server {
|
||||
// The identifier for a Server. This should be set.
|
||||
ServerRef ref = 1;
|
||||
// The associated data of the Server.
|
||||
ServerData data = 2;
|
||||
|
||||
// The sockets that the server is listening on. There are no ordering
|
||||
// guarantees. This may be absent.
|
||||
repeated SocketRef listen_socket = 3;
|
||||
}
|
||||
|
||||
// ServerData is data for a specific Server.
|
||||
message ServerData {
|
||||
// A trace of recent events on the server. May be absent.
|
||||
ChannelTrace trace = 1;
|
||||
|
||||
// The number of incoming calls started on the server
|
||||
int64 calls_started = 2;
|
||||
// The number of incoming calls that have completed with an OK status
|
||||
int64 calls_succeeded = 3;
|
||||
// The number of incoming calls that have a completed with a non-OK status
|
||||
int64 calls_failed = 4;
|
||||
|
||||
// The last time a call was started on the server.
|
||||
google.protobuf.Timestamp last_call_started_timestamp = 5;
|
||||
}
|
||||
|
||||
// Information about an actual connection. Pronounced "sock-ay".
|
||||
message Socket {
|
||||
// The identifier for the Socket.
|
||||
SocketRef ref = 1;
|
||||
|
||||
// Data specific to this Socket.
|
||||
SocketData data = 2;
|
||||
// The locally bound address.
|
||||
Address local = 3;
|
||||
// The remote bound address. May be absent.
|
||||
Address remote = 4;
|
||||
// Security details for this socket. May be absent if not available, or
|
||||
// there is no security on the socket.
|
||||
Security security = 5;
|
||||
|
||||
// Optional, represents the name of the remote endpoint, if different than
|
||||
// the original target name.
|
||||
string remote_name = 6;
|
||||
}
|
||||
|
||||
// SocketData is data associated for a specific Socket. The fields present
|
||||
// are specific to the implementation, so there may be minor differences in
|
||||
// the semantics. (e.g. flow control windows)
|
||||
message SocketData {
|
||||
// The number of streams that have been started.
|
||||
int64 streams_started = 1;
|
||||
// The number of streams that have ended successfully:
|
||||
// On client side, received frame with eos bit set;
|
||||
// On server side, sent frame with eos bit set.
|
||||
int64 streams_succeeded = 2;
|
||||
// The number of streams that have ended unsuccessfully:
|
||||
// On client side, ended without receiving frame with eos bit set;
|
||||
// On server side, ended without sending frame with eos bit set.
|
||||
int64 streams_failed = 3;
|
||||
// The number of grpc messages successfully sent on this socket.
|
||||
int64 messages_sent = 4;
|
||||
// The number of grpc messages received on this socket.
|
||||
int64 messages_received = 5;
|
||||
|
||||
// The number of keep alives sent. This is typically implemented with HTTP/2
|
||||
// ping messages.
|
||||
int64 keep_alives_sent = 6;
|
||||
|
||||
// The last time a stream was created by this endpoint. Usually unset for
|
||||
// servers.
|
||||
google.protobuf.Timestamp last_local_stream_created_timestamp = 7;
|
||||
// The last time a stream was created by the remote endpoint. Usually unset
|
||||
// for clients.
|
||||
google.protobuf.Timestamp last_remote_stream_created_timestamp = 8;
|
||||
|
||||
// The last time a message was sent by this endpoint.
|
||||
google.protobuf.Timestamp last_message_sent_timestamp = 9;
|
||||
// The last time a message was received by this endpoint.
|
||||
google.protobuf.Timestamp last_message_received_timestamp = 10;
|
||||
|
||||
// The amount of window, granted to the local endpoint by the remote endpoint.
|
||||
// This may be slightly out of date due to network latency. This does NOT
|
||||
// include stream level or TCP level flow control info.
|
||||
google.protobuf.Int64Value local_flow_control_window = 11;
|
||||
|
||||
// The amount of window, granted to the remote endpoint by the local endpoint.
|
||||
// This may be slightly out of date due to network latency. This does NOT
|
||||
// include stream level or TCP level flow control info.
|
||||
google.protobuf.Int64Value remote_flow_control_window = 12;
|
||||
|
||||
// Socket options set on this socket. May be absent if 'summary' is set
|
||||
// on GetSocketRequest.
|
||||
repeated SocketOption option = 13;
|
||||
}
|
||||
|
||||
// Address represents the address used to create the socket.
|
||||
message Address {
|
||||
message TcpIpAddress {
|
||||
// Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16
|
||||
// bytes in length.
|
||||
bytes ip_address = 1;
|
||||
// 0-64k, or -1 if not appropriate.
|
||||
int32 port = 2;
|
||||
}
|
||||
// A Unix Domain Socket address.
|
||||
message UdsAddress {
|
||||
string filename = 1;
|
||||
}
|
||||
// An address type not included above.
|
||||
message OtherAddress {
|
||||
// The human readable version of the value. This value should be set.
|
||||
string name = 1;
|
||||
// The actual address message.
|
||||
google.protobuf.Any value = 2;
|
||||
}
|
||||
|
||||
oneof address {
|
||||
TcpIpAddress tcpip_address = 1;
|
||||
UdsAddress uds_address = 2;
|
||||
OtherAddress other_address = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Security represents details about how secure the socket is.
|
||||
message Security {
|
||||
message Tls {
|
||||
oneof cipher_suite {
|
||||
// The cipher suite name in the RFC 4346 format:
|
||||
// https://tools.ietf.org/html/rfc4346#appendix-C
|
||||
string standard_name = 1;
|
||||
// Some other way to describe the cipher suite if
|
||||
// the RFC 4346 name is not available.
|
||||
string other_name = 2;
|
||||
}
|
||||
// the certificate used by this endpoint.
|
||||
bytes local_certificate = 3;
|
||||
// the certificate used by the remote endpoint.
|
||||
bytes remote_certificate = 4;
|
||||
}
|
||||
message OtherSecurity {
|
||||
// The human readable version of the value.
|
||||
string name = 1;
|
||||
// The actual security details message.
|
||||
google.protobuf.Any value = 2;
|
||||
}
|
||||
oneof model {
|
||||
Tls tls = 1;
|
||||
OtherSecurity other = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// SocketOption represents socket options for a socket. Specifically, these
|
||||
// are the options returned by getsockopt().
|
||||
message SocketOption {
|
||||
// The full name of the socket option. Typically this will be the upper case
|
||||
// name, such as "SO_REUSEPORT".
|
||||
string name = 1;
|
||||
// The human readable value of this socket option. At least one of value or
|
||||
// additional will be set.
|
||||
string value = 2;
|
||||
// Additional data associated with the socket option. At least one of value
|
||||
// or additional will be set.
|
||||
google.protobuf.Any additional = 3;
|
||||
}
|
||||
|
||||
// For use with SocketOption's additional field. This is primarily used for
|
||||
// SO_RCVTIMEO and SO_SNDTIMEO
|
||||
message SocketOptionTimeout {
|
||||
google.protobuf.Duration duration = 1;
|
||||
}
|
||||
|
||||
// For use with SocketOption's additional field. This is primarily used for
|
||||
// SO_LINGER.
|
||||
message SocketOptionLinger {
|
||||
// active maps to `struct linger.l_onoff`
|
||||
bool active = 1;
|
||||
// duration maps to `struct linger.l_linger`
|
||||
google.protobuf.Duration duration = 2;
|
||||
}
|
||||
|
||||
// For use with SocketOption's additional field. Tcp info for
|
||||
// SOL_TCP and TCP_INFO.
|
||||
message SocketOptionTcpInfo {
|
||||
uint32 tcpi_state = 1;
|
||||
|
||||
uint32 tcpi_ca_state = 2;
|
||||
uint32 tcpi_retransmits = 3;
|
||||
uint32 tcpi_probes = 4;
|
||||
uint32 tcpi_backoff = 5;
|
||||
uint32 tcpi_options = 6;
|
||||
uint32 tcpi_snd_wscale = 7;
|
||||
uint32 tcpi_rcv_wscale = 8;
|
||||
|
||||
uint32 tcpi_rto = 9;
|
||||
uint32 tcpi_ato = 10;
|
||||
uint32 tcpi_snd_mss = 11;
|
||||
uint32 tcpi_rcv_mss = 12;
|
||||
|
||||
uint32 tcpi_unacked = 13;
|
||||
uint32 tcpi_sacked = 14;
|
||||
uint32 tcpi_lost = 15;
|
||||
uint32 tcpi_retrans = 16;
|
||||
uint32 tcpi_fackets = 17;
|
||||
|
||||
uint32 tcpi_last_data_sent = 18;
|
||||
uint32 tcpi_last_ack_sent = 19;
|
||||
uint32 tcpi_last_data_recv = 20;
|
||||
uint32 tcpi_last_ack_recv = 21;
|
||||
|
||||
uint32 tcpi_pmtu = 22;
|
||||
uint32 tcpi_rcv_ssthresh = 23;
|
||||
uint32 tcpi_rtt = 24;
|
||||
uint32 tcpi_rttvar = 25;
|
||||
uint32 tcpi_snd_ssthresh = 26;
|
||||
uint32 tcpi_snd_cwnd = 27;
|
||||
uint32 tcpi_advmss = 28;
|
||||
uint32 tcpi_reordering = 29;
|
||||
}
|
||||
|
||||
// Channelz is a service exposed by gRPC servers that provides detailed debug
|
||||
// information.
|
||||
service Channelz {
|
||||
// Gets all root channels (i.e. channels the application has directly
|
||||
// created). This does not include subchannels nor non-top level channels.
|
||||
rpc GetTopChannels(GetTopChannelsRequest) returns (GetTopChannelsResponse);
|
||||
// Gets all servers that exist in the process.
|
||||
rpc GetServers(GetServersRequest) returns (GetServersResponse);
|
||||
// Returns a single Server, or else a NOT_FOUND code.
|
||||
rpc GetServer(GetServerRequest) returns (GetServerResponse);
|
||||
// Gets all server sockets that exist in the process.
|
||||
rpc GetServerSockets(GetServerSocketsRequest) returns (GetServerSocketsResponse);
|
||||
// Returns a single Channel, or else a NOT_FOUND code.
|
||||
rpc GetChannel(GetChannelRequest) returns (GetChannelResponse);
|
||||
// Returns a single Subchannel, or else a NOT_FOUND code.
|
||||
rpc GetSubchannel(GetSubchannelRequest) returns (GetSubchannelResponse);
|
||||
// Returns a single Socket or else a NOT_FOUND code.
|
||||
rpc GetSocket(GetSocketRequest) returns (GetSocketResponse);
|
||||
}
|
||||
|
||||
message GetTopChannelsRequest {
|
||||
// start_channel_id indicates that only channels at or above this id should be
|
||||
// included in the results.
|
||||
// To request the first page, this should be set to 0. To request
|
||||
// subsequent pages, the client generates this value by adding 1 to
|
||||
// the highest seen result ID.
|
||||
int64 start_channel_id = 1;
|
||||
|
||||
// If non-zero, the server will return a page of results containing
|
||||
// at most this many items. If zero, the server will choose a
|
||||
// reasonable page size. Must never be negative.
|
||||
int64 max_results = 2;
|
||||
}
|
||||
|
||||
message GetTopChannelsResponse {
|
||||
// list of channels that the connection detail service knows about. Sorted in
|
||||
// ascending channel_id order.
|
||||
// Must contain at least 1 result, otherwise 'end' must be true.
|
||||
repeated Channel channel = 1;
|
||||
// If set, indicates that the list of channels is the final list. Requesting
|
||||
// more channels can only return more if they are created after this RPC
|
||||
// completes.
|
||||
bool end = 2;
|
||||
}
|
||||
|
||||
message GetServersRequest {
|
||||
// start_server_id indicates that only servers at or above this id should be
|
||||
// included in the results.
|
||||
// To request the first page, this must be set to 0. To request
|
||||
// subsequent pages, the client generates this value by adding 1 to
|
||||
// the highest seen result ID.
|
||||
int64 start_server_id = 1;
|
||||
|
||||
// If non-zero, the server will return a page of results containing
|
||||
// at most this many items. If zero, the server will choose a
|
||||
// reasonable page size. Must never be negative.
|
||||
int64 max_results = 2;
|
||||
}
|
||||
|
||||
message GetServersResponse {
|
||||
// list of servers that the connection detail service knows about. Sorted in
|
||||
// ascending server_id order.
|
||||
// Must contain at least 1 result, otherwise 'end' must be true.
|
||||
repeated Server server = 1;
|
||||
// If set, indicates that the list of servers is the final list. Requesting
|
||||
// more servers will only return more if they are created after this RPC
|
||||
// completes.
|
||||
bool end = 2;
|
||||
}
|
||||
|
||||
message GetServerRequest {
|
||||
// server_id is the identifier of the specific server to get.
|
||||
int64 server_id = 1;
|
||||
}
|
||||
|
||||
message GetServerResponse {
|
||||
// The Server that corresponds to the requested server_id. This field
|
||||
// should be set.
|
||||
Server server = 1;
|
||||
}
|
||||
|
||||
message GetServerSocketsRequest {
|
||||
int64 server_id = 1;
|
||||
// start_socket_id indicates that only sockets at or above this id should be
|
||||
// included in the results.
|
||||
// To request the first page, this must be set to 0. To request
|
||||
// subsequent pages, the client generates this value by adding 1 to
|
||||
// the highest seen result ID.
|
||||
int64 start_socket_id = 2;
|
||||
|
||||
// If non-zero, the server will return a page of results containing
|
||||
// at most this many items. If zero, the server will choose a
|
||||
// reasonable page size. Must never be negative.
|
||||
int64 max_results = 3;
|
||||
}
|
||||
|
||||
message GetServerSocketsResponse {
|
||||
// list of socket refs that the connection detail service knows about. Sorted in
|
||||
// ascending socket_id order.
|
||||
// Must contain at least 1 result, otherwise 'end' must be true.
|
||||
repeated SocketRef socket_ref = 1;
|
||||
// If set, indicates that the list of sockets is the final list. Requesting
|
||||
// more sockets will only return more if they are created after this RPC
|
||||
// completes.
|
||||
bool end = 2;
|
||||
}
|
||||
|
||||
message GetChannelRequest {
|
||||
// channel_id is the identifier of the specific channel to get.
|
||||
int64 channel_id = 1;
|
||||
}
|
||||
|
||||
message GetChannelResponse {
|
||||
// The Channel that corresponds to the requested channel_id. This field
|
||||
// should be set.
|
||||
Channel channel = 1;
|
||||
}
|
||||
|
||||
message GetSubchannelRequest {
|
||||
// subchannel_id is the identifier of the specific subchannel to get.
|
||||
int64 subchannel_id = 1;
|
||||
}
|
||||
|
||||
message GetSubchannelResponse {
|
||||
// The Subchannel that corresponds to the requested subchannel_id. This
|
||||
// field should be set.
|
||||
Subchannel subchannel = 1;
|
||||
}
|
||||
|
||||
message GetSocketRequest {
|
||||
// socket_id is the identifier of the specific socket to get.
|
||||
int64 socket_id = 1;
|
||||
|
||||
// If true, the response will contain only high level information
|
||||
// that is inexpensive to obtain. Fields thay may be omitted are
|
||||
// documented.
|
||||
bool summary = 2;
|
||||
}
|
||||
|
||||
message GetSocketResponse {
|
||||
// The Socket that corresponds to the requested socket_id. This field
|
||||
// should be set.
|
||||
Socket socket = 1;
|
||||
}
|
||||
202
functions/node_modules/@grpc/grpc-js/proto/protoc-gen-validate/LICENSE
generated
vendored
Normal file
202
functions/node_modules/@grpc/grpc-js/proto/protoc-gen-validate/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
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.
|
||||
797
functions/node_modules/@grpc/grpc-js/proto/protoc-gen-validate/validate/validate.proto
generated
vendored
Normal file
797
functions/node_modules/@grpc/grpc-js/proto/protoc-gen-validate/validate/validate.proto
generated
vendored
Normal file
@@ -0,0 +1,797 @@
|
||||
syntax = "proto2";
|
||||
package validate;
|
||||
|
||||
option go_package = "github.com/envoyproxy/protoc-gen-validate/validate";
|
||||
option java_package = "io.envoyproxy.pgv.validate";
|
||||
|
||||
import "google/protobuf/descriptor.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
// Validation rules applied at the message level
|
||||
extend google.protobuf.MessageOptions {
|
||||
// Disabled nullifies any validation rules for this message, including any
|
||||
// message fields associated with it that do support validation.
|
||||
optional bool disabled = 1071;
|
||||
}
|
||||
|
||||
// Validation rules applied at the oneof level
|
||||
extend google.protobuf.OneofOptions {
|
||||
// Required ensures that exactly one the field options in a oneof is set;
|
||||
// validation fails if no fields in the oneof are set.
|
||||
optional bool required = 1071;
|
||||
}
|
||||
|
||||
// Validation rules applied at the field level
|
||||
extend google.protobuf.FieldOptions {
|
||||
// Rules specify the validations to be performed on this field. By default,
|
||||
// no validation is performed against a field.
|
||||
optional FieldRules rules = 1071;
|
||||
}
|
||||
|
||||
// FieldRules encapsulates the rules for each type of field. Depending on the
|
||||
// field, the correct set should be used to ensure proper validations.
|
||||
message FieldRules {
|
||||
optional MessageRules message = 17;
|
||||
oneof type {
|
||||
// Scalar Field Types
|
||||
FloatRules float = 1;
|
||||
DoubleRules double = 2;
|
||||
Int32Rules int32 = 3;
|
||||
Int64Rules int64 = 4;
|
||||
UInt32Rules uint32 = 5;
|
||||
UInt64Rules uint64 = 6;
|
||||
SInt32Rules sint32 = 7;
|
||||
SInt64Rules sint64 = 8;
|
||||
Fixed32Rules fixed32 = 9;
|
||||
Fixed64Rules fixed64 = 10;
|
||||
SFixed32Rules sfixed32 = 11;
|
||||
SFixed64Rules sfixed64 = 12;
|
||||
BoolRules bool = 13;
|
||||
StringRules string = 14;
|
||||
BytesRules bytes = 15;
|
||||
|
||||
// Complex Field Types
|
||||
EnumRules enum = 16;
|
||||
RepeatedRules repeated = 18;
|
||||
MapRules map = 19;
|
||||
|
||||
// Well-Known Field Types
|
||||
AnyRules any = 20;
|
||||
DurationRules duration = 21;
|
||||
TimestampRules timestamp = 22;
|
||||
}
|
||||
}
|
||||
|
||||
// FloatRules describes the constraints applied to `float` values
|
||||
message FloatRules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional float const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional float lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional float lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional float gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional float gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated float in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated float not_in = 7;
|
||||
}
|
||||
|
||||
// DoubleRules describes the constraints applied to `double` values
|
||||
message DoubleRules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional double const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional double lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional double lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional double gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional double gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated double in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated double not_in = 7;
|
||||
}
|
||||
|
||||
// Int32Rules describes the constraints applied to `int32` values
|
||||
message Int32Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional int32 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional int32 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional int32 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional int32 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional int32 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated int32 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated int32 not_in = 7;
|
||||
}
|
||||
|
||||
// Int64Rules describes the constraints applied to `int64` values
|
||||
message Int64Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional int64 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional int64 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional int64 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional int64 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional int64 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated int64 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated int64 not_in = 7;
|
||||
}
|
||||
|
||||
// UInt32Rules describes the constraints applied to `uint32` values
|
||||
message UInt32Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional uint32 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional uint32 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional uint32 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional uint32 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional uint32 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated uint32 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated uint32 not_in = 7;
|
||||
}
|
||||
|
||||
// UInt64Rules describes the constraints applied to `uint64` values
|
||||
message UInt64Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional uint64 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional uint64 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional uint64 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional uint64 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional uint64 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated uint64 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated uint64 not_in = 7;
|
||||
}
|
||||
|
||||
// SInt32Rules describes the constraints applied to `sint32` values
|
||||
message SInt32Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional sint32 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional sint32 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional sint32 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional sint32 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional sint32 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated sint32 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated sint32 not_in = 7;
|
||||
}
|
||||
|
||||
// SInt64Rules describes the constraints applied to `sint64` values
|
||||
message SInt64Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional sint64 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional sint64 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional sint64 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional sint64 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional sint64 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated sint64 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated sint64 not_in = 7;
|
||||
}
|
||||
|
||||
// Fixed32Rules describes the constraints applied to `fixed32` values
|
||||
message Fixed32Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional fixed32 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional fixed32 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional fixed32 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional fixed32 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional fixed32 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated fixed32 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated fixed32 not_in = 7;
|
||||
}
|
||||
|
||||
// Fixed64Rules describes the constraints applied to `fixed64` values
|
||||
message Fixed64Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional fixed64 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional fixed64 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional fixed64 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional fixed64 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional fixed64 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated fixed64 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated fixed64 not_in = 7;
|
||||
}
|
||||
|
||||
// SFixed32Rules describes the constraints applied to `sfixed32` values
|
||||
message SFixed32Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional sfixed32 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional sfixed32 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional sfixed32 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional sfixed32 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional sfixed32 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated sfixed32 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated sfixed32 not_in = 7;
|
||||
}
|
||||
|
||||
// SFixed64Rules describes the constraints applied to `sfixed64` values
|
||||
message SFixed64Rules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional sfixed64 const = 1;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional sfixed64 lt = 2;
|
||||
|
||||
// Lte specifies that this field must be less than or equal to the
|
||||
// specified value, inclusive
|
||||
optional sfixed64 lte = 3;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
|
||||
// range is reversed.
|
||||
optional sfixed64 gt = 4;
|
||||
|
||||
// Gte specifies that this field must be greater than or equal to the
|
||||
// specified value, inclusive. If the value of Gte is larger than a
|
||||
// specified Lt or Lte, the range is reversed.
|
||||
optional sfixed64 gte = 5;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated sfixed64 in = 6;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated sfixed64 not_in = 7;
|
||||
}
|
||||
|
||||
// BoolRules describes the constraints applied to `bool` values
|
||||
message BoolRules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional bool const = 1;
|
||||
}
|
||||
|
||||
// StringRules describe the constraints applied to `string` values
|
||||
message StringRules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional string const = 1;
|
||||
|
||||
// Len specifies that this field must be the specified number of
|
||||
// characters (Unicode code points). Note that the number of
|
||||
// characters may differ from the number of bytes in the string.
|
||||
optional uint64 len = 19;
|
||||
|
||||
// MinLen specifies that this field must be the specified number of
|
||||
// characters (Unicode code points) at a minimum. Note that the number of
|
||||
// characters may differ from the number of bytes in the string.
|
||||
optional uint64 min_len = 2;
|
||||
|
||||
// MaxLen specifies that this field must be the specified number of
|
||||
// characters (Unicode code points) at a maximum. Note that the number of
|
||||
// characters may differ from the number of bytes in the string.
|
||||
optional uint64 max_len = 3;
|
||||
|
||||
// LenBytes specifies that this field must be the specified number of bytes
|
||||
// at a minimum
|
||||
optional uint64 len_bytes = 20;
|
||||
|
||||
// MinBytes specifies that this field must be the specified number of bytes
|
||||
// at a minimum
|
||||
optional uint64 min_bytes = 4;
|
||||
|
||||
// MaxBytes specifies that this field must be the specified number of bytes
|
||||
// at a maximum
|
||||
optional uint64 max_bytes = 5;
|
||||
|
||||
// Pattern specifes that this field must match against the specified
|
||||
// regular expression (RE2 syntax). The included expression should elide
|
||||
// any delimiters.
|
||||
optional string pattern = 6;
|
||||
|
||||
// Prefix specifies that this field must have the specified substring at
|
||||
// the beginning of the string.
|
||||
optional string prefix = 7;
|
||||
|
||||
// Suffix specifies that this field must have the specified substring at
|
||||
// the end of the string.
|
||||
optional string suffix = 8;
|
||||
|
||||
// Contains specifies that this field must have the specified substring
|
||||
// anywhere in the string.
|
||||
optional string contains = 9;
|
||||
|
||||
// NotContains specifies that this field cannot have the specified substring
|
||||
// anywhere in the string.
|
||||
optional string not_contains = 23;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated string in = 10;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated string not_in = 11;
|
||||
|
||||
// WellKnown rules provide advanced constraints against common string
|
||||
// patterns
|
||||
oneof well_known {
|
||||
// Email specifies that the field must be a valid email address as
|
||||
// defined by RFC 5322
|
||||
bool email = 12;
|
||||
|
||||
// Hostname specifies that the field must be a valid hostname as
|
||||
// defined by RFC 1034. This constraint does not support
|
||||
// internationalized domain names (IDNs).
|
||||
bool hostname = 13;
|
||||
|
||||
// Ip specifies that the field must be a valid IP (v4 or v6) address.
|
||||
// Valid IPv6 addresses should not include surrounding square brackets.
|
||||
bool ip = 14;
|
||||
|
||||
// Ipv4 specifies that the field must be a valid IPv4 address.
|
||||
bool ipv4 = 15;
|
||||
|
||||
// Ipv6 specifies that the field must be a valid IPv6 address. Valid
|
||||
// IPv6 addresses should not include surrounding square brackets.
|
||||
bool ipv6 = 16;
|
||||
|
||||
// Uri specifies that the field must be a valid, absolute URI as defined
|
||||
// by RFC 3986
|
||||
bool uri = 17;
|
||||
|
||||
// UriRef specifies that the field must be a valid URI as defined by RFC
|
||||
// 3986 and may be relative or absolute.
|
||||
bool uri_ref = 18;
|
||||
|
||||
// Address specifies that the field must be either a valid hostname as
|
||||
// defined by RFC 1034 (which does not support internationalized domain
|
||||
// names or IDNs), or it can be a valid IP (v4 or v6).
|
||||
bool address = 21;
|
||||
|
||||
// Uuid specifies that the field must be a valid UUID as defined by
|
||||
// RFC 4122
|
||||
bool uuid = 22;
|
||||
|
||||
// WellKnownRegex specifies a common well known pattern defined as a regex.
|
||||
KnownRegex well_known_regex = 24;
|
||||
}
|
||||
|
||||
// This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable
|
||||
// strict header validation.
|
||||
// By default, this is true, and HTTP header validations are RFC-compliant.
|
||||
// Setting to false will enable a looser validations that only disallows
|
||||
// \r\n\0 characters, which can be used to bypass header matching rules.
|
||||
optional bool strict = 25 [default = true];
|
||||
}
|
||||
|
||||
// WellKnownRegex contain some well-known patterns.
|
||||
enum KnownRegex {
|
||||
UNKNOWN = 0;
|
||||
|
||||
// HTTP header name as defined by RFC 7230.
|
||||
HTTP_HEADER_NAME = 1;
|
||||
|
||||
// HTTP header value as defined by RFC 7230.
|
||||
HTTP_HEADER_VALUE = 2;
|
||||
}
|
||||
|
||||
// BytesRules describe the constraints applied to `bytes` values
|
||||
message BytesRules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional bytes const = 1;
|
||||
|
||||
// Len specifies that this field must be the specified number of bytes
|
||||
optional uint64 len = 13;
|
||||
|
||||
// MinLen specifies that this field must be the specified number of bytes
|
||||
// at a minimum
|
||||
optional uint64 min_len = 2;
|
||||
|
||||
// MaxLen specifies that this field must be the specified number of bytes
|
||||
// at a maximum
|
||||
optional uint64 max_len = 3;
|
||||
|
||||
// Pattern specifes that this field must match against the specified
|
||||
// regular expression (RE2 syntax). The included expression should elide
|
||||
// any delimiters.
|
||||
optional string pattern = 4;
|
||||
|
||||
// Prefix specifies that this field must have the specified bytes at the
|
||||
// beginning of the string.
|
||||
optional bytes prefix = 5;
|
||||
|
||||
// Suffix specifies that this field must have the specified bytes at the
|
||||
// end of the string.
|
||||
optional bytes suffix = 6;
|
||||
|
||||
// Contains specifies that this field must have the specified bytes
|
||||
// anywhere in the string.
|
||||
optional bytes contains = 7;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated bytes in = 8;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated bytes not_in = 9;
|
||||
|
||||
// WellKnown rules provide advanced constraints against common byte
|
||||
// patterns
|
||||
oneof well_known {
|
||||
// Ip specifies that the field must be a valid IP (v4 or v6) address in
|
||||
// byte format
|
||||
bool ip = 10;
|
||||
|
||||
// Ipv4 specifies that the field must be a valid IPv4 address in byte
|
||||
// format
|
||||
bool ipv4 = 11;
|
||||
|
||||
// Ipv6 specifies that the field must be a valid IPv6 address in byte
|
||||
// format
|
||||
bool ipv6 = 12;
|
||||
}
|
||||
}
|
||||
|
||||
// EnumRules describe the constraints applied to enum values
|
||||
message EnumRules {
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional int32 const = 1;
|
||||
|
||||
// DefinedOnly specifies that this field must be only one of the defined
|
||||
// values for this enum, failing on any undefined value.
|
||||
optional bool defined_only = 2;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated int32 in = 3;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated int32 not_in = 4;
|
||||
}
|
||||
|
||||
// MessageRules describe the constraints applied to embedded message values.
|
||||
// For message-type fields, validation is performed recursively.
|
||||
message MessageRules {
|
||||
// Skip specifies that the validation rules of this field should not be
|
||||
// evaluated
|
||||
optional bool skip = 1;
|
||||
|
||||
// Required specifies that this field must be set
|
||||
optional bool required = 2;
|
||||
}
|
||||
|
||||
// RepeatedRules describe the constraints applied to `repeated` values
|
||||
message RepeatedRules {
|
||||
// MinItems specifies that this field must have the specified number of
|
||||
// items at a minimum
|
||||
optional uint64 min_items = 1;
|
||||
|
||||
// MaxItems specifies that this field must have the specified number of
|
||||
// items at a maximum
|
||||
optional uint64 max_items = 2;
|
||||
|
||||
// Unique specifies that all elements in this field must be unique. This
|
||||
// contraint is only applicable to scalar and enum types (messages are not
|
||||
// supported).
|
||||
optional bool unique = 3;
|
||||
|
||||
// Items specifies the contraints to be applied to each item in the field.
|
||||
// Repeated message fields will still execute validation against each item
|
||||
// unless skip is specified here.
|
||||
optional FieldRules items = 4;
|
||||
}
|
||||
|
||||
// MapRules describe the constraints applied to `map` values
|
||||
message MapRules {
|
||||
// MinPairs specifies that this field must have the specified number of
|
||||
// KVs at a minimum
|
||||
optional uint64 min_pairs = 1;
|
||||
|
||||
// MaxPairs specifies that this field must have the specified number of
|
||||
// KVs at a maximum
|
||||
optional uint64 max_pairs = 2;
|
||||
|
||||
// NoSparse specifies values in this field cannot be unset. This only
|
||||
// applies to map's with message value types.
|
||||
optional bool no_sparse = 3;
|
||||
|
||||
// Keys specifies the constraints to be applied to each key in the field.
|
||||
optional FieldRules keys = 4;
|
||||
|
||||
// Values specifies the constraints to be applied to the value of each key
|
||||
// in the field. Message values will still have their validations evaluated
|
||||
// unless skip is specified here.
|
||||
optional FieldRules values = 5;
|
||||
}
|
||||
|
||||
// AnyRules describe constraints applied exclusively to the
|
||||
// `google.protobuf.Any` well-known type
|
||||
message AnyRules {
|
||||
// Required specifies that this field must be set
|
||||
optional bool required = 1;
|
||||
|
||||
// In specifies that this field's `type_url` must be equal to one of the
|
||||
// specified values.
|
||||
repeated string in = 2;
|
||||
|
||||
// NotIn specifies that this field's `type_url` must not be equal to any of
|
||||
// the specified values.
|
||||
repeated string not_in = 3;
|
||||
}
|
||||
|
||||
// DurationRules describe the constraints applied exclusively to the
|
||||
// `google.protobuf.Duration` well-known type
|
||||
message DurationRules {
|
||||
// Required specifies that this field must be set
|
||||
optional bool required = 1;
|
||||
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional google.protobuf.Duration const = 2;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional google.protobuf.Duration lt = 3;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// inclusive
|
||||
optional google.protobuf.Duration lte = 4;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive
|
||||
optional google.protobuf.Duration gt = 5;
|
||||
|
||||
// Gte specifies that this field must be greater than the specified value,
|
||||
// inclusive
|
||||
optional google.protobuf.Duration gte = 6;
|
||||
|
||||
// In specifies that this field must be equal to one of the specified
|
||||
// values
|
||||
repeated google.protobuf.Duration in = 7;
|
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified
|
||||
// values
|
||||
repeated google.protobuf.Duration not_in = 8;
|
||||
}
|
||||
|
||||
// TimestampRules describe the constraints applied exclusively to the
|
||||
// `google.protobuf.Timestamp` well-known type
|
||||
message TimestampRules {
|
||||
// Required specifies that this field must be set
|
||||
optional bool required = 1;
|
||||
|
||||
// Const specifies that this field must be exactly the specified value
|
||||
optional google.protobuf.Timestamp const = 2;
|
||||
|
||||
// Lt specifies that this field must be less than the specified value,
|
||||
// exclusive
|
||||
optional google.protobuf.Timestamp lt = 3;
|
||||
|
||||
// Lte specifies that this field must be less than the specified value,
|
||||
// inclusive
|
||||
optional google.protobuf.Timestamp lte = 4;
|
||||
|
||||
// Gt specifies that this field must be greater than the specified value,
|
||||
// exclusive
|
||||
optional google.protobuf.Timestamp gt = 5;
|
||||
|
||||
// Gte specifies that this field must be greater than the specified value,
|
||||
// inclusive
|
||||
optional google.protobuf.Timestamp gte = 6;
|
||||
|
||||
// LtNow specifies that this must be less than the current time. LtNow
|
||||
// can only be used with the Within rule.
|
||||
optional bool lt_now = 7;
|
||||
|
||||
// GtNow specifies that this must be greater than the current time. GtNow
|
||||
// can only be used with the Within rule.
|
||||
optional bool gt_now = 8;
|
||||
|
||||
// Within specifies that this field must be within this duration of the
|
||||
// current time. This constraint can be used alone or with the LtNow and
|
||||
// GtNow rules.
|
||||
optional google.protobuf.Duration within = 9;
|
||||
}
|
||||
201
functions/node_modules/@grpc/grpc-js/proto/xds/LICENSE
generated
vendored
Normal file
201
functions/node_modules/@grpc/grpc-js/proto/xds/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
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.
|
||||
58
functions/node_modules/@grpc/grpc-js/proto/xds/xds/data/orca/v3/orca_load_report.proto
generated
vendored
Normal file
58
functions/node_modules/@grpc/grpc-js/proto/xds/xds/data/orca/v3/orca_load_report.proto
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package xds.data.orca.v3;
|
||||
|
||||
option java_outer_classname = "OrcaLoadReportProto";
|
||||
option java_multiple_files = true;
|
||||
option java_package = "com.github.xds.data.orca.v3";
|
||||
option go_package = "github.com/cncf/xds/go/xds/data/orca/v3";
|
||||
|
||||
import "validate/validate.proto";
|
||||
|
||||
// See section `ORCA load report format` of the design document in
|
||||
// :ref:`https://github.com/envoyproxy/envoy/issues/6614`.
|
||||
|
||||
message OrcaLoadReport {
|
||||
// CPU utilization expressed as a fraction of available CPU resources. This
|
||||
// should be derived from the latest sample or measurement. The value may be
|
||||
// larger than 1.0 when the usage exceeds the reporter dependent notion of
|
||||
// soft limits.
|
||||
double cpu_utilization = 1 [(validate.rules).double.gte = 0];
|
||||
|
||||
// Memory utilization expressed as a fraction of available memory
|
||||
// resources. This should be derived from the latest sample or measurement.
|
||||
double mem_utilization = 2 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1];
|
||||
|
||||
// Total RPS being served by an endpoint. This should cover all services that an endpoint is
|
||||
// responsible for.
|
||||
// Deprecated -- use ``rps_fractional`` field instead.
|
||||
uint64 rps = 3 [deprecated = true];
|
||||
|
||||
// Application specific requests costs. Each value is an absolute cost (e.g. 3487 bytes of
|
||||
// storage) associated with the request.
|
||||
map<string, double> request_cost = 4;
|
||||
|
||||
// Resource utilization values. Each value is expressed as a fraction of total resources
|
||||
// available, derived from the latest sample or measurement.
|
||||
map<string, double> utilization = 5
|
||||
[(validate.rules).map.values.double.gte = 0, (validate.rules).map.values.double.lte = 1];
|
||||
|
||||
// Total RPS being served by an endpoint. This should cover all services that an endpoint is
|
||||
// responsible for.
|
||||
double rps_fractional = 6 [(validate.rules).double.gte = 0];
|
||||
|
||||
// Total EPS (errors/second) being served by an endpoint. This should cover
|
||||
// all services that an endpoint is responsible for.
|
||||
double eps = 7 [(validate.rules).double.gte = 0];
|
||||
|
||||
// Application specific opaque metrics.
|
||||
map<string, double> named_metrics = 8;
|
||||
|
||||
// Application specific utilization expressed as a fraction of available
|
||||
// resources. For example, an application may report the max of CPU and memory
|
||||
// utilization for better load balancing if it is both CPU and memory bound.
|
||||
// This should be derived from the latest sample or measurement.
|
||||
// The value may be larger than 1.0 when the usage exceeds the reporter
|
||||
// dependent notion of soft limits.
|
||||
double application_utilization = 9 [(validate.rules).double.gte = 0];
|
||||
}
|
||||
36
functions/node_modules/@grpc/grpc-js/proto/xds/xds/service/orca/v3/orca.proto
generated
vendored
Normal file
36
functions/node_modules/@grpc/grpc-js/proto/xds/xds/service/orca/v3/orca.proto
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package xds.service.orca.v3;
|
||||
|
||||
option java_outer_classname = "OrcaProto";
|
||||
option java_multiple_files = true;
|
||||
option java_package = "com.github.xds.service.orca.v3";
|
||||
option go_package = "github.com/cncf/xds/go/xds/service/orca/v3";
|
||||
|
||||
import "xds/data/orca/v3/orca_load_report.proto";
|
||||
|
||||
import "google/protobuf/duration.proto";
|
||||
|
||||
// See section `Out-of-band (OOB) reporting` of the design document in
|
||||
// :ref:`https://github.com/envoyproxy/envoy/issues/6614`.
|
||||
|
||||
// Out-of-band (OOB) load reporting service for the additional load reporting
|
||||
// agent that does not sit in the request path. Reports are periodically sampled
|
||||
// with sufficient frequency to provide temporal association with requests.
|
||||
// OOB reporting compensates the limitation of in-band reporting in revealing
|
||||
// costs for backends that do not provide a steady stream of telemetry such as
|
||||
// long running stream operations and zero QPS services. This is a server
|
||||
// streaming service, client needs to terminate current RPC and initiate
|
||||
// a new call to change backend reporting frequency.
|
||||
service OpenRcaService {
|
||||
rpc StreamCoreMetrics(OrcaLoadReportRequest) returns (stream xds.data.orca.v3.OrcaLoadReport);
|
||||
}
|
||||
|
||||
message OrcaLoadReportRequest {
|
||||
// Interval for generating Open RCA core metric responses.
|
||||
google.protobuf.Duration report_interval = 1;
|
||||
// Request costs to collect. If this is empty, all known requests costs tracked by
|
||||
// the load reporting agent will be returned. This provides an opportunity for
|
||||
// the client to selectively obtain a subset of tracked costs.
|
||||
repeated string request_cost_names = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user