mesh/v1alpha1/proxy.pb.go (2,466 lines of code) (raw):
// Copyright 2017 Istio 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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.1
// protoc (unknown)
// source: mesh/v1alpha1/proxy.proto
package v1alpha1
import (
duration "github.com/golang/protobuf/ptypes/duration"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
v1alpha3 "istio.io/api/networking/v1alpha3"
v1beta1 "istio.io/api/networking/v1beta1"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// AuthenticationPolicy defines how the proxy is authenticated when it connects to the control plane.
// It can be set for two different scopes, mesh-wide or set on a per-pod basis using the ProxyConfig annotation.
// Mesh policy cannot be INHERIT.
type AuthenticationPolicy int32
const (
// Do not encrypt proxy to control plane traffic.
AuthenticationPolicy_NONE AuthenticationPolicy = 0
// Proxy to control plane traffic is wrapped into mutual TLS connections.
AuthenticationPolicy_MUTUAL_TLS AuthenticationPolicy = 1
// Use the policy defined by the parent scope. Should not be used for mesh
// policy.
AuthenticationPolicy_INHERIT AuthenticationPolicy = 1000
)
// Enum value maps for AuthenticationPolicy.
var (
AuthenticationPolicy_name = map[int32]string{
0: "NONE",
1: "MUTUAL_TLS",
1000: "INHERIT",
}
AuthenticationPolicy_value = map[string]int32{
"NONE": 0,
"MUTUAL_TLS": 1,
"INHERIT": 1000,
}
)
func (x AuthenticationPolicy) Enum() *AuthenticationPolicy {
p := new(AuthenticationPolicy)
*p = x
return p
}
func (x AuthenticationPolicy) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AuthenticationPolicy) Descriptor() protoreflect.EnumDescriptor {
return file_mesh_v1alpha1_proxy_proto_enumTypes[0].Descriptor()
}
func (AuthenticationPolicy) Type() protoreflect.EnumType {
return &file_mesh_v1alpha1_proxy_proto_enumTypes[0]
}
func (x AuthenticationPolicy) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AuthenticationPolicy.Descriptor instead.
func (AuthenticationPolicy) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0}
}
// ForwardClientCertDetails controls how the x-forwarded-client-cert (XFCC)
// header is handled by a proxy.
// See [Envoy XFCC](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto.html#enum-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-forwardclientcertdetails)
// header handling for more details.
type ForwardClientCertDetails int32
const (
// Field is not set
ForwardClientCertDetails_UNDEFINED ForwardClientCertDetails = 0
// Do not send the XFCC header to the next hop.
ForwardClientCertDetails_SANITIZE ForwardClientCertDetails = 1
// When the client connection is mTLS (Mutual TLS), forward the XFCC header
// in the request.
ForwardClientCertDetails_FORWARD_ONLY ForwardClientCertDetails = 2
// When the client connection is mTLS, append the client certificate
// information to the request’s XFCC header and forward it. This is the default value for sidecar proxies.
ForwardClientCertDetails_APPEND_FORWARD ForwardClientCertDetails = 3
// When the client connection is mTLS, reset the XFCC header with the client
// certificate information and send it to the next hop. This is the default value for gateway proxies.
ForwardClientCertDetails_SANITIZE_SET ForwardClientCertDetails = 4
// Always forward the XFCC header in the request, regardless of whether the
// client connection is mTLS.
ForwardClientCertDetails_ALWAYS_FORWARD_ONLY ForwardClientCertDetails = 5
)
// Enum value maps for ForwardClientCertDetails.
var (
ForwardClientCertDetails_name = map[int32]string{
0: "UNDEFINED",
1: "SANITIZE",
2: "FORWARD_ONLY",
3: "APPEND_FORWARD",
4: "SANITIZE_SET",
5: "ALWAYS_FORWARD_ONLY",
}
ForwardClientCertDetails_value = map[string]int32{
"UNDEFINED": 0,
"SANITIZE": 1,
"FORWARD_ONLY": 2,
"APPEND_FORWARD": 3,
"SANITIZE_SET": 4,
"ALWAYS_FORWARD_ONLY": 5,
}
)
func (x ForwardClientCertDetails) Enum() *ForwardClientCertDetails {
p := new(ForwardClientCertDetails)
*p = x
return p
}
func (x ForwardClientCertDetails) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ForwardClientCertDetails) Descriptor() protoreflect.EnumDescriptor {
return file_mesh_v1alpha1_proxy_proto_enumTypes[1].Descriptor()
}
func (ForwardClientCertDetails) Type() protoreflect.EnumType {
return &file_mesh_v1alpha1_proxy_proto_enumTypes[1]
}
func (x ForwardClientCertDetails) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ForwardClientCertDetails.Descriptor instead.
func (ForwardClientCertDetails) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{1}
}
// TraceContext selects the context propagation headers used for
// distributed tracing.
type Tracing_OpenCensusAgent_TraceContext int32
const (
// $hide_from_docs
// Unspecified context. Should not be used for now, but added to reserve
// the 0 enum value if TraceContext is used outside of a repeated field.
Tracing_OpenCensusAgent_UNSPECIFIED Tracing_OpenCensusAgent_TraceContext = 0
// Use W3C Trace Context propagation using the `traceparent` HTTP header.
// See the
// [Trace Context documentation](https://www.w3.org/TR/trace-context/) for details.
Tracing_OpenCensusAgent_W3C_TRACE_CONTEXT Tracing_OpenCensusAgent_TraceContext = 1
// Use gRPC binary context propagation using the `grpc-trace-bin` http header.
Tracing_OpenCensusAgent_GRPC_BIN Tracing_OpenCensusAgent_TraceContext = 2
// Use Cloud Trace context propagation using the
// `X-Cloud-Trace-Context` http header.
Tracing_OpenCensusAgent_CLOUD_TRACE_CONTEXT Tracing_OpenCensusAgent_TraceContext = 3
// Use multi-header B3 context propagation using the `X-B3-TraceId`,
// `X-B3-SpanId`, and `X-B3-Sampled` HTTP headers. See
// [B3 header propagation README](https://github.com/openzipkin/b3-propagation)
// for details.
Tracing_OpenCensusAgent_B3 Tracing_OpenCensusAgent_TraceContext = 4
)
// Enum value maps for Tracing_OpenCensusAgent_TraceContext.
var (
Tracing_OpenCensusAgent_TraceContext_name = map[int32]string{
0: "UNSPECIFIED",
1: "W3C_TRACE_CONTEXT",
2: "GRPC_BIN",
3: "CLOUD_TRACE_CONTEXT",
4: "B3",
}
Tracing_OpenCensusAgent_TraceContext_value = map[string]int32{
"UNSPECIFIED": 0,
"W3C_TRACE_CONTEXT": 1,
"GRPC_BIN": 2,
"CLOUD_TRACE_CONTEXT": 3,
"B3": 4,
}
)
func (x Tracing_OpenCensusAgent_TraceContext) Enum() *Tracing_OpenCensusAgent_TraceContext {
p := new(Tracing_OpenCensusAgent_TraceContext)
*p = x
return p
}
func (x Tracing_OpenCensusAgent_TraceContext) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Tracing_OpenCensusAgent_TraceContext) Descriptor() protoreflect.EnumDescriptor {
return file_mesh_v1alpha1_proxy_proto_enumTypes[2].Descriptor()
}
func (Tracing_OpenCensusAgent_TraceContext) Type() protoreflect.EnumType {
return &file_mesh_v1alpha1_proxy_proto_enumTypes[2]
}
func (x Tracing_OpenCensusAgent_TraceContext) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Tracing_OpenCensusAgent_TraceContext.Descriptor instead.
func (Tracing_OpenCensusAgent_TraceContext) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 4, 0}
}
// Allows specification of various Istio-supported naming schemes for the
// Envoy `service_cluster` value. The `service_cluster` value is primarily used
// by Envoys to provide service names for tracing spans.
type ProxyConfig_TracingServiceName int32
const (
// Default scheme. Uses the `app` label and workload namespace to construct
// a cluster name. If the `app` label does not exist `istio-proxy` is used.
ProxyConfig_APP_LABEL_AND_NAMESPACE ProxyConfig_TracingServiceName = 0
// Uses the canonical name for a workload (*excluding namespace*).
ProxyConfig_CANONICAL_NAME_ONLY ProxyConfig_TracingServiceName = 1
// Uses the canonical name and namespace for a workload.
ProxyConfig_CANONICAL_NAME_AND_NAMESPACE ProxyConfig_TracingServiceName = 2
)
// Enum value maps for ProxyConfig_TracingServiceName.
var (
ProxyConfig_TracingServiceName_name = map[int32]string{
0: "APP_LABEL_AND_NAMESPACE",
1: "CANONICAL_NAME_ONLY",
2: "CANONICAL_NAME_AND_NAMESPACE",
}
ProxyConfig_TracingServiceName_value = map[string]int32{
"APP_LABEL_AND_NAMESPACE": 0,
"CANONICAL_NAME_ONLY": 1,
"CANONICAL_NAME_AND_NAMESPACE": 2,
}
)
func (x ProxyConfig_TracingServiceName) Enum() *ProxyConfig_TracingServiceName {
p := new(ProxyConfig_TracingServiceName)
*p = x
return p
}
func (x ProxyConfig_TracingServiceName) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ProxyConfig_TracingServiceName) Descriptor() protoreflect.EnumDescriptor {
return file_mesh_v1alpha1_proxy_proto_enumTypes[3].Descriptor()
}
func (ProxyConfig_TracingServiceName) Type() protoreflect.EnumType {
return &file_mesh_v1alpha1_proxy_proto_enumTypes[3]
}
func (x ProxyConfig_TracingServiceName) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ProxyConfig_TracingServiceName.Descriptor instead.
func (ProxyConfig_TracingServiceName) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 0}
}
// The mode used to redirect inbound traffic to Envoy.
// This setting has no effect on outbound traffic: iptables `REDIRECT` is always used for
// outbound connections.
type ProxyConfig_InboundInterceptionMode int32
const (
// The `REDIRECT` mode uses iptables `REDIRECT` to `NAT` and redirect to Envoy. This mode loses
// source IP addresses during redirection. This is the default redirection mode.
ProxyConfig_REDIRECT ProxyConfig_InboundInterceptionMode = 0
// The `TPROXY` mode uses iptables `TPROXY` to redirect to Envoy. This mode preserves both the
// source and destination IP addresses and ports, so that they can be used for advanced
// filtering and manipulation. This mode also configures the sidecar to run with the
// `CAP_NET_ADMIN` capability, which is required to use `TPROXY`.
ProxyConfig_TPROXY ProxyConfig_InboundInterceptionMode = 1
// The `NONE` mode does not configure redirect to Envoy at all. This is an advanced
// configuration that typically requires changes to user applications.
ProxyConfig_NONE ProxyConfig_InboundInterceptionMode = 2
)
// Enum value maps for ProxyConfig_InboundInterceptionMode.
var (
ProxyConfig_InboundInterceptionMode_name = map[int32]string{
0: "REDIRECT",
1: "TPROXY",
2: "NONE",
}
ProxyConfig_InboundInterceptionMode_value = map[string]int32{
"REDIRECT": 0,
"TPROXY": 1,
"NONE": 2,
}
)
func (x ProxyConfig_InboundInterceptionMode) Enum() *ProxyConfig_InboundInterceptionMode {
p := new(ProxyConfig_InboundInterceptionMode)
*p = x
return p
}
func (x ProxyConfig_InboundInterceptionMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ProxyConfig_InboundInterceptionMode) Descriptor() protoreflect.EnumDescriptor {
return file_mesh_v1alpha1_proxy_proto_enumTypes[4].Descriptor()
}
func (ProxyConfig_InboundInterceptionMode) Type() protoreflect.EnumType {
return &file_mesh_v1alpha1_proxy_proto_enumTypes[4]
}
func (x ProxyConfig_InboundInterceptionMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ProxyConfig_InboundInterceptionMode.Descriptor instead.
func (ProxyConfig_InboundInterceptionMode) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 1}
}
type ProxyConfig_ProxyHeaders_MetadataExchangeMode int32
const (
// Existing Istio behavior for the metadata exchange headers is unchanged.
ProxyConfig_ProxyHeaders_UNDEFINED ProxyConfig_ProxyHeaders_MetadataExchangeMode = 0
// Only append the istio metadata exchange headers for services considered in-mesh.
// Traffic is considered in-mesh if it is secured with Istio mutual TLS. This means that `MESH_EXTERNAL` services, unmatched passthrough traffic, and requests to workloads without Istio enabled will be considered out of mesh.
ProxyConfig_ProxyHeaders_IN_MESH ProxyConfig_ProxyHeaders_MetadataExchangeMode = 1
)
// Enum value maps for ProxyConfig_ProxyHeaders_MetadataExchangeMode.
var (
ProxyConfig_ProxyHeaders_MetadataExchangeMode_name = map[int32]string{
0: "UNDEFINED",
1: "IN_MESH",
}
ProxyConfig_ProxyHeaders_MetadataExchangeMode_value = map[string]int32{
"UNDEFINED": 0,
"IN_MESH": 1,
}
)
func (x ProxyConfig_ProxyHeaders_MetadataExchangeMode) Enum() *ProxyConfig_ProxyHeaders_MetadataExchangeMode {
p := new(ProxyConfig_ProxyHeaders_MetadataExchangeMode)
*p = x
return p
}
func (x ProxyConfig_ProxyHeaders_MetadataExchangeMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ProxyConfig_ProxyHeaders_MetadataExchangeMode) Descriptor() protoreflect.EnumDescriptor {
return file_mesh_v1alpha1_proxy_proto_enumTypes[5].Descriptor()
}
func (ProxyConfig_ProxyHeaders_MetadataExchangeMode) Type() protoreflect.EnumType {
return &file_mesh_v1alpha1_proxy_proto_enumTypes[5]
}
func (x ProxyConfig_ProxyHeaders_MetadataExchangeMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders_MetadataExchangeMode.Descriptor instead.
func (ProxyConfig_ProxyHeaders_MetadataExchangeMode) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3, 0}
}
// Tracing defines configuration for the tracing performed by Envoy instances.
type Tracing struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The tracer implementation to be used by Envoy.
//
// Types that are assignable to Tracer:
//
// *Tracing_Zipkin_
// *Tracing_Lightstep_
// *Tracing_Datadog_
// *Tracing_Stackdriver_
// *Tracing_OpenCensusAgent_
Tracer isTracing_Tracer `protobuf_oneof:"tracer"`
// Configures the custom tags to be added to active span by all proxies (i.e. sidecars
// and gateways).
// The key represents the name of the tag.
// Ex:
// ```yaml
// custom_tags:
//
// new_tag_name:
// header:
// name: custom-http-header-name
// default_value: defaulted-value-from-custom-header
//
// ```
// $hide_from_docs
CustomTags map[string]*Tracing_CustomTag `protobuf:"bytes,5,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Configures the maximum length of the request path to extract and include in the
// HttpUrl tag. Used to truncate length request paths to meet the needs of tracing
// backend. If not set, then a length of 256 will be used.
// $hide_from_docs
MaxPathTagLength uint32 `protobuf:"varint,6,opt,name=max_path_tag_length,json=maxPathTagLength,proto3" json:"max_path_tag_length,omitempty"`
// The percentage of requests (0.0 - 100.0) that will be randomly selected for trace generation,
// if not requested by the client or not forced. Default is 1.0.
Sampling float64 `protobuf:"fixed64,7,opt,name=sampling,proto3" json:"sampling,omitempty"`
// Use the tlsSettings to specify the tls mode to use. If the remote tracing service
// uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS
// mode as `ISTIO_MUTUAL`.
TlsSettings *v1alpha3.ClientTLSSettings `protobuf:"bytes,8,opt,name=tls_settings,json=tlsSettings,proto3" json:"tls_settings,omitempty"`
}
func (x *Tracing) Reset() {
*x = Tracing{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing) ProtoMessage() {}
func (x *Tracing) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing.ProtoReflect.Descriptor instead.
func (*Tracing) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0}
}
func (m *Tracing) GetTracer() isTracing_Tracer {
if m != nil {
return m.Tracer
}
return nil
}
func (x *Tracing) GetZipkin() *Tracing_Zipkin {
if x, ok := x.GetTracer().(*Tracing_Zipkin_); ok {
return x.Zipkin
}
return nil
}
func (x *Tracing) GetLightstep() *Tracing_Lightstep {
if x, ok := x.GetTracer().(*Tracing_Lightstep_); ok {
return x.Lightstep
}
return nil
}
func (x *Tracing) GetDatadog() *Tracing_Datadog {
if x, ok := x.GetTracer().(*Tracing_Datadog_); ok {
return x.Datadog
}
return nil
}
func (x *Tracing) GetStackdriver() *Tracing_Stackdriver {
if x, ok := x.GetTracer().(*Tracing_Stackdriver_); ok {
return x.Stackdriver
}
return nil
}
func (x *Tracing) GetOpenCensusAgent() *Tracing_OpenCensusAgent {
if x, ok := x.GetTracer().(*Tracing_OpenCensusAgent_); ok {
return x.OpenCensusAgent
}
return nil
}
func (x *Tracing) GetCustomTags() map[string]*Tracing_CustomTag {
if x != nil {
return x.CustomTags
}
return nil
}
func (x *Tracing) GetMaxPathTagLength() uint32 {
if x != nil {
return x.MaxPathTagLength
}
return 0
}
func (x *Tracing) GetSampling() float64 {
if x != nil {
return x.Sampling
}
return 0
}
func (x *Tracing) GetTlsSettings() *v1alpha3.ClientTLSSettings {
if x != nil {
return x.TlsSettings
}
return nil
}
type isTracing_Tracer interface {
isTracing_Tracer()
}
type Tracing_Zipkin_ struct {
// Use a Zipkin tracer.
Zipkin *Tracing_Zipkin `protobuf:"bytes,1,opt,name=zipkin,proto3,oneof"`
}
type Tracing_Lightstep_ struct {
// Use a Lightstep tracer.
// NOTE: For Istio 1.15+, this configuration option will result
// in using OpenTelemetry-based Lightstep integration.
Lightstep *Tracing_Lightstep `protobuf:"bytes,2,opt,name=lightstep,proto3,oneof"`
}
type Tracing_Datadog_ struct {
// Use a Datadog tracer.
Datadog *Tracing_Datadog `protobuf:"bytes,3,opt,name=datadog,proto3,oneof"`
}
type Tracing_Stackdriver_ struct {
// Use a Stackdriver tracer.
Stackdriver *Tracing_Stackdriver `protobuf:"bytes,4,opt,name=stackdriver,proto3,oneof"`
}
type Tracing_OpenCensusAgent_ struct {
// Use an OpenCensus tracer exporting to an OpenCensus agent.
OpenCensusAgent *Tracing_OpenCensusAgent `protobuf:"bytes,9,opt,name=open_census_agent,json=openCensusAgent,proto3,oneof"`
}
func (*Tracing_Zipkin_) isTracing_Tracer() {}
func (*Tracing_Lightstep_) isTracing_Tracer() {}
func (*Tracing_Datadog_) isTracing_Tracer() {}
func (*Tracing_Stackdriver_) isTracing_Tracer() {}
func (*Tracing_OpenCensusAgent_) isTracing_Tracer() {}
// SDS defines secret discovery service(SDS) configuration to be used by the proxy.
// For workload, its values are set in sidecar injector(passed as arguments to istio-proxy container).
// For pilot/mixer, it's passed as arguments to istio-proxy container in pilot/mixer deployment yaml files directly.
// $hide_from_docs
type SDS struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// True if SDS is enabled.
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
// Path of k8s service account JWT path.
K8SSaJwtPath string `protobuf:"bytes,2,opt,name=k8s_sa_jwt_path,json=k8sSaJwtPath,proto3" json:"k8s_sa_jwt_path,omitempty"`
}
func (x *SDS) Reset() {
*x = SDS{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SDS) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SDS) ProtoMessage() {}
func (x *SDS) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SDS.ProtoReflect.Descriptor instead.
func (*SDS) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{1}
}
func (x *SDS) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *SDS) GetK8SSaJwtPath() string {
if x != nil {
return x.K8SSaJwtPath
}
return ""
}
// Topology describes the configuration for relative location of a proxy with
// respect to intermediate trusted proxies and the client. These settings
// control how the client attributes are retrieved from the incoming traffic by
// the gateway proxy and propagated to the upstream services in the cluster.
type Topology struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of trusted proxies deployed in front of the Istio gateway proxy.
// When this option is set to value N greater than zero, the trusted client
// address is assumed to be the Nth address from the right end of the
// X-Forwarded-For (XFF) header from the incoming request. If the
// X-Forwarded-For (XFF) header is missing or has fewer than N addresses, the
// gateway proxy falls back to using the immediate downstream connection's
// source address as the trusted client address.
// Note that the gateway proxy will append the downstream connection's source
// address to the X-Forwarded-For (XFF) address and set the
// X-Envoy-External-Address header to the trusted client address before
// forwarding it to the upstream services in the cluster.
// The default value of numTrustedProxies is 0.
// See [Envoy XFF](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-x-forwarded-for)
// header handling for more details.
NumTrustedProxies uint32 `protobuf:"varint,1,opt,name=num_trusted_proxies,json=numTrustedProxies,proto3" json:"num_trusted_proxies,omitempty"`
// Configures how the gateway proxy handles x-forwarded-client-cert (XFCC)
// header in the incoming request.
ForwardClientCertDetails ForwardClientCertDetails `protobuf:"varint,2,opt,name=forward_client_cert_details,json=forwardClientCertDetails,proto3,enum=istio.mesh.v1alpha1.ForwardClientCertDetails" json:"forward_client_cert_details,omitempty"`
// Enables [PROXY protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for
// downstream connections on a gateway.
ProxyProtocol *Topology_ProxyProtocolConfiguration `protobuf:"bytes,3,opt,name=proxy_protocol,json=proxyProtocol,proto3" json:"proxy_protocol,omitempty"`
XffTrustedCidrs []string `protobuf:"bytes,200,rep,name=xff_trusted_cidrs,json=xffTrustedCidrs,proto3" json:"xff_trusted_cidrs,omitempty"`
SkipXffAppend *wrappers.BoolValue `protobuf:"bytes,201,opt,name=skip_xff_append,json=skipXffAppend,proto3" json:"skip_xff_append,omitempty"`
}
func (x *Topology) Reset() {
*x = Topology{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Topology) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Topology) ProtoMessage() {}
func (x *Topology) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Topology.ProtoReflect.Descriptor instead.
func (*Topology) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{2}
}
func (x *Topology) GetNumTrustedProxies() uint32 {
if x != nil {
return x.NumTrustedProxies
}
return 0
}
func (x *Topology) GetForwardClientCertDetails() ForwardClientCertDetails {
if x != nil {
return x.ForwardClientCertDetails
}
return ForwardClientCertDetails_UNDEFINED
}
func (x *Topology) GetProxyProtocol() *Topology_ProxyProtocolConfiguration {
if x != nil {
return x.ProxyProtocol
}
return nil
}
func (x *Topology) GetXffTrustedCidrs() []string {
if x != nil {
return x.XffTrustedCidrs
}
return nil
}
func (x *Topology) GetSkipXffAppend() *wrappers.BoolValue {
if x != nil {
return x.SkipXffAppend
}
return nil
}
// PrivateKeyProvider defines private key configuration for gateways and sidecars. This can be configured
// mesh wide or individual per-workload basis.
type PrivateKeyProvider struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED. Specifies detailed configuration for the Private key provider.
//
// Types that are assignable to Provider:
//
// *PrivateKeyProvider_Cryptomb
// *PrivateKeyProvider_Qat
Provider isPrivateKeyProvider_Provider `protobuf_oneof:"provider"`
}
func (x *PrivateKeyProvider) Reset() {
*x = PrivateKeyProvider{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PrivateKeyProvider) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrivateKeyProvider) ProtoMessage() {}
func (x *PrivateKeyProvider) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PrivateKeyProvider.ProtoReflect.Descriptor instead.
func (*PrivateKeyProvider) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{3}
}
func (m *PrivateKeyProvider) GetProvider() isPrivateKeyProvider_Provider {
if m != nil {
return m.Provider
}
return nil
}
func (x *PrivateKeyProvider) GetCryptomb() *PrivateKeyProvider_CryptoMb {
if x, ok := x.GetProvider().(*PrivateKeyProvider_Cryptomb); ok {
return x.Cryptomb
}
return nil
}
func (x *PrivateKeyProvider) GetQat() *PrivateKeyProvider_QAT {
if x, ok := x.GetProvider().(*PrivateKeyProvider_Qat); ok {
return x.Qat
}
return nil
}
type isPrivateKeyProvider_Provider interface {
isPrivateKeyProvider_Provider()
}
type PrivateKeyProvider_Cryptomb struct {
// Use CryptoMb private key provider
Cryptomb *PrivateKeyProvider_CryptoMb `protobuf:"bytes,2,opt,name=cryptomb,proto3,oneof"`
}
type PrivateKeyProvider_Qat struct {
// Use QAT private key provider
Qat *PrivateKeyProvider_QAT `protobuf:"bytes,3,opt,name=qat,proto3,oneof"`
}
func (*PrivateKeyProvider_Cryptomb) isPrivateKeyProvider_Provider() {}
func (*PrivateKeyProvider_Qat) isPrivateKeyProvider_Provider() {}
// ProxyConfig defines variables for individual Envoy instances. This can be configured on a per-workload basis
// as well as by the mesh-wide defaults.
// To set the mesh wide defaults, configure the `defaultConfig` section of `meshConfig`. For example:
//
// ```
// meshConfig:
//
// defaultConfig:
// discoveryAddress: istiod:15012
//
// ```
//
// This can also be configured on a per-workload basis by configuring the `proxy.istio.io/config` annotation on the pod. For example:
//
// ```
// annotations:
//
// proxy.istio.io/config: |
// discoveryAddress: istiod:15012
//
// ```
//
// If both are configured, the two are merged with per field semantics; the field set in annotation will fully replace the field from mesh config defaults.
// This is different than a deep merge provided by protobuf.
// For example, `"tracing": { "sampling": 5 }` would completely override a setting configuring a tracing provider
// such as `"tracing": { "zipkin": { "address": "..." } }`.
//
// Note: fields in ProxyConfig are not dynamically configured; changes will require restart of workloads to take effect.
type ProxyConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Path to the generated configuration file directory.
// Proxy agent generates the actual configuration and stores it in this directory.
ConfigPath string `protobuf:"bytes,1,opt,name=config_path,json=configPath,proto3" json:"config_path,omitempty"`
// Path to the proxy binary
BinaryPath string `protobuf:"bytes,2,opt,name=binary_path,json=binaryPath,proto3" json:"binary_path,omitempty"`
// Types that are assignable to ClusterName:
//
// *ProxyConfig_ServiceCluster
// *ProxyConfig_TracingServiceName_
ClusterName isProxyConfig_ClusterName `protobuf_oneof:"cluster_name"`
// The time in seconds that Envoy will drain connections during a hot
// restart. MUST be >=1s (e.g., _1s/1m/1h_)
// Default drain duration is `45s`.
DrainDuration *duration.Duration `protobuf:"bytes,4,opt,name=drain_duration,json=drainDuration,proto3" json:"drain_duration,omitempty"`
// Address of the discovery service exposing xDS with mTLS connection.
// The inject configuration may override this value.
DiscoveryAddress string `protobuf:"bytes,6,opt,name=discovery_address,json=discoveryAddress,proto3" json:"discovery_address,omitempty"`
// $hide_from_docs
//
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
DiscoveryRefreshDelay *duration.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay,proto3" json:"discovery_refresh_delay,omitempty"`
// Address of the Zipkin service (e.g. _zipkin:9411_).
// DEPRECATED: Use [tracing][istio.mesh.v1alpha1.ProxyConfig.tracing] instead.
//
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"`
// IP Address and Port of a statsd UDP listener (e.g. `10.75.241.127:9125`).
StatsdUdpAddress string `protobuf:"bytes,10,opt,name=statsd_udp_address,json=statsdUdpAddress,proto3" json:"statsd_udp_address,omitempty"`
// $hide_from_docs
//
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
EnvoyMetricsServiceAddress string `protobuf:"bytes,20,opt,name=envoy_metrics_service_address,json=envoyMetricsServiceAddress,proto3" json:"envoy_metrics_service_address,omitempty"`
// Port on which Envoy should listen for administrative commands.
// Default port is `15000`.
ProxyAdminPort int32 `protobuf:"varint,11,opt,name=proxy_admin_port,json=proxyAdminPort,proto3" json:"proxy_admin_port,omitempty"`
// $hide_from_docs
//
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"`
// AuthenticationPolicy defines how the proxy is authenticated when it connects to the control plane.
// Default is set to `MUTUAL_TLS`.
ControlPlaneAuthPolicy AuthenticationPolicy `protobuf:"varint,13,opt,name=control_plane_auth_policy,json=controlPlaneAuthPolicy,proto3,enum=istio.mesh.v1alpha1.AuthenticationPolicy" json:"control_plane_auth_policy,omitempty"`
// File path of custom proxy configuration, currently used by proxies
// in front of Mixer and Pilot.
CustomConfigFile string `protobuf:"bytes,14,opt,name=custom_config_file,json=customConfigFile,proto3" json:"custom_config_file,omitempty"`
// Maximum length of name field in Envoy's metrics. The length of the name field
// is determined by the length of a name field in a service and the set of labels that
// comprise a particular version of the service. The default value is set to 189 characters.
// Envoy's internal metrics take up 67 characters, for a total of 256 character name per metric.
// Increase the value of this field if you find that the metrics from Envoys are truncated.
StatNameLength int32 `protobuf:"varint,15,opt,name=stat_name_length,json=statNameLength,proto3" json:"stat_name_length,omitempty"`
// The number of worker threads to run.
// If unset, which is recommended, this will be automatically determined based on CPU requests/limits.
// If set to 0, all cores on the machine will be used, ignoring CPU requests or limits. This can lead to major performance
// issues if CPU limits are also set.
Concurrency *wrappers.Int32Value `protobuf:"bytes,16,opt,name=concurrency,proto3" json:"concurrency,omitempty"`
// Path to the proxy bootstrap template file
ProxyBootstrapTemplatePath string `protobuf:"bytes,17,opt,name=proxy_bootstrap_template_path,json=proxyBootstrapTemplatePath,proto3" json:"proxy_bootstrap_template_path,omitempty"`
// The mode used to redirect inbound traffic to Envoy.
InterceptionMode ProxyConfig_InboundInterceptionMode `protobuf:"varint,18,opt,name=interception_mode,json=interceptionMode,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_InboundInterceptionMode" json:"interception_mode,omitempty"`
// Tracing configuration to be used by the proxy.
Tracing *Tracing `protobuf:"bytes,19,opt,name=tracing,proto3" json:"tracing,omitempty"`
// Secret Discovery Service(SDS) configuration to be used by the proxy.
// $hide_from_docs
//
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
Sds *SDS `protobuf:"bytes,21,opt,name=sds,proto3" json:"sds,omitempty"`
// Address of the service to which access logs from Envoys should be
// sent. (e.g. `accesslog-service:15000`). See [Access Log
// Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/accesslog/v2/als.proto)
// for details about Envoy's gRPC Access Log Service API.
EnvoyAccessLogService *RemoteService `protobuf:"bytes,22,opt,name=envoy_access_log_service,json=envoyAccessLogService,proto3" json:"envoy_access_log_service,omitempty"`
// Address of the Envoy Metrics Service implementation (e.g. `metrics-service:15000`).
// See [Metric Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto)
// for details about Envoy's Metrics Service API.
EnvoyMetricsService *RemoteService `protobuf:"bytes,23,opt,name=envoy_metrics_service,json=envoyMetricsService,proto3" json:"envoy_metrics_service,omitempty"`
// Additional environment variables for the proxy.
// Names starting with `ISTIO_META_` will be included in the generated bootstrap and sent to the XDS server.
ProxyMetadata map[string]string `protobuf:"bytes,24,rep,name=proxy_metadata,json=proxyMetadata,proto3" json:"proxy_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Envoy [runtime configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/runtime) to set during bootstrapping.
// This enables setting experimental, unsafe, unsupported, and deprecated features that should be used with extreme caution.
RuntimeValues map[string]string `protobuf:"bytes,37,rep,name=runtime_values,json=runtimeValues,proto3" json:"runtime_values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Port on which the agent should listen for administrative commands such as readiness probe.
// Default is set to port `15020`.
StatusPort int32 `protobuf:"varint,26,opt,name=status_port,json=statusPort,proto3" json:"status_port,omitempty"`
// An additional list of tags to extract from the in-proxy Istio telemetry. These extra tags can be
// added by configuring the telemetry extension. Each additional tag needs to be present in this list.
// Extra tags emitted by the telemetry extensions must be listed here so that they can be processed
// and exposed as Prometheus metrics.
// Deprecated: `istio.stats` is a native filter now, this field is no longer needed.
ExtraStatTags []string `protobuf:"bytes,27,rep,name=extra_stat_tags,json=extraStatTags,proto3" json:"extra_stat_tags,omitempty"`
// Topology encapsulates the configuration which describes where the proxy is
// located i.e. behind a (or N) trusted proxy (proxies) or directly exposed
// to the internet. This configuration only effects gateways and is applied
// to all the gateways in the cluster unless overridden via annotations of the
// gateway workloads.
GatewayTopology *Topology `protobuf:"bytes,28,opt,name=gateway_topology,json=gatewayTopology,proto3" json:"gateway_topology,omitempty"`
// The amount of time allowed for connections to complete on proxy shutdown.
// On receiving `SIGTERM` or `SIGINT`, `istio-agent` tells the active Envoy to start gracefully draining,
// discouraging any new connections and allowing existing connections to complete. It then
// sleeps for the `terminationDrainDuration` and then kills any remaining active Envoy processes.
// If not set, a default of `5s` will be applied.
TerminationDrainDuration *duration.Duration `protobuf:"bytes,29,opt,name=termination_drain_duration,json=terminationDrainDuration,proto3" json:"termination_drain_duration,omitempty"`
// The unique identifier for the [service mesh](https://istio.io/docs/reference/glossary/#service-mesh)
// All control planes running in the same service mesh should specify the same mesh ID.
// Mesh ID is used to label telemetry reports for cases where telemetry from multiple meshes is mixed together.
MeshId string `protobuf:"bytes,30,opt,name=mesh_id,json=meshId,proto3" json:"mesh_id,omitempty"`
// VM Health Checking readiness probe. This health check config exactly mirrors the
// kubernetes readiness probe configuration both in schema and logic.
// Only one health check method of 3 can be set at a time.
ReadinessProbe *v1alpha3.ReadinessProbe `protobuf:"bytes,31,opt,name=readiness_probe,json=readinessProbe,proto3" json:"readiness_probe,omitempty"`
// Proxy stats matcher defines configuration for reporting custom Envoy stats.
// To reduce memory and CPU overhead from Envoy stats system, Istio proxies by
// default create and expose only a subset of Envoy stats. This option is to
// control creation of additional Envoy stats with prefix, suffix, and regex
// expressions match on the name of the stats. This replaces the stats
// inclusion annotations
// (`sidecar.istio.io/statsInclusionPrefixes`,
// `sidecar.istio.io/statsInclusionRegexps`, and
// `sidecar.istio.io/statsInclusionSuffixes`). For example, to enable stats
// for circuit breakers, request retries, upstream connections, and request timeouts,
// you can specify stats matcher as follows:
// ```yaml
// proxyStatsMatcher:
//
// inclusionRegexps:
// - .*outlier_detection.*
// - .*upstream_rq_retry.*
// - .*upstream_cx_.*
// inclusionSuffixes:
// - upstream_rq_timeout
//
// ```
// Note including more Envoy stats might increase number of time series
// collected by prometheus significantly. Care needs to be taken on Prometheus
// resource provision and configuration to reduce cardinality.
ProxyStatsMatcher *ProxyConfig_ProxyStatsMatcher `protobuf:"bytes,32,opt,name=proxy_stats_matcher,json=proxyStatsMatcher,proto3" json:"proxy_stats_matcher,omitempty"`
// Boolean flag for enabling/disabling the holdApplicationUntilProxyStarts behavior.
// This feature adds hooks to delay application startup until the pod proxy
// is ready to accept traffic, mitigating some startup race conditions.
// Default value is 'false'.
HoldApplicationUntilProxyStarts *wrappers.BoolValue `protobuf:"bytes,33,opt,name=hold_application_until_proxy_starts,json=holdApplicationUntilProxyStarts,proto3" json:"hold_application_until_proxy_starts,omitempty"`
// The PEM data of the extra root certificates for workload-to-workload communication.
// This includes the certificates defined in MeshConfig and any other certificates that Istiod uses as CA.
// The plugin certificates (the 'cacerts' secret), self-signed certificates (the 'istio-ca-secret' secret)
// are added automatically by Istiod.
CaCertificatesPem []string `protobuf:"bytes,34,rep,name=ca_certificates_pem,json=caCertificatesPem,proto3" json:"ca_certificates_pem,omitempty"`
// Specifies the details of the proxy image.
Image *v1beta1.ProxyImage `protobuf:"bytes,35,opt,name=image,proto3" json:"image,omitempty"`
// Specifies the details of the Private Key Provider configuration for gateway and sidecar proxies.
PrivateKeyProvider *PrivateKeyProvider `protobuf:"bytes,38,opt,name=private_key_provider,json=privateKeyProvider,proto3" json:"private_key_provider,omitempty"`
// Define the set of headers to add/modify for HTTP request/responses.
//
// To enable an optional header, simply set the field. If no specific configuration is required, an empty object (`{}`) will enable it.
// Note: currently all headers are enabled by default.
//
// Below shows an example of customizing the `server` header and disabling the `X-Envoy-Attempt-Count` header:
//
// ```yaml
// proxyHeaders:
//
// server:
// value: "my-custom-server"
// requestId: {} // Explicitly enable Request IDs. As this is the default, this has no effect.
// attemptCount:
// disabled: true
//
// ```
//
// Some headers are enabled by default, and require explicitly disabling. See below for an example of disabling all default-enabled headers:
//
// ```yaml
// proxyHeaders:
//
// forwardedClientCert: SANITIZE
// server:
// disabled: true
// requestId:
// disabled: true
// attemptCount:
// disabled: true
// envoyDebugHeaders:
// disabled: true
// metadataExchangeHeaders:
// mode: IN_MESH
//
// ```
ProxyHeaders *ProxyConfig_ProxyHeaders `protobuf:"bytes,39,opt,name=proxy_headers,json=proxyHeaders,proto3" json:"proxy_headers,omitempty"`
// Boolean flag for enabling/disabling the http2 protocol
HttpsHttp2Disabled bool `protobuf:"varint,100,opt,name=https_http2_disabled,json=httpsHttp2Disabled,proto3" json:"https_http2_disabled,omitempty"`
}
func (x *ProxyConfig) Reset() {
*x = ProxyConfig{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig) ProtoMessage() {}
func (x *ProxyConfig) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig.ProtoReflect.Descriptor instead.
func (*ProxyConfig) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4}
}
func (x *ProxyConfig) GetConfigPath() string {
if x != nil {
return x.ConfigPath
}
return ""
}
func (x *ProxyConfig) GetBinaryPath() string {
if x != nil {
return x.BinaryPath
}
return ""
}
func (m *ProxyConfig) GetClusterName() isProxyConfig_ClusterName {
if m != nil {
return m.ClusterName
}
return nil
}
func (x *ProxyConfig) GetServiceCluster() string {
if x, ok := x.GetClusterName().(*ProxyConfig_ServiceCluster); ok {
return x.ServiceCluster
}
return ""
}
func (x *ProxyConfig) GetTracingServiceName() ProxyConfig_TracingServiceName {
if x, ok := x.GetClusterName().(*ProxyConfig_TracingServiceName_); ok {
return x.TracingServiceName
}
return ProxyConfig_APP_LABEL_AND_NAMESPACE
}
func (x *ProxyConfig) GetDrainDuration() *duration.Duration {
if x != nil {
return x.DrainDuration
}
return nil
}
func (x *ProxyConfig) GetDiscoveryAddress() string {
if x != nil {
return x.DiscoveryAddress
}
return ""
}
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
func (x *ProxyConfig) GetDiscoveryRefreshDelay() *duration.Duration {
if x != nil {
return x.DiscoveryRefreshDelay
}
return nil
}
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
func (x *ProxyConfig) GetZipkinAddress() string {
if x != nil {
return x.ZipkinAddress
}
return ""
}
func (x *ProxyConfig) GetStatsdUdpAddress() string {
if x != nil {
return x.StatsdUdpAddress
}
return ""
}
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
func (x *ProxyConfig) GetEnvoyMetricsServiceAddress() string {
if x != nil {
return x.EnvoyMetricsServiceAddress
}
return ""
}
func (x *ProxyConfig) GetProxyAdminPort() int32 {
if x != nil {
return x.ProxyAdminPort
}
return 0
}
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
func (x *ProxyConfig) GetAvailabilityZone() string {
if x != nil {
return x.AvailabilityZone
}
return ""
}
func (x *ProxyConfig) GetControlPlaneAuthPolicy() AuthenticationPolicy {
if x != nil {
return x.ControlPlaneAuthPolicy
}
return AuthenticationPolicy_NONE
}
func (x *ProxyConfig) GetCustomConfigFile() string {
if x != nil {
return x.CustomConfigFile
}
return ""
}
func (x *ProxyConfig) GetStatNameLength() int32 {
if x != nil {
return x.StatNameLength
}
return 0
}
func (x *ProxyConfig) GetConcurrency() *wrappers.Int32Value {
if x != nil {
return x.Concurrency
}
return nil
}
func (x *ProxyConfig) GetProxyBootstrapTemplatePath() string {
if x != nil {
return x.ProxyBootstrapTemplatePath
}
return ""
}
func (x *ProxyConfig) GetInterceptionMode() ProxyConfig_InboundInterceptionMode {
if x != nil {
return x.InterceptionMode
}
return ProxyConfig_REDIRECT
}
func (x *ProxyConfig) GetTracing() *Tracing {
if x != nil {
return x.Tracing
}
return nil
}
// Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
func (x *ProxyConfig) GetSds() *SDS {
if x != nil {
return x.Sds
}
return nil
}
func (x *ProxyConfig) GetEnvoyAccessLogService() *RemoteService {
if x != nil {
return x.EnvoyAccessLogService
}
return nil
}
func (x *ProxyConfig) GetEnvoyMetricsService() *RemoteService {
if x != nil {
return x.EnvoyMetricsService
}
return nil
}
func (x *ProxyConfig) GetProxyMetadata() map[string]string {
if x != nil {
return x.ProxyMetadata
}
return nil
}
func (x *ProxyConfig) GetRuntimeValues() map[string]string {
if x != nil {
return x.RuntimeValues
}
return nil
}
func (x *ProxyConfig) GetStatusPort() int32 {
if x != nil {
return x.StatusPort
}
return 0
}
func (x *ProxyConfig) GetExtraStatTags() []string {
if x != nil {
return x.ExtraStatTags
}
return nil
}
func (x *ProxyConfig) GetGatewayTopology() *Topology {
if x != nil {
return x.GatewayTopology
}
return nil
}
func (x *ProxyConfig) GetTerminationDrainDuration() *duration.Duration {
if x != nil {
return x.TerminationDrainDuration
}
return nil
}
func (x *ProxyConfig) GetMeshId() string {
if x != nil {
return x.MeshId
}
return ""
}
func (x *ProxyConfig) GetReadinessProbe() *v1alpha3.ReadinessProbe {
if x != nil {
return x.ReadinessProbe
}
return nil
}
func (x *ProxyConfig) GetProxyStatsMatcher() *ProxyConfig_ProxyStatsMatcher {
if x != nil {
return x.ProxyStatsMatcher
}
return nil
}
func (x *ProxyConfig) GetHoldApplicationUntilProxyStarts() *wrappers.BoolValue {
if x != nil {
return x.HoldApplicationUntilProxyStarts
}
return nil
}
func (x *ProxyConfig) GetCaCertificatesPem() []string {
if x != nil {
return x.CaCertificatesPem
}
return nil
}
func (x *ProxyConfig) GetImage() *v1beta1.ProxyImage {
if x != nil {
return x.Image
}
return nil
}
func (x *ProxyConfig) GetPrivateKeyProvider() *PrivateKeyProvider {
if x != nil {
return x.PrivateKeyProvider
}
return nil
}
func (x *ProxyConfig) GetProxyHeaders() *ProxyConfig_ProxyHeaders {
if x != nil {
return x.ProxyHeaders
}
return nil
}
func (x *ProxyConfig) GetHttpsHttp2Disabled() bool {
if x != nil {
return x.HttpsHttp2Disabled
}
return false
}
type isProxyConfig_ClusterName interface {
isProxyConfig_ClusterName()
}
type ProxyConfig_ServiceCluster struct {
// Service cluster defines the name for the `service_cluster` that is
// shared by all Envoy instances. This setting corresponds to
// `--service-cluster` flag in Envoy. In a typical Envoy deployment, the
// `service-cluster` flag is used to identify the caller, for
// source-based routing scenarios.
//
// Since Istio does not assign a local `service/service` version to each
// Envoy instance, the name is same for all of them. However, the
// source/caller's identity (e.g., IP address) is encoded in the
// `--service-node` flag when launching Envoy. When the RDS service
// receives API calls from Envoy, it uses the value of the `service-node`
// flag to compute routes that are relative to the service instances
// located at that IP address.
ServiceCluster string `protobuf:"bytes,3,opt,name=service_cluster,json=serviceCluster,proto3,oneof"`
}
type ProxyConfig_TracingServiceName_ struct {
// Used by Envoy proxies to assign the values for the service names in trace
// spans.
TracingServiceName ProxyConfig_TracingServiceName `protobuf:"varint,36,opt,name=tracing_service_name,json=tracingServiceName,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_TracingServiceName,oneof"`
}
func (*ProxyConfig_ServiceCluster) isProxyConfig_ClusterName() {}
func (*ProxyConfig_TracingServiceName_) isProxyConfig_ClusterName() {}
type RemoteService struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Address of a remove service used for various purposes (access log
// receiver, metrics receiver, etc.). Can be IP address or a fully
// qualified DNS name.
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// Use the `tlsSettings` to specify the tls mode to use. If the remote service
// uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS
// mode as `ISTIO_MUTUAL`.
TlsSettings *v1alpha3.ClientTLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings,proto3" json:"tls_settings,omitempty"`
// If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.
TcpKeepalive *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
}
func (x *RemoteService) Reset() {
*x = RemoteService{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RemoteService) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RemoteService) ProtoMessage() {}
func (x *RemoteService) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RemoteService.ProtoReflect.Descriptor instead.
func (*RemoteService) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{5}
}
func (x *RemoteService) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *RemoteService) GetTlsSettings() *v1alpha3.ClientTLSSettings {
if x != nil {
return x.TlsSettings
}
return nil
}
func (x *RemoteService) GetTcpKeepalive() *v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive {
if x != nil {
return x.TcpKeepalive
}
return nil
}
// Zipkin defines configuration for a Zipkin tracer.
type Tracing_Zipkin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Address of the Zipkin service (e.g. _zipkin:9411_).
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}
func (x *Tracing_Zipkin) Reset() {
*x = Tracing_Zipkin{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_Zipkin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_Zipkin) ProtoMessage() {}
func (x *Tracing_Zipkin) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_Zipkin.ProtoReflect.Descriptor instead.
func (*Tracing_Zipkin) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 0}
}
func (x *Tracing_Zipkin) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
// $hide_from_docs
// Defines configuration for a Lightstep tracer.
type Tracing_Lightstep struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Address of the Lightstep Satellite pool.
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// The Lightstep access token.
AccessToken string `protobuf:"bytes,2,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
}
func (x *Tracing_Lightstep) Reset() {
*x = Tracing_Lightstep{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_Lightstep) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_Lightstep) ProtoMessage() {}
func (x *Tracing_Lightstep) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_Lightstep.ProtoReflect.Descriptor instead.
func (*Tracing_Lightstep) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 1}
}
func (x *Tracing_Lightstep) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *Tracing_Lightstep) GetAccessToken() string {
if x != nil {
return x.AccessToken
}
return ""
}
// Datadog defines configuration for a Datadog tracer.
type Tracing_Datadog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Address of the Datadog Agent.
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}
func (x *Tracing_Datadog) Reset() {
*x = Tracing_Datadog{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_Datadog) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_Datadog) ProtoMessage() {}
func (x *Tracing_Datadog) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_Datadog.ProtoReflect.Descriptor instead.
func (*Tracing_Datadog) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 2}
}
func (x *Tracing_Datadog) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
// Stackdriver defines configuration for a Stackdriver tracer.
// See [Envoy's OpenCensus trace configuration](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/opencensus.proto)
// and
// [OpenCensus trace config](https://github.com/census-instrumentation/opencensus-proto/blob/master/src/opencensus/proto/trace/v1/trace_config.proto) for details.
type Tracing_Stackdriver struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// debug enables trace output to stdout.
// $hide_from_docs
Debug bool `protobuf:"varint,1,opt,name=debug,proto3" json:"debug,omitempty"`
// The global default max number of attributes per span.
// default is 200.
// $hide_from_docs
MaxNumberOfAttributes *wrappers.Int64Value `protobuf:"bytes,2,opt,name=max_number_of_attributes,json=maxNumberOfAttributes,proto3" json:"max_number_of_attributes,omitempty"`
// The global default max number of annotation events per span.
// default is 200.
// $hide_from_docs
MaxNumberOfAnnotations *wrappers.Int64Value `protobuf:"bytes,3,opt,name=max_number_of_annotations,json=maxNumberOfAnnotations,proto3" json:"max_number_of_annotations,omitempty"`
// The global default max number of message events per span.
// default is 200.
// $hide_from_docs
MaxNumberOfMessageEvents *wrappers.Int64Value `protobuf:"bytes,4,opt,name=max_number_of_message_events,json=maxNumberOfMessageEvents,proto3" json:"max_number_of_message_events,omitempty"`
}
func (x *Tracing_Stackdriver) Reset() {
*x = Tracing_Stackdriver{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_Stackdriver) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_Stackdriver) ProtoMessage() {}
func (x *Tracing_Stackdriver) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_Stackdriver.ProtoReflect.Descriptor instead.
func (*Tracing_Stackdriver) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 3}
}
func (x *Tracing_Stackdriver) GetDebug() bool {
if x != nil {
return x.Debug
}
return false
}
func (x *Tracing_Stackdriver) GetMaxNumberOfAttributes() *wrappers.Int64Value {
if x != nil {
return x.MaxNumberOfAttributes
}
return nil
}
func (x *Tracing_Stackdriver) GetMaxNumberOfAnnotations() *wrappers.Int64Value {
if x != nil {
return x.MaxNumberOfAnnotations
}
return nil
}
func (x *Tracing_Stackdriver) GetMaxNumberOfMessageEvents() *wrappers.Int64Value {
if x != nil {
return x.MaxNumberOfMessageEvents
}
return nil
}
// OpenCensusAgent defines configuration for an OpenCensus tracer writing to
// an OpenCensus agent backend. See
// [Envoy's OpenCensus trace configuration](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/opencensus.proto)
// and
// [OpenCensus trace config](https://github.com/census-instrumentation/opencensus-proto/blob/master/src/opencensus/proto/trace/v1/trace_config.proto)
// for details.
type Tracing_OpenCensusAgent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// gRPC address for the OpenCensus agent (e.g. dns://authority/host:port or
// unix:path). See [gRPC naming
// docs](https://github.com/grpc/grpc/blob/master/doc/naming.md) for
// details.
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// Specifies the set of context propagation headers used for distributed
// tracing. Default is `["W3C_TRACE_CONTEXT"]`. If multiple values are specified,
// the proxy will attempt to read each header for each request and will
// write all headers.
Context []Tracing_OpenCensusAgent_TraceContext `protobuf:"varint,2,rep,packed,name=context,proto3,enum=istio.mesh.v1alpha1.Tracing_OpenCensusAgent_TraceContext" json:"context,omitempty"`
}
func (x *Tracing_OpenCensusAgent) Reset() {
*x = Tracing_OpenCensusAgent{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_OpenCensusAgent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_OpenCensusAgent) ProtoMessage() {}
func (x *Tracing_OpenCensusAgent) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_OpenCensusAgent.ProtoReflect.Descriptor instead.
func (*Tracing_OpenCensusAgent) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 4}
}
func (x *Tracing_OpenCensusAgent) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *Tracing_OpenCensusAgent) GetContext() []Tracing_OpenCensusAgent_TraceContext {
if x != nil {
return x.Context
}
return nil
}
// Configure custom tags that will be added to any active span.
// Tags can be generated via literals, environment variables or an incoming request header.
// $hide_from_docs
type Tracing_CustomTag struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Specify how to populate the value in a custom tag
//
// Types that are assignable to Type:
//
// *Tracing_CustomTag_Literal
// *Tracing_CustomTag_Environment
// *Tracing_CustomTag_Header
Type isTracing_CustomTag_Type `protobuf_oneof:"type"`
}
func (x *Tracing_CustomTag) Reset() {
*x = Tracing_CustomTag{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_CustomTag) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_CustomTag) ProtoMessage() {}
func (x *Tracing_CustomTag) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_CustomTag.ProtoReflect.Descriptor instead.
func (*Tracing_CustomTag) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 5}
}
func (m *Tracing_CustomTag) GetType() isTracing_CustomTag_Type {
if m != nil {
return m.Type
}
return nil
}
func (x *Tracing_CustomTag) GetLiteral() *Tracing_Literal {
if x, ok := x.GetType().(*Tracing_CustomTag_Literal); ok {
return x.Literal
}
return nil
}
func (x *Tracing_CustomTag) GetEnvironment() *Tracing_Environment {
if x, ok := x.GetType().(*Tracing_CustomTag_Environment); ok {
return x.Environment
}
return nil
}
func (x *Tracing_CustomTag) GetHeader() *Tracing_RequestHeader {
if x, ok := x.GetType().(*Tracing_CustomTag_Header); ok {
return x.Header
}
return nil
}
type isTracing_CustomTag_Type interface {
isTracing_CustomTag_Type()
}
type Tracing_CustomTag_Literal struct {
// The custom tag's value is the specified literal.
Literal *Tracing_Literal `protobuf:"bytes,1,opt,name=literal,proto3,oneof"`
}
type Tracing_CustomTag_Environment struct {
// The custom tag's value should be populated from an environmental
// variable
Environment *Tracing_Environment `protobuf:"bytes,2,opt,name=environment,proto3,oneof"`
}
type Tracing_CustomTag_Header struct {
// The custom tag's value is populated by an http header from
// an incoming request.
Header *Tracing_RequestHeader `protobuf:"bytes,3,opt,name=header,proto3,oneof"`
}
func (*Tracing_CustomTag_Literal) isTracing_CustomTag_Type() {}
func (*Tracing_CustomTag_Environment) isTracing_CustomTag_Type() {}
func (*Tracing_CustomTag_Header) isTracing_CustomTag_Type() {}
// Literal type represents a static value.
// $hide_from_docs
type Tracing_Literal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Static literal value used to populate the tag value.
Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *Tracing_Literal) Reset() {
*x = Tracing_Literal{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_Literal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_Literal) ProtoMessage() {}
func (x *Tracing_Literal) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_Literal.ProtoReflect.Descriptor instead.
func (*Tracing_Literal) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 6}
}
func (x *Tracing_Literal) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
// Environment is the proxy's environment variable to be used for populating the custom span tag.
// $hide_from_docs
type Tracing_Environment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the environment variable used to populate the tag's value
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// When the environment variable is not found,
// the tag's value will be populated with this default value if specified,
// otherwise the tag will not be populated.
DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
}
func (x *Tracing_Environment) Reset() {
*x = Tracing_Environment{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_Environment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_Environment) ProtoMessage() {}
func (x *Tracing_Environment) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_Environment.ProtoReflect.Descriptor instead.
func (*Tracing_Environment) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 7}
}
func (x *Tracing_Environment) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Tracing_Environment) GetDefaultValue() string {
if x != nil {
return x.DefaultValue
}
return ""
}
// RequestHeader is the HTTP request header which will be used to populate the span tag.
// A default value can be configured if the header does not exist.
// $hide_from_docs
type Tracing_RequestHeader struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// HTTP header name used to obtain the value from to populate the tag value.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Default value to be used for the tag when the named HTTP header does not exist.
// The tag will be skipped if no default value is provided.
DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
}
func (x *Tracing_RequestHeader) Reset() {
*x = Tracing_RequestHeader{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Tracing_RequestHeader) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tracing_RequestHeader) ProtoMessage() {}
func (x *Tracing_RequestHeader) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Tracing_RequestHeader.ProtoReflect.Descriptor instead.
func (*Tracing_RequestHeader) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 8}
}
func (x *Tracing_RequestHeader) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Tracing_RequestHeader) GetDefaultValue() string {
if x != nil {
return x.DefaultValue
}
return ""
}
// PROXY protocol configuration.
type Topology_ProxyProtocolConfiguration struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Topology_ProxyProtocolConfiguration) Reset() {
*x = Topology_ProxyProtocolConfiguration{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Topology_ProxyProtocolConfiguration) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Topology_ProxyProtocolConfiguration) ProtoMessage() {}
func (x *Topology_ProxyProtocolConfiguration) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Topology_ProxyProtocolConfiguration.ProtoReflect.Descriptor instead.
func (*Topology_ProxyProtocolConfiguration) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{2, 0}
}
// CryptoMb PrivateKeyProvider configuration
type PrivateKeyProvider_CryptoMb struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// How long to wait until the per-thread processing queue should be processed. If the processing queue
// gets full (eight sign or decrypt requests are received) it is processed immediately.
// However, if the queue is not filled before the delay has expired, the requests already in the queue
// are processed, even if the queue is not full.
// In effect, this value controls the balance between latency and throughput.
// The duration needs to be set to a value greater than or equal to 1 millisecond.
PollDelay *duration.Duration `protobuf:"bytes,1,opt,name=poll_delay,json=pollDelay,proto3" json:"poll_delay,omitempty"`
// If the private key provider isn’t available (eg. the required hardware capability doesn’t existed)
// Envoy will fallback to the BoringSSL default implementation when the fallback is true.
// The default value is false.
Fallback *wrappers.BoolValue `protobuf:"bytes,2,opt,name=fallback,proto3" json:"fallback,omitempty"`
}
func (x *PrivateKeyProvider_CryptoMb) Reset() {
*x = PrivateKeyProvider_CryptoMb{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PrivateKeyProvider_CryptoMb) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrivateKeyProvider_CryptoMb) ProtoMessage() {}
func (x *PrivateKeyProvider_CryptoMb) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PrivateKeyProvider_CryptoMb.ProtoReflect.Descriptor instead.
func (*PrivateKeyProvider_CryptoMb) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{3, 0}
}
func (x *PrivateKeyProvider_CryptoMb) GetPollDelay() *duration.Duration {
if x != nil {
return x.PollDelay
}
return nil
}
func (x *PrivateKeyProvider_CryptoMb) GetFallback() *wrappers.BoolValue {
if x != nil {
return x.Fallback
}
return nil
}
// QAT (QuickAssist Technology) PrivateKeyProvider configuration
type PrivateKeyProvider_QAT struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// How long to wait before polling the hardware accelerator after a request has been submitted there.
// Having a small value leads to quicker answers from the hardware but causes more polling loop spins,
// leading to potentially larger CPU usage.
// The duration needs to be set to a value greater than or equal to 1 millisecond.
PollDelay *duration.Duration `protobuf:"bytes,1,opt,name=poll_delay,json=pollDelay,proto3" json:"poll_delay,omitempty"`
// If the private key provider isn’t available (eg. the required hardware capability doesn’t existed)
// Envoy will fallback to the BoringSSL default implementation when the fallback is true.
// The default value is false.
Fallback *wrappers.BoolValue `protobuf:"bytes,2,opt,name=fallback,proto3" json:"fallback,omitempty"`
}
func (x *PrivateKeyProvider_QAT) Reset() {
*x = PrivateKeyProvider_QAT{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PrivateKeyProvider_QAT) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrivateKeyProvider_QAT) ProtoMessage() {}
func (x *PrivateKeyProvider_QAT) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PrivateKeyProvider_QAT.ProtoReflect.Descriptor instead.
func (*PrivateKeyProvider_QAT) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{3, 1}
}
func (x *PrivateKeyProvider_QAT) GetPollDelay() *duration.Duration {
if x != nil {
return x.PollDelay
}
return nil
}
func (x *PrivateKeyProvider_QAT) GetFallback() *wrappers.BoolValue {
if x != nil {
return x.Fallback
}
return nil
}
// Proxy stats name matchers for stats creation. Note this is in addition to
// the minimum Envoy stats that Istio generates by default.
type ProxyConfig_ProxyStatsMatcher struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Proxy stats name prefix matcher for inclusion.
InclusionPrefixes []string `protobuf:"bytes,1,rep,name=inclusion_prefixes,json=inclusionPrefixes,proto3" json:"inclusion_prefixes,omitempty"`
// Proxy stats name suffix matcher for inclusion.
InclusionSuffixes []string `protobuf:"bytes,2,rep,name=inclusion_suffixes,json=inclusionSuffixes,proto3" json:"inclusion_suffixes,omitempty"`
// Proxy stats name regexps matcher for inclusion.
InclusionRegexps []string `protobuf:"bytes,3,rep,name=inclusion_regexps,json=inclusionRegexps,proto3" json:"inclusion_regexps,omitempty"`
}
func (x *ProxyConfig_ProxyStatsMatcher) Reset() {
*x = ProxyConfig_ProxyStatsMatcher{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyStatsMatcher) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyStatsMatcher) ProtoMessage() {}
func (x *ProxyConfig_ProxyStatsMatcher) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyStatsMatcher.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyStatsMatcher) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 2}
}
func (x *ProxyConfig_ProxyStatsMatcher) GetInclusionPrefixes() []string {
if x != nil {
return x.InclusionPrefixes
}
return nil
}
func (x *ProxyConfig_ProxyStatsMatcher) GetInclusionSuffixes() []string {
if x != nil {
return x.InclusionSuffixes
}
return nil
}
func (x *ProxyConfig_ProxyStatsMatcher) GetInclusionRegexps() []string {
if x != nil {
return x.InclusionRegexps
}
return nil
}
type ProxyConfig_ProxyHeaders struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Controls the `X-Forwarded-Client-Cert` header for inbound sidecar requests. To set this on gateways, use the `Topology` setting.
// To disable the header, configure either `SANITIZE` (to always remove the header, if present) or `FORWARD_ONLY` (to leave the header as-is).
// By default, `APPEND_FORWARD` will be used.
ForwardedClientCert ForwardClientCertDetails `protobuf:"varint,1,opt,name=forwarded_client_cert,json=forwardedClientCert,proto3,enum=istio.mesh.v1alpha1.ForwardClientCertDetails" json:"forwarded_client_cert,omitempty"`
// This field is valid only when forward_client_cert_details is APPEND_FORWARD or SANITIZE_SET
// and the client connection is mTLS. It specifies the fields in
// the client certificate to be forwarded. Note that `Hash` is always set, and
// `By` is always set when the client certificate presents the URI type Subject Alternative Name value.
SetCurrentClientCertDetails *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails `protobuf:"bytes,7,opt,name=set_current_client_cert_details,json=setCurrentClientCertDetails,proto3" json:"set_current_client_cert_details,omitempty"`
// Controls the `X-Request-Id` header. If enabled, a request ID is generated for each request if one is not already set.
// This applies to all types of traffic (inbound, outbound, and gateways).
// If disabled, no request ID will be generate for the request. If it is already present, it will be preserved.
// Warning: request IDs are a critical component to mesh tracing and logging, so disabling this is not recommended.
// This header is enabled by default if not configured.
RequestId *ProxyConfig_ProxyHeaders_RequestId `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
// Controls the `server` header. If enabled, the `Server: istio-envoy` header is set in response headers for inbound traffic (including gateways).
// If disabled, the `Server` header is not modified. If it is already present, it will be preserved.
Server *ProxyConfig_ProxyHeaders_Server `protobuf:"bytes,2,opt,name=server,proto3" json:"server,omitempty"`
// Controls the `X-Envoy-Attempt-Count` header.
// If enabled, this header will be added on outbound request headers (including gateways) that have retries configured.
// If disabled, this header will not be set. If it is already present, it will be preserved.
// This header is enabled by default if not configured.
AttemptCount *ProxyConfig_ProxyHeaders_AttemptCount `protobuf:"bytes,4,opt,name=attempt_count,json=attemptCount,proto3" json:"attempt_count,omitempty"`
// Controls various `X-Envoy-*` headers, such as `X-Envoy-Overloaded` and `X-Envoy-Upstream-Service-Time`. If enabled,
// these headers will be included.
// If disabled, these headers will not be set. If they are already present, they will be preserved.
// See the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/router/v3/router.proto#envoy-v3-api-field-extensions-filters-http-router-v3-router-suppress-envoy-headers) for more details.
// These headers are enabled by default if not configured.
EnvoyDebugHeaders *ProxyConfig_ProxyHeaders_EnvoyDebugHeaders `protobuf:"bytes,5,opt,name=envoy_debug_headers,json=envoyDebugHeaders,proto3" json:"envoy_debug_headers,omitempty"`
// Controls Istio metadata exchange headers `X-Envoy-Peer-Metadata` and `X-Envoy-Peer-Metadata-Id`.
// By default, the behavior is unspecified.
// If IN_MESH, these headers will not be appended to outbound requests from sidecars to services not in-mesh.
MetadataExchangeHeaders *ProxyConfig_ProxyHeaders_MetadataExchangeHeaders `protobuf:"bytes,6,opt,name=metadata_exchange_headers,json=metadataExchangeHeaders,proto3" json:"metadata_exchange_headers,omitempty"`
}
func (x *ProxyConfig_ProxyHeaders) Reset() {
*x = ProxyConfig_ProxyHeaders{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyHeaders) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyHeaders) ProtoMessage() {}
func (x *ProxyConfig_ProxyHeaders) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyHeaders) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3}
}
func (x *ProxyConfig_ProxyHeaders) GetForwardedClientCert() ForwardClientCertDetails {
if x != nil {
return x.ForwardedClientCert
}
return ForwardClientCertDetails_UNDEFINED
}
func (x *ProxyConfig_ProxyHeaders) GetSetCurrentClientCertDetails() *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails {
if x != nil {
return x.SetCurrentClientCertDetails
}
return nil
}
func (x *ProxyConfig_ProxyHeaders) GetRequestId() *ProxyConfig_ProxyHeaders_RequestId {
if x != nil {
return x.RequestId
}
return nil
}
func (x *ProxyConfig_ProxyHeaders) GetServer() *ProxyConfig_ProxyHeaders_Server {
if x != nil {
return x.Server
}
return nil
}
func (x *ProxyConfig_ProxyHeaders) GetAttemptCount() *ProxyConfig_ProxyHeaders_AttemptCount {
if x != nil {
return x.AttemptCount
}
return nil
}
func (x *ProxyConfig_ProxyHeaders) GetEnvoyDebugHeaders() *ProxyConfig_ProxyHeaders_EnvoyDebugHeaders {
if x != nil {
return x.EnvoyDebugHeaders
}
return nil
}
func (x *ProxyConfig_ProxyHeaders) GetMetadataExchangeHeaders() *ProxyConfig_ProxyHeaders_MetadataExchangeHeaders {
if x != nil {
return x.MetadataExchangeHeaders
}
return nil
}
type ProxyConfig_ProxyHeaders_Server struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Disabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
// If set, and the server header is enabled, this value will be set as the server header. By default, `istio-envoy` will be used.
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *ProxyConfig_ProxyHeaders_Server) Reset() {
*x = ProxyConfig_ProxyHeaders_Server{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyHeaders_Server) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyHeaders_Server) ProtoMessage() {}
func (x *ProxyConfig_ProxyHeaders_Server) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders_Server.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyHeaders_Server) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3, 0}
}
func (x *ProxyConfig_ProxyHeaders_Server) GetDisabled() *wrappers.BoolValue {
if x != nil {
return x.Disabled
}
return nil
}
func (x *ProxyConfig_ProxyHeaders_Server) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
type ProxyConfig_ProxyHeaders_RequestId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Disabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
}
func (x *ProxyConfig_ProxyHeaders_RequestId) Reset() {
*x = ProxyConfig_ProxyHeaders_RequestId{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyHeaders_RequestId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyHeaders_RequestId) ProtoMessage() {}
func (x *ProxyConfig_ProxyHeaders_RequestId) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders_RequestId.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyHeaders_RequestId) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3, 1}
}
func (x *ProxyConfig_ProxyHeaders_RequestId) GetDisabled() *wrappers.BoolValue {
if x != nil {
return x.Disabled
}
return nil
}
type ProxyConfig_ProxyHeaders_AttemptCount struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Disabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
}
func (x *ProxyConfig_ProxyHeaders_AttemptCount) Reset() {
*x = ProxyConfig_ProxyHeaders_AttemptCount{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyHeaders_AttemptCount) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyHeaders_AttemptCount) ProtoMessage() {}
func (x *ProxyConfig_ProxyHeaders_AttemptCount) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders_AttemptCount.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyHeaders_AttemptCount) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3, 2}
}
func (x *ProxyConfig_ProxyHeaders_AttemptCount) GetDisabled() *wrappers.BoolValue {
if x != nil {
return x.Disabled
}
return nil
}
type ProxyConfig_ProxyHeaders_EnvoyDebugHeaders struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Disabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
}
func (x *ProxyConfig_ProxyHeaders_EnvoyDebugHeaders) Reset() {
*x = ProxyConfig_ProxyHeaders_EnvoyDebugHeaders{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyHeaders_EnvoyDebugHeaders) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyHeaders_EnvoyDebugHeaders) ProtoMessage() {}
func (x *ProxyConfig_ProxyHeaders_EnvoyDebugHeaders) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders_EnvoyDebugHeaders.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyHeaders_EnvoyDebugHeaders) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3, 3}
}
func (x *ProxyConfig_ProxyHeaders_EnvoyDebugHeaders) GetDisabled() *wrappers.BoolValue {
if x != nil {
return x.Disabled
}
return nil
}
type ProxyConfig_ProxyHeaders_MetadataExchangeHeaders struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Mode ProxyConfig_ProxyHeaders_MetadataExchangeMode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.ProxyConfig_ProxyHeaders_MetadataExchangeMode" json:"mode,omitempty"`
}
func (x *ProxyConfig_ProxyHeaders_MetadataExchangeHeaders) Reset() {
*x = ProxyConfig_ProxyHeaders_MetadataExchangeHeaders{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyHeaders_MetadataExchangeHeaders) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyHeaders_MetadataExchangeHeaders) ProtoMessage() {}
func (x *ProxyConfig_ProxyHeaders_MetadataExchangeHeaders) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders_MetadataExchangeHeaders.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyHeaders_MetadataExchangeHeaders) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3, 4}
}
func (x *ProxyConfig_ProxyHeaders_MetadataExchangeHeaders) GetMode() ProxyConfig_ProxyHeaders_MetadataExchangeMode {
if x != nil {
return x.Mode
}
return ProxyConfig_ProxyHeaders_UNDEFINED
}
type ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Whether to forward the subject of the client cert. Defaults to true.
Subject *wrappers.BoolValue `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`
// Whether to forward the entire client cert in URL encoded PEM format. This will appear in the
// XFCC header comma separated from other values with the value Cert="PEM".
// Defaults to false.
Cert *wrappers.BoolValue `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"`
// Whether to forward the entire client cert chain (including the leaf cert) in URL encoded PEM
// format. This will appear in the XFCC header comma separated from other values with the value
// Chain="PEM".
// Defaults to false.
Chain *wrappers.BoolValue `protobuf:"bytes,3,opt,name=chain,proto3" json:"chain,omitempty"`
// Whether to forward the DNS type Subject Alternative Names of the client cert.
// Defaults to true.
Dns *wrappers.BoolValue `protobuf:"bytes,4,opt,name=dns,proto3" json:"dns,omitempty"`
// Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to
// true.
Uri *wrappers.BoolValue `protobuf:"bytes,5,opt,name=uri,proto3" json:"uri,omitempty"`
}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) Reset() {
*x = ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails{}
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) ProtoMessage() {}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails.ProtoReflect.Descriptor instead.
func (*ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{4, 3, 5}
}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) GetSubject() *wrappers.BoolValue {
if x != nil {
return x.Subject
}
return nil
}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) GetCert() *wrappers.BoolValue {
if x != nil {
return x.Cert
}
return nil
}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) GetChain() *wrappers.BoolValue {
if x != nil {
return x.Chain
}
return nil
}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) GetDns() *wrappers.BoolValue {
if x != nil {
return x.Dns
}
return nil
}
func (x *ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails) GetUri() *wrappers.BoolValue {
if x != nil {
return x.Uri
}
return nil
}
var File_mesh_v1alpha1_proxy_proto protoreflect.FileDescriptor
var file_mesh_v1alpha1_proxy_proto_rawDesc = []byte{
0x0a, 0x19, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f,
0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79,
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x0e,
0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x06, 0x7a, 0x69, 0x70,
0x6b, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69,
0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x48, 0x00,
0x52, 0x06, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x12, 0x46, 0x0a, 0x09, 0x6c, 0x69, 0x67, 0x68,
0x74, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73,
0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73,
0x74, 0x65, 0x70, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70,
0x12, 0x40, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e,
0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64,
0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65,
0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72,
0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65,
0x72, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
0x12, 0x5a, 0x0a, 0x11, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f,
0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73,
0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65,
0x6e, 0x73, 0x75, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x6f, 0x70, 0x65,
0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x0b,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e,
0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x6d,
0x61, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x65, 0x6e, 0x67,
0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x74,
0x68, 0x54, 0x61, 0x67, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x61,
0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x73, 0x61,
0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x0c, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69,
0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x22, 0x0a, 0x06, 0x5a, 0x69, 0x70, 0x6b, 0x69,
0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x48, 0x0a, 0x09, 0x4c,
0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x23, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67,
0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0xae, 0x02, 0x0a, 0x0b, 0x53,
0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65,
0x62, 0x75, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67,
0x12, 0x54, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f,
0x66, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x15, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x41, 0x74, 0x74, 0x72,
0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x4f, 0x66, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b,
0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xe7, 0x01, 0x0a, 0x0f,
0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12,
0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e,
0x73, 0x75, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x65,
0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0f,
0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
0x15, 0x0a, 0x11, 0x57, 0x33, 0x43, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e,
0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x52, 0x50, 0x43, 0x5f, 0x42,
0x49, 0x4e, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x54, 0x52,
0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x03, 0x12, 0x06, 0x0a,
0x02, 0x42, 0x33, 0x10, 0x04, 0x1a, 0xe9, 0x01, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
0x54, 0x61, 0x67, 0x12, 0x40, 0x0a, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69,
0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69,
0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e,
0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48,
0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x1a, 0x1f, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x1a, 0x46, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x48, 0x0a, 0x0d, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x1a, 0x65, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61,
0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54,
0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x74,
0x72, 0x61, 0x63, 0x65, 0x72, 0x22, 0x46, 0x0a, 0x03, 0x53, 0x44, 0x53, 0x12, 0x18, 0x0a, 0x07,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x6b, 0x38, 0x73, 0x5f, 0x73, 0x61,
0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x6b, 0x38, 0x73, 0x53, 0x61, 0x4a, 0x77, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x99, 0x03,
0x0a, 0x08, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75,
0x6d, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x75, 0x73,
0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x66, 0x6f,
0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72,
0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x2d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x18,
0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72,
0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x5f, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78,
0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x38, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e,
0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78,
0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x78, 0x66, 0x66,
0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x73, 0x18, 0xc8,
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x78, 0x66, 0x66, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65,
0x64, 0x43, 0x69, 0x64, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x78,
0x66, 0x66, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x6b,
0x69, 0x70, 0x58, 0x66, 0x66, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x1a, 0x1c, 0x0a, 0x1a, 0x50,
0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x03, 0x0a, 0x12, 0x50, 0x72,
0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x12, 0x4e, 0x0a, 0x08, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x79, 0x70,
0x74, 0x6f, 0x4d, 0x62, 0x48, 0x00, 0x52, 0x08, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62,
0x12, 0x3f, 0x0a, 0x03, 0x71, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x51, 0x41, 0x54, 0x48, 0x00, 0x52, 0x03, 0x71, 0x61,
0x74, 0x1a, 0x7c, 0x0a, 0x08, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4d, 0x62, 0x12, 0x38, 0x0a,
0x0a, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f,
0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62,
0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x1a,
0x77, 0x0a, 0x03, 0x51, 0x41, 0x54, 0x12, 0x38, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64,
0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79,
0x12, 0x36, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08,
0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x22, 0x9c, 0x23, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x70,
0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f,
0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x61,
0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48,
0x00, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x12, 0x67, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x64, 0x72,
0x61, 0x69, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x64,
0x72, 0x61, 0x69, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11,
0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x17, 0x64, 0x69, 0x73,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64,
0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79,
0x12, 0x29, 0x0a, 0x0e, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x7a, 0x69,
0x70, 0x6b, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x73,
0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x75, 0x64, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x55,
0x64, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x1d, 0x65, 0x6e, 0x76,
0x6f, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09,
0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f,
0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x78,
0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x61, 0x76,
0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c,
0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x64, 0x0a, 0x19, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x61, 0x75, 0x74,
0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29,
0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12,
0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x65, 0x6e,
0x67, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x4e,
0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x78,
0x79, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52,
0x1a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x65, 0x0a, 0x11, 0x69,
0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d,
0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f,
0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64,
0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65,
0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f,
0x64, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x13, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e,
0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64,
0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x44,
0x53, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x73, 0x64, 0x73, 0x12, 0x5b, 0x0a, 0x18, 0x65, 0x6e,
0x76, 0x6f, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x73,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69,
0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x52, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79,
0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d,
0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d,
0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x13, 0x65, 0x6e, 0x76, 0x6f,
0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72,
0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x70, 0x72,
0x6f, 0x78, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x0e, 0x72,
0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x25, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d,
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72,
0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x67, 0x73,
0x12, 0x48, 0x0a, 0x10, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x6f,
0x6c, 0x6f, 0x67, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0f, 0x67, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x57, 0x0a, 0x1a, 0x74, 0x65,
0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f,
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x65, 0x72, 0x6d, 0x69,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x1e,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0f,
0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18,
0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x33, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x12, 0x62, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f,
0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65,
0x72, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74,
0x63, 0x68, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x23, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x61, 0x70, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x70,
0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x68,
0x6f, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e,
0x74, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x2e,
0x0a, 0x13, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
0x73, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63, 0x61, 0x43,
0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x6d, 0x12, 0x3a,
0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6d,
0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x70, 0x72,
0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50,
0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68,
0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69,
0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50,
0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x0c, 0x70, 0x72, 0x6f,
0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x74, 0x74,
0x70, 0x73, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x73, 0x48, 0x74,
0x74, 0x70, 0x32, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x40, 0x0a, 0x12, 0x50,
0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a,
0x12, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x9e, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69,
0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66,
0x69, 0x78, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f,
0x6e, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69,
0x78, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e,
0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73,
0x1a, 0xec, 0x0b, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x73, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x63,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x2d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c,
0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52,
0x13, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x43, 0x65, 0x72, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x1f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72,
0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74,
0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49,
0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x65,
0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65,
0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x1b, 0x73, 0x65, 0x74, 0x43, 0x75,
0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x56, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f,
0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x49, 0x64, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x4c,
0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34,
0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x5f, 0x0a, 0x0d,
0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x73, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x0c, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6f, 0x0a,
0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x68, 0x65, 0x61,
0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f,
0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44,
0x65, 0x62, 0x75, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x11, 0x65, 0x6e, 0x76,
0x6f, 0x79, 0x44, 0x65, 0x62, 0x75, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x81,
0x01, 0x0a, 0x19, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x45, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x17, 0x6d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x73, 0x1a, 0x56, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x08,
0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x43, 0x0a, 0x09, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a,
0x46, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x36, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x64,
0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x4b, 0x0a, 0x11, 0x45, 0x6e, 0x76, 0x6f, 0x79,
0x44, 0x65, 0x62, 0x75, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x08,
0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x1a, 0x71, 0x0a, 0x17, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12,
0x56, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e,
0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64,
0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x1a, 0x91, 0x02, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x43,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65,
0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2e, 0x0a,
0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x30, 0x0a,
0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12,
0x2c, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x12, 0x2c, 0x0a,
0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x32, 0x0a, 0x14, 0x4d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d,
0x6f, 0x64, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44,
0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x5f, 0x4d, 0x45, 0x53, 0x48, 0x10, 0x01, 0x22,
0x6c, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x50, 0x5f, 0x4c, 0x41, 0x42,
0x45, 0x4c, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45,
0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x41, 0x4e, 0x4f, 0x4e, 0x49, 0x43, 0x41, 0x4c, 0x5f,
0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43,
0x41, 0x4e, 0x4f, 0x4e, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x41, 0x4e,
0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x02, 0x22, 0x3d, 0x0a,
0x17, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x44, 0x49,
0x52, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x50, 0x52, 0x4f, 0x58, 0x59,
0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c,
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x05,
0x10, 0x06, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x6f, 0x75, 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
0x4f, 0x0a, 0x0c, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x12, 0x6f, 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c,
0x69, 0x76, 0x65, 0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76,
0x65, 0x2a, 0x3e, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e,
0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x4c,
0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x10, 0xe8,
0x07, 0x2a, 0x88, 0x01, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0d,
0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a,
0x08, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x46,
0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x12, 0x0a,
0x0e, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10,
0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x45,
0x54, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x46, 0x4f,
0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x05, 0x42, 0x1c, 0x5a, 0x1a,
0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73,
0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
file_mesh_v1alpha1_proxy_proto_rawDescOnce sync.Once
file_mesh_v1alpha1_proxy_proto_rawDescData = file_mesh_v1alpha1_proxy_proto_rawDesc
)
func file_mesh_v1alpha1_proxy_proto_rawDescGZIP() []byte {
file_mesh_v1alpha1_proxy_proto_rawDescOnce.Do(func() {
file_mesh_v1alpha1_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_mesh_v1alpha1_proxy_proto_rawDescData)
})
return file_mesh_v1alpha1_proxy_proto_rawDescData
}
var file_mesh_v1alpha1_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_mesh_v1alpha1_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
var file_mesh_v1alpha1_proxy_proto_goTypes = []any{
(AuthenticationPolicy)(0), // 0: istio.mesh.v1alpha1.AuthenticationPolicy
(ForwardClientCertDetails)(0), // 1: istio.mesh.v1alpha1.ForwardClientCertDetails
(Tracing_OpenCensusAgent_TraceContext)(0), // 2: istio.mesh.v1alpha1.Tracing.OpenCensusAgent.TraceContext
(ProxyConfig_TracingServiceName)(0), // 3: istio.mesh.v1alpha1.ProxyConfig.TracingServiceName
(ProxyConfig_InboundInterceptionMode)(0), // 4: istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode
(ProxyConfig_ProxyHeaders_MetadataExchangeMode)(0), // 5: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.MetadataExchangeMode
(*Tracing)(nil), // 6: istio.mesh.v1alpha1.Tracing
(*SDS)(nil), // 7: istio.mesh.v1alpha1.SDS
(*Topology)(nil), // 8: istio.mesh.v1alpha1.Topology
(*PrivateKeyProvider)(nil), // 9: istio.mesh.v1alpha1.PrivateKeyProvider
(*ProxyConfig)(nil), // 10: istio.mesh.v1alpha1.ProxyConfig
(*RemoteService)(nil), // 11: istio.mesh.v1alpha1.RemoteService
(*Tracing_Zipkin)(nil), // 12: istio.mesh.v1alpha1.Tracing.Zipkin
(*Tracing_Lightstep)(nil), // 13: istio.mesh.v1alpha1.Tracing.Lightstep
(*Tracing_Datadog)(nil), // 14: istio.mesh.v1alpha1.Tracing.Datadog
(*Tracing_Stackdriver)(nil), // 15: istio.mesh.v1alpha1.Tracing.Stackdriver
(*Tracing_OpenCensusAgent)(nil), // 16: istio.mesh.v1alpha1.Tracing.OpenCensusAgent
(*Tracing_CustomTag)(nil), // 17: istio.mesh.v1alpha1.Tracing.CustomTag
(*Tracing_Literal)(nil), // 18: istio.mesh.v1alpha1.Tracing.Literal
(*Tracing_Environment)(nil), // 19: istio.mesh.v1alpha1.Tracing.Environment
(*Tracing_RequestHeader)(nil), // 20: istio.mesh.v1alpha1.Tracing.RequestHeader
nil, // 21: istio.mesh.v1alpha1.Tracing.CustomTagsEntry
(*Topology_ProxyProtocolConfiguration)(nil), // 22: istio.mesh.v1alpha1.Topology.ProxyProtocolConfiguration
(*PrivateKeyProvider_CryptoMb)(nil), // 23: istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb
(*PrivateKeyProvider_QAT)(nil), // 24: istio.mesh.v1alpha1.PrivateKeyProvider.QAT
nil, // 25: istio.mesh.v1alpha1.ProxyConfig.ProxyMetadataEntry
nil, // 26: istio.mesh.v1alpha1.ProxyConfig.RuntimeValuesEntry
(*ProxyConfig_ProxyStatsMatcher)(nil), // 27: istio.mesh.v1alpha1.ProxyConfig.ProxyStatsMatcher
(*ProxyConfig_ProxyHeaders)(nil), // 28: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders
(*ProxyConfig_ProxyHeaders_Server)(nil), // 29: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.Server
(*ProxyConfig_ProxyHeaders_RequestId)(nil), // 30: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.RequestId
(*ProxyConfig_ProxyHeaders_AttemptCount)(nil), // 31: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.AttemptCount
(*ProxyConfig_ProxyHeaders_EnvoyDebugHeaders)(nil), // 32: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.EnvoyDebugHeaders
(*ProxyConfig_ProxyHeaders_MetadataExchangeHeaders)(nil), // 33: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.MetadataExchangeHeaders
(*ProxyConfig_ProxyHeaders_SetCurrentClientCertDetails)(nil), // 34: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.SetCurrentClientCertDetails
(*v1alpha3.ClientTLSSettings)(nil), // 35: istio.networking.v1alpha3.ClientTLSSettings
(*wrappers.BoolValue)(nil), // 36: google.protobuf.BoolValue
(*duration.Duration)(nil), // 37: google.protobuf.Duration
(*wrappers.Int32Value)(nil), // 38: google.protobuf.Int32Value
(*v1alpha3.ReadinessProbe)(nil), // 39: istio.networking.v1alpha3.ReadinessProbe
(*v1beta1.ProxyImage)(nil), // 40: istio.networking.v1beta1.ProxyImage
(*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 41: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
(*wrappers.Int64Value)(nil), // 42: google.protobuf.Int64Value
}
var file_mesh_v1alpha1_proxy_proto_depIdxs = []int32{
12, // 0: istio.mesh.v1alpha1.Tracing.zipkin:type_name -> istio.mesh.v1alpha1.Tracing.Zipkin
13, // 1: istio.mesh.v1alpha1.Tracing.lightstep:type_name -> istio.mesh.v1alpha1.Tracing.Lightstep
14, // 2: istio.mesh.v1alpha1.Tracing.datadog:type_name -> istio.mesh.v1alpha1.Tracing.Datadog
15, // 3: istio.mesh.v1alpha1.Tracing.stackdriver:type_name -> istio.mesh.v1alpha1.Tracing.Stackdriver
16, // 4: istio.mesh.v1alpha1.Tracing.open_census_agent:type_name -> istio.mesh.v1alpha1.Tracing.OpenCensusAgent
21, // 5: istio.mesh.v1alpha1.Tracing.custom_tags:type_name -> istio.mesh.v1alpha1.Tracing.CustomTagsEntry
35, // 6: istio.mesh.v1alpha1.Tracing.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
1, // 7: istio.mesh.v1alpha1.Topology.forward_client_cert_details:type_name -> istio.mesh.v1alpha1.ForwardClientCertDetails
22, // 8: istio.mesh.v1alpha1.Topology.proxy_protocol:type_name -> istio.mesh.v1alpha1.Topology.ProxyProtocolConfiguration
36, // 9: istio.mesh.v1alpha1.Topology.skip_xff_append:type_name -> google.protobuf.BoolValue
23, // 10: istio.mesh.v1alpha1.PrivateKeyProvider.cryptomb:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb
24, // 11: istio.mesh.v1alpha1.PrivateKeyProvider.qat:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider.QAT
3, // 12: istio.mesh.v1alpha1.ProxyConfig.tracing_service_name:type_name -> istio.mesh.v1alpha1.ProxyConfig.TracingServiceName
37, // 13: istio.mesh.v1alpha1.ProxyConfig.drain_duration:type_name -> google.protobuf.Duration
37, // 14: istio.mesh.v1alpha1.ProxyConfig.discovery_refresh_delay:type_name -> google.protobuf.Duration
0, // 15: istio.mesh.v1alpha1.ProxyConfig.control_plane_auth_policy:type_name -> istio.mesh.v1alpha1.AuthenticationPolicy
38, // 16: istio.mesh.v1alpha1.ProxyConfig.concurrency:type_name -> google.protobuf.Int32Value
4, // 17: istio.mesh.v1alpha1.ProxyConfig.interception_mode:type_name -> istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode
6, // 18: istio.mesh.v1alpha1.ProxyConfig.tracing:type_name -> istio.mesh.v1alpha1.Tracing
7, // 19: istio.mesh.v1alpha1.ProxyConfig.sds:type_name -> istio.mesh.v1alpha1.SDS
11, // 20: istio.mesh.v1alpha1.ProxyConfig.envoy_access_log_service:type_name -> istio.mesh.v1alpha1.RemoteService
11, // 21: istio.mesh.v1alpha1.ProxyConfig.envoy_metrics_service:type_name -> istio.mesh.v1alpha1.RemoteService
25, // 22: istio.mesh.v1alpha1.ProxyConfig.proxy_metadata:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyMetadataEntry
26, // 23: istio.mesh.v1alpha1.ProxyConfig.runtime_values:type_name -> istio.mesh.v1alpha1.ProxyConfig.RuntimeValuesEntry
8, // 24: istio.mesh.v1alpha1.ProxyConfig.gateway_topology:type_name -> istio.mesh.v1alpha1.Topology
37, // 25: istio.mesh.v1alpha1.ProxyConfig.termination_drain_duration:type_name -> google.protobuf.Duration
39, // 26: istio.mesh.v1alpha1.ProxyConfig.readiness_probe:type_name -> istio.networking.v1alpha3.ReadinessProbe
27, // 27: istio.mesh.v1alpha1.ProxyConfig.proxy_stats_matcher:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyStatsMatcher
36, // 28: istio.mesh.v1alpha1.ProxyConfig.hold_application_until_proxy_starts:type_name -> google.protobuf.BoolValue
40, // 29: istio.mesh.v1alpha1.ProxyConfig.image:type_name -> istio.networking.v1beta1.ProxyImage
9, // 30: istio.mesh.v1alpha1.ProxyConfig.private_key_provider:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider
28, // 31: istio.mesh.v1alpha1.ProxyConfig.proxy_headers:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders
35, // 32: istio.mesh.v1alpha1.RemoteService.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
41, // 33: istio.mesh.v1alpha1.RemoteService.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
42, // 34: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_attributes:type_name -> google.protobuf.Int64Value
42, // 35: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_annotations:type_name -> google.protobuf.Int64Value
42, // 36: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_message_events:type_name -> google.protobuf.Int64Value
2, // 37: istio.mesh.v1alpha1.Tracing.OpenCensusAgent.context:type_name -> istio.mesh.v1alpha1.Tracing.OpenCensusAgent.TraceContext
18, // 38: istio.mesh.v1alpha1.Tracing.CustomTag.literal:type_name -> istio.mesh.v1alpha1.Tracing.Literal
19, // 39: istio.mesh.v1alpha1.Tracing.CustomTag.environment:type_name -> istio.mesh.v1alpha1.Tracing.Environment
20, // 40: istio.mesh.v1alpha1.Tracing.CustomTag.header:type_name -> istio.mesh.v1alpha1.Tracing.RequestHeader
17, // 41: istio.mesh.v1alpha1.Tracing.CustomTagsEntry.value:type_name -> istio.mesh.v1alpha1.Tracing.CustomTag
37, // 42: istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb.poll_delay:type_name -> google.protobuf.Duration
36, // 43: istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb.fallback:type_name -> google.protobuf.BoolValue
37, // 44: istio.mesh.v1alpha1.PrivateKeyProvider.QAT.poll_delay:type_name -> google.protobuf.Duration
36, // 45: istio.mesh.v1alpha1.PrivateKeyProvider.QAT.fallback:type_name -> google.protobuf.BoolValue
1, // 46: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.forwarded_client_cert:type_name -> istio.mesh.v1alpha1.ForwardClientCertDetails
34, // 47: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.set_current_client_cert_details:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.SetCurrentClientCertDetails
30, // 48: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.request_id:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.RequestId
29, // 49: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.server:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.Server
31, // 50: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.attempt_count:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.AttemptCount
32, // 51: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.envoy_debug_headers:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.EnvoyDebugHeaders
33, // 52: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.metadata_exchange_headers:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.MetadataExchangeHeaders
36, // 53: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.Server.disabled:type_name -> google.protobuf.BoolValue
36, // 54: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.RequestId.disabled:type_name -> google.protobuf.BoolValue
36, // 55: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.AttemptCount.disabled:type_name -> google.protobuf.BoolValue
36, // 56: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.EnvoyDebugHeaders.disabled:type_name -> google.protobuf.BoolValue
5, // 57: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.MetadataExchangeHeaders.mode:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.MetadataExchangeMode
36, // 58: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.SetCurrentClientCertDetails.subject:type_name -> google.protobuf.BoolValue
36, // 59: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.SetCurrentClientCertDetails.cert:type_name -> google.protobuf.BoolValue
36, // 60: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.SetCurrentClientCertDetails.chain:type_name -> google.protobuf.BoolValue
36, // 61: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.SetCurrentClientCertDetails.dns:type_name -> google.protobuf.BoolValue
36, // 62: istio.mesh.v1alpha1.ProxyConfig.ProxyHeaders.SetCurrentClientCertDetails.uri:type_name -> google.protobuf.BoolValue
63, // [63:63] is the sub-list for method output_type
63, // [63:63] is the sub-list for method input_type
63, // [63:63] is the sub-list for extension type_name
63, // [63:63] is the sub-list for extension extendee
0, // [0:63] is the sub-list for field type_name
}
func init() { file_mesh_v1alpha1_proxy_proto_init() }
func file_mesh_v1alpha1_proxy_proto_init() {
if File_mesh_v1alpha1_proxy_proto != nil {
return
}
file_mesh_v1alpha1_proxy_proto_msgTypes[0].OneofWrappers = []any{
(*Tracing_Zipkin_)(nil),
(*Tracing_Lightstep_)(nil),
(*Tracing_Datadog_)(nil),
(*Tracing_Stackdriver_)(nil),
(*Tracing_OpenCensusAgent_)(nil),
}
file_mesh_v1alpha1_proxy_proto_msgTypes[3].OneofWrappers = []any{
(*PrivateKeyProvider_Cryptomb)(nil),
(*PrivateKeyProvider_Qat)(nil),
}
file_mesh_v1alpha1_proxy_proto_msgTypes[4].OneofWrappers = []any{
(*ProxyConfig_ServiceCluster)(nil),
(*ProxyConfig_TracingServiceName_)(nil),
}
file_mesh_v1alpha1_proxy_proto_msgTypes[11].OneofWrappers = []any{
(*Tracing_CustomTag_Literal)(nil),
(*Tracing_CustomTag_Environment)(nil),
(*Tracing_CustomTag_Header)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_mesh_v1alpha1_proxy_proto_rawDesc,
NumEnums: 6,
NumMessages: 29,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_mesh_v1alpha1_proxy_proto_goTypes,
DependencyIndexes: file_mesh_v1alpha1_proxy_proto_depIdxs,
EnumInfos: file_mesh_v1alpha1_proxy_proto_enumTypes,
MessageInfos: file_mesh_v1alpha1_proxy_proto_msgTypes,
}.Build()
File_mesh_v1alpha1_proxy_proto = out.File
file_mesh_v1alpha1_proxy_proto_rawDesc = nil
file_mesh_v1alpha1_proxy_proto_goTypes = nil
file_mesh_v1alpha1_proxy_proto_depIdxs = nil
}