From f6bbf59d7b9cc32eec73fb309d1a2a659e61fe17 Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Fri, 7 Nov 2025 11:02:19 -0500 Subject: [PATCH 1/2] chore(deps): Update dev container to v48 --- .devcontainer/devcontainer.json | 2 +- .github/workflows/actions.yml | 4 ++-- .github/workflows/go.yml | 2 +- .github/workflows/release.yml | 6 +++--- .github/workflows/rust.yml | 8 ++++---- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d1da1ec14..73c52313b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "linkerd2-proxy-api", - "image": "ghcr.io/linkerd/dev:v44", + "image": "ghcr.io/linkerd/dev:v48", "customizations": { "vscode": { "extensions": [ diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 68f0ef17a..e65b8d0f2 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -14,13 +14,13 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: linkerd/dev/actions/setup-tools@v47 + - uses: linkerd/dev/actions/setup-tools@v48 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just-dev lint-actions devcontainer-versions: runs-on: ubuntu-latest steps: - - uses: linkerd/dev/actions/setup-tools@v47 + - uses: linkerd/dev/actions/setup-tools@v48 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just-dev check-action-images diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index d2b84e584..406ba6aae 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -16,7 +16,7 @@ jobs: go: timeout-minutes: 5 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-go + container: docker://ghcr.io/linkerd/dev:v48-go steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just go-mod-check diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 58e9fcf40..b590169dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,7 @@ jobs: test: timeout-minutes: 5 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-rust + container: docker://ghcr.io/linkerd/dev:v48-rust steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just rs-fetch @@ -56,7 +56,7 @@ jobs: contents: write timeout-minutes: 5 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-rust + container: docker://ghcr.io/linkerd/dev:v48-rust steps: - if: needs.meta.outputs.publish uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 @@ -80,7 +80,7 @@ jobs: needs: [meta, release] timeout-minutes: 10 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-rust + container: docker://ghcr.io/linkerd/dev:v48-rust steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - if: '!needs.meta.outputs.publish' diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 7fed588bc..e6e9a6271 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -22,7 +22,7 @@ jobs: gen-check: timeout-minutes: 10 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-rust + container: docker://ghcr.io/linkerd/dev:v48-rust steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just rs-fetch @@ -31,7 +31,7 @@ jobs: rust-clippy: timeout-minutes: 10 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-rust + container: docker://ghcr.io/linkerd/dev:v48-rust steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just rs-fetch @@ -40,7 +40,7 @@ jobs: rust-docs: timeout-minutes: 10 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-rust + container: docker://ghcr.io/linkerd/dev:v48-rust steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just rs-fetch @@ -49,7 +49,7 @@ jobs: rust-test: timeout-minutes: 10 runs-on: ubuntu-latest - container: docker://ghcr.io/linkerd/dev:v44-rust + container: docker://ghcr.io/linkerd/dev:v48-rust steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just rs-fetch From 245de37dc9773f89e1ccaab6d0732028142972cb Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Fri, 7 Nov 2025 11:03:11 -0500 Subject: [PATCH 2/2] chore(deps): Update golang to 1.25.4 --- go.mod | 4 +- go/destination/destination.pb.go | 902 +++++-------- go/destination/destination_grpc.pb.go | 2 +- go/grpc_route/grpc_route.pb.go | 86 +- go/http_route/http_route.pb.go | 417 +++--- go/http_types/http_types.pb.go | 168 ++- go/identity/identity.pb.go | 81 +- go/identity/identity_grpc.pb.go | 2 +- go/inbound/inbound.pb.go | 805 +++++------ go/inbound/inbound_grpc.pb.go | 2 +- go/meta/meta.pb.go | 98 +- go/net/net.pb.go | 114 +- go/opaque_route/opaque_route.pb.go | 42 +- go/outbound/outbound.pb.go | 1766 ++++++++++--------------- go/outbound/outbound_grpc.pb.go | 2 +- go/tap/tap.pb.go | 795 +++++------ go/tap/tap_grpc.pb.go | 2 +- go/tls_route/tls_route.pb.go | 77 +- 18 files changed, 2117 insertions(+), 3248 deletions(-) diff --git a/go.mod b/go.mod index 8b7b9d6ed..9430d631a 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module github.com/linkerd/linkerd2-proxy-api -go 1.23.0 +go 1.25.0 -toolchain go1.23.4 +toolchain go1.25.4 require ( github.com/golang/protobuf v1.5.4 diff --git a/go/destination/destination.pb.go b/go/destination/destination.pb.go index d8bc2b0e8..503d0a5cf 100644 --- a/go/destination/destination.pb.go +++ b/go/destination/destination.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: destination.proto package destination @@ -15,6 +15,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -25,19 +26,18 @@ const ( ) type GetDestination struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"` - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // An opaque value that is set at injection-time and sent with destintion // lookups. // // If, for instance, the token encodes a namespace or some locality // information, the service may alter its results to take this locality into // account. - ContextToken string `protobuf:"bytes,3,opt,name=context_token,json=contextToken,proto3" json:"context_token,omitempty"` + ContextToken string `protobuf:"bytes,3,opt,name=context_token,json=contextToken,proto3" json:"context_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetDestination) Reset() { @@ -92,16 +92,15 @@ func (x *GetDestination) GetContextToken() string { } type Update struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Update: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Update: // // *Update_Add // *Update_Remove // *Update_NoEndpoints - Update isUpdate_Update `protobuf_oneof:"update"` + Update isUpdate_Update `protobuf_oneof:"update"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Update) Reset() { @@ -134,30 +133,36 @@ func (*Update) Descriptor() ([]byte, []int) { return file_destination_proto_rawDescGZIP(), []int{1} } -func (m *Update) GetUpdate() isUpdate_Update { - if m != nil { - return m.Update +func (x *Update) GetUpdate() isUpdate_Update { + if x != nil { + return x.Update } return nil } func (x *Update) GetAdd() *WeightedAddrSet { - if x, ok := x.GetUpdate().(*Update_Add); ok { - return x.Add + if x != nil { + if x, ok := x.Update.(*Update_Add); ok { + return x.Add + } } return nil } func (x *Update) GetRemove() *AddrSet { - if x, ok := x.GetUpdate().(*Update_Remove); ok { - return x.Remove + if x != nil { + if x, ok := x.Update.(*Update_Remove); ok { + return x.Remove + } } return nil } func (x *Update) GetNoEndpoints() *NoEndpoints { - if x, ok := x.GetUpdate().(*Update_NoEndpoints); ok { - return x.NoEndpoints + if x != nil { + if x, ok := x.Update.(*Update_NoEndpoints); ok { + return x.NoEndpoints + } } return nil } @@ -193,11 +198,10 @@ func (*Update_Remove) isUpdate_Update() {} func (*Update_NoEndpoints) isUpdate_Update() {} type AddrSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addrs []*net.TcpAddress `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` unknownFields protoimpl.UnknownFields - - Addrs []*net.TcpAddress `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AddrSet) Reset() { @@ -238,12 +242,11 @@ func (x *AddrSet) GetAddrs() []*net.TcpAddress { } type WeightedAddrSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addrs []*WeightedAddr `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` + MetricLabels map[string]string `protobuf:"bytes,2,rep,name=metric_labels,json=metricLabels,proto3" json:"metric_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Addrs []*WeightedAddr `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` - MetricLabels map[string]string `protobuf:"bytes,2,rep,name=metric_labels,json=metricLabels,proto3" json:"metric_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *WeightedAddrSet) Reset() { @@ -291,16 +294,13 @@ func (x *WeightedAddrSet) GetMetricLabels() map[string]string { } type WeightedAddr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Addr *net.TcpAddress `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` - Weight uint32 `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"` - MetricLabels map[string]string `protobuf:"bytes,4,rep,name=metric_labels,json=metricLabels,proto3" json:"metric_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - TlsIdentity *TlsIdentity `protobuf:"bytes,5,opt,name=tls_identity,json=tlsIdentity,proto3" json:"tls_identity,omitempty"` - ProtocolHint *ProtocolHint `protobuf:"bytes,6,opt,name=protocol_hint,json=protocolHint,proto3" json:"protocol_hint,omitempty"` - AuthorityOverride *AuthorityOverride `protobuf:"bytes,7,opt,name=authority_override,json=authorityOverride,proto3" json:"authority_override,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Addr *net.TcpAddress `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + Weight uint32 `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"` + MetricLabels map[string]string `protobuf:"bytes,4,rep,name=metric_labels,json=metricLabels,proto3" json:"metric_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + TlsIdentity *TlsIdentity `protobuf:"bytes,5,opt,name=tls_identity,json=tlsIdentity,proto3" json:"tls_identity,omitempty"` + ProtocolHint *ProtocolHint `protobuf:"bytes,6,opt,name=protocol_hint,json=protocolHint,proto3" json:"protocol_hint,omitempty"` + AuthorityOverride *AuthorityOverride `protobuf:"bytes,7,opt,name=authority_override,json=authorityOverride,proto3" json:"authority_override,omitempty"` // The HTTP/2 parameters to use when connecting to the destination, if HTTP/2 // is used. These parameters are used by proxies when the application traffic // is HTTP/2 or when the H2 ProtocolHint is used to transport HTTP/1 @@ -308,7 +308,9 @@ type WeightedAddr struct { Http2 *Http2ClientParams `protobuf:"bytes,8,opt,name=http2,proto3" json:"http2,omitempty"` // A reference to the metadata for this endpoint, usually a Pod. This may be // omitted when the resource type is unknown. - ResourceRef *meta.Metadata `protobuf:"bytes,9,opt,name=resource_ref,json=resourceRef,proto3" json:"resource_ref,omitempty"` + ResourceRef *meta.Metadata `protobuf:"bytes,9,opt,name=resource_ref,json=resourceRef,proto3" json:"resource_ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WeightedAddr) Reset() { @@ -398,11 +400,8 @@ func (x *WeightedAddr) GetResourceRef() *meta.Metadata { } type TlsIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Strategy: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Strategy: // // *TlsIdentity_DnsLikeIdentity_ // *TlsIdentity_UriLikeIdentity_ @@ -410,7 +409,9 @@ type TlsIdentity struct { // The server name of the endpoint. This is the value that needs to be included // by clients in the ClientHello SNI extension of the TLS handshake when they // initiate TLS connections to servers. - ServerName *TlsIdentity_DnsLikeIdentity `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` + ServerName *TlsIdentity_DnsLikeIdentity `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TlsIdentity) Reset() { @@ -443,23 +444,27 @@ func (*TlsIdentity) Descriptor() ([]byte, []int) { return file_destination_proto_rawDescGZIP(), []int{5} } -func (m *TlsIdentity) GetStrategy() isTlsIdentity_Strategy { - if m != nil { - return m.Strategy +func (x *TlsIdentity) GetStrategy() isTlsIdentity_Strategy { + if x != nil { + return x.Strategy } return nil } func (x *TlsIdentity) GetDnsLikeIdentity() *TlsIdentity_DnsLikeIdentity { - if x, ok := x.GetStrategy().(*TlsIdentity_DnsLikeIdentity_); ok { - return x.DnsLikeIdentity + if x != nil { + if x, ok := x.Strategy.(*TlsIdentity_DnsLikeIdentity_); ok { + return x.DnsLikeIdentity + } } return nil } func (x *TlsIdentity) GetUriLikeIdentity() *TlsIdentity_UriLikeIdentity { - if x, ok := x.GetStrategy().(*TlsIdentity_UriLikeIdentity_); ok { - return x.UriLikeIdentity + if x != nil { + if x, ok := x.Strategy.(*TlsIdentity_UriLikeIdentity_); ok { + return x.UriLikeIdentity + } } return nil } @@ -488,11 +493,10 @@ func (*TlsIdentity_DnsLikeIdentity_) isTlsIdentity_Strategy() {} func (*TlsIdentity_UriLikeIdentity_) isTlsIdentity_Strategy() {} type AuthorityOverride struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AuthorityOverride string `protobuf:"bytes,1,opt,name=authority_override,json=authorityOverride,proto3" json:"authority_override,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AuthorityOverride string `protobuf:"bytes,1,opt,name=authority_override,json=authorityOverride,proto3" json:"authority_override,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AuthorityOverride) Reset() { @@ -533,11 +537,10 @@ func (x *AuthorityOverride) GetAuthorityOverride() string { } type NoEndpoints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` unknownFields protoimpl.UnknownFields - - Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` + sizeCache protoimpl.SizeCache } func (x *NoEndpoints) Reset() { @@ -580,11 +583,8 @@ func (x *NoEndpoints) GetExists() bool { // A hint of what protocol the service knows. The default value is // for the `hint` field to be not be set, essentially meaning "unknown". type ProtocolHint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Protocol: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Protocol: // // *ProtocolHint_H2_ // *ProtocolHint_Opaque_ @@ -592,6 +592,8 @@ type ProtocolHint struct { // When set, indicates that the target supports receiving opaque traffic // wrapped with the Linkerd connection header on the specified port. OpaqueTransport *ProtocolHint_OpaqueTransport `protobuf:"bytes,2,opt,name=opaque_transport,json=opaqueTransport,proto3" json:"opaque_transport,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProtocolHint) Reset() { @@ -624,23 +626,27 @@ func (*ProtocolHint) Descriptor() ([]byte, []int) { return file_destination_proto_rawDescGZIP(), []int{8} } -func (m *ProtocolHint) GetProtocol() isProtocolHint_Protocol { - if m != nil { - return m.Protocol +func (x *ProtocolHint) GetProtocol() isProtocolHint_Protocol { + if x != nil { + return x.Protocol } return nil } func (x *ProtocolHint) GetH2() *ProtocolHint_H2 { - if x, ok := x.GetProtocol().(*ProtocolHint_H2_); ok { - return x.H2 + if x != nil { + if x, ok := x.Protocol.(*ProtocolHint_H2_); ok { + return x.H2 + } } return nil } func (x *ProtocolHint) GetOpaque() *ProtocolHint_Opaque { - if x, ok := x.GetProtocol().(*ProtocolHint_Opaque_); ok { - return x.Opaque + if x != nil { + if x, ok := x.Protocol.(*ProtocolHint_Opaque_); ok { + return x.Opaque + } } return nil } @@ -675,16 +681,15 @@ func (*ProtocolHint_Opaque_) isProtocolHint_Protocol() {} // Configures the parameters used to initialize an HTTP/2 connection. type Http2ClientParams struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Overrides the default client flow control settings. FlowControl *Http2ClientParams_FlowControl `protobuf:"bytes,1,opt,name=flow_control,json=flowControl,proto3" json:"flow_control,omitempty"` // Enables keep-alive timeouts. KeepAlive *Http2ClientParams_KeepAlive `protobuf:"bytes,2,opt,name=keep_alive,json=keepAlive,proto3" json:"keep_alive,omitempty"` // Configures Hyper internals. - Internals *Http2ClientParams_Internals `protobuf:"bytes,3,opt,name=internals,proto3" json:"internals,omitempty"` + Internals *Http2ClientParams_Internals `protobuf:"bytes,3,opt,name=internals,proto3" json:"internals,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Http2ClientParams) Reset() { @@ -739,10 +744,7 @@ func (x *Http2ClientParams) GetInternals() *Http2ClientParams_Internals { } type DestinationProfile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The fully-qualified service name, if one exists. // // When resolving (especially by IP), this field provides the fully-qualified @@ -785,7 +787,9 @@ type DestinationProfile struct { ParentRef *meta.Metadata `protobuf:"bytes,7,opt,name=parent_ref,json=parentRef,proto3" json:"parent_ref,omitempty"` // A reference to the metadata for a ServiceProfile resource. This is omitted // when no ServiceProfile resource exists. - ProfileRef *meta.Metadata `protobuf:"bytes,8,opt,name=profile_ref,json=profileRef,proto3" json:"profile_ref,omitempty"` + ProfileRef *meta.Metadata `protobuf:"bytes,8,opt,name=profile_ref,json=profileRef,proto3" json:"profile_ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DestinationProfile) Reset() { @@ -875,10 +879,7 @@ func (x *DestinationProfile) GetProfileRef() *meta.Metadata { } type Route struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This route contains requests which match this condition. Condition *RequestMatch `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // A list of response classes for this route. If a response matches @@ -886,14 +887,16 @@ type Route struct { // match any ResponseClasses, it is considered to be a successful response. ResponseClasses []*ResponseClass `protobuf:"bytes,2,rep,name=response_classes,json=responseClasses,proto3" json:"response_classes,omitempty"` // Metric labels to attach to requests and responses that match this route. - MetricsLabels map[string]string `protobuf:"bytes,3,rep,name=metrics_labels,json=metricsLabels,proto3" json:"metrics_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MetricsLabels map[string]string `protobuf:"bytes,3,rep,name=metrics_labels,json=metricsLabels,proto3" json:"metrics_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // If a route is retryable, any failed requests on that route may be retried // by the proxy. IsRetryable bool `protobuf:"varint,4,opt,name=is_retryable,json=isRetryable,proto3" json:"is_retryable,omitempty"` // After this time has elapsed since receiving the initial request, any // outstanding request will be cancelled, a timeout error response will be // returned, and no more retries will be attempted. - Timeout *duration.Duration `protobuf:"bytes,5,opt,name=timeout,proto3" json:"timeout,omitempty"` + Timeout *duration.Duration `protobuf:"bytes,5,opt,name=timeout,proto3" json:"timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Route) Reset() { @@ -962,10 +965,7 @@ func (x *Route) GetTimeout() *duration.Duration { } type RetryBudget struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The ratio of additional traffic that may be added by retries. A // retry_ratio of 0.1 means that 1 retry may be attempted for every 10 regular // requests. A retry_ratio of 1.0 means that 1 retry may be attempted for @@ -979,7 +979,9 @@ type RetryBudget struct { // This duration indicates for how long requests should be considered for the // purposes of enforcing the retry_ratio. A higher value considers a larger // window and therefore allows burstier retries. - Ttl *duration.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"` + Ttl *duration.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RetryBudget) Reset() { @@ -1034,15 +1036,14 @@ func (x *RetryBudget) GetTtl() *duration.Duration { } type ResponseClass struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This class contains responses which match this condition. Condition *ResponseMatch `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // If responses in this class should be considered failures. This defaults // to false (success). - IsFailure bool `protobuf:"varint,2,opt,name=is_failure,json=isFailure,proto3" json:"is_failure,omitempty"` + IsFailure bool `protobuf:"varint,2,opt,name=is_failure,json=isFailure,proto3" json:"is_failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResponseClass) Reset() { @@ -1090,18 +1091,17 @@ func (x *ResponseClass) GetIsFailure() bool { } type RequestMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *RequestMatch_All // *RequestMatch_Any // *RequestMatch_Not // *RequestMatch_Path // *RequestMatch_Method - Match isRequestMatch_Match `protobuf_oneof:"match"` + Match isRequestMatch_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequestMatch) Reset() { @@ -1134,44 +1134,54 @@ func (*RequestMatch) Descriptor() ([]byte, []int) { return file_destination_proto_rawDescGZIP(), []int{14} } -func (m *RequestMatch) GetMatch() isRequestMatch_Match { - if m != nil { - return m.Match +func (x *RequestMatch) GetMatch() isRequestMatch_Match { + if x != nil { + return x.Match } return nil } func (x *RequestMatch) GetAll() *RequestMatch_Seq { - if x, ok := x.GetMatch().(*RequestMatch_All); ok { - return x.All + if x != nil { + if x, ok := x.Match.(*RequestMatch_All); ok { + return x.All + } } return nil } func (x *RequestMatch) GetAny() *RequestMatch_Seq { - if x, ok := x.GetMatch().(*RequestMatch_Any); ok { - return x.Any + if x != nil { + if x, ok := x.Match.(*RequestMatch_Any); ok { + return x.Any + } } return nil } func (x *RequestMatch) GetNot() *RequestMatch { - if x, ok := x.GetMatch().(*RequestMatch_Not); ok { - return x.Not + if x != nil { + if x, ok := x.Match.(*RequestMatch_Not); ok { + return x.Not + } } return nil } func (x *RequestMatch) GetPath() *PathMatch { - if x, ok := x.GetMatch().(*RequestMatch_Path); ok { - return x.Path + if x != nil { + if x, ok := x.Match.(*RequestMatch_Path); ok { + return x.Path + } } return nil } func (x *RequestMatch) GetMethod() *http_types.HttpMethod { - if x, ok := x.GetMatch().(*RequestMatch_Method); ok { - return x.Method + if x != nil { + if x, ok := x.Match.(*RequestMatch_Method); ok { + return x.Method + } } return nil } @@ -1211,12 +1221,11 @@ func (*RequestMatch_Path) isRequestMatch_Match() {} func (*RequestMatch_Method) isRequestMatch_Match() {} type PathMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Match if the request path matches this regex. - Regex string `protobuf:"bytes,1,opt,name=regex,proto3" json:"regex,omitempty"` + Regex string `protobuf:"bytes,1,opt,name=regex,proto3" json:"regex,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PathMatch) Reset() { @@ -1257,17 +1266,16 @@ func (x *PathMatch) GetRegex() string { } type ResponseMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *ResponseMatch_All // *ResponseMatch_Any // *ResponseMatch_Not // *ResponseMatch_Status - Match isResponseMatch_Match `protobuf_oneof:"match"` + Match isResponseMatch_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResponseMatch) Reset() { @@ -1300,37 +1308,45 @@ func (*ResponseMatch) Descriptor() ([]byte, []int) { return file_destination_proto_rawDescGZIP(), []int{16} } -func (m *ResponseMatch) GetMatch() isResponseMatch_Match { - if m != nil { - return m.Match +func (x *ResponseMatch) GetMatch() isResponseMatch_Match { + if x != nil { + return x.Match } return nil } func (x *ResponseMatch) GetAll() *ResponseMatch_Seq { - if x, ok := x.GetMatch().(*ResponseMatch_All); ok { - return x.All + if x != nil { + if x, ok := x.Match.(*ResponseMatch_All); ok { + return x.All + } } return nil } func (x *ResponseMatch) GetAny() *ResponseMatch_Seq { - if x, ok := x.GetMatch().(*ResponseMatch_Any); ok { - return x.Any + if x != nil { + if x, ok := x.Match.(*ResponseMatch_Any); ok { + return x.Any + } } return nil } func (x *ResponseMatch) GetNot() *ResponseMatch { - if x, ok := x.GetMatch().(*ResponseMatch_Not); ok { - return x.Not + if x != nil { + if x, ok := x.Match.(*ResponseMatch_Not); ok { + return x.Not + } } return nil } func (x *ResponseMatch) GetStatus() *HttpStatusRange { - if x, ok := x.GetMatch().(*ResponseMatch_Status); ok { - return x.Status + if x != nil { + if x, ok := x.Match.(*ResponseMatch_Status); ok { + return x.Status + } } return nil } @@ -1366,14 +1382,13 @@ func (*ResponseMatch_Status) isResponseMatch_Match() {} // If either a minimum or maximum is not specified, the range is considered to // be over a discrete value. type HttpStatusRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Minimum matching http status code (inclusive), if specified. Min uint32 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"` // Maximum matching http status code (inclusive), if specified. - Max uint32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` + Max uint32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpStatusRange) Reset() { @@ -1421,10 +1436,7 @@ func (x *HttpStatusRange) GetMax() uint32 { } type WeightedDst struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This authority will be used as the `path` in a call to the Destination.Get // rpc. Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` @@ -1432,7 +1444,9 @@ type WeightedDst struct { // relative to other weights in the same dst_overrides list. Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // A reference to the metadata for a Service resource. - BackendRef *meta.Metadata `protobuf:"bytes,3,opt,name=backend_ref,json=backendRef,proto3" json:"backend_ref,omitempty"` + BackendRef *meta.Metadata `protobuf:"bytes,3,opt,name=backend_ref,json=backendRef,proto3" json:"backend_ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WeightedDst) Reset() { @@ -1488,16 +1502,15 @@ func (x *WeightedDst) GetBackendRef() *meta.Metadata { // Verify the certificate based on the Kubernetes pod identity. type TlsIdentity_DnsLikeIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A DNS-like name that encodes workload coordinates. // // For example: // // {name}.{namespace}.{type}.identity.{control-namespace}.{trust-domain...} - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TlsIdentity_DnsLikeIdentity) Reset() { @@ -1539,16 +1552,15 @@ func (x *TlsIdentity_DnsLikeIdentity) GetName() string { // Verify the certificate based on an URI identity. type TlsIdentity_UriLikeIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A URI name that encodes workload identity. // // For example: // // spiffe://trust-domain/workload-dentifier - Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TlsIdentity_UriLikeIdentity) Reset() { @@ -1589,9 +1601,9 @@ func (x *TlsIdentity_UriLikeIdentity) GetUri() string { } type ProtocolHint_H2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProtocolHint_H2) Reset() { @@ -1625,9 +1637,9 @@ func (*ProtocolHint_H2) Descriptor() ([]byte, []int) { } type ProtocolHint_Opaque struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProtocolHint_Opaque) Reset() { @@ -1661,12 +1673,11 @@ func (*ProtocolHint_Opaque) Descriptor() ([]byte, []int) { } type ProtocolHint_OpaqueTransport struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The target proxy's inbound port. - InboundPort uint32 `protobuf:"varint,1,opt,name=inbound_port,json=inboundPort,proto3" json:"inbound_port,omitempty"` + InboundPort uint32 `protobuf:"varint,1,opt,name=inbound_port,json=inboundPort,proto3" json:"inbound_port,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProtocolHint_OpaqueTransport) Reset() { @@ -1707,16 +1718,15 @@ func (x *ProtocolHint_OpaqueTransport) GetInboundPort() uint32 { } type Http2ClientParams_FlowControl struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Configures the maximum connection-level flow control window size. InitialConnectionWindowSize uint32 `protobuf:"varint,1,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"` // Configures the maximum stream-level flow control window size. InitialStreamWindowSize uint32 `protobuf:"varint,2,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"` // Enables Hyper's adaptive flow control, ignoring other window settings. AdaptiveFlowControl bool `protobuf:"varint,3,opt,name=adaptive_flow_control,json=adaptiveFlowControl,proto3" json:"adaptive_flow_control,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Http2ClientParams_FlowControl) Reset() { @@ -1771,17 +1781,16 @@ func (x *Http2ClientParams_FlowControl) GetAdaptiveFlowControl() bool { } type Http2ClientParams_KeepAlive struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The time between pings. Interval *duration.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"` // The time to wait for a ping response before considering the connection // dead. Timeout *duration.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"` // Whether to send pings when there is no other traffic. - WhileIdle bool `protobuf:"varint,3,opt,name=while_idle,json=whileIdle,proto3" json:"while_idle,omitempty"` + WhileIdle bool `protobuf:"varint,3,opt,name=while_idle,json=whileIdle,proto3" json:"while_idle,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Http2ClientParams_KeepAlive) Reset() { @@ -1836,13 +1845,12 @@ func (x *Http2ClientParams_KeepAlive) GetWhileIdle() bool { } type Http2ClientParams_Internals struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxConcurrentResetStreams uint32 `protobuf:"varint,1,opt,name=max_concurrent_reset_streams,json=maxConcurrentResetStreams,proto3" json:"max_concurrent_reset_streams,omitempty"` - MaxFrameSize uint32 `protobuf:"varint,2,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` - MaxSendBufSize uint32 `protobuf:"varint,3,opt,name=max_send_buf_size,json=maxSendBufSize,proto3" json:"max_send_buf_size,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MaxConcurrentResetStreams uint32 `protobuf:"varint,1,opt,name=max_concurrent_reset_streams,json=maxConcurrentResetStreams,proto3" json:"max_concurrent_reset_streams,omitempty"` + MaxFrameSize uint32 `protobuf:"varint,2,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` + MaxSendBufSize uint32 `protobuf:"varint,3,opt,name=max_send_buf_size,json=maxSendBufSize,proto3" json:"max_send_buf_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Http2ClientParams_Internals) Reset() { @@ -1897,11 +1905,10 @@ func (x *Http2ClientParams_Internals) GetMaxSendBufSize() uint32 { } type RequestMatch_Seq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Matches []*RequestMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` unknownFields protoimpl.UnknownFields - - Matches []*RequestMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequestMatch_Seq) Reset() { @@ -1942,11 +1949,10 @@ func (x *RequestMatch_Seq) GetMatches() []*RequestMatch { } type ResponseMatch_Seq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Matches []*ResponseMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` unknownFields protoimpl.UnknownFields - - Matches []*ResponseMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResponseMatch_Seq) Reset() { @@ -1988,372 +1994,151 @@ func (x *ResponseMatch_Seq) GetMatches() []*ResponseMatch { var File_destination_proto protoreflect.FileDescriptor -var file_destination_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 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, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x09, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xe6, 0x01, - 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, - 0x72, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x53, - 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4e, 0x0a, 0x0c, - 0x6e, 0x6f, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x00, 0x52, - 0x0b, 0x6e, 0x6f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x41, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x53, 0x65, - 0x74, 0x12, 0x36, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x63, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x0f, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x53, 0x65, 0x74, 0x12, 0x40, 0x0a, - 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x52, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x12, - 0x64, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, 0x64, - 0x64, 0x72, 0x53, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 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, 0x22, 0x8a, 0x05, 0x0a, 0x0c, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x34, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x63, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x61, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x74, 0x6c, 0x73, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x6c, - 0x73, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x4f, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x68, 0x74, 0x74, 0x70, 0x32, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x32, 0x12, 0x42, - 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x66, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 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, 0x22, 0xab, 0x03, 0x0a, 0x0b, 0x54, 0x6c, 0x73, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x11, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x6c, - 0x73, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x6e, 0x73, 0x4c, 0x69, 0x6b, - 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6e, 0x73, - 0x4c, 0x69, 0x6b, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x11, - 0x75, 0x72, 0x69, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x6c, 0x73, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x55, 0x72, 0x69, 0x4c, 0x69, 0x6b, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x72, 0x69, 0x4c, 0x69, 0x6b, 0x65, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5a, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x6c, 0x73, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x6e, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x1a, 0x25, 0x0a, 0x0f, 0x44, 0x6e, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x23, 0x0a, 0x0f, 0x55, 0x72, 0x69, 0x4c, - 0x69, 0x6b, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x42, 0x0a, 0x0a, - 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, - 0x10, 0x6b, 0x38, 0x73, 0x5f, 0x70, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x22, 0x42, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x25, 0x0a, 0x0b, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xd5, 0x02, 0x0a, - 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x3f, 0x0a, - 0x02, 0x68, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x48, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x32, 0x48, 0x00, 0x52, 0x02, 0x68, 0x32, 0x12, 0x4b, - 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, - 0x65, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x65, 0x0a, 0x10, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x69, 0x6e, - 0x74, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x0f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, - 0x72, 0x74, 0x1a, 0x04, 0x0a, 0x02, 0x48, 0x32, 0x1a, 0x08, 0x0a, 0x06, 0x4f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x1a, 0x34, 0x0a, 0x0f, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xa5, 0x06, 0x0a, 0x11, 0x48, 0x74, 0x74, 0x70, 0x32, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5e, 0x0a, 0x0c, 0x66, 0x6c, - 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0b, 0x66, - 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x58, 0x0a, 0x0a, 0x6b, 0x65, - 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x74, - 0x74, 0x70, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, - 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x41, - 0x6c, 0x69, 0x76, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x73, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x1a, 0xc3, 0x01, - 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x43, 0x0a, - 0x1e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x32, 0x0a, 0x15, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x1a, 0x96, 0x01, 0x0a, 0x09, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, - 0x65, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 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, 0x08, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x18, 0x02, 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, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x1a, 0x9d, 0x01, 0x0a, - 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x61, - 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x19, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, - 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, - 0x66, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, - 0x78, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x94, 0x04, 0x0a, - 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, - 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x3b, - 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x72, - 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x52, 0x0b, 0x72, 0x65, - 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x4e, 0x0a, 0x0d, 0x64, 0x73, 0x74, - 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x44, 0x73, 0x74, 0x52, 0x0c, 0x64, 0x73, 0x74, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x66, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x66, 0x22, 0xa2, 0x03, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, - 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x09, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, - 0x5d, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 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, 0x07, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x22, 0x90, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, - 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, - 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x72, - 0x65, 0x74, 0x72, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, - 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x2b, - 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 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, 0x03, 0x74, 0x74, 0x6c, 0x22, 0x79, 0x0a, 0x0d, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x09, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x09, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0xae, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x42, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x2e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x42, 0x0a, 0x03, 0x61, - 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, - 0x3e, 0x0a, 0x03, 0x6e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, - 0x3d, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x74, - 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x41, - 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x74, 0x74, - 0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x1a, 0x4b, 0x0a, 0x03, 0x53, 0x65, 0x71, 0x12, 0x44, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x07, - 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x21, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x68, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0xfa, 0x02, 0x0a, 0x0d, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x43, 0x0a, 0x03, - 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, - 0x6c, 0x12, 0x43, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x65, 0x71, 0x48, - 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x3f, 0x0a, 0x03, 0x6e, 0x6f, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x48, 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x1a, 0x4c, 0x0a, 0x03, 0x53, 0x65, 0x71, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x07, - 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x35, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x85, - 0x01, 0x0a, 0x0b, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x44, 0x73, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, - 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x32, 0xde, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x24, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, - 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_destination_proto_rawDesc = "" + + "\n" + + "\x11destination.proto\x12\x1cio.linkerd.proxy.destination\x1a\x1egoogle/protobuf/duration.proto\x1a\x10http_types.proto\x1a\n" + + "meta.proto\x1a\tnet.proto\"a\n" + + "\x0eGetDestination\x12\x16\n" + + "\x06scheme\x18\x01 \x01(\tR\x06scheme\x12\x12\n" + + "\x04path\x18\x02 \x01(\tR\x04path\x12#\n" + + "\rcontext_token\x18\x03 \x01(\tR\fcontextToken\"\xe6\x01\n" + + "\x06Update\x12A\n" + + "\x03add\x18\x01 \x01(\v2-.io.linkerd.proxy.destination.WeightedAddrSetH\x00R\x03add\x12?\n" + + "\x06remove\x18\x02 \x01(\v2%.io.linkerd.proxy.destination.AddrSetH\x00R\x06remove\x12N\n" + + "\fno_endpoints\x18\x03 \x01(\v2).io.linkerd.proxy.destination.NoEndpointsH\x00R\vnoEndpointsB\b\n" + + "\x06update\"A\n" + + "\aAddrSet\x126\n" + + "\x05addrs\x18\x01 \x03(\v2 .io.linkerd.proxy.net.TcpAddressR\x05addrs\"\xfa\x01\n" + + "\x0fWeightedAddrSet\x12@\n" + + "\x05addrs\x18\x01 \x03(\v2*.io.linkerd.proxy.destination.WeightedAddrR\x05addrs\x12d\n" + + "\rmetric_labels\x18\x02 \x03(\v2?.io.linkerd.proxy.destination.WeightedAddrSet.MetricLabelsEntryR\fmetricLabels\x1a?\n" + + "\x11MetricLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x8a\x05\n" + + "\fWeightedAddr\x124\n" + + "\x04addr\x18\x01 \x01(\v2 .io.linkerd.proxy.net.TcpAddressR\x04addr\x12\x16\n" + + "\x06weight\x18\x03 \x01(\rR\x06weight\x12a\n" + + "\rmetric_labels\x18\x04 \x03(\v2<.io.linkerd.proxy.destination.WeightedAddr.MetricLabelsEntryR\fmetricLabels\x12L\n" + + "\ftls_identity\x18\x05 \x01(\v2).io.linkerd.proxy.destination.TlsIdentityR\vtlsIdentity\x12O\n" + + "\rprotocol_hint\x18\x06 \x01(\v2*.io.linkerd.proxy.destination.ProtocolHintR\fprotocolHint\x12^\n" + + "\x12authority_override\x18\a \x01(\v2/.io.linkerd.proxy.destination.AuthorityOverrideR\x11authorityOverride\x12E\n" + + "\x05http2\x18\b \x01(\v2/.io.linkerd.proxy.destination.Http2ClientParamsR\x05http2\x12B\n" + + "\fresource_ref\x18\t \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\vresourceRef\x1a?\n" + + "\x11MetricLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xab\x03\n" + + "\vTlsIdentity\x12g\n" + + "\x11dns_like_identity\x18\x01 \x01(\v29.io.linkerd.proxy.destination.TlsIdentity.DnsLikeIdentityH\x00R\x0fdnsLikeIdentity\x12g\n" + + "\x11uri_like_identity\x18\x03 \x01(\v29.io.linkerd.proxy.destination.TlsIdentity.UriLikeIdentityH\x00R\x0furiLikeIdentity\x12Z\n" + + "\vserver_name\x18\x04 \x01(\v29.io.linkerd.proxy.destination.TlsIdentity.DnsLikeIdentityR\n" + + "serverName\x1a%\n" + + "\x0fDnsLikeIdentity\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x1a#\n" + + "\x0fUriLikeIdentity\x12\x10\n" + + "\x03uri\x18\x01 \x01(\tR\x03uriB\n" + + "\n" + + "\bstrategyJ\x04\b\x02\x10\x03R\x10k8s_pod_identity\"B\n" + + "\x11AuthorityOverride\x12-\n" + + "\x12authority_override\x18\x01 \x01(\tR\x11authorityOverride\"%\n" + + "\vNoEndpoints\x12\x16\n" + + "\x06exists\x18\x01 \x01(\bR\x06exists\"\xd5\x02\n" + + "\fProtocolHint\x12?\n" + + "\x02h2\x18\x01 \x01(\v2-.io.linkerd.proxy.destination.ProtocolHint.H2H\x00R\x02h2\x12K\n" + + "\x06opaque\x18\x03 \x01(\v21.io.linkerd.proxy.destination.ProtocolHint.OpaqueH\x00R\x06opaque\x12e\n" + + "\x10opaque_transport\x18\x02 \x01(\v2:.io.linkerd.proxy.destination.ProtocolHint.OpaqueTransportR\x0fopaqueTransport\x1a\x04\n" + + "\x02H2\x1a\b\n" + + "\x06Opaque\x1a4\n" + + "\x0fOpaqueTransport\x12!\n" + + "\finbound_port\x18\x01 \x01(\rR\vinboundPortB\n" + + "\n" + + "\bprotocol\"\xa5\x06\n" + + "\x11Http2ClientParams\x12^\n" + + "\fflow_control\x18\x01 \x01(\v2;.io.linkerd.proxy.destination.Http2ClientParams.FlowControlR\vflowControl\x12X\n" + + "\n" + + "keep_alive\x18\x02 \x01(\v29.io.linkerd.proxy.destination.Http2ClientParams.KeepAliveR\tkeepAlive\x12W\n" + + "\tinternals\x18\x03 \x01(\v29.io.linkerd.proxy.destination.Http2ClientParams.InternalsR\tinternals\x1a\xc3\x01\n" + + "\vFlowControl\x12C\n" + + "\x1einitial_connection_window_size\x18\x01 \x01(\rR\x1binitialConnectionWindowSize\x12;\n" + + "\x1ainitial_stream_window_size\x18\x02 \x01(\rR\x17initialStreamWindowSize\x122\n" + + "\x15adaptive_flow_control\x18\x03 \x01(\bR\x13adaptiveFlowControl\x1a\x96\x01\n" + + "\tKeepAlive\x125\n" + + "\binterval\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\binterval\x123\n" + + "\atimeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x12\x1d\n" + + "\n" + + "while_idle\x18\x03 \x01(\bR\twhileIdle\x1a\x9d\x01\n" + + "\tInternals\x12?\n" + + "\x1cmax_concurrent_reset_streams\x18\x01 \x01(\rR\x19maxConcurrentResetStreams\x12$\n" + + "\x0emax_frame_size\x18\x02 \x01(\rR\fmaxFrameSize\x12)\n" + + "\x11max_send_buf_size\x18\x03 \x01(\rR\x0emaxSendBufSize\"\x94\x04\n" + + "\x12DestinationProfile\x120\n" + + "\x14fully_qualified_name\x18\x05 \x01(\tR\x12fullyQualifiedName\x12'\n" + + "\x0fopaque_protocol\x18\x04 \x01(\bR\x0eopaqueProtocol\x12;\n" + + "\x06routes\x18\x01 \x03(\v2#.io.linkerd.proxy.destination.RouteR\x06routes\x12L\n" + + "\fretry_budget\x18\x02 \x01(\v2).io.linkerd.proxy.destination.RetryBudgetR\vretryBudget\x12N\n" + + "\rdst_overrides\x18\x03 \x03(\v2).io.linkerd.proxy.destination.WeightedDstR\fdstOverrides\x12F\n" + + "\bendpoint\x18\x06 \x01(\v2*.io.linkerd.proxy.destination.WeightedAddrR\bendpoint\x12>\n" + + "\n" + + "parent_ref\x18\a \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\tparentRef\x12@\n" + + "\vprofile_ref\x18\b \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\n" + + "profileRef\"\xa2\x03\n" + + "\x05Route\x12H\n" + + "\tcondition\x18\x01 \x01(\v2*.io.linkerd.proxy.destination.RequestMatchR\tcondition\x12V\n" + + "\x10response_classes\x18\x02 \x03(\v2+.io.linkerd.proxy.destination.ResponseClassR\x0fresponseClasses\x12]\n" + + "\x0emetrics_labels\x18\x03 \x03(\v26.io.linkerd.proxy.destination.Route.MetricsLabelsEntryR\rmetricsLabels\x12!\n" + + "\fis_retryable\x18\x04 \x01(\bR\visRetryable\x123\n" + + "\atimeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x1a@\n" + + "\x12MetricsLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x90\x01\n" + + "\vRetryBudget\x12\x1f\n" + + "\vretry_ratio\x18\x01 \x01(\x02R\n" + + "retryRatio\x123\n" + + "\x16min_retries_per_second\x18\x02 \x01(\rR\x13minRetriesPerSecond\x12+\n" + + "\x03ttl\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x03ttl\"y\n" + + "\rResponseClass\x12I\n" + + "\tcondition\x18\x01 \x01(\v2+.io.linkerd.proxy.destination.ResponseMatchR\tcondition\x12\x1d\n" + + "\n" + + "is_failure\x18\x02 \x01(\bR\tisFailure\"\xae\x03\n" + + "\fRequestMatch\x12B\n" + + "\x03all\x18\x01 \x01(\v2..io.linkerd.proxy.destination.RequestMatch.SeqH\x00R\x03all\x12B\n" + + "\x03any\x18\x02 \x01(\v2..io.linkerd.proxy.destination.RequestMatch.SeqH\x00R\x03any\x12>\n" + + "\x03not\x18\x03 \x01(\v2*.io.linkerd.proxy.destination.RequestMatchH\x00R\x03not\x12=\n" + + "\x04path\x18\x04 \x01(\v2'.io.linkerd.proxy.destination.PathMatchH\x00R\x04path\x12A\n" + + "\x06method\x18\x05 \x01(\v2'.io.linkerd.proxy.http_types.HttpMethodH\x00R\x06method\x1aK\n" + + "\x03Seq\x12D\n" + + "\amatches\x18\x01 \x03(\v2*.io.linkerd.proxy.destination.RequestMatchR\amatchesB\a\n" + + "\x05match\"!\n" + + "\tPathMatch\x12\x14\n" + + "\x05regex\x18\x01 \x01(\tR\x05regex\"\xfa\x02\n" + + "\rResponseMatch\x12C\n" + + "\x03all\x18\x01 \x01(\v2/.io.linkerd.proxy.destination.ResponseMatch.SeqH\x00R\x03all\x12C\n" + + "\x03any\x18\x02 \x01(\v2/.io.linkerd.proxy.destination.ResponseMatch.SeqH\x00R\x03any\x12?\n" + + "\x03not\x18\x03 \x01(\v2+.io.linkerd.proxy.destination.ResponseMatchH\x00R\x03not\x12G\n" + + "\x06status\x18\x04 \x01(\v2-.io.linkerd.proxy.destination.HttpStatusRangeH\x00R\x06status\x1aL\n" + + "\x03Seq\x12E\n" + + "\amatches\x18\x01 \x03(\v2+.io.linkerd.proxy.destination.ResponseMatchR\amatchesB\a\n" + + "\x05match\"5\n" + + "\x0fHttpStatusRange\x12\x10\n" + + "\x03min\x18\x01 \x01(\rR\x03min\x12\x10\n" + + "\x03max\x18\x02 \x01(\rR\x03max\"\x85\x01\n" + + "\vWeightedDst\x12\x1c\n" + + "\tauthority\x18\x01 \x01(\tR\tauthority\x12\x16\n" + + "\x06weight\x18\x02 \x01(\rR\x06weight\x12@\n" + + "\vbackend_ref\x18\x03 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\n" + + "backendRef2\xde\x01\n" + + "\vDestination\x12]\n" + + "\x03Get\x12,.io.linkerd.proxy.destination.GetDestination\x1a$.io.linkerd.proxy.destination.Update\"\x000\x01\x12p\n" + + "\n" + + "GetProfile\x12,.io.linkerd.proxy.destination.GetDestination\x1a0.io.linkerd.proxy.destination.DestinationProfile\"\x000\x01B6Z4github.com/linkerd/linkerd2-proxy-api/go/destinationb\x06proto3" var ( file_destination_proto_rawDescOnce sync.Once - file_destination_proto_rawDescData = file_destination_proto_rawDesc + file_destination_proto_rawDescData []byte ) func file_destination_proto_rawDescGZIP() []byte { file_destination_proto_rawDescOnce.Do(func() { - file_destination_proto_rawDescData = protoimpl.X.CompressGZIP(file_destination_proto_rawDescData) + file_destination_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_destination_proto_rawDesc), len(file_destination_proto_rawDesc))) }) return file_destination_proto_rawDescData } @@ -2492,7 +2277,7 @@ func file_destination_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_destination_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_destination_proto_rawDesc), len(file_destination_proto_rawDesc)), NumEnums: 0, NumMessages: 32, NumExtensions: 0, @@ -2503,7 +2288,6 @@ func file_destination_proto_init() { MessageInfos: file_destination_proto_msgTypes, }.Build() File_destination_proto = out.File - file_destination_proto_rawDesc = nil file_destination_proto_goTypes = nil file_destination_proto_depIdxs = nil } diff --git a/go/destination/destination_grpc.pb.go b/go/destination/destination_grpc.pb.go index 50ab2299a..27f574ea0 100644 --- a/go/destination/destination_grpc.pb.go +++ b/go/destination/destination_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.29.0 +// - protoc v6.30.2 // source: destination.proto package destination diff --git a/go/grpc_route/grpc_route.pb.go b/go/grpc_route/grpc_route.pb.go index 578f4bd67..8f8f9bc82 100644 --- a/go/grpc_route/grpc_route.pb.go +++ b/go/grpc_route/grpc_route.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: grpc_route.proto package grpc_route @@ -12,6 +12,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,15 +23,14 @@ const ( ) type GrpcRouteMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Rpc *GrpcRpcMatch `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Rpc *GrpcRpcMatch `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"` // A set of header value matches that must be satisified. This match is not // comprehensive, so requests may include headers that are not covered by this // match. - Headers []*http_route.HeaderMatch `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` + Headers []*http_route.HeaderMatch `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRouteMatch) Reset() { @@ -78,12 +78,11 @@ func (x *GrpcRouteMatch) GetHeaders() []*http_route.HeaderMatch { } type GrpcRpcMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` unknownFields protoimpl.UnknownFields - - Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GrpcRpcMatch) Reset() { @@ -132,17 +131,16 @@ func (x *GrpcRpcMatch) GetMethod() string { // Configures a route to respond with a fixed response. type GrpcFailureInjector struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The status code to use in the `grpc-status` response. Must be specified. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // An error message to log and include in the `grpc-message` header. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // If specified, the rate of requests that should be failed. If not specified, // ALL requests are failed. - Ratio *http_route.Ratio `protobuf:"bytes,3,opt,name=ratio,proto3" json:"ratio,omitempty"` + Ratio *http_route.Ratio `protobuf:"bytes,3,opt,name=ratio,proto3" json:"ratio,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcFailureInjector) Reset() { @@ -198,47 +196,28 @@ func (x *GrpcFailureInjector) GetRatio() *http_route.Ratio { var File_grpc_route_proto protoreflect.FileDescriptor -var file_grpc_route_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x1a, - 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x0e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x3b, 0x0a, 0x03, 0x72, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x47, 0x72, 0x70, 0x63, 0x52, 0x70, 0x63, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x03, 0x72, 0x70, - 0x63, 0x12, 0x42, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x40, 0x0a, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x52, 0x70, 0x63, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x7d, 0x0a, 0x13, 0x47, 0x72, 0x70, 0x63, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x05, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, - 0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x35, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, - 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_grpc_route_proto_rawDesc = "" + + "\n" + + "\x10grpc_route.proto\x12\x1bio.linkerd.proxy.grpc_route\x1a\x10http_route.proto\"\x91\x01\n" + + "\x0eGrpcRouteMatch\x12;\n" + + "\x03rpc\x18\x01 \x01(\v2).io.linkerd.proxy.grpc_route.GrpcRpcMatchR\x03rpc\x12B\n" + + "\aheaders\x18\x02 \x03(\v2(.io.linkerd.proxy.http_route.HeaderMatchR\aheaders\"@\n" + + "\fGrpcRpcMatch\x12\x18\n" + + "\aservice\x18\x01 \x01(\tR\aservice\x12\x16\n" + + "\x06method\x18\x02 \x01(\tR\x06method\"}\n" + + "\x13GrpcFailureInjector\x12\x12\n" + + "\x04code\x18\x01 \x01(\rR\x04code\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x128\n" + + "\x05ratio\x18\x03 \x01(\v2\".io.linkerd.proxy.http_route.RatioR\x05ratioB5Z3github.com/linkerd/linkerd2-proxy-api/go/grpc_routeb\x06proto3" var ( file_grpc_route_proto_rawDescOnce sync.Once - file_grpc_route_proto_rawDescData = file_grpc_route_proto_rawDesc + file_grpc_route_proto_rawDescData []byte ) func file_grpc_route_proto_rawDescGZIP() []byte { file_grpc_route_proto_rawDescOnce.Do(func() { - file_grpc_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_route_proto_rawDescData) + file_grpc_route_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_grpc_route_proto_rawDesc), len(file_grpc_route_proto_rawDesc))) }) return file_grpc_route_proto_rawDescData } @@ -271,7 +250,7 @@ func file_grpc_route_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_grpc_route_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_route_proto_rawDesc), len(file_grpc_route_proto_rawDesc)), NumEnums: 0, NumMessages: 3, NumExtensions: 0, @@ -282,7 +261,6 @@ func file_grpc_route_proto_init() { MessageInfos: file_grpc_route_proto_msgTypes, }.Build() File_grpc_route_proto = out.File - file_grpc_route_proto_rawDesc = nil file_grpc_route_proto_goTypes = nil file_grpc_route_proto_depIdxs = nil } diff --git a/go/http_route/http_route.pb.go b/go/http_route/http_route.pb.go index fd5e0eae2..e2d482a95 100644 --- a/go/http_route/http_route.pb.go +++ b/go/http_route/http_route.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: http_route.proto package http_route @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -24,15 +25,14 @@ const ( // Describes how to match an `:authority` or `host` header. type HostMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *HostMatch_Exact // *HostMatch_Suffix_ - Match isHostMatch_Match `protobuf_oneof:"match"` + Match isHostMatch_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HostMatch) Reset() { @@ -65,23 +65,27 @@ func (*HostMatch) Descriptor() ([]byte, []int) { return file_http_route_proto_rawDescGZIP(), []int{0} } -func (m *HostMatch) GetMatch() isHostMatch_Match { - if m != nil { - return m.Match +func (x *HostMatch) GetMatch() isHostMatch_Match { + if x != nil { + return x.Match } return nil } func (x *HostMatch) GetExact() string { - if x, ok := x.GetMatch().(*HostMatch_Exact); ok { - return x.Exact + if x != nil { + if x, ok := x.Match.(*HostMatch_Exact); ok { + return x.Exact + } } return "" } func (x *HostMatch) GetSuffix() *HostMatch_Suffix { - if x, ok := x.GetMatch().(*HostMatch_Suffix_); ok { - return x.Suffix + if x != nil { + if x, ok := x.Match.(*HostMatch_Suffix_); ok { + return x.Suffix + } } return nil } @@ -106,10 +110,7 @@ func (*HostMatch_Suffix_) isHostMatch_Match() {} // Describes a set of matches, ALL of which must apply. type HttpRouteMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Matches requests by path. Path *PathMatch `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // A set of header value matches that must be satisified. This match is not @@ -121,7 +122,9 @@ type HttpRouteMatch struct { // covered by this match. QueryParams []*QueryParamMatch `protobuf:"bytes,3,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"` // If specified, restricts the match to a single HTTP method. - Method *http_types.HttpMethod `protobuf:"bytes,4,opt,name=method,proto3" json:"method,omitempty"` + Method *http_types.HttpMethod `protobuf:"bytes,4,opt,name=method,proto3" json:"method,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRouteMatch) Reset() { @@ -184,16 +187,15 @@ func (x *HttpRouteMatch) GetMethod() *http_types.HttpMethod { // Describes how to match a path. type PathMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *PathMatch_Exact // *PathMatch_Prefix // *PathMatch_Regex - Kind isPathMatch_Kind `protobuf_oneof:"kind"` + Kind isPathMatch_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PathMatch) Reset() { @@ -226,30 +228,36 @@ func (*PathMatch) Descriptor() ([]byte, []int) { return file_http_route_proto_rawDescGZIP(), []int{2} } -func (m *PathMatch) GetKind() isPathMatch_Kind { - if m != nil { - return m.Kind +func (x *PathMatch) GetKind() isPathMatch_Kind { + if x != nil { + return x.Kind } return nil } func (x *PathMatch) GetExact() string { - if x, ok := x.GetKind().(*PathMatch_Exact); ok { - return x.Exact + if x != nil { + if x, ok := x.Kind.(*PathMatch_Exact); ok { + return x.Exact + } } return "" } func (x *PathMatch) GetPrefix() string { - if x, ok := x.GetKind().(*PathMatch_Prefix); ok { - return x.Prefix + if x != nil { + if x, ok := x.Kind.(*PathMatch_Prefix); ok { + return x.Prefix + } } return "" } func (x *PathMatch) GetRegex() string { - if x, ok := x.GetKind().(*PathMatch_Regex); ok { - return x.Regex + if x != nil { + if x, ok := x.Kind.(*PathMatch_Regex); ok { + return x.Regex + } } return "" } @@ -278,16 +286,15 @@ func (*PathMatch_Regex) isPathMatch_Kind() {} // Describes how to match a header by name and value. type HeaderMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Types that are valid to be assigned to Value: // // *HeaderMatch_Exact // *HeaderMatch_Regex - Value isHeaderMatch_Value `protobuf_oneof:"value"` + Value isHeaderMatch_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HeaderMatch) Reset() { @@ -327,23 +334,27 @@ func (x *HeaderMatch) GetName() string { return "" } -func (m *HeaderMatch) GetValue() isHeaderMatch_Value { - if m != nil { - return m.Value +func (x *HeaderMatch) GetValue() isHeaderMatch_Value { + if x != nil { + return x.Value } return nil } func (x *HeaderMatch) GetExact() []byte { - if x, ok := x.GetValue().(*HeaderMatch_Exact); ok { - return x.Exact + if x != nil { + if x, ok := x.Value.(*HeaderMatch_Exact); ok { + return x.Exact + } } return nil } func (x *HeaderMatch) GetRegex() string { - if x, ok := x.GetValue().(*HeaderMatch_Regex); ok { - return x.Regex + if x != nil { + if x, ok := x.Value.(*HeaderMatch_Regex); ok { + return x.Regex + } } return "" } @@ -366,16 +377,15 @@ func (*HeaderMatch_Regex) isHeaderMatch_Value() {} // Describes how to match a query parameter by name and value. type QueryParamMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Types that are valid to be assigned to Value: // // *QueryParamMatch_Exact // *QueryParamMatch_Regex - Value isQueryParamMatch_Value `protobuf_oneof:"value"` + Value isQueryParamMatch_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryParamMatch) Reset() { @@ -415,23 +425,27 @@ func (x *QueryParamMatch) GetName() string { return "" } -func (m *QueryParamMatch) GetValue() isQueryParamMatch_Value { - if m != nil { - return m.Value +func (x *QueryParamMatch) GetValue() isQueryParamMatch_Value { + if x != nil { + return x.Value } return nil } func (x *QueryParamMatch) GetExact() string { - if x, ok := x.GetValue().(*QueryParamMatch_Exact); ok { - return x.Exact + if x != nil { + if x, ok := x.Value.(*QueryParamMatch_Exact); ok { + return x.Exact + } } return "" } func (x *QueryParamMatch) GetRegex() string { - if x, ok := x.GetValue().(*QueryParamMatch_Regex); ok { - return x.Regex + if x != nil { + if x, ok := x.Value.(*QueryParamMatch_Regex); ok { + return x.Regex + } } return "" } @@ -457,10 +471,7 @@ func (*QueryParamMatch_Regex) isQueryParamMatch_Value() {} // Modifications are to be applied in the order they are described here: // additions apply first, then sets, and then removals. type RequestHeaderModifier struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A list of headers name-value pairs to set on requests, augmenting any // existing values for the header. Add *http_types.Headers `protobuf:"bytes,1,opt,name=add,proto3" json:"add,omitempty"` @@ -468,7 +479,9 @@ type RequestHeaderModifier struct { // existing values for the header. Set *http_types.Headers `protobuf:"bytes,2,opt,name=set,proto3" json:"set,omitempty"` // A list of headers names to be removed from requests. - Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"` + Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequestHeaderModifier) Reset() { @@ -527,10 +540,7 @@ func (x *RequestHeaderModifier) GetRemove() []string { // Modifications are to be applied in the order they are described here: // additions apply first, then sets, and then removals. type ResponseHeaderModifier struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A list of headers name-value pairs to set on responses, augmenting any // existing values for the header. Add *http_types.Headers `protobuf:"bytes,1,opt,name=add,proto3" json:"add,omitempty"` @@ -538,7 +548,9 @@ type ResponseHeaderModifier struct { // existing values for the header. Set *http_types.Headers `protobuf:"bytes,2,opt,name=set,proto3" json:"set,omitempty"` // A list of headers names to be removed from responses. - Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"` + Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResponseHeaderModifier) Reset() { @@ -595,10 +607,7 @@ func (x *ResponseHeaderModifier) GetRemove() []string { // Configures a route to respond with a redirect response. The `location` header // is set with the given URL parameters. type RequestRedirect struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The scheme value to be used in the `location` header. If not specified, // the original request's scheme is used. Scheme *http_types.Scheme `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"` @@ -613,7 +622,9 @@ type RequestRedirect struct { Port uint32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"` // The status code to use in the HTTP response. If not specified, 301 is // used. - Status uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` + Status uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequestRedirect) Reset() { @@ -683,15 +694,14 @@ func (x *RequestRedirect) GetStatus() uint32 { // Describes how a path value may be rewritten in a route. type PathModifier struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Replace: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Replace: // // *PathModifier_Full // *PathModifier_Prefix - Replace isPathModifier_Replace `protobuf_oneof:"replace"` + Replace isPathModifier_Replace `protobuf_oneof:"replace"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PathModifier) Reset() { @@ -724,23 +734,27 @@ func (*PathModifier) Descriptor() ([]byte, []int) { return file_http_route_proto_rawDescGZIP(), []int{8} } -func (m *PathModifier) GetReplace() isPathModifier_Replace { - if m != nil { - return m.Replace +func (x *PathModifier) GetReplace() isPathModifier_Replace { + if x != nil { + return x.Replace } return nil } func (x *PathModifier) GetFull() string { - if x, ok := x.GetReplace().(*PathModifier_Full); ok { - return x.Full + if x != nil { + if x, ok := x.Replace.(*PathModifier_Full); ok { + return x.Full + } } return "" } func (x *PathModifier) GetPrefix() string { - if x, ok := x.GetReplace().(*PathModifier_Prefix); ok { - return x.Prefix + if x != nil { + if x, ok := x.Replace.(*PathModifier_Prefix); ok { + return x.Prefix + } } return "" } @@ -770,17 +784,16 @@ func (*PathModifier_Prefix) isPathModifier_Replace() {} // Configures a route to respond with a fixed response. type HttpFailureInjector struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The status code to use in the HTTP response. Must be specified. Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // An error message to log and include in the `l5d-proxy-err` header. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // If specified, the rate of requests that should be failed. If not specified, // ALL requests are failed. - Ratio *Ratio `protobuf:"bytes,3,opt,name=ratio,proto3" json:"ratio,omitempty"` + Ratio *Ratio `protobuf:"bytes,3,opt,name=ratio,proto3" json:"ratio,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpFailureInjector) Reset() { @@ -838,13 +851,12 @@ func (x *HttpFailureInjector) GetRatio() *Ratio { // // Represents fractional values on [0, 1]. type Ratio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Numerator uint32 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Numerator uint32 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"` // MUST not be zero. - Denominator uint32 `protobuf:"varint,2,opt,name=denominator,proto3" json:"denominator,omitempty"` + Denominator uint32 `protobuf:"varint,2,opt,name=denominator,proto3" json:"denominator,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Ratio) Reset() { @@ -892,10 +904,7 @@ func (x *Ratio) GetDenominator() uint32 { } type Timeouts struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Limits the the time a stream may be active after all request frames have // been processed. Response *duration.Duration `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` @@ -904,7 +913,9 @@ type Timeouts struct { Request *duration.Duration `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` // Limits the amount of time a stream may be idle (i.e. with no frames being // processed). - Idle *duration.Duration `protobuf:"bytes,3,opt,name=idle,proto3" json:"idle,omitempty"` + Idle *duration.Duration `protobuf:"bytes,3,opt,name=idle,proto3" json:"idle,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Timeouts) Reset() { @@ -960,11 +971,10 @@ func (x *Timeouts) GetIdle() *duration.Duration { // A match like `*.example.com` is encoded as [com, example]. type HostMatch_Suffix struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ReverseLabels []string `protobuf:"bytes,1,rep,name=reverse_labels,json=reverseLabels,proto3" json:"reverse_labels,omitempty"` unknownFields protoimpl.UnknownFields - - ReverseLabels []string `protobuf:"bytes,1,rep,name=reverse_labels,json=reverseLabels,proto3" json:"reverse_labels,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HostMatch_Suffix) Reset() { @@ -1006,135 +1016,73 @@ func (x *HostMatch_Suffix) GetReverseLabels() []string { var File_http_route_proto protoreflect.FileDescriptor -var file_http_route_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x1a, - 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 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, 0x22, 0xa6, 0x01, 0x0a, 0x09, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, - 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x48, 0x00, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, - 0x1a, 0x2f, 0x0a, 0x06, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, - 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xa2, 0x02, 0x0a, 0x0e, 0x48, - 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x42, 0x0a, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, - 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, - 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3f, - 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x74, 0x74, - 0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, - 0x5d, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x05, - 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, - 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x5a, - 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, - 0x78, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5e, 0x0a, 0x0f, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, - 0x78, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, 0x36, 0x0a, 0x03, - 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xa0, 0x01, 0x0a, - 0x16, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, - 0x36, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, - 0xcd, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x49, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, - 0x14, 0x0a, 0x04, 0x66, 0x75, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x66, 0x75, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, - 0x09, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x48, - 0x74, 0x74, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x47, - 0x0a, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x08, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 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, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 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, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2d, 0x0a, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x18, 0x03, 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, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x42, - 0x35, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_http_route_proto_rawDesc = "" + + "\n" + + "\x10http_route.proto\x12\x1bio.linkerd.proxy.http_route\x1a\x10http_types.proto\x1a\x1egoogle/protobuf/duration.proto\"\xa6\x01\n" + + "\tHostMatch\x12\x16\n" + + "\x05exact\x18\x01 \x01(\tH\x00R\x05exact\x12G\n" + + "\x06suffix\x18\x02 \x01(\v2-.io.linkerd.proxy.http_route.HostMatch.SuffixH\x00R\x06suffix\x1a/\n" + + "\x06Suffix\x12%\n" + + "\x0ereverse_labels\x18\x01 \x03(\tR\rreverseLabelsB\a\n" + + "\x05match\"\xa2\x02\n" + + "\x0eHttpRouteMatch\x12:\n" + + "\x04path\x18\x01 \x01(\v2&.io.linkerd.proxy.http_route.PathMatchR\x04path\x12B\n" + + "\aheaders\x18\x02 \x03(\v2(.io.linkerd.proxy.http_route.HeaderMatchR\aheaders\x12O\n" + + "\fquery_params\x18\x03 \x03(\v2,.io.linkerd.proxy.http_route.QueryParamMatchR\vqueryParams\x12?\n" + + "\x06method\x18\x04 \x01(\v2'.io.linkerd.proxy.http_types.HttpMethodR\x06method\"]\n" + + "\tPathMatch\x12\x16\n" + + "\x05exact\x18\x01 \x01(\tH\x00R\x05exact\x12\x18\n" + + "\x06prefix\x18\x02 \x01(\tH\x00R\x06prefix\x12\x16\n" + + "\x05regex\x18\x03 \x01(\tH\x00R\x05regexB\x06\n" + + "\x04kind\"Z\n" + + "\vHeaderMatch\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + + "\x05exact\x18\x02 \x01(\fH\x00R\x05exact\x12\x16\n" + + "\x05regex\x18\x03 \x01(\tH\x00R\x05regexB\a\n" + + "\x05value\"^\n" + + "\x0fQueryParamMatch\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + + "\x05exact\x18\x02 \x01(\tH\x00R\x05exact\x12\x16\n" + + "\x05regex\x18\x03 \x01(\tH\x00R\x05regexB\a\n" + + "\x05value\"\x9f\x01\n" + + "\x15RequestHeaderModifier\x126\n" + + "\x03add\x18\x01 \x01(\v2$.io.linkerd.proxy.http_types.HeadersR\x03add\x126\n" + + "\x03set\x18\x02 \x01(\v2$.io.linkerd.proxy.http_types.HeadersR\x03set\x12\x16\n" + + "\x06remove\x18\x03 \x03(\tR\x06remove\"\xa0\x01\n" + + "\x16ResponseHeaderModifier\x126\n" + + "\x03add\x18\x01 \x01(\v2$.io.linkerd.proxy.http_types.HeadersR\x03add\x126\n" + + "\x03set\x18\x02 \x01(\v2$.io.linkerd.proxy.http_types.HeadersR\x03set\x12\x16\n" + + "\x06remove\x18\x03 \x03(\tR\x06remove\"\xcd\x01\n" + + "\x0fRequestRedirect\x12;\n" + + "\x06scheme\x18\x01 \x01(\v2#.io.linkerd.proxy.http_types.SchemeR\x06scheme\x12\x12\n" + + "\x04host\x18\x02 \x01(\tR\x04host\x12=\n" + + "\x04path\x18\x03 \x01(\v2).io.linkerd.proxy.http_route.PathModifierR\x04path\x12\x12\n" + + "\x04port\x18\x04 \x01(\rR\x04port\x12\x16\n" + + "\x06status\x18\x05 \x01(\rR\x06status\"I\n" + + "\fPathModifier\x12\x14\n" + + "\x04full\x18\x01 \x01(\tH\x00R\x04full\x12\x18\n" + + "\x06prefix\x18\x02 \x01(\tH\x00R\x06prefixB\t\n" + + "\areplace\"\x81\x01\n" + + "\x13HttpFailureInjector\x12\x16\n" + + "\x06status\x18\x01 \x01(\rR\x06status\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x128\n" + + "\x05ratio\x18\x03 \x01(\v2\".io.linkerd.proxy.http_route.RatioR\x05ratio\"G\n" + + "\x05Ratio\x12\x1c\n" + + "\tnumerator\x18\x01 \x01(\rR\tnumerator\x12 \n" + + "\vdenominator\x18\x02 \x01(\rR\vdenominator\"\xa5\x01\n" + + "\bTimeouts\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\bresponse\x123\n" + + "\arequest\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\arequest\x12-\n" + + "\x04idle\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x04idleB5Z3github.com/linkerd/linkerd2-proxy-api/go/http_routeb\x06proto3" var ( file_http_route_proto_rawDescOnce sync.Once - file_http_route_proto_rawDescData = file_http_route_proto_rawDesc + file_http_route_proto_rawDescData []byte ) func file_http_route_proto_rawDescGZIP() []byte { file_http_route_proto_rawDescOnce.Do(func() { - file_http_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_http_route_proto_rawDescData) + file_http_route_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_http_route_proto_rawDesc), len(file_http_route_proto_rawDesc))) }) return file_http_route_proto_rawDescData } @@ -1212,7 +1160,7 @@ func file_http_route_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_http_route_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_http_route_proto_rawDesc), len(file_http_route_proto_rawDesc)), NumEnums: 0, NumMessages: 13, NumExtensions: 0, @@ -1223,7 +1171,6 @@ func file_http_route_proto_init() { MessageInfos: file_http_route_proto_msgTypes, }.Build() File_http_route_proto = out.File - file_http_route_proto_rawDesc = nil file_http_route_proto_goTypes = nil file_http_route_proto_depIdxs = nil } diff --git a/go/http_types/http_types.pb.go b/go/http_types/http_types.pb.go index 19b61de0c..66dbcba5f 100644 --- a/go/http_types/http_types.pb.go +++ b/go/http_types/http_types.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: http_types.proto package http_types @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -134,15 +135,14 @@ func (Scheme_Registered) EnumDescriptor() ([]byte, []int) { } type HttpMethod struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Type: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Type: // // *HttpMethod_Registered_ // *HttpMethod_Unregistered - Type isHttpMethod_Type `protobuf_oneof:"type"` + Type isHttpMethod_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpMethod) Reset() { @@ -175,23 +175,27 @@ func (*HttpMethod) Descriptor() ([]byte, []int) { return file_http_types_proto_rawDescGZIP(), []int{0} } -func (m *HttpMethod) GetType() isHttpMethod_Type { - if m != nil { - return m.Type +func (x *HttpMethod) GetType() isHttpMethod_Type { + if x != nil { + return x.Type } return nil } func (x *HttpMethod) GetRegistered() HttpMethod_Registered { - if x, ok := x.GetType().(*HttpMethod_Registered_); ok { - return x.Registered + if x != nil { + if x, ok := x.Type.(*HttpMethod_Registered_); ok { + return x.Registered + } } return HttpMethod_GET } func (x *HttpMethod) GetUnregistered() string { - if x, ok := x.GetType().(*HttpMethod_Unregistered); ok { - return x.Unregistered + if x != nil { + if x, ok := x.Type.(*HttpMethod_Unregistered); ok { + return x.Unregistered + } } return "" } @@ -213,15 +217,14 @@ func (*HttpMethod_Registered_) isHttpMethod_Type() {} func (*HttpMethod_Unregistered) isHttpMethod_Type() {} type Scheme struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Type: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Type: // // *Scheme_Registered_ // *Scheme_Unregistered - Type isScheme_Type `protobuf_oneof:"type"` + Type isScheme_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Scheme) Reset() { @@ -254,23 +257,27 @@ func (*Scheme) Descriptor() ([]byte, []int) { return file_http_types_proto_rawDescGZIP(), []int{1} } -func (m *Scheme) GetType() isScheme_Type { - if m != nil { - return m.Type +func (x *Scheme) GetType() isScheme_Type { + if x != nil { + return x.Type } return nil } func (x *Scheme) GetRegistered() Scheme_Registered { - if x, ok := x.GetType().(*Scheme_Registered_); ok { - return x.Registered + if x != nil { + if x, ok := x.Type.(*Scheme_Registered_); ok { + return x.Registered + } } return Scheme_HTTP } func (x *Scheme) GetUnregistered() string { - if x, ok := x.GetType().(*Scheme_Unregistered); ok { - return x.Unregistered + if x != nil { + if x, ok := x.Type.(*Scheme_Unregistered); ok { + return x.Unregistered + } } return "" } @@ -292,11 +299,10 @@ func (*Scheme_Registered_) isScheme_Type() {} func (*Scheme_Unregistered) isScheme_Type() {} type Headers struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Headers []*Headers_Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` unknownFields protoimpl.UnknownFields - - Headers []*Headers_Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Headers) Reset() { @@ -337,12 +343,11 @@ func (x *Headers) GetHeaders() []*Headers_Header { } type Headers_Header struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Headers_Header) Reset() { @@ -391,60 +396,52 @@ func (x *Headers_Header) GetValue() []byte { var File_http_types_proto protoreflect.FileDescriptor -var file_http_types_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, - 0x80, 0x02, 0x0a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x54, - 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x6e, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x6e, 0x0a, 0x0a, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, - 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x50, - 0x55, 0x54, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, - 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x07, 0x12, - 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x08, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x50, 0x0a, - 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, - 0x24, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x21, 0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x65, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x09, 0x0a, - 0x05, 0x48, 0x54, 0x54, 0x50, 0x53, 0x10, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x84, 0x01, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x07, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x1a, 0x32, 0x0a, 0x06, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x35, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, - 0x2f, 0x67, 0x6f, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_http_types_proto_rawDesc = "" + + "\n" + + "\x10http_types.proto\x12\x1bio.linkerd.proxy.http_types\"\x80\x02\n" + + "\n" + + "HttpMethod\x12T\n" + + "\n" + + "registered\x18\x01 \x01(\x0e22.io.linkerd.proxy.http_types.HttpMethod.RegisteredH\x00R\n" + + "registered\x12$\n" + + "\funregistered\x18\x02 \x01(\tH\x00R\funregistered\"n\n" + + "\n" + + "Registered\x12\a\n" + + "\x03GET\x10\x00\x12\b\n" + + "\x04POST\x10\x01\x12\a\n" + + "\x03PUT\x10\x02\x12\n" + + "\n" + + "\x06DELETE\x10\x03\x12\t\n" + + "\x05PATCH\x10\x04\x12\v\n" + + "\aOPTIONS\x10\x05\x12\v\n" + + "\aCONNECT\x10\x06\x12\b\n" + + "\x04HEAD\x10\a\x12\t\n" + + "\x05TRACE\x10\bB\x06\n" + + "\x04type\"\xab\x01\n" + + "\x06Scheme\x12P\n" + + "\n" + + "registered\x18\x01 \x01(\x0e2..io.linkerd.proxy.http_types.Scheme.RegisteredH\x00R\n" + + "registered\x12$\n" + + "\funregistered\x18\x02 \x01(\tH\x00R\funregistered\"!\n" + + "\n" + + "Registered\x12\b\n" + + "\x04HTTP\x10\x00\x12\t\n" + + "\x05HTTPS\x10\x01B\x06\n" + + "\x04type\"\x84\x01\n" + + "\aHeaders\x12E\n" + + "\aheaders\x18\x01 \x03(\v2+.io.linkerd.proxy.http_types.Headers.HeaderR\aheaders\x1a2\n" + + "\x06Header\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05valueB5Z3github.com/linkerd/linkerd2-proxy-api/go/http_typesb\x06proto3" var ( file_http_types_proto_rawDescOnce sync.Once - file_http_types_proto_rawDescData = file_http_types_proto_rawDesc + file_http_types_proto_rawDescData []byte ) func file_http_types_proto_rawDescGZIP() []byte { file_http_types_proto_rawDescOnce.Do(func() { - file_http_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_http_types_proto_rawDescData) + file_http_types_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_http_types_proto_rawDesc), len(file_http_types_proto_rawDesc))) }) return file_http_types_proto_rawDescData } @@ -487,7 +484,7 @@ func file_http_types_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_http_types_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_http_types_proto_rawDesc), len(file_http_types_proto_rawDesc)), NumEnums: 2, NumMessages: 4, NumExtensions: 0, @@ -499,7 +496,6 @@ func file_http_types_proto_init() { MessageInfos: file_http_types_proto_msgTypes, }.Build() File_http_types_proto = out.File - file_http_types_proto_rawDesc = nil file_http_types_proto_goTypes = nil file_http_types_proto_depIdxs = nil } diff --git a/go/identity/identity.pb.go b/go/identity/identity.pb.go index 37b0b34e8..fc94afa78 100644 --- a/go/identity/identity.pb.go +++ b/go/identity/identity.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: identity.proto package identity @@ -12,6 +12,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,11 +23,8 @@ const ( ) type CertifyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // Proof of the requester's identity. // // In Kubernetes, for instance, this is the contents of a service account @@ -34,6 +32,8 @@ type CertifyRequest struct { Token []byte `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` // A PEM-encoded x509 Certificate Signing Request. CertificateSigningRequest []byte `protobuf:"bytes,3,opt,name=certificate_signing_request,json=certificateSigningRequest,proto3" json:"certificate_signing_request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CertifyRequest) Reset() { @@ -88,16 +88,15 @@ func (x *CertifyRequest) GetCertificateSigningRequest() []byte { } type CertifyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A PEM-encoded x509 Certificate. LeafCertificate []byte `protobuf:"bytes,1,opt,name=leaf_certificate,json=leafCertificate,proto3" json:"leaf_certificate,omitempty"` // A list of PEM-encoded x509 Certificates that establish the trust chain // between the leaf_certificate and the well-known trust anchors. IntermediateCertificates [][]byte `protobuf:"bytes,2,rep,name=intermediate_certificates,json=intermediateCertificates,proto3" json:"intermediate_certificates,omitempty"` ValidUntil *timestamp.Timestamp `protobuf:"bytes,3,opt,name=valid_until,json=validUntil,proto3" json:"valid_until,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CertifyResponse) Reset() { @@ -153,54 +152,29 @@ func (x *CertifyResponse) GetValidUntil() *timestamp.Timestamp { var File_identity_proto protoreflect.FileDescriptor -var file_identity_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x19, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x29, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x19, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, - 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x0f, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x66, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x18, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 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, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, - 0x6e, 0x74, 0x69, 0x6c, 0x32, 0x6e, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x62, 0x0a, 0x07, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, - 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} +const file_identity_proto_rawDesc = "" + + "\n" + + "\x0eidentity.proto\x12\x19io.linkerd.proxy.identity\x1a)google/protobuf/timestamp/timestamp.proto\"\x82\x01\n" + + "\x0eCertifyRequest\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x14\n" + + "\x05token\x18\x02 \x01(\fR\x05token\x12>\n" + + "\x1bcertificate_signing_request\x18\x03 \x01(\fR\x19certificateSigningRequest\"\xb6\x01\n" + + "\x0fCertifyResponse\x12)\n" + + "\x10leaf_certificate\x18\x01 \x01(\fR\x0fleafCertificate\x12;\n" + + "\x19intermediate_certificates\x18\x02 \x03(\fR\x18intermediateCertificates\x12;\n" + + "\vvalid_until\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "validUntil2n\n" + + "\bIdentity\x12b\n" + + "\aCertify\x12).io.linkerd.proxy.identity.CertifyRequest\x1a*.io.linkerd.proxy.identity.CertifyResponse\"\x00B3Z1github.com/linkerd/linkerd2-proxy-api/go/identityb\x06proto3" var ( file_identity_proto_rawDescOnce sync.Once - file_identity_proto_rawDescData = file_identity_proto_rawDesc + file_identity_proto_rawDescData []byte ) func file_identity_proto_rawDescGZIP() []byte { file_identity_proto_rawDescOnce.Do(func() { - file_identity_proto_rawDescData = protoimpl.X.CompressGZIP(file_identity_proto_rawDescData) + file_identity_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_identity_proto_rawDesc), len(file_identity_proto_rawDesc))) }) return file_identity_proto_rawDescData } @@ -231,7 +205,7 @@ func file_identity_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_identity_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_identity_proto_rawDesc), len(file_identity_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -242,7 +216,6 @@ func file_identity_proto_init() { MessageInfos: file_identity_proto_msgTypes, }.Build() File_identity_proto = out.File - file_identity_proto_rawDesc = nil file_identity_proto_goTypes = nil file_identity_proto_depIdxs = nil } diff --git a/go/identity/identity_grpc.pb.go b/go/identity/identity_grpc.pb.go index 7c879175c..49c14f3ae 100644 --- a/go/identity/identity_grpc.pb.go +++ b/go/identity/identity_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.29.0 +// - protoc v6.30.2 // source: identity.proto package identity diff --git a/go/inbound/inbound.pb.go b/go/inbound/inbound.pb.go index 22c8f239b..4ab6c163a 100644 --- a/go/inbound/inbound.pb.go +++ b/go/inbound/inbound.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: inbound.proto package inbound @@ -16,6 +16,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -26,14 +27,13 @@ const ( ) type PortSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Identifies a proxy workload (e.g., pod name). Workload string `protobuf:"bytes,1,opt,name=workload,proto3" json:"workload,omitempty"` // An inbound port on _workload_. - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PortSpec) Reset() { @@ -81,10 +81,7 @@ func (x *PortSpec) GetPort() uint32 { } type Server struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // If set, indicates how the proxy should proxy connections on the specified // port. Protocol *ProxyProtocol `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` @@ -99,7 +96,9 @@ type Server struct { // // A control plane SHOULD return the same keys in all policies. That is, we do // NOT want to return arbitrary pod labels in this field. - Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server) Reset() { @@ -161,11 +160,8 @@ func (x *Server) GetLabels() map[string]string { } type ProxyProtocol struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *ProxyProtocol_Detect_ // *ProxyProtocol_Opaque_ @@ -173,7 +169,9 @@ type ProxyProtocol struct { // *ProxyProtocol_Http1_ // *ProxyProtocol_Http2_ // *ProxyProtocol_Grpc_ - Kind isProxyProtocol_Kind `protobuf_oneof:"kind"` + Kind isProxyProtocol_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol) Reset() { @@ -206,51 +204,63 @@ func (*ProxyProtocol) Descriptor() ([]byte, []int) { return file_inbound_proto_rawDescGZIP(), []int{2} } -func (m *ProxyProtocol) GetKind() isProxyProtocol_Kind { - if m != nil { - return m.Kind +func (x *ProxyProtocol) GetKind() isProxyProtocol_Kind { + if x != nil { + return x.Kind } return nil } func (x *ProxyProtocol) GetDetect() *ProxyProtocol_Detect { - if x, ok := x.GetKind().(*ProxyProtocol_Detect_); ok { - return x.Detect + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Detect_); ok { + return x.Detect + } } return nil } func (x *ProxyProtocol) GetOpaque() *ProxyProtocol_Opaque { - if x, ok := x.GetKind().(*ProxyProtocol_Opaque_); ok { - return x.Opaque + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Opaque_); ok { + return x.Opaque + } } return nil } func (x *ProxyProtocol) GetTls() *ProxyProtocol_Tls { - if x, ok := x.GetKind().(*ProxyProtocol_Tls_); ok { - return x.Tls + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Tls_); ok { + return x.Tls + } } return nil } func (x *ProxyProtocol) GetHttp1() *ProxyProtocol_Http1 { - if x, ok := x.GetKind().(*ProxyProtocol_Http1_); ok { - return x.Http1 + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Http1_); ok { + return x.Http1 + } } return nil } func (x *ProxyProtocol) GetHttp2() *ProxyProtocol_Http2 { - if x, ok := x.GetKind().(*ProxyProtocol_Http2_); ok { - return x.Http2 + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Http2_); ok { + return x.Http2 + } } return nil } func (x *ProxyProtocol) GetGrpc() *ProxyProtocol_Grpc { - if x, ok := x.GetKind().(*ProxyProtocol_Grpc_); ok { - return x.Grpc + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Grpc_); ok { + return x.Grpc + } } return nil } @@ -296,10 +306,7 @@ func (*ProxyProtocol_Http2_) isProxyProtocol_Kind() {} func (*ProxyProtocol_Grpc_) isProxyProtocol_Kind() {} type Authz struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Limits this authorization to client addresses in the provided networks. // // Must have at least one network, otherwise the authorization must be @@ -316,10 +323,12 @@ type Authz struct { // `labels` should be considered deprecated. `metadata` is preferred. However, // controllers should continue to set `labels` for compatibility with older // proxies. - Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // If set, describes an Authorization configuration. Replaces the free-from // `labels` field. - Metadata *meta.Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + Metadata *meta.Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Authz) Reset() { @@ -382,12 +391,11 @@ func (x *Authz) GetMetadata() *meta.Metadata { // Describes a network of authorized clients. type Network struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Net *net.IPNetwork `protobuf:"bytes,1,opt,name=net,proto3" json:"net,omitempty"` + Except []*net.IPNetwork `protobuf:"bytes,2,rep,name=except,proto3" json:"except,omitempty"` unknownFields protoimpl.UnknownFields - - Net *net.IPNetwork `protobuf:"bytes,1,opt,name=net,proto3" json:"net,omitempty"` - Except []*net.IPNetwork `protobuf:"bytes,2,rep,name=except,proto3" json:"except,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Network) Reset() { @@ -435,15 +443,14 @@ func (x *Network) GetExcept() []*net.IPNetwork { } type Authn struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Permit: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Permit: // // *Authn_Unauthenticated // *Authn_MeshTLS - Permit isAuthn_Permit `protobuf_oneof:"permit"` + Permit isAuthn_Permit `protobuf_oneof:"permit"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Authn) Reset() { @@ -476,23 +483,27 @@ func (*Authn) Descriptor() ([]byte, []int) { return file_inbound_proto_rawDescGZIP(), []int{5} } -func (m *Authn) GetPermit() isAuthn_Permit { - if m != nil { - return m.Permit +func (x *Authn) GetPermit() isAuthn_Permit { + if x != nil { + return x.Permit } return nil } func (x *Authn) GetUnauthenticated() *Authn_PermitUnauthenticated { - if x, ok := x.GetPermit().(*Authn_Unauthenticated); ok { - return x.Unauthenticated + if x != nil { + if x, ok := x.Permit.(*Authn_Unauthenticated); ok { + return x.Unauthenticated + } } return nil } func (x *Authn) GetMeshTLS() *Authn_PermitMeshTLS { - if x, ok := x.GetPermit().(*Authn_MeshTLS); ok { - return x.MeshTLS + if x != nil { + if x, ok := x.Permit.(*Authn_MeshTLS); ok { + return x.MeshTLS + } } return nil } @@ -515,11 +526,10 @@ func (*Authn_Unauthenticated) isAuthn_Permit() {} func (*Authn_MeshTLS) isAuthn_Permit() {} type Identity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Identity) Reset() { @@ -564,11 +574,10 @@ func (x *Identity) GetName() string { // An empty list is equivalent to `.` (matching all names); the list `["foo", // "bar"]` is equivalent to "foo.bar." (matching `*.foo.bar`), etc. type IdentitySuffix struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Parts []string `protobuf:"bytes,1,rep,name=parts,proto3" json:"parts,omitempty"` unknownFields protoimpl.UnknownFields - - Parts []string `protobuf:"bytes,1,rep,name=parts,proto3" json:"parts,omitempty"` + sizeCache protoimpl.SizeCache } func (x *IdentitySuffix) Reset() { @@ -611,18 +620,17 @@ func (x *IdentitySuffix) GetParts() []string { // Inbound-specific HTTP route configuration (based on the // [Gateway API](https://gateway-api.sigs.k8s.io/v1alpha2/references/spec/#gateway.networking.k8s.io/v1alpha2.HTTPRoute)). type HttpRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // If empty, the host value is ignored. Hosts []*http_route.HostMatch `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // Extends the list of authorizations on the `Server` with authorizations // specific to this route. Authorizations []*Authz `protobuf:"bytes,3,rep,name=authorizations,proto3" json:"authorizations,omitempty"` // Must have at least one rule. - Rules []*HttpRoute_Rule `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"` + Rules []*HttpRoute_Rule `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute) Reset() { @@ -685,18 +693,17 @@ func (x *HttpRoute) GetRules() []*HttpRoute_Rule { // Inbound-specific gRPC route configuration. type GrpcRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // If empty, the host value is ignored. Hosts []*http_route.HostMatch `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // The server MUST return at least one authorization, otherwise all requests // to this route will fail with an unauthorized response. Authorizations []*Authz `protobuf:"bytes,3,rep,name=authorizations,proto3" json:"authorizations,omitempty"` // Must have at least one rule. - Rules []*GrpcRoute_Rule `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"` + Rules []*GrpcRoute_Rule `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute) Reset() { @@ -758,10 +765,7 @@ func (x *GrpcRoute) GetRules() []*GrpcRoute_Rule { } type HttpLocalRateLimit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Describes the associated HTTPLocalRateLimitPolicy resource Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // Overall rate-limit, which all traffic coming to this server should abide @@ -771,7 +775,9 @@ type HttpLocalRateLimit struct { // identity, will have this rate-limit. Identity *HttpLocalRateLimit_Limit `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` // Limit overrides for traffic from a specific client. - Overrides []*HttpLocalRateLimit_Override `protobuf:"bytes,4,rep,name=overrides,proto3" json:"overrides,omitempty"` + Overrides []*HttpLocalRateLimit_Override `protobuf:"bytes,4,rep,name=overrides,proto3" json:"overrides,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpLocalRateLimit) Reset() { @@ -833,16 +839,15 @@ func (x *HttpLocalRateLimit) GetOverrides() []*HttpLocalRateLimit_Override { } type ProxyProtocol_Detect struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Timeout *duration.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Timeout *duration.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` // If the protocol detected as HTTP, a list of HTTP routes that should be // matched. HttpRoutes []*HttpRoute `protobuf:"bytes,3,rep,name=http_routes,json=httpRoutes,proto3" json:"http_routes,omitempty"` // If the protocol detected as HTTP, applicable rate limit. HttpLocalRateLimit *HttpLocalRateLimit `protobuf:"bytes,4,opt,name=http_local_rate_limit,json=httpLocalRateLimit,proto3" json:"http_local_rate_limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Detect) Reset() { @@ -897,12 +902,11 @@ func (x *ProxyProtocol_Detect) GetHttpLocalRateLimit() *HttpLocalRateLimit { } type ProxyProtocol_Http1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Routes []*HttpRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` - LocalRateLimit *HttpLocalRateLimit `protobuf:"bytes,3,opt,name=local_rate_limit,json=localRateLimit,proto3" json:"local_rate_limit,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*HttpRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` + LocalRateLimit *HttpLocalRateLimit `protobuf:"bytes,3,opt,name=local_rate_limit,json=localRateLimit,proto3" json:"local_rate_limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Http1) Reset() { @@ -950,12 +954,11 @@ func (x *ProxyProtocol_Http1) GetLocalRateLimit() *HttpLocalRateLimit { } type ProxyProtocol_Http2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Routes []*HttpRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` - LocalRateLimit *HttpLocalRateLimit `protobuf:"bytes,3,opt,name=local_rate_limit,json=localRateLimit,proto3" json:"local_rate_limit,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*HttpRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` + LocalRateLimit *HttpLocalRateLimit `protobuf:"bytes,3,opt,name=local_rate_limit,json=localRateLimit,proto3" json:"local_rate_limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Http2) Reset() { @@ -1003,11 +1006,10 @@ func (x *ProxyProtocol_Http2) GetLocalRateLimit() *HttpLocalRateLimit { } type ProxyProtocol_Grpc struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*GrpcRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` unknownFields protoimpl.UnknownFields - - Routes []*GrpcRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Grpc) Reset() { @@ -1048,9 +1050,9 @@ func (x *ProxyProtocol_Grpc) GetRoutes() []*GrpcRoute { } type ProxyProtocol_Opaque struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Opaque) Reset() { @@ -1084,9 +1086,9 @@ func (*ProxyProtocol_Opaque) Descriptor() ([]byte, []int) { } type ProxyProtocol_Tls struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Tls) Reset() { @@ -1120,9 +1122,9 @@ func (*ProxyProtocol_Tls) Descriptor() ([]byte, []int) { } type Authn_PermitUnauthenticated struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Authn_PermitUnauthenticated) Reset() { @@ -1156,15 +1158,14 @@ func (*Authn_PermitUnauthenticated) Descriptor() ([]byte, []int) { } type Authn_PermitMeshTLS struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Clients: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Clients: // // *Authn_PermitMeshTLS_Unauthenticated // *Authn_PermitMeshTLS_Identities - Clients isAuthn_PermitMeshTLS_Clients `protobuf_oneof:"clients"` + Clients isAuthn_PermitMeshTLS_Clients `protobuf_oneof:"clients"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Authn_PermitMeshTLS) Reset() { @@ -1197,23 +1198,27 @@ func (*Authn_PermitMeshTLS) Descriptor() ([]byte, []int) { return file_inbound_proto_rawDescGZIP(), []int{5, 1} } -func (m *Authn_PermitMeshTLS) GetClients() isAuthn_PermitMeshTLS_Clients { - if m != nil { - return m.Clients +func (x *Authn_PermitMeshTLS) GetClients() isAuthn_PermitMeshTLS_Clients { + if x != nil { + return x.Clients } return nil } func (x *Authn_PermitMeshTLS) GetUnauthenticated() *Authn_PermitUnauthenticated { - if x, ok := x.GetClients().(*Authn_PermitMeshTLS_Unauthenticated); ok { - return x.Unauthenticated + if x != nil { + if x, ok := x.Clients.(*Authn_PermitMeshTLS_Unauthenticated); ok { + return x.Unauthenticated + } } return nil } func (x *Authn_PermitMeshTLS) GetIdentities() *Authn_PermitMeshTLS_PermitClientIdentities { - if x, ok := x.GetClients().(*Authn_PermitMeshTLS_Identities); ok { - return x.Identities + if x != nil { + if x, ok := x.Clients.(*Authn_PermitMeshTLS_Identities); ok { + return x.Identities + } } return nil } @@ -1238,16 +1243,15 @@ func (*Authn_PermitMeshTLS_Unauthenticated) isAuthn_PermitMeshTLS_Clients() {} func (*Authn_PermitMeshTLS_Identities) isAuthn_PermitMeshTLS_Clients() {} type Authn_PermitMeshTLS_PermitClientIdentities struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A list of literal identities. Identities []*Identity `protobuf:"bytes,1,rep,name=identities,proto3" json:"identities,omitempty"` // A list of identity suffixes. // // If this contains an empty suffix, all identities are matched. - Suffixes []*IdentitySuffix `protobuf:"bytes,2,rep,name=suffixes,proto3" json:"suffixes,omitempty"` + Suffixes []*IdentitySuffix `protobuf:"bytes,2,rep,name=suffixes,proto3" json:"suffixes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Authn_PermitMeshTLS_PermitClientIdentities) Reset() { @@ -1295,12 +1299,11 @@ func (x *Authn_PermitMeshTLS_PermitClientIdentities) GetSuffixes() []*IdentitySu } type HttpRoute_Rule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Matches []*http_route.HttpRouteMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + Filters []*HttpRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Matches []*http_route.HttpRouteMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` - Filters []*HttpRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Rule) Reset() { @@ -1348,16 +1351,15 @@ func (x *HttpRoute_Rule) GetFilters() []*HttpRoute_Filter { } type HttpRoute_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *HttpRoute_Filter_FailureInjector // *HttpRoute_Filter_RequestHeaderModifier // *HttpRoute_Filter_Redirect - Kind isHttpRoute_Filter_Kind `protobuf_oneof:"kind"` + Kind isHttpRoute_Filter_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Filter) Reset() { @@ -1390,30 +1392,36 @@ func (*HttpRoute_Filter) Descriptor() ([]byte, []int) { return file_inbound_proto_rawDescGZIP(), []int{8, 1} } -func (m *HttpRoute_Filter) GetKind() isHttpRoute_Filter_Kind { - if m != nil { - return m.Kind +func (x *HttpRoute_Filter) GetKind() isHttpRoute_Filter_Kind { + if x != nil { + return x.Kind } return nil } func (x *HttpRoute_Filter) GetFailureInjector() *http_route.HttpFailureInjector { - if x, ok := x.GetKind().(*HttpRoute_Filter_FailureInjector); ok { - return x.FailureInjector + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Filter_FailureInjector); ok { + return x.FailureInjector + } } return nil } func (x *HttpRoute_Filter) GetRequestHeaderModifier() *http_route.RequestHeaderModifier { - if x, ok := x.GetKind().(*HttpRoute_Filter_RequestHeaderModifier); ok { - return x.RequestHeaderModifier + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Filter_RequestHeaderModifier); ok { + return x.RequestHeaderModifier + } } return nil } func (x *HttpRoute_Filter) GetRedirect() *http_route.RequestRedirect { - if x, ok := x.GetKind().(*HttpRoute_Filter_Redirect); ok { - return x.Redirect + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Filter_Redirect); ok { + return x.Redirect + } } return nil } @@ -1441,12 +1449,11 @@ func (*HttpRoute_Filter_RequestHeaderModifier) isHttpRoute_Filter_Kind() {} func (*HttpRoute_Filter_Redirect) isHttpRoute_Filter_Kind() {} type GrpcRoute_Rule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Matches []*grpc_route.GrpcRouteMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + Filters []*GrpcRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Matches []*grpc_route.GrpcRouteMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` - Filters []*GrpcRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Rule) Reset() { @@ -1494,15 +1501,14 @@ func (x *GrpcRoute_Rule) GetFilters() []*GrpcRoute_Filter { } type GrpcRoute_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *GrpcRoute_Filter_FailureInjector // *GrpcRoute_Filter_RequestHeaderModifier - Kind isGrpcRoute_Filter_Kind `protobuf_oneof:"kind"` + Kind isGrpcRoute_Filter_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Filter) Reset() { @@ -1535,23 +1541,27 @@ func (*GrpcRoute_Filter) Descriptor() ([]byte, []int) { return file_inbound_proto_rawDescGZIP(), []int{9, 1} } -func (m *GrpcRoute_Filter) GetKind() isGrpcRoute_Filter_Kind { - if m != nil { - return m.Kind +func (x *GrpcRoute_Filter) GetKind() isGrpcRoute_Filter_Kind { + if x != nil { + return x.Kind } return nil } func (x *GrpcRoute_Filter) GetFailureInjector() *grpc_route.GrpcFailureInjector { - if x, ok := x.GetKind().(*GrpcRoute_Filter_FailureInjector); ok { - return x.FailureInjector + if x != nil { + if x, ok := x.Kind.(*GrpcRoute_Filter_FailureInjector); ok { + return x.FailureInjector + } } return nil } func (x *GrpcRoute_Filter) GetRequestHeaderModifier() *http_route.RequestHeaderModifier { - if x, ok := x.GetKind().(*GrpcRoute_Filter_RequestHeaderModifier); ok { - return x.RequestHeaderModifier + if x != nil { + if x, ok := x.Kind.(*GrpcRoute_Filter_RequestHeaderModifier); ok { + return x.RequestHeaderModifier + } } return nil } @@ -1573,12 +1583,11 @@ func (*GrpcRoute_Filter_FailureInjector) isGrpcRoute_Filter_Kind() {} func (*GrpcRoute_Filter_RequestHeaderModifier) isGrpcRoute_Filter_Kind() {} type HttpLocalRateLimit_Override struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Limit *HttpLocalRateLimit_Limit `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"` + Clients *HttpLocalRateLimit_Override_ClientIdentities `protobuf:"bytes,2,opt,name=clients,proto3" json:"clients,omitempty"` unknownFields protoimpl.UnknownFields - - Limit *HttpLocalRateLimit_Limit `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"` - Clients *HttpLocalRateLimit_Override_ClientIdentities `protobuf:"bytes,2,opt,name=clients,proto3" json:"clients,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HttpLocalRateLimit_Override) Reset() { @@ -1626,11 +1635,10 @@ func (x *HttpLocalRateLimit_Override) GetClients() *HttpLocalRateLimit_Override_ } type HttpLocalRateLimit_Limit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RequestsPerSecond uint32 `protobuf:"varint,1,opt,name=requestsPerSecond,proto3" json:"requestsPerSecond,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + RequestsPerSecond uint32 `protobuf:"varint,1,opt,name=requestsPerSecond,proto3" json:"requestsPerSecond,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpLocalRateLimit_Limit) Reset() { @@ -1671,12 +1679,11 @@ func (x *HttpLocalRateLimit_Limit) GetRequestsPerSecond() uint32 { } type HttpLocalRateLimit_Override_ClientIdentities struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A list of literal identities. - Identities []*Identity `protobuf:"bytes,1,rep,name=identities,proto3" json:"identities,omitempty"` + Identities []*Identity `protobuf:"bytes,1,rep,name=identities,proto3" json:"identities,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpLocalRateLimit_Override_ClientIdentities) Reset() { @@ -1718,334 +1725,127 @@ func (x *HttpLocalRateLimit_Override_ClientIdentities) GetIdentities() []*Identi var File_inbound_proto protoreflect.FileDescriptor -var file_inbound_proto_rawDesc = []byte{ - 0x0a, 0x0d, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x18, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 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, 0x10, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x09, 0x6e, 0x65, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x22, 0xd7, 0x02, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x73, - 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x22, 0xd1, 0x08, 0x0a, 0x0d, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x48, 0x0a, 0x06, - 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, - 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, - 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x12, 0x3f, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6c, - 0x73, 0x12, 0x45, 0x0a, 0x05, 0x68, 0x74, 0x74, 0x70, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x48, - 0x00, 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x31, 0x12, 0x45, 0x0a, 0x05, 0x68, 0x74, 0x74, 0x70, - 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x48, 0x00, 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x32, 0x12, - 0x42, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x04, 0x67, - 0x72, 0x70, 0x63, 0x1a, 0xea, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x12, 0x33, - 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x07, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x68, - 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, - 0x1a, 0xa2, 0x01, 0x0a, 0x05, 0x48, 0x74, 0x74, 0x70, 0x31, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, - 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, - 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, - 0x04, 0x08, 0x01, 0x10, 0x02, 0x1a, 0xa2, 0x01, 0x0a, 0x05, 0x48, 0x74, 0x74, 0x70, 0x32, 0x12, - 0x3b, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x10, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x1a, 0x49, 0x0a, 0x04, 0x47, 0x72, - 0x70, 0x63, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, - 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x4a, - 0x04, 0x08, 0x01, 0x10, 0x02, 0x1a, 0x08, 0x0a, 0x06, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x1a, - 0x05, 0x0a, 0x03, 0x54, 0x6c, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xcc, - 0x02, 0x0a, 0x05, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x3d, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, - 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6e, - 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x7a, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x22, 0x75, 0x0a, - 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x31, 0x0a, 0x03, 0x6e, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x03, 0x6e, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, - 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x06, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x22, 0xe5, 0x04, 0x0a, 0x05, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x12, 0x61, - 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x55, - 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, - 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x49, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x54, 0x4c, 0x53, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x41, 0x75, - 0x74, 0x68, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x54, 0x4c, - 0x53, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x54, 0x4c, 0x53, 0x1a, 0x17, 0x0a, 0x15, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x8a, 0x03, 0x0a, 0x0d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, - 0x4d, 0x65, 0x73, 0x68, 0x54, 0x4c, 0x53, 0x12, 0x61, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, - 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, - 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, - 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x66, 0x0a, 0x0a, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x2e, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x54, 0x4c, 0x53, 0x2e, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x1a, 0xa2, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, - 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x52, 0x08, 0x73, - 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x22, 0x1e, 0x0a, 0x08, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x0e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x14, - 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, - 0x61, 0x72, 0x74, 0x73, 0x22, 0xd1, 0x05, 0x0a, 0x09, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x3c, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x6f, 0x73, - 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x47, 0x0a, - 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x93, 0x01, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, - 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, - 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xa9, 0x02, 0x0a, - 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x6c, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x15, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x85, 0x05, 0x0a, 0x09, 0x47, 0x72, 0x70, - 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, - 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x05, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x93, 0x01, 0x0a, 0x04, 0x52, - 0x75, 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, - 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x1a, 0xdd, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x10, 0x66, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x6c, 0x0a, 0x17, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, - 0x00, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x22, 0x88, 0x05, 0x0a, 0x12, 0x48, 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, - 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, - 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x4e, - 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x53, - 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, - 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x73, 0x1a, 0x8e, 0x02, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x12, 0x48, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x60, 0x0a, 0x07, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, - 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x56, 0x0a, 0x10, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x1a, 0x35, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, - 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x32, 0xc1, 0x01, 0x0a, 0x15, - 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x12, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x6f, 0x72, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x1a, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x69, 0x6e, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x00, 0x30, 0x01, 0x42, - 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_inbound_proto_rawDesc = "" + + "\n" + + "\rinbound.proto\x12\x18io.linkerd.proxy.inbound\x1a\x1egoogle/protobuf/duration.proto\x1a\x10grpc_route.proto\x1a\x10http_route.proto\x1a\n" + + "meta.proto\x1a\tnet.proto\":\n" + + "\bPortSpec\x12\x1a\n" + + "\bworkload\x18\x01 \x01(\tR\bworkload\x12\x12\n" + + "\x04port\x18\x02 \x01(\rR\x04port\"\xd7\x02\n" + + "\x06Server\x12C\n" + + "\bprotocol\x18\x01 \x01(\v2'.io.linkerd.proxy.inbound.ProxyProtocolR\bprotocol\x12>\n" + + "\n" + + "server_ips\x18\x02 \x03(\v2\x1f.io.linkerd.proxy.net.IPAddressR\tserverIps\x12G\n" + + "\x0eauthorizations\x18\x03 \x03(\v2\x1f.io.linkerd.proxy.inbound.AuthzR\x0eauthorizations\x12D\n" + + "\x06labels\x18\x04 \x03(\v2,.io.linkerd.proxy.inbound.Server.LabelsEntryR\x06labels\x1a9\n" + + "\vLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xd1\b\n" + + "\rProxyProtocol\x12H\n" + + "\x06detect\x18\x01 \x01(\v2..io.linkerd.proxy.inbound.ProxyProtocol.DetectH\x00R\x06detect\x12H\n" + + "\x06opaque\x18\x02 \x01(\v2..io.linkerd.proxy.inbound.ProxyProtocol.OpaqueH\x00R\x06opaque\x12?\n" + + "\x03tls\x18\x03 \x01(\v2+.io.linkerd.proxy.inbound.ProxyProtocol.TlsH\x00R\x03tls\x12E\n" + + "\x05http1\x18\x04 \x01(\v2-.io.linkerd.proxy.inbound.ProxyProtocol.Http1H\x00R\x05http1\x12E\n" + + "\x05http2\x18\x05 \x01(\v2-.io.linkerd.proxy.inbound.ProxyProtocol.Http2H\x00R\x05http2\x12B\n" + + "\x04grpc\x18\x06 \x01(\v2,.io.linkerd.proxy.inbound.ProxyProtocol.GrpcH\x00R\x04grpc\x1a\xea\x01\n" + + "\x06Detect\x123\n" + + "\atimeout\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x12D\n" + + "\vhttp_routes\x18\x03 \x03(\v2#.io.linkerd.proxy.inbound.HttpRouteR\n" + + "httpRoutes\x12_\n" + + "\x15http_local_rate_limit\x18\x04 \x01(\v2,.io.linkerd.proxy.inbound.HttpLocalRateLimitR\x12httpLocalRateLimitJ\x04\b\x02\x10\x03\x1a\xa2\x01\n" + + "\x05Http1\x12;\n" + + "\x06routes\x18\x02 \x03(\v2#.io.linkerd.proxy.inbound.HttpRouteR\x06routes\x12V\n" + + "\x10local_rate_limit\x18\x03 \x01(\v2,.io.linkerd.proxy.inbound.HttpLocalRateLimitR\x0elocalRateLimitJ\x04\b\x01\x10\x02\x1a\xa2\x01\n" + + "\x05Http2\x12;\n" + + "\x06routes\x18\x02 \x03(\v2#.io.linkerd.proxy.inbound.HttpRouteR\x06routes\x12V\n" + + "\x10local_rate_limit\x18\x03 \x01(\v2,.io.linkerd.proxy.inbound.HttpLocalRateLimitR\x0elocalRateLimitJ\x04\b\x01\x10\x02\x1aI\n" + + "\x04Grpc\x12;\n" + + "\x06routes\x18\x02 \x03(\v2#.io.linkerd.proxy.inbound.GrpcRouteR\x06routesJ\x04\b\x01\x10\x02\x1a\b\n" + + "\x06Opaque\x1a\x05\n" + + "\x03TlsB\x06\n" + + "\x04kind\"\xcc\x02\n" + + "\x05Authz\x12=\n" + + "\bnetworks\x18\x01 \x03(\v2!.io.linkerd.proxy.inbound.NetworkR\bnetworks\x12G\n" + + "\x0eauthentication\x18\x02 \x01(\v2\x1f.io.linkerd.proxy.inbound.AuthnR\x0eauthentication\x12C\n" + + "\x06labels\x18\x03 \x03(\v2+.io.linkerd.proxy.inbound.Authz.LabelsEntryR\x06labels\x12;\n" + + "\bmetadata\x18\x04 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x1a9\n" + + "\vLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"u\n" + + "\aNetwork\x121\n" + + "\x03net\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.net.IPNetworkR\x03net\x127\n" + + "\x06except\x18\x02 \x03(\v2\x1f.io.linkerd.proxy.net.IPNetworkR\x06except\"\xe5\x04\n" + + "\x05Authn\x12a\n" + + "\x0funauthenticated\x18\x01 \x01(\v25.io.linkerd.proxy.inbound.Authn.PermitUnauthenticatedH\x00R\x0funauthenticated\x12I\n" + + "\ameshTLS\x18\x02 \x01(\v2-.io.linkerd.proxy.inbound.Authn.PermitMeshTLSH\x00R\ameshTLS\x1a\x17\n" + + "\x15PermitUnauthenticated\x1a\x8a\x03\n" + + "\rPermitMeshTLS\x12a\n" + + "\x0funauthenticated\x18\x01 \x01(\v25.io.linkerd.proxy.inbound.Authn.PermitUnauthenticatedH\x00R\x0funauthenticated\x12f\n" + + "\n" + + "identities\x18\x02 \x01(\v2D.io.linkerd.proxy.inbound.Authn.PermitMeshTLS.PermitClientIdentitiesH\x00R\n" + + "identities\x1a\xa2\x01\n" + + "\x16PermitClientIdentities\x12B\n" + + "\n" + + "identities\x18\x01 \x03(\v2\".io.linkerd.proxy.inbound.IdentityR\n" + + "identities\x12D\n" + + "\bsuffixes\x18\x02 \x03(\v2(.io.linkerd.proxy.inbound.IdentitySuffixR\bsuffixesB\t\n" + + "\aclientsB\b\n" + + "\x06permit\"\x1e\n" + + "\bIdentity\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"&\n" + + "\x0eIdentitySuffix\x12\x14\n" + + "\x05parts\x18\x01 \x03(\tR\x05parts\"\xd1\x05\n" + + "\tHttpRoute\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x12<\n" + + "\x05hosts\x18\x02 \x03(\v2&.io.linkerd.proxy.http_route.HostMatchR\x05hosts\x12G\n" + + "\x0eauthorizations\x18\x03 \x03(\v2\x1f.io.linkerd.proxy.inbound.AuthzR\x0eauthorizations\x12>\n" + + "\x05rules\x18\x04 \x03(\v2(.io.linkerd.proxy.inbound.HttpRoute.RuleR\x05rules\x1a\x93\x01\n" + + "\x04Rule\x12E\n" + + "\amatches\x18\x01 \x03(\v2+.io.linkerd.proxy.http_route.HttpRouteMatchR\amatches\x12D\n" + + "\afilters\x18\x02 \x03(\v2*.io.linkerd.proxy.inbound.HttpRoute.FilterR\afilters\x1a\xa9\x02\n" + + "\x06Filter\x12]\n" + + "\x10failure_injector\x18\x01 \x01(\v20.io.linkerd.proxy.http_route.HttpFailureInjectorH\x00R\x0ffailureInjector\x12l\n" + + "\x17request_header_modifier\x18\x02 \x01(\v22.io.linkerd.proxy.http_route.RequestHeaderModifierH\x00R\x15requestHeaderModifier\x12J\n" + + "\bredirect\x18\x03 \x01(\v2,.io.linkerd.proxy.http_route.RequestRedirectH\x00R\bredirectB\x06\n" + + "\x04kind\"\x85\x05\n" + + "\tGrpcRoute\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x12<\n" + + "\x05hosts\x18\x02 \x03(\v2&.io.linkerd.proxy.http_route.HostMatchR\x05hosts\x12G\n" + + "\x0eauthorizations\x18\x03 \x03(\v2\x1f.io.linkerd.proxy.inbound.AuthzR\x0eauthorizations\x12>\n" + + "\x05rules\x18\x04 \x03(\v2(.io.linkerd.proxy.inbound.GrpcRoute.RuleR\x05rules\x1a\x93\x01\n" + + "\x04Rule\x12E\n" + + "\amatches\x18\x01 \x03(\v2+.io.linkerd.proxy.grpc_route.GrpcRouteMatchR\amatches\x12D\n" + + "\afilters\x18\x02 \x03(\v2*.io.linkerd.proxy.inbound.GrpcRoute.FilterR\afilters\x1a\xdd\x01\n" + + "\x06Filter\x12]\n" + + "\x10failure_injector\x18\x01 \x01(\v20.io.linkerd.proxy.grpc_route.GrpcFailureInjectorH\x00R\x0ffailureInjector\x12l\n" + + "\x17request_header_modifier\x18\x02 \x01(\v22.io.linkerd.proxy.http_route.RequestHeaderModifierH\x00R\x15requestHeaderModifierB\x06\n" + + "\x04kind\"\x88\x05\n" + + "\x12HttpLocalRateLimit\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x12H\n" + + "\x05total\x18\x02 \x01(\v22.io.linkerd.proxy.inbound.HttpLocalRateLimit.LimitR\x05total\x12N\n" + + "\bidentity\x18\x03 \x01(\v22.io.linkerd.proxy.inbound.HttpLocalRateLimit.LimitR\bidentity\x12S\n" + + "\toverrides\x18\x04 \x03(\v25.io.linkerd.proxy.inbound.HttpLocalRateLimit.OverrideR\toverrides\x1a\x8e\x02\n" + + "\bOverride\x12H\n" + + "\x05limit\x18\x01 \x01(\v22.io.linkerd.proxy.inbound.HttpLocalRateLimit.LimitR\x05limit\x12`\n" + + "\aclients\x18\x02 \x01(\v2F.io.linkerd.proxy.inbound.HttpLocalRateLimit.Override.ClientIdentitiesR\aclients\x1aV\n" + + "\x10ClientIdentities\x12B\n" + + "\n" + + "identities\x18\x01 \x03(\v2\".io.linkerd.proxy.inbound.IdentityR\n" + + "identities\x1a5\n" + + "\x05Limit\x12,\n" + + "\x11requestsPerSecond\x18\x01 \x01(\rR\x11requestsPerSecond2\xc1\x01\n" + + "\x15InboundServerPolicies\x12Q\n" + + "\aGetPort\x12\".io.linkerd.proxy.inbound.PortSpec\x1a .io.linkerd.proxy.inbound.Server\"\x00\x12U\n" + + "\tWatchPort\x12\".io.linkerd.proxy.inbound.PortSpec\x1a .io.linkerd.proxy.inbound.Server\"\x000\x01B2Z0github.com/linkerd/linkerd2-proxy-api/go/inboundb\x06proto3" var ( file_inbound_proto_rawDescOnce sync.Once - file_inbound_proto_rawDescData = file_inbound_proto_rawDesc + file_inbound_proto_rawDescData []byte ) func file_inbound_proto_rawDescGZIP() []byte { file_inbound_proto_rawDescOnce.Do(func() { - file_inbound_proto_rawDescData = protoimpl.X.CompressGZIP(file_inbound_proto_rawDescData) + file_inbound_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_inbound_proto_rawDesc), len(file_inbound_proto_rawDesc))) }) return file_inbound_proto_rawDescData } @@ -2193,7 +1993,7 @@ func file_inbound_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_inbound_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_inbound_proto_rawDesc), len(file_inbound_proto_rawDesc)), NumEnums: 0, NumMessages: 29, NumExtensions: 0, @@ -2204,7 +2004,6 @@ func file_inbound_proto_init() { MessageInfos: file_inbound_proto_msgTypes, }.Build() File_inbound_proto = out.File - file_inbound_proto_rawDesc = nil file_inbound_proto_goTypes = nil file_inbound_proto_depIdxs = nil } diff --git a/go/inbound/inbound_grpc.pb.go b/go/inbound/inbound_grpc.pb.go index 1e9e140a6..be32613ac 100644 --- a/go/inbound/inbound_grpc.pb.go +++ b/go/inbound/inbound_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.29.0 +// - protoc v6.30.2 // source: inbound.proto package inbound diff --git a/go/meta/meta.pb.go b/go/meta/meta.pb.go index cce706505..807c12397 100644 --- a/go/meta/meta.pb.go +++ b/go/meta/meta.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: meta.proto package meta @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -23,15 +24,14 @@ const ( // General metadata about a configuration object. Typically references either an // implicit default configuration or a Kubernetes resource. type Metadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *Metadata_Default // *Metadata_Resource - Kind isMetadata_Kind `protobuf_oneof:"kind"` + Kind isMetadata_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Metadata) Reset() { @@ -64,23 +64,27 @@ func (*Metadata) Descriptor() ([]byte, []int) { return file_meta_proto_rawDescGZIP(), []int{0} } -func (m *Metadata) GetKind() isMetadata_Kind { - if m != nil { - return m.Kind +func (x *Metadata) GetKind() isMetadata_Kind { + if x != nil { + return x.Kind } return nil } func (x *Metadata) GetDefault() string { - if x, ok := x.GetKind().(*Metadata_Default); ok { - return x.Default + if x != nil { + if x, ok := x.Kind.(*Metadata_Default); ok { + return x.Default + } } return "" } func (x *Metadata) GetResource() *Resource { - if x, ok := x.GetKind().(*Metadata_Resource); ok { - return x.Resource + if x != nil { + if x, ok := x.Kind.(*Metadata_Resource); ok { + return x.Resource + } } return nil } @@ -108,16 +112,15 @@ func (*Metadata_Resource) isMetadata_Kind() {} // References a (e.g., Kubernetes) resource. type Resource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + Section string `protobuf:"bytes,5,opt,name=section,proto3" json:"section,omitempty"` + Port uint32 `protobuf:"varint,6,opt,name=port,proto3" json:"port,omitempty"` unknownFields protoimpl.UnknownFields - - Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` - Section string `protobuf:"bytes,5,opt,name=section,proto3" json:"section,omitempty"` - Port uint32 `protobuf:"varint,6,opt,name=port,proto3" json:"port,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Resource) Reset() { @@ -194,40 +197,30 @@ func (x *Resource) GetPort() uint32 { var File_meta_proto protoreflect.FileDescriptor -var file_meta_proto_rawDesc = []byte{ - 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, - 0x65, 0x74, 0x61, 0x22, 0x6d, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, - 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} +const file_meta_proto_rawDesc = "" + + "\n" + + "\n" + + "meta.proto\x12\x15io.linkerd.proxy.meta\"m\n" + + "\bMetadata\x12\x1a\n" + + "\adefault\x18\x01 \x01(\tH\x00R\adefault\x12=\n" + + "\bresource\x18\x02 \x01(\v2\x1f.io.linkerd.proxy.meta.ResourceH\x00R\bresourceB\x06\n" + + "\x04kind\"\x94\x01\n" + + "\bResource\x12\x14\n" + + "\x05group\x18\x01 \x01(\tR\x05group\x12\x12\n" + + "\x04kind\x18\x02 \x01(\tR\x04kind\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x1c\n" + + "\tnamespace\x18\x04 \x01(\tR\tnamespace\x12\x18\n" + + "\asection\x18\x05 \x01(\tR\asection\x12\x12\n" + + "\x04port\x18\x06 \x01(\rR\x04portB/Z-github.com/linkerd/linkerd2-proxy-api/go/metab\x06proto3" var ( file_meta_proto_rawDescOnce sync.Once - file_meta_proto_rawDescData = file_meta_proto_rawDesc + file_meta_proto_rawDescData []byte ) func file_meta_proto_rawDescGZIP() []byte { file_meta_proto_rawDescOnce.Do(func() { - file_meta_proto_rawDescData = protoimpl.X.CompressGZIP(file_meta_proto_rawDescData) + file_meta_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meta_proto_rawDesc), len(file_meta_proto_rawDesc))) }) return file_meta_proto_rawDescData } @@ -259,7 +252,7 @@ func file_meta_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meta_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meta_proto_rawDesc), len(file_meta_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -270,7 +263,6 @@ func file_meta_proto_init() { MessageInfos: file_meta_proto_msgTypes, }.Build() File_meta_proto = out.File - file_meta_proto_rawDesc = nil file_meta_proto_goTypes = nil file_meta_proto_depIdxs = nil } diff --git a/go/net/net.pb.go b/go/net/net.pb.go index 45e08b668..de89111ed 100644 --- a/go/net/net.pb.go +++ b/go/net/net.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: net.proto package net @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -21,15 +22,14 @@ const ( ) type IPAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Ip: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Ip: // // *IPAddress_Ipv4 // *IPAddress_Ipv6 - Ip isIPAddress_Ip `protobuf_oneof:"ip"` + Ip isIPAddress_Ip `protobuf_oneof:"ip"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *IPAddress) Reset() { @@ -62,23 +62,27 @@ func (*IPAddress) Descriptor() ([]byte, []int) { return file_net_proto_rawDescGZIP(), []int{0} } -func (m *IPAddress) GetIp() isIPAddress_Ip { - if m != nil { - return m.Ip +func (x *IPAddress) GetIp() isIPAddress_Ip { + if x != nil { + return x.Ip } return nil } func (x *IPAddress) GetIpv4() uint32 { - if x, ok := x.GetIp().(*IPAddress_Ipv4); ok { - return x.Ipv4 + if x != nil { + if x, ok := x.Ip.(*IPAddress_Ipv4); ok { + return x.Ipv4 + } } return 0 } func (x *IPAddress) GetIpv6() *IPv6 { - if x, ok := x.GetIp().(*IPAddress_Ipv6); ok { - return x.Ipv6 + if x != nil { + if x, ok := x.Ip.(*IPAddress_Ipv6); ok { + return x.Ipv6 + } } return nil } @@ -100,12 +104,11 @@ func (*IPAddress_Ipv4) isIPAddress_Ip() {} func (*IPAddress_Ipv6) isIPAddress_Ip() {} type IPNetwork struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ip *IPAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` + PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` unknownFields protoimpl.UnknownFields - - Ip *IPAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` - PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` + sizeCache protoimpl.SizeCache } func (x *IPNetwork) Reset() { @@ -153,12 +156,11 @@ func (x *IPNetwork) GetPrefixLen() uint32 { } type IPv6 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + First uint64 `protobuf:"fixed64,1,opt,name=first,proto3" json:"first,omitempty"` // hextets 1-4 + Last uint64 `protobuf:"fixed64,2,opt,name=last,proto3" json:"last,omitempty"` // hextets 5-8 unknownFields protoimpl.UnknownFields - - First uint64 `protobuf:"fixed64,1,opt,name=first,proto3" json:"first,omitempty"` // hextets 1-4 - Last uint64 `protobuf:"fixed64,2,opt,name=last,proto3" json:"last,omitempty"` // hextets 5-8 + sizeCache protoimpl.SizeCache } func (x *IPv6) Reset() { @@ -206,12 +208,11 @@ func (x *IPv6) GetLast() uint64 { } type TcpAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ip *IPAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` unknownFields protoimpl.UnknownFields - - Ip *IPAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TcpAddress) Reset() { @@ -260,43 +261,33 @@ func (x *TcpAddress) GetPort() uint32 { var File_net_proto protoreflect.FileDescriptor -var file_net_proto_rawDesc = []byte{ - 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, - 0x74, 0x22, 0x59, 0x0a, 0x09, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, - 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, 0x04, - 0x69, 0x70, 0x76, 0x34, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x76, 0x36, 0x48, 0x00, - 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x42, 0x04, 0x0a, 0x02, 0x69, 0x70, 0x22, 0x5b, 0x0a, 0x09, - 0x49, 0x50, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0x30, 0x0a, 0x04, 0x49, 0x50, 0x76, - 0x36, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x0a, 0x54, - 0x63, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x2e, - 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_net_proto_rawDesc = "" + + "\n" + + "\tnet.proto\x12\x14io.linkerd.proxy.net\"Y\n" + + "\tIPAddress\x12\x14\n" + + "\x04ipv4\x18\x01 \x01(\aH\x00R\x04ipv4\x120\n" + + "\x04ipv6\x18\x02 \x01(\v2\x1a.io.linkerd.proxy.net.IPv6H\x00R\x04ipv6B\x04\n" + + "\x02ip\"[\n" + + "\tIPNetwork\x12/\n" + + "\x02ip\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.net.IPAddressR\x02ip\x12\x1d\n" + + "\n" + + "prefix_len\x18\x02 \x01(\rR\tprefixLen\"0\n" + + "\x04IPv6\x12\x14\n" + + "\x05first\x18\x01 \x01(\x06R\x05first\x12\x12\n" + + "\x04last\x18\x02 \x01(\x06R\x04last\"Q\n" + + "\n" + + "TcpAddress\x12/\n" + + "\x02ip\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.net.IPAddressR\x02ip\x12\x12\n" + + "\x04port\x18\x02 \x01(\rR\x04portB.Z,github.com/linkerd/linkerd2-proxy-api/go/netb\x06proto3" var ( file_net_proto_rawDescOnce sync.Once - file_net_proto_rawDescData = file_net_proto_rawDesc + file_net_proto_rawDescData []byte ) func file_net_proto_rawDescGZIP() []byte { file_net_proto_rawDescOnce.Do(func() { - file_net_proto_rawDescData = protoimpl.X.CompressGZIP(file_net_proto_rawDescData) + file_net_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_net_proto_rawDesc), len(file_net_proto_rawDesc))) }) return file_net_proto_rawDescData } @@ -332,7 +323,7 @@ func file_net_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_net_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_net_proto_rawDesc), len(file_net_proto_rawDesc)), NumEnums: 0, NumMessages: 4, NumExtensions: 0, @@ -343,7 +334,6 @@ func file_net_proto_init() { MessageInfos: file_net_proto_msgTypes, }.Build() File_net_proto = out.File - file_net_proto_rawDesc = nil file_net_proto_goTypes = nil file_net_proto_depIdxs = nil } diff --git a/go/opaque_route/opaque_route.pb.go b/go/opaque_route/opaque_route.pb.go index 966e17326..eb592d03a 100644 --- a/go/opaque_route/opaque_route.pb.go +++ b/go/opaque_route/opaque_route.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: opaque_route.proto package opaque_route @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,11 +23,10 @@ const ( // Used to indicate that the policy is invalid. type Invalid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Invalid) Reset() { @@ -68,9 +68,9 @@ func (x *Invalid) GetMessage() string { // Used to indicate that traffic is forbidden. type Forbidden struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Forbidden) Reset() { @@ -105,28 +105,21 @@ func (*Forbidden) Descriptor() ([]byte, []int) { var File_opaque_route_proto protoreflect.FileDescriptor -var file_opaque_route_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x22, 0x23, 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x62, - 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, - 0x6f, 0x2f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_opaque_route_proto_rawDesc = "" + + "\n" + + "\x12opaque_route.proto\x12\x1dio.linkerd.proxy.opaque_route\"#\n" + + "\aInvalid\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\"\v\n" + + "\tForbiddenB7Z5github.com/linkerd/linkerd2-proxy-api/go/opaque_routeb\x06proto3" var ( file_opaque_route_proto_rawDescOnce sync.Once - file_opaque_route_proto_rawDescData = file_opaque_route_proto_rawDesc + file_opaque_route_proto_rawDescData []byte ) func file_opaque_route_proto_rawDescGZIP() []byte { file_opaque_route_proto_rawDescOnce.Do(func() { - file_opaque_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_opaque_route_proto_rawDescData) + file_opaque_route_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_opaque_route_proto_rawDesc), len(file_opaque_route_proto_rawDesc))) }) return file_opaque_route_proto_rawDescData } @@ -153,7 +146,7 @@ func file_opaque_route_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_opaque_route_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_opaque_route_proto_rawDesc), len(file_opaque_route_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -164,7 +157,6 @@ func file_opaque_route_proto_init() { MessageInfos: file_opaque_route_proto_msgTypes, }.Build() File_opaque_route_proto = out.File - file_opaque_route_proto_rawDesc = nil file_opaque_route_proto_goTypes = nil file_opaque_route_proto_depIdxs = nil } diff --git a/go/outbound/outbound.pb.go b/go/outbound/outbound.pb.go index 5ec0022a7..dc04cf47e 100644 --- a/go/outbound/outbound.pb.go +++ b/go/outbound/outbound.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: outbound.proto package outbound @@ -19,6 +19,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -29,20 +30,19 @@ const ( ) type TrafficSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Uniquely identifies the source proxy workload (e.g., pod name) to the // control plane. SourceWorkload string `protobuf:"bytes,1,opt,name=source_workload,json=sourceWorkload,proto3" json:"source_workload,omitempty"` // Describes a target address, as observed by the proxy. // - // Types that are assignable to Target: + // Types that are valid to be assigned to Target: // // *TrafficSpec_Addr // *TrafficSpec_Authority - Target isTrafficSpec_Target `protobuf_oneof:"target"` + Target isTrafficSpec_Target `protobuf_oneof:"target"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TrafficSpec) Reset() { @@ -82,23 +82,27 @@ func (x *TrafficSpec) GetSourceWorkload() string { return "" } -func (m *TrafficSpec) GetTarget() isTrafficSpec_Target { - if m != nil { - return m.Target +func (x *TrafficSpec) GetTarget() isTrafficSpec_Target { + if x != nil { + return x.Target } return nil } func (x *TrafficSpec) GetAddr() *net.TcpAddress { - if x, ok := x.GetTarget().(*TrafficSpec_Addr); ok { - return x.Addr + if x != nil { + if x, ok := x.Target.(*TrafficSpec_Addr); ok { + return x.Addr + } } return nil } func (x *TrafficSpec) GetAuthority() string { - if x, ok := x.GetTarget().(*TrafficSpec_Authority); ok { - return x.Authority + if x != nil { + if x, ok := x.Target.(*TrafficSpec_Authority); ok { + return x.Authority + } } return "" } @@ -124,15 +128,14 @@ func (*TrafficSpec_Authority) isTrafficSpec_Target() {} // Outbound policy for a given traffic spec. type OutboundPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Indicates the protocol to use for this target. This will be set to Opaque // if the target has been marked as opaque and will be Discover otherwise. Protocol *ProxyProtocol `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` // Describes the resource for which outbound policy has been discovered. - Metadata *meta.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + Metadata *meta.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OutboundPolicy) Reset() { @@ -180,11 +183,8 @@ func (x *OutboundPolicy) GetMetadata() *meta.Metadata { } type ProxyProtocol struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *ProxyProtocol_Detect_ // *ProxyProtocol_Opaque_ @@ -192,7 +192,9 @@ type ProxyProtocol struct { // *ProxyProtocol_Http2_ // *ProxyProtocol_Grpc_ // *ProxyProtocol_Tls_ - Kind isProxyProtocol_Kind `protobuf_oneof:"kind"` + Kind isProxyProtocol_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol) Reset() { @@ -225,51 +227,63 @@ func (*ProxyProtocol) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{2} } -func (m *ProxyProtocol) GetKind() isProxyProtocol_Kind { - if m != nil { - return m.Kind +func (x *ProxyProtocol) GetKind() isProxyProtocol_Kind { + if x != nil { + return x.Kind } return nil } func (x *ProxyProtocol) GetDetect() *ProxyProtocol_Detect { - if x, ok := x.GetKind().(*ProxyProtocol_Detect_); ok { - return x.Detect + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Detect_); ok { + return x.Detect + } } return nil } func (x *ProxyProtocol) GetOpaque() *ProxyProtocol_Opaque { - if x, ok := x.GetKind().(*ProxyProtocol_Opaque_); ok { - return x.Opaque + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Opaque_); ok { + return x.Opaque + } } return nil } func (x *ProxyProtocol) GetHttp1() *ProxyProtocol_Http1 { - if x, ok := x.GetKind().(*ProxyProtocol_Http1_); ok { - return x.Http1 + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Http1_); ok { + return x.Http1 + } } return nil } func (x *ProxyProtocol) GetHttp2() *ProxyProtocol_Http2 { - if x, ok := x.GetKind().(*ProxyProtocol_Http2_); ok { - return x.Http2 + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Http2_); ok { + return x.Http2 + } } return nil } func (x *ProxyProtocol) GetGrpc() *ProxyProtocol_Grpc { - if x, ok := x.GetKind().(*ProxyProtocol_Grpc_); ok { - return x.Grpc + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Grpc_); ok { + return x.Grpc + } } return nil } func (x *ProxyProtocol) GetTls() *ProxyProtocol_Tls { - if x, ok := x.GetKind().(*ProxyProtocol_Tls_); ok { - return x.Tls + if x != nil { + if x, ok := x.Kind.(*ProxyProtocol_Tls_); ok { + return x.Tls + } } return nil } @@ -321,15 +335,14 @@ func (*ProxyProtocol_Tls_) isProxyProtocol_Kind() {} // Outbound-specific HTTP route configuration (based on the // [Gateway API](https://gateway-api.sigs.k8s.io/v1alpha2/references/spec/#gateway.networking.k8s.io/v1alpha2.HTTPRoute)). type HttpRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // If empty, the host value is ignored. Hosts []*http_route.HostMatch `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // Must have at least one rule. - Rules []*HttpRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + Rules []*HttpRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute) Reset() { @@ -384,15 +397,14 @@ func (x *HttpRoute) GetRules() []*HttpRoute_Rule { } type GrpcRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // If empty, the host value is ignored. Hosts []*http_route.HostMatch `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // Must have at least one rule. - Rules []*GrpcRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + Rules []*GrpcRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute) Reset() { @@ -447,13 +459,12 @@ func (x *GrpcRoute) GetRules() []*GrpcRoute_Rule { } type OpaqueRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // Must have at least one rule. - Rules []*OpaqueRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + Rules []*OpaqueRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute) Reset() { @@ -501,15 +512,14 @@ func (x *OpaqueRoute) GetRules() []*OpaqueRoute_Rule { } type TlsRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // If empty, the SNI value is ignored. Snis []*tls_route.SniMatch `protobuf:"bytes,2,rep,name=snis,proto3" json:"snis,omitempty"` // Must have at least one rule. - Rules []*TlsRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + Rules []*TlsRoute_Rule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TlsRoute) Reset() { @@ -564,18 +574,17 @@ func (x *TlsRoute) GetRules() []*TlsRoute_Rule { } type Backend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + Metadata *meta.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Types that are valid to be assigned to Kind: // // *Backend_Forward // *Backend_Balancer Kind isBackend_Kind `protobuf_oneof:"kind"` // Describes queue configuration for a backend. - Queue *Queue `protobuf:"bytes,4,opt,name=queue,proto3" json:"queue,omitempty"` + Queue *Queue `protobuf:"bytes,4,opt,name=queue,proto3" json:"queue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Backend) Reset() { @@ -615,23 +624,27 @@ func (x *Backend) GetMetadata() *meta.Metadata { return nil } -func (m *Backend) GetKind() isBackend_Kind { - if m != nil { - return m.Kind +func (x *Backend) GetKind() isBackend_Kind { + if x != nil { + return x.Kind } return nil } func (x *Backend) GetForward() *destination.WeightedAddr { - if x, ok := x.GetKind().(*Backend_Forward); ok { - return x.Forward + if x != nil { + if x, ok := x.Kind.(*Backend_Forward); ok { + return x.Forward + } } return nil } func (x *Backend) GetBalancer() *Backend_BalanceP2C { - if x, ok := x.GetKind().(*Backend_Balancer); ok { - return x.Balancer + if x != nil { + if x, ok := x.Kind.(*Backend_Balancer); ok { + return x.Balancer + } } return nil } @@ -662,16 +675,15 @@ func (*Backend_Forward) isBackend_Kind() {} func (*Backend_Balancer) isBackend_Kind() {} type Queue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The number of requests that may be held in a queue before backpressure is // exerted. Capacity uint32 `protobuf:"varint,1,opt,name=capacity,proto3" json:"capacity,omitempty"` // A timeout that limits how long a backend may remain unready before any // requests in its queue are failed. FailfastTimeout *duration.Duration `protobuf:"bytes,2,opt,name=failfast_timeout,json=failfastTimeout,proto3" json:"failfast_timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Queue) Reset() { @@ -719,14 +731,13 @@ func (x *Queue) GetFailfastTimeout() *duration.Duration { } type FailureAccrual struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *FailureAccrual_ConsecutiveFailures_ - Kind isFailureAccrual_Kind `protobuf_oneof:"kind"` + Kind isFailureAccrual_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FailureAccrual) Reset() { @@ -759,16 +770,18 @@ func (*FailureAccrual) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{9} } -func (m *FailureAccrual) GetKind() isFailureAccrual_Kind { - if m != nil { - return m.Kind +func (x *FailureAccrual) GetKind() isFailureAccrual_Kind { + if x != nil { + return x.Kind } return nil } func (x *FailureAccrual) GetConsecutiveFailures() *FailureAccrual_ConsecutiveFailures { - if x, ok := x.GetKind().(*FailureAccrual_ConsecutiveFailures_); ok { - return x.ConsecutiveFailures + if x != nil { + if x, ok := x.Kind.(*FailureAccrual_ConsecutiveFailures_); ok { + return x.ConsecutiveFailures + } } return nil } @@ -784,10 +797,7 @@ type FailureAccrual_ConsecutiveFailures_ struct { func (*FailureAccrual_ConsecutiveFailures_) isFailureAccrual_Kind() {} type ExponentialBackoff struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The minimum amount of time to wait before resuming an operation. MinBackoff *duration.Duration `protobuf:"bytes,1,opt,name=min_backoff,json=minBackoff,proto3" json:"min_backoff,omitempty"` // The maximum amount of time to wait before resuming an operation. @@ -795,7 +805,9 @@ type ExponentialBackoff struct { MaxBackoff *duration.Duration `protobuf:"bytes,2,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"` // The ratio of the base timeout that may be randomly added to a backoff. // Must be greater than or equal to 0.0. - JitterRatio float32 `protobuf:"fixed32,3,opt,name=jitter_ratio,json=jitterRatio,proto3" json:"jitter_ratio,omitempty"` + JitterRatio float32 `protobuf:"fixed32,3,opt,name=jitter_ratio,json=jitterRatio,proto3" json:"jitter_ratio,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExponentialBackoff) Reset() { @@ -850,17 +862,16 @@ func (x *ExponentialBackoff) GetJitterRatio() float32 { } type ProxyProtocol_Detect struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Protocol detection timeout. Timeout *duration.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` Opaque *ProxyProtocol_Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` // HTTP/1 policy configuration. Http1 *ProxyProtocol_Http1 `protobuf:"bytes,3,opt,name=http1,proto3" json:"http1,omitempty"` // HTTP/2 policy configuration. - Http2 *ProxyProtocol_Http2 `protobuf:"bytes,4,opt,name=http2,proto3" json:"http2,omitempty"` + Http2 *ProxyProtocol_Http2 `protobuf:"bytes,4,opt,name=http2,proto3" json:"http2,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Detect) Reset() { @@ -922,11 +933,10 @@ func (x *ProxyProtocol_Detect) GetHttp2() *ProxyProtocol_Http2 { } type ProxyProtocol_Opaque struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*OpaqueRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` unknownFields protoimpl.UnknownFields - - Routes []*OpaqueRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Opaque) Reset() { @@ -967,13 +977,12 @@ func (x *ProxyProtocol_Opaque) GetRoutes() []*OpaqueRoute { } type ProxyProtocol_Http1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Routes []*HttpRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*HttpRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` // If empty, circuit breaking is not performed. FailureAccrual *FailureAccrual `protobuf:"bytes,2,opt,name=failure_accrual,json=failureAccrual,proto3" json:"failure_accrual,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Http1) Reset() { @@ -1021,13 +1030,12 @@ func (x *ProxyProtocol_Http1) GetFailureAccrual() *FailureAccrual { } type ProxyProtocol_Http2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Routes []*HttpRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*HttpRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` // If empty, circuit breaking is not performed. FailureAccrual *FailureAccrual `protobuf:"bytes,2,opt,name=failure_accrual,json=failureAccrual,proto3" json:"failure_accrual,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Http2) Reset() { @@ -1075,13 +1083,12 @@ func (x *ProxyProtocol_Http2) GetFailureAccrual() *FailureAccrual { } type ProxyProtocol_Grpc struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Routes []*GrpcRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*GrpcRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` // If empty, circuit breaking is not performed. FailureAccrual *FailureAccrual `protobuf:"bytes,2,opt,name=failure_accrual,json=failureAccrual,proto3" json:"failure_accrual,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Grpc) Reset() { @@ -1129,11 +1136,10 @@ func (x *ProxyProtocol_Grpc) GetFailureAccrual() *FailureAccrual { } type ProxyProtocol_Tls struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*TlsRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` unknownFields protoimpl.UnknownFields - - Routes []*TlsRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ProxyProtocol_Tls) Reset() { @@ -1174,10 +1180,7 @@ func (x *ProxyProtocol_Tls) GetRoutes() []*TlsRoute { } type HttpRoute_Rule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Matches []*http_route.HttpRouteMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` Filters []*HttpRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` Backends *HttpRoute_Distribution `protobuf:"bytes,3,opt,name=backends,proto3" json:"backends,omitempty"` @@ -1191,6 +1194,8 @@ type HttpRoute_Rule struct { // If true, the proxy will allow headers to control retry and timeout // behavior. AllowL5DRequestHeaders bool `protobuf:"varint,7,opt,name=allow_l5d_request_headers,json=allowL5dRequestHeaders,proto3" json:"allow_l5d_request_headers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Rule) Reset() { @@ -1274,17 +1279,16 @@ func (x *HttpRoute_Rule) GetAllowL5DRequestHeaders() bool { } type HttpRoute_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *HttpRoute_Filter_FailureInjector // *HttpRoute_Filter_RequestHeaderModifier // *HttpRoute_Filter_Redirect // *HttpRoute_Filter_ResponseHeaderModifier - Kind isHttpRoute_Filter_Kind `protobuf_oneof:"kind"` + Kind isHttpRoute_Filter_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Filter) Reset() { @@ -1317,37 +1321,45 @@ func (*HttpRoute_Filter) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{3, 1} } -func (m *HttpRoute_Filter) GetKind() isHttpRoute_Filter_Kind { - if m != nil { - return m.Kind +func (x *HttpRoute_Filter) GetKind() isHttpRoute_Filter_Kind { + if x != nil { + return x.Kind } return nil } func (x *HttpRoute_Filter) GetFailureInjector() *http_route.HttpFailureInjector { - if x, ok := x.GetKind().(*HttpRoute_Filter_FailureInjector); ok { - return x.FailureInjector + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Filter_FailureInjector); ok { + return x.FailureInjector + } } return nil } func (x *HttpRoute_Filter) GetRequestHeaderModifier() *http_route.RequestHeaderModifier { - if x, ok := x.GetKind().(*HttpRoute_Filter_RequestHeaderModifier); ok { - return x.RequestHeaderModifier + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Filter_RequestHeaderModifier); ok { + return x.RequestHeaderModifier + } } return nil } func (x *HttpRoute_Filter) GetRedirect() *http_route.RequestRedirect { - if x, ok := x.GetKind().(*HttpRoute_Filter_Redirect); ok { - return x.Redirect + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Filter_Redirect); ok { + return x.Redirect + } } return nil } func (x *HttpRoute_Filter) GetResponseHeaderModifier() *http_route.ResponseHeaderModifier { - if x, ok := x.GetKind().(*HttpRoute_Filter_ResponseHeaderModifier); ok { - return x.ResponseHeaderModifier + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Filter_ResponseHeaderModifier); ok { + return x.ResponseHeaderModifier + } } return nil } @@ -1381,16 +1393,15 @@ func (*HttpRoute_Filter_Redirect) isHttpRoute_Filter_Kind() {} func (*HttpRoute_Filter_ResponseHeaderModifier) isHttpRoute_Filter_Kind() {} type HttpRoute_Distribution struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *HttpRoute_Distribution_Empty_ // *HttpRoute_Distribution_FirstAvailable_ // *HttpRoute_Distribution_RandomAvailable_ - Kind isHttpRoute_Distribution_Kind `protobuf_oneof:"kind"` + Kind isHttpRoute_Distribution_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Distribution) Reset() { @@ -1423,30 +1434,36 @@ func (*HttpRoute_Distribution) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{3, 2} } -func (m *HttpRoute_Distribution) GetKind() isHttpRoute_Distribution_Kind { - if m != nil { - return m.Kind +func (x *HttpRoute_Distribution) GetKind() isHttpRoute_Distribution_Kind { + if x != nil { + return x.Kind } return nil } func (x *HttpRoute_Distribution) GetEmpty() *HttpRoute_Distribution_Empty { - if x, ok := x.GetKind().(*HttpRoute_Distribution_Empty_); ok { - return x.Empty + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Distribution_Empty_); ok { + return x.Empty + } } return nil } func (x *HttpRoute_Distribution) GetFirstAvailable() *HttpRoute_Distribution_FirstAvailable { - if x, ok := x.GetKind().(*HttpRoute_Distribution_FirstAvailable_); ok { - return x.FirstAvailable + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Distribution_FirstAvailable_); ok { + return x.FirstAvailable + } } return nil } func (x *HttpRoute_Distribution) GetRandomAvailable() *HttpRoute_Distribution_RandomAvailable { - if x, ok := x.GetKind().(*HttpRoute_Distribution_RandomAvailable_); ok { - return x.RandomAvailable + if x != nil { + if x, ok := x.Kind.(*HttpRoute_Distribution_RandomAvailable_); ok { + return x.RandomAvailable + } } return nil } @@ -1475,16 +1492,15 @@ func (*HttpRoute_Distribution_FirstAvailable_) isHttpRoute_Distribution_Kind() { func (*HttpRoute_Distribution_RandomAvailable_) isHttpRoute_Distribution_Kind() {} type HttpRoute_Retry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxRetries uint32 `protobuf:"varint,1,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` - MaxRequestBytes uint32 `protobuf:"varint,2,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MaxRetries uint32 `protobuf:"varint,1,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` + MaxRequestBytes uint32 `protobuf:"varint,2,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` // Must be set, even if there are no internal conditions. - Conditions *HttpRoute_Retry_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3" json:"conditions,omitempty"` - Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` - Backoff *ExponentialBackoff `protobuf:"bytes,5,opt,name=backoff,proto3" json:"backoff,omitempty"` + Conditions *HttpRoute_Retry_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3" json:"conditions,omitempty"` + Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + Backoff *ExponentialBackoff `protobuf:"bytes,5,opt,name=backoff,proto3" json:"backoff,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Retry) Reset() { @@ -1553,16 +1569,15 @@ func (x *HttpRoute_Retry) GetBackoff() *ExponentialBackoff { } type HttpRoute_RouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Filters []*HttpRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Filters []*HttpRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` // DEPRECATED: proxies ignore this. Use Retry timeouts instead. // // Deprecated: Marked as deprecated in outbound.proto. RequestTimeout *duration.Duration `protobuf:"bytes,4,opt,name=requestTimeout,proto3" json:"requestTimeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_RouteBackend) Reset() { @@ -1618,12 +1633,11 @@ func (x *HttpRoute_RouteBackend) GetRequestTimeout() *duration.Duration { } type HttpRoute_WeightedRouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backend *HttpRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` unknownFields protoimpl.UnknownFields - - Backend *HttpRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HttpRoute_WeightedRouteBackend) Reset() { @@ -1671,9 +1685,9 @@ func (x *HttpRoute_WeightedRouteBackend) GetWeight() uint32 { } type HttpRoute_Distribution_Empty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Distribution_Empty) Reset() { @@ -1707,11 +1721,10 @@ func (*HttpRoute_Distribution_Empty) Descriptor() ([]byte, []int) { } type HttpRoute_Distribution_FirstAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*HttpRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*HttpRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Distribution_FirstAvailable) Reset() { @@ -1752,11 +1765,10 @@ func (x *HttpRoute_Distribution_FirstAvailable) GetBackends() []*HttpRoute_Route } type HttpRoute_Distribution_RandomAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*HttpRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*HttpRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Distribution_RandomAvailable) Reset() { @@ -1798,12 +1810,11 @@ func (x *HttpRoute_Distribution_RandomAvailable) GetBackends() []*HttpRoute_Weig // Retryable conditions. type HttpRoute_Retry_Conditions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Specifies the status code ranges that should trigger a retry. - StatusRanges []*HttpRoute_Retry_Conditions_StatusRange `protobuf:"bytes,1,rep,name=status_ranges,json=statusRanges,proto3" json:"status_ranges,omitempty"` + StatusRanges []*HttpRoute_Retry_Conditions_StatusRange `protobuf:"bytes,1,rep,name=status_ranges,json=statusRanges,proto3" json:"status_ranges,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Retry_Conditions) Reset() { @@ -1844,12 +1855,11 @@ func (x *HttpRoute_Retry_Conditions) GetStatusRanges() []*HttpRoute_Retry_Condit } type HttpRoute_Retry_Conditions_StatusRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Start uint32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` unknownFields protoimpl.UnknownFields - - Start uint32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` - End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HttpRoute_Retry_Conditions_StatusRange) Reset() { @@ -1897,10 +1907,7 @@ func (x *HttpRoute_Retry_Conditions_StatusRange) GetEnd() uint32 { } type GrpcRoute_Rule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Matches []*grpc_route.GrpcRouteMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` Filters []*GrpcRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` Backends *GrpcRoute_Distribution `protobuf:"bytes,3,opt,name=backends,proto3" json:"backends,omitempty"` @@ -1914,6 +1921,8 @@ type GrpcRoute_Rule struct { // If true, the proxy will allow headers to control retry and timeout // behavior. AllowL5DRequestHeaders bool `protobuf:"varint,7,opt,name=allow_l5d_request_headers,json=allowL5dRequestHeaders,proto3" json:"allow_l5d_request_headers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Rule) Reset() { @@ -1997,15 +2006,14 @@ func (x *GrpcRoute_Rule) GetAllowL5DRequestHeaders() bool { } type GrpcRoute_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *GrpcRoute_Filter_FailureInjector // *GrpcRoute_Filter_RequestHeaderModifier - Kind isGrpcRoute_Filter_Kind `protobuf_oneof:"kind"` + Kind isGrpcRoute_Filter_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Filter) Reset() { @@ -2038,23 +2046,27 @@ func (*GrpcRoute_Filter) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{4, 1} } -func (m *GrpcRoute_Filter) GetKind() isGrpcRoute_Filter_Kind { - if m != nil { - return m.Kind +func (x *GrpcRoute_Filter) GetKind() isGrpcRoute_Filter_Kind { + if x != nil { + return x.Kind } return nil } func (x *GrpcRoute_Filter) GetFailureInjector() *grpc_route.GrpcFailureInjector { - if x, ok := x.GetKind().(*GrpcRoute_Filter_FailureInjector); ok { - return x.FailureInjector + if x != nil { + if x, ok := x.Kind.(*GrpcRoute_Filter_FailureInjector); ok { + return x.FailureInjector + } } return nil } func (x *GrpcRoute_Filter) GetRequestHeaderModifier() *http_route.RequestHeaderModifier { - if x, ok := x.GetKind().(*GrpcRoute_Filter_RequestHeaderModifier); ok { - return x.RequestHeaderModifier + if x != nil { + if x, ok := x.Kind.(*GrpcRoute_Filter_RequestHeaderModifier); ok { + return x.RequestHeaderModifier + } } return nil } @@ -2076,16 +2088,15 @@ func (*GrpcRoute_Filter_FailureInjector) isGrpcRoute_Filter_Kind() {} func (*GrpcRoute_Filter_RequestHeaderModifier) isGrpcRoute_Filter_Kind() {} type GrpcRoute_Distribution struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *GrpcRoute_Distribution_Empty_ // *GrpcRoute_Distribution_FirstAvailable_ // *GrpcRoute_Distribution_RandomAvailable_ - Kind isGrpcRoute_Distribution_Kind `protobuf_oneof:"kind"` + Kind isGrpcRoute_Distribution_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Distribution) Reset() { @@ -2118,30 +2129,36 @@ func (*GrpcRoute_Distribution) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{4, 2} } -func (m *GrpcRoute_Distribution) GetKind() isGrpcRoute_Distribution_Kind { - if m != nil { - return m.Kind +func (x *GrpcRoute_Distribution) GetKind() isGrpcRoute_Distribution_Kind { + if x != nil { + return x.Kind } return nil } func (x *GrpcRoute_Distribution) GetEmpty() *GrpcRoute_Distribution_Empty { - if x, ok := x.GetKind().(*GrpcRoute_Distribution_Empty_); ok { - return x.Empty + if x != nil { + if x, ok := x.Kind.(*GrpcRoute_Distribution_Empty_); ok { + return x.Empty + } } return nil } func (x *GrpcRoute_Distribution) GetFirstAvailable() *GrpcRoute_Distribution_FirstAvailable { - if x, ok := x.GetKind().(*GrpcRoute_Distribution_FirstAvailable_); ok { - return x.FirstAvailable + if x != nil { + if x, ok := x.Kind.(*GrpcRoute_Distribution_FirstAvailable_); ok { + return x.FirstAvailable + } } return nil } func (x *GrpcRoute_Distribution) GetRandomAvailable() *GrpcRoute_Distribution_RandomAvailable { - if x, ok := x.GetKind().(*GrpcRoute_Distribution_RandomAvailable_); ok { - return x.RandomAvailable + if x != nil { + if x, ok := x.Kind.(*GrpcRoute_Distribution_RandomAvailable_); ok { + return x.RandomAvailable + } } return nil } @@ -2170,16 +2187,15 @@ func (*GrpcRoute_Distribution_FirstAvailable_) isGrpcRoute_Distribution_Kind() { func (*GrpcRoute_Distribution_RandomAvailable_) isGrpcRoute_Distribution_Kind() {} type GrpcRoute_Retry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxRetries uint32 `protobuf:"varint,1,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` - MaxRequestBytes uint32 `protobuf:"varint,2,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MaxRetries uint32 `protobuf:"varint,1,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` + MaxRequestBytes uint32 `protobuf:"varint,2,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` // Must be set, even if there are no internal conditions. - Conditions *GrpcRoute_Retry_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3" json:"conditions,omitempty"` - Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` - Backoff *ExponentialBackoff `protobuf:"bytes,5,opt,name=backoff,proto3" json:"backoff,omitempty"` + Conditions *GrpcRoute_Retry_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3" json:"conditions,omitempty"` + Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + Backoff *ExponentialBackoff `protobuf:"bytes,5,opt,name=backoff,proto3" json:"backoff,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Retry) Reset() { @@ -2248,16 +2264,15 @@ func (x *GrpcRoute_Retry) GetBackoff() *ExponentialBackoff { } type GrpcRoute_RouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Filters []*GrpcRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Filters []*GrpcRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` // DEPRECATED: proxies ignore this. Retry timeouts are used instead of this. // // Deprecated: Marked as deprecated in outbound.proto. RequestTimeout *duration.Duration `protobuf:"bytes,4,opt,name=requestTimeout,proto3" json:"requestTimeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_RouteBackend) Reset() { @@ -2313,12 +2328,11 @@ func (x *GrpcRoute_RouteBackend) GetRequestTimeout() *duration.Duration { } type GrpcRoute_WeightedRouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backend *GrpcRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` unknownFields protoimpl.UnknownFields - - Backend *GrpcRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_WeightedRouteBackend) Reset() { @@ -2366,9 +2380,9 @@ func (x *GrpcRoute_WeightedRouteBackend) GetWeight() uint32 { } type GrpcRoute_Distribution_Empty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Distribution_Empty) Reset() { @@ -2402,11 +2416,10 @@ func (*GrpcRoute_Distribution_Empty) Descriptor() ([]byte, []int) { } type GrpcRoute_Distribution_FirstAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*GrpcRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*GrpcRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Distribution_FirstAvailable) Reset() { @@ -2447,11 +2460,10 @@ func (x *GrpcRoute_Distribution_FirstAvailable) GetBackends() []*GrpcRoute_Route } type GrpcRoute_Distribution_RandomAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*GrpcRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*GrpcRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Distribution_RandomAvailable) Reset() { @@ -2493,15 +2505,14 @@ func (x *GrpcRoute_Distribution_RandomAvailable) GetBackends() []*GrpcRoute_Weig // Retryable gRPC status codes. type GrpcRoute_Retry_Conditions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Cancelled bool `protobuf:"varint,1,opt,name=cancelled,proto3" json:"cancelled,omitempty"` - DeadineExceeded bool `protobuf:"varint,4,opt,name=deadine_exceeded,json=deadineExceeded,proto3" json:"deadine_exceeded,omitempty"` - ResourceExhausted bool `protobuf:"varint,8,opt,name=resource_exhausted,json=resourceExhausted,proto3" json:"resource_exhausted,omitempty"` - Internal bool `protobuf:"varint,13,opt,name=internal,proto3" json:"internal,omitempty"` - Unavailable bool `protobuf:"varint,14,opt,name=unavailable,proto3" json:"unavailable,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Cancelled bool `protobuf:"varint,1,opt,name=cancelled,proto3" json:"cancelled,omitempty"` + DeadineExceeded bool `protobuf:"varint,4,opt,name=deadine_exceeded,json=deadineExceeded,proto3" json:"deadine_exceeded,omitempty"` + ResourceExhausted bool `protobuf:"varint,8,opt,name=resource_exhausted,json=resourceExhausted,proto3" json:"resource_exhausted,omitempty"` + Internal bool `protobuf:"varint,13,opt,name=internal,proto3" json:"internal,omitempty"` + Unavailable bool `protobuf:"varint,14,opt,name=unavailable,proto3" json:"unavailable,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRoute_Retry_Conditions) Reset() { @@ -2570,12 +2581,11 @@ func (x *GrpcRoute_Retry_Conditions) GetUnavailable() bool { } type OpaqueRoute_Rule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends *OpaqueRoute_Distribution `protobuf:"bytes,1,opt,name=backends,proto3" json:"backends,omitempty"` + Filters []*OpaqueRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Backends *OpaqueRoute_Distribution `protobuf:"bytes,1,opt,name=backends,proto3" json:"backends,omitempty"` - Filters []*OpaqueRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_Rule) Reset() { @@ -2623,15 +2633,14 @@ func (x *OpaqueRoute_Rule) GetFilters() []*OpaqueRoute_Filter { } type OpaqueRoute_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *OpaqueRoute_Filter_Invalid // *OpaqueRoute_Filter_Forbidden - Kind isOpaqueRoute_Filter_Kind `protobuf_oneof:"kind"` + Kind isOpaqueRoute_Filter_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_Filter) Reset() { @@ -2664,23 +2673,27 @@ func (*OpaqueRoute_Filter) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{5, 1} } -func (m *OpaqueRoute_Filter) GetKind() isOpaqueRoute_Filter_Kind { - if m != nil { - return m.Kind +func (x *OpaqueRoute_Filter) GetKind() isOpaqueRoute_Filter_Kind { + if x != nil { + return x.Kind } return nil } func (x *OpaqueRoute_Filter) GetInvalid() *opaque_route.Invalid { - if x, ok := x.GetKind().(*OpaqueRoute_Filter_Invalid); ok { - return x.Invalid + if x != nil { + if x, ok := x.Kind.(*OpaqueRoute_Filter_Invalid); ok { + return x.Invalid + } } return nil } func (x *OpaqueRoute_Filter) GetForbidden() *opaque_route.Forbidden { - if x, ok := x.GetKind().(*OpaqueRoute_Filter_Forbidden); ok { - return x.Forbidden + if x != nil { + if x, ok := x.Kind.(*OpaqueRoute_Filter_Forbidden); ok { + return x.Forbidden + } } return nil } @@ -2702,16 +2715,15 @@ func (*OpaqueRoute_Filter_Invalid) isOpaqueRoute_Filter_Kind() {} func (*OpaqueRoute_Filter_Forbidden) isOpaqueRoute_Filter_Kind() {} type OpaqueRoute_Distribution struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *OpaqueRoute_Distribution_Empty_ // *OpaqueRoute_Distribution_FirstAvailable_ // *OpaqueRoute_Distribution_RandomAvailable_ - Kind isOpaqueRoute_Distribution_Kind `protobuf_oneof:"kind"` + Kind isOpaqueRoute_Distribution_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_Distribution) Reset() { @@ -2744,30 +2756,36 @@ func (*OpaqueRoute_Distribution) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{5, 2} } -func (m *OpaqueRoute_Distribution) GetKind() isOpaqueRoute_Distribution_Kind { - if m != nil { - return m.Kind +func (x *OpaqueRoute_Distribution) GetKind() isOpaqueRoute_Distribution_Kind { + if x != nil { + return x.Kind } return nil } func (x *OpaqueRoute_Distribution) GetEmpty() *OpaqueRoute_Distribution_Empty { - if x, ok := x.GetKind().(*OpaqueRoute_Distribution_Empty_); ok { - return x.Empty + if x != nil { + if x, ok := x.Kind.(*OpaqueRoute_Distribution_Empty_); ok { + return x.Empty + } } return nil } func (x *OpaqueRoute_Distribution) GetFirstAvailable() *OpaqueRoute_Distribution_FirstAvailable { - if x, ok := x.GetKind().(*OpaqueRoute_Distribution_FirstAvailable_); ok { - return x.FirstAvailable + if x != nil { + if x, ok := x.Kind.(*OpaqueRoute_Distribution_FirstAvailable_); ok { + return x.FirstAvailable + } } return nil } func (x *OpaqueRoute_Distribution) GetRandomAvailable() *OpaqueRoute_Distribution_RandomAvailable { - if x, ok := x.GetKind().(*OpaqueRoute_Distribution_RandomAvailable_); ok { - return x.RandomAvailable + if x != nil { + if x, ok := x.Kind.(*OpaqueRoute_Distribution_RandomAvailable_); ok { + return x.RandomAvailable + } } return nil } @@ -2796,12 +2814,11 @@ func (*OpaqueRoute_Distribution_FirstAvailable_) isOpaqueRoute_Distribution_Kind func (*OpaqueRoute_Distribution_RandomAvailable_) isOpaqueRoute_Distribution_Kind() {} type OpaqueRoute_RouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Filters []*OpaqueRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Filters []*OpaqueRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_RouteBackend) Reset() { @@ -2849,12 +2866,11 @@ func (x *OpaqueRoute_RouteBackend) GetFilters() []*OpaqueRoute_Filter { } type OpaqueRoute_WeightedRouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backend *OpaqueRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` unknownFields protoimpl.UnknownFields - - Backend *OpaqueRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_WeightedRouteBackend) Reset() { @@ -2902,9 +2918,9 @@ func (x *OpaqueRoute_WeightedRouteBackend) GetWeight() uint32 { } type OpaqueRoute_Distribution_Empty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_Distribution_Empty) Reset() { @@ -2938,11 +2954,10 @@ func (*OpaqueRoute_Distribution_Empty) Descriptor() ([]byte, []int) { } type OpaqueRoute_Distribution_FirstAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*OpaqueRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*OpaqueRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_Distribution_FirstAvailable) Reset() { @@ -2983,11 +2998,10 @@ func (x *OpaqueRoute_Distribution_FirstAvailable) GetBackends() []*OpaqueRoute_R } type OpaqueRoute_Distribution_RandomAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*OpaqueRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*OpaqueRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *OpaqueRoute_Distribution_RandomAvailable) Reset() { @@ -3028,12 +3042,11 @@ func (x *OpaqueRoute_Distribution_RandomAvailable) GetBackends() []*OpaqueRoute_ } type TlsRoute_Rule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends *TlsRoute_Distribution `protobuf:"bytes,1,opt,name=backends,proto3" json:"backends,omitempty"` + Filters []*TlsRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Backends *TlsRoute_Distribution `protobuf:"bytes,1,opt,name=backends,proto3" json:"backends,omitempty"` - Filters []*TlsRoute_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TlsRoute_Rule) Reset() { @@ -3081,15 +3094,14 @@ func (x *TlsRoute_Rule) GetFilters() []*TlsRoute_Filter { } type TlsRoute_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *TlsRoute_Filter_Invalid // *TlsRoute_Filter_Forbidden - Kind isTlsRoute_Filter_Kind `protobuf_oneof:"kind"` + Kind isTlsRoute_Filter_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TlsRoute_Filter) Reset() { @@ -3122,23 +3134,27 @@ func (*TlsRoute_Filter) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{6, 1} } -func (m *TlsRoute_Filter) GetKind() isTlsRoute_Filter_Kind { - if m != nil { - return m.Kind +func (x *TlsRoute_Filter) GetKind() isTlsRoute_Filter_Kind { + if x != nil { + return x.Kind } return nil } func (x *TlsRoute_Filter) GetInvalid() *opaque_route.Invalid { - if x, ok := x.GetKind().(*TlsRoute_Filter_Invalid); ok { - return x.Invalid + if x != nil { + if x, ok := x.Kind.(*TlsRoute_Filter_Invalid); ok { + return x.Invalid + } } return nil } func (x *TlsRoute_Filter) GetForbidden() *opaque_route.Forbidden { - if x, ok := x.GetKind().(*TlsRoute_Filter_Forbidden); ok { - return x.Forbidden + if x != nil { + if x, ok := x.Kind.(*TlsRoute_Filter_Forbidden); ok { + return x.Forbidden + } } return nil } @@ -3160,16 +3176,15 @@ func (*TlsRoute_Filter_Invalid) isTlsRoute_Filter_Kind() {} func (*TlsRoute_Filter_Forbidden) isTlsRoute_Filter_Kind() {} type TlsRoute_Distribution struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *TlsRoute_Distribution_Empty_ // *TlsRoute_Distribution_FirstAvailable_ // *TlsRoute_Distribution_RandomAvailable_ - Kind isTlsRoute_Distribution_Kind `protobuf_oneof:"kind"` + Kind isTlsRoute_Distribution_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TlsRoute_Distribution) Reset() { @@ -3202,30 +3217,36 @@ func (*TlsRoute_Distribution) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{6, 2} } -func (m *TlsRoute_Distribution) GetKind() isTlsRoute_Distribution_Kind { - if m != nil { - return m.Kind +func (x *TlsRoute_Distribution) GetKind() isTlsRoute_Distribution_Kind { + if x != nil { + return x.Kind } return nil } func (x *TlsRoute_Distribution) GetEmpty() *TlsRoute_Distribution_Empty { - if x, ok := x.GetKind().(*TlsRoute_Distribution_Empty_); ok { - return x.Empty + if x != nil { + if x, ok := x.Kind.(*TlsRoute_Distribution_Empty_); ok { + return x.Empty + } } return nil } func (x *TlsRoute_Distribution) GetFirstAvailable() *TlsRoute_Distribution_FirstAvailable { - if x, ok := x.GetKind().(*TlsRoute_Distribution_FirstAvailable_); ok { - return x.FirstAvailable + if x != nil { + if x, ok := x.Kind.(*TlsRoute_Distribution_FirstAvailable_); ok { + return x.FirstAvailable + } } return nil } func (x *TlsRoute_Distribution) GetRandomAvailable() *TlsRoute_Distribution_RandomAvailable { - if x, ok := x.GetKind().(*TlsRoute_Distribution_RandomAvailable_); ok { - return x.RandomAvailable + if x != nil { + if x, ok := x.Kind.(*TlsRoute_Distribution_RandomAvailable_); ok { + return x.RandomAvailable + } } return nil } @@ -3254,12 +3275,11 @@ func (*TlsRoute_Distribution_FirstAvailable_) isTlsRoute_Distribution_Kind() {} func (*TlsRoute_Distribution_RandomAvailable_) isTlsRoute_Distribution_Kind() {} type TlsRoute_RouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Filters []*TlsRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Backend *Backend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Filters []*TlsRoute_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TlsRoute_RouteBackend) Reset() { @@ -3307,12 +3327,11 @@ func (x *TlsRoute_RouteBackend) GetFilters() []*TlsRoute_Filter { } type TlsRoute_WeightedRouteBackend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backend *TlsRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` + Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` unknownFields protoimpl.UnknownFields - - Backend *TlsRoute_RouteBackend `protobuf:"bytes,1,opt,name=backend,proto3" json:"backend,omitempty"` - Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TlsRoute_WeightedRouteBackend) Reset() { @@ -3360,9 +3379,9 @@ func (x *TlsRoute_WeightedRouteBackend) GetWeight() uint32 { } type TlsRoute_Distribution_Empty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TlsRoute_Distribution_Empty) Reset() { @@ -3396,11 +3415,10 @@ func (*TlsRoute_Distribution_Empty) Descriptor() ([]byte, []int) { } type TlsRoute_Distribution_FirstAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*TlsRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*TlsRoute_RouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TlsRoute_Distribution_FirstAvailable) Reset() { @@ -3441,11 +3459,10 @@ func (x *TlsRoute_Distribution_FirstAvailable) GetBackends() []*TlsRoute_RouteBa } type TlsRoute_Distribution_RandomAvailable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Backends []*TlsRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` unknownFields protoimpl.UnknownFields - - Backends []*TlsRoute_WeightedRouteBackend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TlsRoute_Distribution_RandomAvailable) Reset() { @@ -3487,14 +3504,13 @@ func (x *TlsRoute_Distribution_RandomAvailable) GetBackends() []*TlsRoute_Weight // A strategy for discovering endpoints for a service. type Backend_EndpointDiscovery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *Backend_EndpointDiscovery_Dst - Kind isBackend_EndpointDiscovery_Kind `protobuf_oneof:"kind"` + Kind isBackend_EndpointDiscovery_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Backend_EndpointDiscovery) Reset() { @@ -3527,16 +3543,18 @@ func (*Backend_EndpointDiscovery) Descriptor() ([]byte, []int) { return file_outbound_proto_rawDescGZIP(), []int{7, 0} } -func (m *Backend_EndpointDiscovery) GetKind() isBackend_EndpointDiscovery_Kind { - if m != nil { - return m.Kind +func (x *Backend_EndpointDiscovery) GetKind() isBackend_EndpointDiscovery_Kind { + if x != nil { + return x.Kind } return nil } func (x *Backend_EndpointDiscovery) GetDst() *Backend_EndpointDiscovery_DestinationGet { - if x, ok := x.GetKind().(*Backend_EndpointDiscovery_Dst); ok { - return x.Dst + if x != nil { + if x, ok := x.Kind.(*Backend_EndpointDiscovery_Dst); ok { + return x.Dst + } } return nil } @@ -3555,17 +3573,16 @@ func (*Backend_EndpointDiscovery_Dst) isBackend_EndpointDiscovery_Kind() {} // Describes a power-of-two-choices (P2C) load balancer configuration for a // backend. type Backend_BalanceP2C struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Discovery *Backend_EndpointDiscovery `protobuf:"bytes,1,opt,name=discovery,proto3" json:"discovery,omitempty"` // The load estimation strategy used by this load balancer. // - // Types that are assignable to Load: + // Types that are valid to be assigned to Load: // // *Backend_BalanceP2C_PeakEwma_ - Load isBackend_BalanceP2C_Load `protobuf_oneof:"load"` + Load isBackend_BalanceP2C_Load `protobuf_oneof:"load"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Backend_BalanceP2C) Reset() { @@ -3605,16 +3622,18 @@ func (x *Backend_BalanceP2C) GetDiscovery() *Backend_EndpointDiscovery { return nil } -func (m *Backend_BalanceP2C) GetLoad() isBackend_BalanceP2C_Load { - if m != nil { - return m.Load +func (x *Backend_BalanceP2C) GetLoad() isBackend_BalanceP2C_Load { + if x != nil { + return x.Load } return nil } func (x *Backend_BalanceP2C) GetPeakEwma() *Backend_BalanceP2C_PeakEwma { - if x, ok := x.GetLoad().(*Backend_BalanceP2C_PeakEwma_); ok { - return x.PeakEwma + if x != nil { + if x, ok := x.Load.(*Backend_BalanceP2C_PeakEwma_); ok { + return x.PeakEwma + } } return nil } @@ -3632,11 +3651,10 @@ type Backend_BalanceP2C_PeakEwma_ struct { func (*Backend_BalanceP2C_PeakEwma_) isBackend_BalanceP2C_Load() {} type Backend_EndpointDiscovery_DestinationGet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Backend_EndpointDiscovery_DestinationGet) Reset() { @@ -3678,15 +3696,14 @@ func (x *Backend_EndpointDiscovery_DestinationGet) GetPath() string { // Parameters configuring peak EWMA load estimation. type Backend_BalanceP2C_PeakEwma struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Initial latency value used when no latencies have been // recorded for an endpoint. DefaultRtt *duration.Duration `protobuf:"bytes,1,opt,name=default_rtt,json=defaultRtt,proto3" json:"default_rtt,omitempty"` // The duration of the moving window over which latency is observed. - Decay *duration.Duration `protobuf:"bytes,2,opt,name=decay,proto3" json:"decay,omitempty"` + Decay *duration.Duration `protobuf:"bytes,2,opt,name=decay,proto3" json:"decay,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Backend_BalanceP2C_PeakEwma) Reset() { @@ -3734,12 +3751,11 @@ func (x *Backend_BalanceP2C_PeakEwma) GetDecay() *duration.Duration { } type FailureAccrual_ConsecutiveFailures struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + MaxFailures uint32 `protobuf:"varint,1,opt,name=max_failures,json=maxFailures,proto3" json:"max_failures,omitempty"` + Backoff *ExponentialBackoff `protobuf:"bytes,2,opt,name=backoff,proto3" json:"backoff,omitempty"` unknownFields protoimpl.UnknownFields - - MaxFailures uint32 `protobuf:"varint,1,opt,name=max_failures,json=maxFailures,proto3" json:"max_failures,omitempty"` - Backoff *ExponentialBackoff `protobuf:"bytes,2,opt,name=backoff,proto3" json:"backoff,omitempty"` + sizeCache protoimpl.SizeCache } func (x *FailureAccrual_ConsecutiveFailures) Reset() { @@ -3788,695 +3804,246 @@ func (x *FailureAccrual_ConsecutiveFailures) GetBackoff() *ExponentialBackoff { var File_outbound_proto protoreflect.FileDescriptor -var file_outbound_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x19, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x09, 0x6e, 0x65, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x74, 0x6c, 0x73, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x68, 0x74, - 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0x22, 0x98, - 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x27, - 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x36, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x63, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, - 0x1e, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, - 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x0e, 0x4f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xba, 0x0a, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x12, 0x49, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x74, 0x65, - 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x12, 0x49, 0x0a, 0x06, - 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x48, 0x00, 0x52, - 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x68, 0x74, 0x74, 0x70, 0x31, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x48, 0x00, 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x31, 0x12, - 0x46, 0x0a, 0x05, 0x68, 0x74, 0x74, 0x70, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x48, 0x00, - 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x32, 0x12, 0x43, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x63, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, - 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x04, 0x67, 0x72, 0x70, 0x63, 0x12, 0x40, 0x0a, 0x03, - 0x74, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x92, - 0x02, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 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, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, - 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, - 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x05, 0x68, 0x74, 0x74, 0x70, 0x31, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x31, 0x12, 0x44, 0x0a, - 0x05, 0x68, 0x74, 0x74, 0x70, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x52, 0x05, 0x68, 0x74, - 0x74, 0x70, 0x32, 0x1a, 0x48, 0x0a, 0x06, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3e, 0x0a, - 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x99, 0x01, - 0x0a, 0x05, 0x48, 0x74, 0x74, 0x70, 0x31, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x72, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x41, 0x63, 0x63, 0x72, 0x75, 0x61, 0x6c, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x41, 0x63, 0x63, 0x72, 0x75, 0x61, 0x6c, 0x1a, 0x99, 0x01, 0x0a, 0x05, 0x48, 0x74, - 0x74, 0x70, 0x32, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x72, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x63, - 0x63, 0x72, 0x75, 0x61, 0x6c, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x63, - 0x63, 0x72, 0x75, 0x61, 0x6c, 0x1a, 0x98, 0x01, 0x0a, 0x04, 0x47, 0x72, 0x70, 0x63, 0x12, 0x3c, - 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, - 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x72, 0x75, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x72, 0x75, 0x61, 0x6c, - 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x72, 0x75, 0x61, 0x6c, - 0x1a, 0x42, 0x0a, 0x03, 0x54, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xa0, 0x13, 0x0a, - 0x09, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, - 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xea, 0x03, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, - 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, - 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, - 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x0e, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x08, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x52, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x6c, 0x35, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x4c, 0x35, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x1a, 0x9a, 0x03, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5d, - 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x6c, 0x0a, - 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x08, 0x72, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x6f, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x1a, 0x98, 0x04, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x4f, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, - 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x6b, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, - 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, - 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, - 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x6e, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0f, - 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x1a, - 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x5f, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, - 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x1a, 0x68, 0x0a, 0x0f, 0x52, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x08, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xd7, 0x03, 0x0a, 0x05, - 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, - 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 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, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, - 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x52, 0x07, - 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x1a, 0xab, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x35, - 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x65, 0x6e, 0x64, 0x1a, 0xda, 0x01, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x45, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x1a, 0x7b, 0x0a, 0x14, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x4b, 0x0a, 0x07, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, - 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, - 0xfa, 0x11, 0x0a, 0x09, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3b, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x05, 0x68, 0x6f, - 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xea, 0x03, 0x0a, 0x04, 0x52, 0x75, - 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x4d, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, - 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, - 0x45, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 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, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x52, - 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x72, 0x65, 0x74, - 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, - 0x65, 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x19, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x35, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x35, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xdd, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x5d, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x46, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, - 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x12, 0x6c, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x98, 0x04, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, - 0x00, 0x52, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6b, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, - 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x5f, - 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x4d, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, - 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x1a, - 0x68, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, - 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x1a, 0xee, 0x03, 0x0a, 0x05, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, - 0x6b, 0x6f, 0x66, 0x66, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x1a, 0xc2, 0x01, - 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, - 0x61, 0x64, 0x69, 0x6e, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x63, - 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x78, 0x68, 0x61, 0x75, - 0x73, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x1a, 0xda, 0x01, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x12, 0x45, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, - 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, - 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, - 0x7b, 0x0a, 0x14, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x4b, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x99, 0x0a, 0x0a, - 0x0b, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xa0, 0x01, 0x0a, - 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, - 0x9e, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x48, - 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x66, - 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x1a, 0xa2, 0x04, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x51, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, - 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6d, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x70, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x61, - 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x4f, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x73, 0x1a, 0x6a, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x42, 0x06, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x9b, 0x01, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x47, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x4a, 0x04, 0x08, - 0x02, 0x10, 0x03, 0x1a, 0x7d, 0x0a, 0x14, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xb2, 0x0a, 0x0a, 0x08, 0x54, 0x6c, 0x73, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x73, 0x6e, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x53, 0x6e, - 0x69, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x73, 0x6e, 0x69, 0x73, 0x12, 0x3e, 0x0a, 0x05, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, - 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, - 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x9e, 0x01, 0x0a, 0x06, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x00, 0x52, - 0x07, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x62, - 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x62, - 0x69, 0x64, 0x64, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, - 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x93, 0x04, 0x0a, 0x0c, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x05, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6a, 0x0a, 0x0f, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x6d, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x64, 0x6f, - 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x6c, - 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x5e, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, - 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x1a, - 0x67, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x08, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x1a, 0x98, 0x01, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, - 0x44, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x6c, 0x73, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0x7a, 0x0a, 0x14, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xf3, 0x05, - 0x0a, 0x07, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, - 0x64, 0x64, 0x72, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4b, - 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x32, 0x63, 0x48, - 0x00, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x05, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, - 0x65, 0x75, 0x65, 0x1a, 0x9a, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x57, 0x0a, 0x03, 0x64, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x48, 0x00, 0x52, 0x03, 0x64, - 0x73, 0x74, 0x1a, 0x24, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x47, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x1a, 0xb8, 0x02, 0x0a, 0x0a, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x32, 0x63, 0x12, - 0x52, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, - 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, - 0x65, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x65, 0x61, 0x6b, 0x5f, 0x65, 0x77, 0x6d, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x50, 0x32, 0x63, 0x2e, 0x50, 0x65, 0x61, 0x6b, 0x45, 0x77, 0x6d, 0x61, 0x48, 0x00, - 0x52, 0x08, 0x70, 0x65, 0x61, 0x6b, 0x45, 0x77, 0x6d, 0x61, 0x1a, 0x77, 0x0a, 0x08, 0x50, 0x65, - 0x61, 0x6b, 0x45, 0x77, 0x6d, 0x61, 0x12, 0x3a, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x72, 0x74, 0x74, 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, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, - 0x74, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x64, 0x65, 0x63, 0x61, 0x79, 0x18, 0x02, 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, 0x05, 0x64, 0x65, - 0x63, 0x61, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x22, 0x69, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, - 0x66, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 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, 0x0f, 0x66, - 0x61, 0x69, 0x6c, 0x66, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x90, - 0x02, 0x0a, 0x0e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x72, 0x75, 0x61, - 0x6c, 0x12, 0x72, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x46, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x72, 0x75, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x48, 0x00, - 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x81, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, - 0x12, 0x47, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x3a, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 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, 0x0a, 0x6d, 0x69, 0x6e, 0x42, 0x61, 0x63, - 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x3a, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x63, 0x6b, - 0x6f, 0x66, 0x66, 0x18, 0x02, 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, 0x0a, 0x6d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x12, 0x21, 0x0a, 0x0c, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x61, - 0x74, 0x69, 0x6f, 0x32, 0xce, 0x01, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, - 0x26, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x72, 0x61, 0x66, - 0x66, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, - 0x63, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0x00, 0x30, 0x01, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, - 0x2f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} +const file_outbound_proto_rawDesc = "" + + "\n" + + "\x0eoutbound.proto\x12\x19io.linkerd.proxy.outbound\x1a\tnet.proto\x1a\x11destination.proto\x1a\n" + + "meta.proto\x1a\x10grpc_route.proto\x1a\x12opaque_route.proto\x1a\x0ftls_route.proto\x1a\x10http_route.proto\x1a\x1egoogle/protobuf/duration.proto\"\x98\x01\n" + + "\vTrafficSpec\x12'\n" + + "\x0fsource_workload\x18\x01 \x01(\tR\x0esourceWorkload\x126\n" + + "\x04addr\x18\x02 \x01(\v2 .io.linkerd.proxy.net.TcpAddressH\x00R\x04addr\x12\x1e\n" + + "\tauthority\x18\x03 \x01(\tH\x00R\tauthorityB\b\n" + + "\x06target\"\x93\x01\n" + + "\x0eOutboundPolicy\x12D\n" + + "\bprotocol\x18\x01 \x01(\v2(.io.linkerd.proxy.outbound.ProxyProtocolR\bprotocol\x12;\n" + + "\bmetadata\x18\x02 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\"\xba\n" + + "\n" + + "\rProxyProtocol\x12I\n" + + "\x06detect\x18\x01 \x01(\v2/.io.linkerd.proxy.outbound.ProxyProtocol.DetectH\x00R\x06detect\x12I\n" + + "\x06opaque\x18\x02 \x01(\v2/.io.linkerd.proxy.outbound.ProxyProtocol.OpaqueH\x00R\x06opaque\x12F\n" + + "\x05http1\x18\x03 \x01(\v2..io.linkerd.proxy.outbound.ProxyProtocol.Http1H\x00R\x05http1\x12F\n" + + "\x05http2\x18\x04 \x01(\v2..io.linkerd.proxy.outbound.ProxyProtocol.Http2H\x00R\x05http2\x12C\n" + + "\x04grpc\x18\x05 \x01(\v2-.io.linkerd.proxy.outbound.ProxyProtocol.GrpcH\x00R\x04grpc\x12@\n" + + "\x03tls\x18\x06 \x01(\v2,.io.linkerd.proxy.outbound.ProxyProtocol.TlsH\x00R\x03tls\x1a\x92\x02\n" + + "\x06Detect\x123\n" + + "\atimeout\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x12G\n" + + "\x06opaque\x18\x02 \x01(\v2/.io.linkerd.proxy.outbound.ProxyProtocol.OpaqueR\x06opaque\x12D\n" + + "\x05http1\x18\x03 \x01(\v2..io.linkerd.proxy.outbound.ProxyProtocol.Http1R\x05http1\x12D\n" + + "\x05http2\x18\x04 \x01(\v2..io.linkerd.proxy.outbound.ProxyProtocol.Http2R\x05http2\x1aH\n" + + "\x06Opaque\x12>\n" + + "\x06routes\x18\x01 \x03(\v2&.io.linkerd.proxy.outbound.OpaqueRouteR\x06routes\x1a\x99\x01\n" + + "\x05Http1\x12<\n" + + "\x06routes\x18\x01 \x03(\v2$.io.linkerd.proxy.outbound.HttpRouteR\x06routes\x12R\n" + + "\x0ffailure_accrual\x18\x02 \x01(\v2).io.linkerd.proxy.outbound.FailureAccrualR\x0efailureAccrual\x1a\x99\x01\n" + + "\x05Http2\x12<\n" + + "\x06routes\x18\x01 \x03(\v2$.io.linkerd.proxy.outbound.HttpRouteR\x06routes\x12R\n" + + "\x0ffailure_accrual\x18\x02 \x01(\v2).io.linkerd.proxy.outbound.FailureAccrualR\x0efailureAccrual\x1a\x98\x01\n" + + "\x04Grpc\x12<\n" + + "\x06routes\x18\x01 \x03(\v2$.io.linkerd.proxy.outbound.GrpcRouteR\x06routes\x12R\n" + + "\x0ffailure_accrual\x18\x02 \x01(\v2).io.linkerd.proxy.outbound.FailureAccrualR\x0efailureAccrual\x1aB\n" + + "\x03Tls\x12;\n" + + "\x06routes\x18\x01 \x03(\v2#.io.linkerd.proxy.outbound.TlsRouteR\x06routesB\x06\n" + + "\x04kind\"\xa0\x13\n" + + "\tHttpRoute\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x12<\n" + + "\x05hosts\x18\x02 \x03(\v2&.io.linkerd.proxy.http_route.HostMatchR\x05hosts\x12?\n" + + "\x05rules\x18\x03 \x03(\v2).io.linkerd.proxy.outbound.HttpRoute.RuleR\x05rules\x1a\xea\x03\n" + + "\x04Rule\x12E\n" + + "\amatches\x18\x01 \x03(\v2+.io.linkerd.proxy.http_route.HttpRouteMatchR\amatches\x12E\n" + + "\afilters\x18\x02 \x03(\v2+.io.linkerd.proxy.outbound.HttpRoute.FilterR\afilters\x12M\n" + + "\bbackends\x18\x03 \x01(\v21.io.linkerd.proxy.outbound.HttpRoute.DistributionR\bbackends\x12E\n" + + "\x0erequestTimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\x02\x18\x01R\x0erequestTimeout\x12A\n" + + "\btimeouts\x18\x05 \x01(\v2%.io.linkerd.proxy.http_route.TimeoutsR\btimeouts\x12@\n" + + "\x05retry\x18\x06 \x01(\v2*.io.linkerd.proxy.outbound.HttpRoute.RetryR\x05retry\x129\n" + + "\x19allow_l5d_request_headers\x18\a \x01(\bR\x16allowL5dRequestHeaders\x1a\x9a\x03\n" + + "\x06Filter\x12]\n" + + "\x10failure_injector\x18\x01 \x01(\v20.io.linkerd.proxy.http_route.HttpFailureInjectorH\x00R\x0ffailureInjector\x12l\n" + + "\x17request_header_modifier\x18\x02 \x01(\v22.io.linkerd.proxy.http_route.RequestHeaderModifierH\x00R\x15requestHeaderModifier\x12J\n" + + "\bredirect\x18\x03 \x01(\v2,.io.linkerd.proxy.http_route.RequestRedirectH\x00R\bredirect\x12o\n" + + "\x18response_header_modifier\x18\x04 \x01(\v23.io.linkerd.proxy.http_route.ResponseHeaderModifierH\x00R\x16responseHeaderModifierB\x06\n" + + "\x04kind\x1a\x98\x04\n" + + "\fDistribution\x12O\n" + + "\x05empty\x18\x01 \x01(\v27.io.linkerd.proxy.outbound.HttpRoute.Distribution.EmptyH\x00R\x05empty\x12k\n" + + "\x0ffirst_available\x18\x02 \x01(\v2@.io.linkerd.proxy.outbound.HttpRoute.Distribution.FirstAvailableH\x00R\x0efirstAvailable\x12n\n" + + "\x10random_available\x18\x03 \x01(\v2A.io.linkerd.proxy.outbound.HttpRoute.Distribution.RandomAvailableH\x00R\x0frandomAvailable\x1a\a\n" + + "\x05Empty\x1a_\n" + + "\x0eFirstAvailable\x12M\n" + + "\bbackends\x18\x01 \x03(\v21.io.linkerd.proxy.outbound.HttpRoute.RouteBackendR\bbackends\x1ah\n" + + "\x0fRandomAvailable\x12U\n" + + "\bbackends\x18\x01 \x03(\v29.io.linkerd.proxy.outbound.HttpRoute.WeightedRouteBackendR\bbackendsB\x06\n" + + "\x04kind\x1a\xd7\x03\n" + + "\x05Retry\x12\x1f\n" + + "\vmax_retries\x18\x01 \x01(\rR\n" + + "maxRetries\x12*\n" + + "\x11max_request_bytes\x18\x02 \x01(\rR\x0fmaxRequestBytes\x12U\n" + + "\n" + + "conditions\x18\x03 \x01(\v25.io.linkerd.proxy.outbound.HttpRoute.Retry.ConditionsR\n" + + "conditions\x123\n" + + "\atimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x12G\n" + + "\abackoff\x18\x05 \x01(\v2-.io.linkerd.proxy.outbound.ExponentialBackoffR\abackoff\x1a\xab\x01\n" + + "\n" + + "Conditions\x12f\n" + + "\rstatus_ranges\x18\x01 \x03(\v2A.io.linkerd.proxy.outbound.HttpRoute.Retry.Conditions.StatusRangeR\fstatusRanges\x1a5\n" + + "\vStatusRange\x12\x14\n" + + "\x05start\x18\x01 \x01(\rR\x05start\x12\x10\n" + + "\x03end\x18\x02 \x01(\rR\x03end\x1a\xda\x01\n" + + "\fRouteBackend\x12<\n" + + "\abackend\x18\x01 \x01(\v2\".io.linkerd.proxy.outbound.BackendR\abackend\x12E\n" + + "\afilters\x18\x03 \x03(\v2+.io.linkerd.proxy.outbound.HttpRoute.FilterR\afilters\x12E\n" + + "\x0erequestTimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\x02\x18\x01R\x0erequestTimeout\x1a{\n" + + "\x14WeightedRouteBackend\x12K\n" + + "\abackend\x18\x01 \x01(\v21.io.linkerd.proxy.outbound.HttpRoute.RouteBackendR\abackend\x12\x16\n" + + "\x06weight\x18\x02 \x01(\rR\x06weight\"\xfa\x11\n" + + "\tGrpcRoute\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x12<\n" + + "\x05hosts\x18\x02 \x03(\v2&.io.linkerd.proxy.http_route.HostMatchR\x05hosts\x12?\n" + + "\x05rules\x18\x03 \x03(\v2).io.linkerd.proxy.outbound.GrpcRoute.RuleR\x05rules\x1a\xea\x03\n" + + "\x04Rule\x12E\n" + + "\amatches\x18\x01 \x03(\v2+.io.linkerd.proxy.grpc_route.GrpcRouteMatchR\amatches\x12E\n" + + "\afilters\x18\x02 \x03(\v2+.io.linkerd.proxy.outbound.GrpcRoute.FilterR\afilters\x12M\n" + + "\bbackends\x18\x03 \x01(\v21.io.linkerd.proxy.outbound.GrpcRoute.DistributionR\bbackends\x12E\n" + + "\x0erequestTimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\x02\x18\x01R\x0erequestTimeout\x12A\n" + + "\btimeouts\x18\x05 \x01(\v2%.io.linkerd.proxy.http_route.TimeoutsR\btimeouts\x12@\n" + + "\x05retry\x18\x06 \x01(\v2*.io.linkerd.proxy.outbound.GrpcRoute.RetryR\x05retry\x129\n" + + "\x19allow_l5d_request_headers\x18\a \x01(\bR\x16allowL5dRequestHeaders\x1a\xdd\x01\n" + + "\x06Filter\x12]\n" + + "\x10failure_injector\x18\x01 \x01(\v20.io.linkerd.proxy.grpc_route.GrpcFailureInjectorH\x00R\x0ffailureInjector\x12l\n" + + "\x17request_header_modifier\x18\x02 \x01(\v22.io.linkerd.proxy.http_route.RequestHeaderModifierH\x00R\x15requestHeaderModifierB\x06\n" + + "\x04kind\x1a\x98\x04\n" + + "\fDistribution\x12O\n" + + "\x05empty\x18\x01 \x01(\v27.io.linkerd.proxy.outbound.GrpcRoute.Distribution.EmptyH\x00R\x05empty\x12k\n" + + "\x0ffirst_available\x18\x02 \x01(\v2@.io.linkerd.proxy.outbound.GrpcRoute.Distribution.FirstAvailableH\x00R\x0efirstAvailable\x12n\n" + + "\x10random_available\x18\x03 \x01(\v2A.io.linkerd.proxy.outbound.GrpcRoute.Distribution.RandomAvailableH\x00R\x0frandomAvailable\x1a\a\n" + + "\x05Empty\x1a_\n" + + "\x0eFirstAvailable\x12M\n" + + "\bbackends\x18\x01 \x03(\v21.io.linkerd.proxy.outbound.GrpcRoute.RouteBackendR\bbackends\x1ah\n" + + "\x0fRandomAvailable\x12U\n" + + "\bbackends\x18\x01 \x03(\v29.io.linkerd.proxy.outbound.GrpcRoute.WeightedRouteBackendR\bbackendsB\x06\n" + + "\x04kind\x1a\xee\x03\n" + + "\x05Retry\x12\x1f\n" + + "\vmax_retries\x18\x01 \x01(\rR\n" + + "maxRetries\x12*\n" + + "\x11max_request_bytes\x18\x02 \x01(\rR\x0fmaxRequestBytes\x12U\n" + + "\n" + + "conditions\x18\x03 \x01(\v25.io.linkerd.proxy.outbound.GrpcRoute.Retry.ConditionsR\n" + + "conditions\x123\n" + + "\atimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x12G\n" + + "\abackoff\x18\x05 \x01(\v2-.io.linkerd.proxy.outbound.ExponentialBackoffR\abackoff\x1a\xc2\x01\n" + + "\n" + + "Conditions\x12\x1c\n" + + "\tcancelled\x18\x01 \x01(\bR\tcancelled\x12)\n" + + "\x10deadine_exceeded\x18\x04 \x01(\bR\x0fdeadineExceeded\x12-\n" + + "\x12resource_exhausted\x18\b \x01(\bR\x11resourceExhausted\x12\x1a\n" + + "\binternal\x18\r \x01(\bR\binternal\x12 \n" + + "\vunavailable\x18\x0e \x01(\bR\vunavailable\x1a\xda\x01\n" + + "\fRouteBackend\x12<\n" + + "\abackend\x18\x01 \x01(\v2\".io.linkerd.proxy.outbound.BackendR\abackend\x12E\n" + + "\afilters\x18\x03 \x03(\v2+.io.linkerd.proxy.outbound.GrpcRoute.FilterR\afilters\x12E\n" + + "\x0erequestTimeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\x02\x18\x01R\x0erequestTimeout\x1a{\n" + + "\x14WeightedRouteBackend\x12K\n" + + "\abackend\x18\x01 \x01(\v21.io.linkerd.proxy.outbound.GrpcRoute.RouteBackendR\abackend\x12\x16\n" + + "\x06weight\x18\x02 \x01(\rR\x06weight\"\x99\n" + + "\n" + + "\vOpaqueRoute\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x12A\n" + + "\x05rules\x18\x03 \x03(\v2+.io.linkerd.proxy.outbound.OpaqueRoute.RuleR\x05rules\x1a\xa0\x01\n" + + "\x04Rule\x12O\n" + + "\bbackends\x18\x01 \x01(\v23.io.linkerd.proxy.outbound.OpaqueRoute.DistributionR\bbackends\x12G\n" + + "\afilters\x18\x02 \x03(\v2-.io.linkerd.proxy.outbound.OpaqueRoute.FilterR\afilters\x1a\x9e\x01\n" + + "\x06Filter\x12B\n" + + "\ainvalid\x18\x01 \x01(\v2&.io.linkerd.proxy.opaque_route.InvalidH\x00R\ainvalid\x12H\n" + + "\tforbidden\x18\x02 \x01(\v2(.io.linkerd.proxy.opaque_route.ForbiddenH\x00R\tforbiddenB\x06\n" + + "\x04kind\x1a\xa2\x04\n" + + "\fDistribution\x12Q\n" + + "\x05empty\x18\x01 \x01(\v29.io.linkerd.proxy.outbound.OpaqueRoute.Distribution.EmptyH\x00R\x05empty\x12m\n" + + "\x0ffirst_available\x18\x02 \x01(\v2B.io.linkerd.proxy.outbound.OpaqueRoute.Distribution.FirstAvailableH\x00R\x0efirstAvailable\x12p\n" + + "\x10random_available\x18\x03 \x01(\v2C.io.linkerd.proxy.outbound.OpaqueRoute.Distribution.RandomAvailableH\x00R\x0frandomAvailable\x1a\a\n" + + "\x05Empty\x1aa\n" + + "\x0eFirstAvailable\x12O\n" + + "\bbackends\x18\x01 \x03(\v23.io.linkerd.proxy.outbound.OpaqueRoute.RouteBackendR\bbackends\x1aj\n" + + "\x0fRandomAvailable\x12W\n" + + "\bbackends\x18\x01 \x03(\v2;.io.linkerd.proxy.outbound.OpaqueRoute.WeightedRouteBackendR\bbackendsB\x06\n" + + "\x04kind\x1a\x9b\x01\n" + + "\fRouteBackend\x12<\n" + + "\abackend\x18\x01 \x01(\v2\".io.linkerd.proxy.outbound.BackendR\abackend\x12G\n" + + "\afilters\x18\x03 \x03(\v2-.io.linkerd.proxy.outbound.OpaqueRoute.FilterR\afiltersJ\x04\b\x02\x10\x03\x1a}\n" + + "\x14WeightedRouteBackend\x12M\n" + + "\abackend\x18\x01 \x01(\v23.io.linkerd.proxy.outbound.OpaqueRoute.RouteBackendR\abackend\x12\x16\n" + + "\x06weight\x18\x02 \x01(\rR\x06weightJ\x04\b\x04\x10\x05\"\xb2\n" + + "\n" + + "\bTlsRoute\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x128\n" + + "\x04snis\x18\x02 \x03(\v2$.io.linkerd.proxy.tls_route.SniMatchR\x04snis\x12>\n" + + "\x05rules\x18\x03 \x03(\v2(.io.linkerd.proxy.outbound.TlsRoute.RuleR\x05rules\x1a\x9a\x01\n" + + "\x04Rule\x12L\n" + + "\bbackends\x18\x01 \x01(\v20.io.linkerd.proxy.outbound.TlsRoute.DistributionR\bbackends\x12D\n" + + "\afilters\x18\x02 \x03(\v2*.io.linkerd.proxy.outbound.TlsRoute.FilterR\afilters\x1a\x9e\x01\n" + + "\x06Filter\x12B\n" + + "\ainvalid\x18\x01 \x01(\v2&.io.linkerd.proxy.opaque_route.InvalidH\x00R\ainvalid\x12H\n" + + "\tforbidden\x18\x02 \x01(\v2(.io.linkerd.proxy.opaque_route.ForbiddenH\x00R\tforbiddenB\x06\n" + + "\x04kind\x1a\x93\x04\n" + + "\fDistribution\x12N\n" + + "\x05empty\x18\x01 \x01(\v26.io.linkerd.proxy.outbound.TlsRoute.Distribution.EmptyH\x00R\x05empty\x12j\n" + + "\x0ffirst_available\x18\x02 \x01(\v2?.io.linkerd.proxy.outbound.TlsRoute.Distribution.FirstAvailableH\x00R\x0efirstAvailable\x12m\n" + + "\x10random_available\x18\x03 \x01(\v2@.io.linkerd.proxy.outbound.TlsRoute.Distribution.RandomAvailableH\x00R\x0frandomAvailable\x1a\a\n" + + "\x05Empty\x1a^\n" + + "\x0eFirstAvailable\x12L\n" + + "\bbackends\x18\x01 \x03(\v20.io.linkerd.proxy.outbound.TlsRoute.RouteBackendR\bbackends\x1ag\n" + + "\x0fRandomAvailable\x12T\n" + + "\bbackends\x18\x01 \x03(\v28.io.linkerd.proxy.outbound.TlsRoute.WeightedRouteBackendR\bbackendsB\x06\n" + + "\x04kind\x1a\x98\x01\n" + + "\fRouteBackend\x12<\n" + + "\abackend\x18\x01 \x01(\v2\".io.linkerd.proxy.outbound.BackendR\abackend\x12D\n" + + "\afilters\x18\x03 \x03(\v2*.io.linkerd.proxy.outbound.TlsRoute.FilterR\afiltersJ\x04\b\x02\x10\x03\x1az\n" + + "\x14WeightedRouteBackend\x12J\n" + + "\abackend\x18\x01 \x01(\v20.io.linkerd.proxy.outbound.TlsRoute.RouteBackendR\abackend\x12\x16\n" + + "\x06weight\x18\x02 \x01(\rR\x06weightJ\x04\b\x04\x10\x05\"\xf3\x05\n" + + "\aBackend\x12;\n" + + "\bmetadata\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.meta.MetadataR\bmetadata\x12F\n" + + "\aforward\x18\x02 \x01(\v2*.io.linkerd.proxy.destination.WeightedAddrH\x00R\aforward\x12K\n" + + "\bbalancer\x18\x03 \x01(\v2-.io.linkerd.proxy.outbound.Backend.BalanceP2cH\x00R\bbalancer\x126\n" + + "\x05queue\x18\x04 \x01(\v2 .io.linkerd.proxy.outbound.QueueR\x05queue\x1a\x9a\x01\n" + + "\x11EndpointDiscovery\x12W\n" + + "\x03dst\x18\x01 \x01(\v2C.io.linkerd.proxy.outbound.Backend.EndpointDiscovery.DestinationGetH\x00R\x03dst\x1a$\n" + + "\x0eDestinationGet\x12\x12\n" + + "\x04path\x18\x01 \x01(\tR\x04pathB\x06\n" + + "\x04kind\x1a\xb8\x02\n" + + "\n" + + "BalanceP2c\x12R\n" + + "\tdiscovery\x18\x01 \x01(\v24.io.linkerd.proxy.outbound.Backend.EndpointDiscoveryR\tdiscovery\x12U\n" + + "\tpeak_ewma\x18\x02 \x01(\v26.io.linkerd.proxy.outbound.Backend.BalanceP2c.PeakEwmaH\x00R\bpeakEwma\x1aw\n" + + "\bPeakEwma\x12:\n" + + "\vdefault_rtt\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\n" + + "defaultRtt\x12/\n" + + "\x05decay\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x05decayB\x06\n" + + "\x04loadB\x06\n" + + "\x04kind\"i\n" + + "\x05Queue\x12\x1a\n" + + "\bcapacity\x18\x01 \x01(\rR\bcapacity\x12D\n" + + "\x10failfast_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x0ffailfastTimeout\"\x90\x02\n" + + "\x0eFailureAccrual\x12r\n" + + "\x14consecutive_failures\x18\x01 \x01(\v2=.io.linkerd.proxy.outbound.FailureAccrual.ConsecutiveFailuresH\x00R\x13consecutiveFailures\x1a\x81\x01\n" + + "\x13ConsecutiveFailures\x12!\n" + + "\fmax_failures\x18\x01 \x01(\rR\vmaxFailures\x12G\n" + + "\abackoff\x18\x02 \x01(\v2-.io.linkerd.proxy.outbound.ExponentialBackoffR\abackoffB\x06\n" + + "\x04kind\"\xaf\x01\n" + + "\x12ExponentialBackoff\x12:\n" + + "\vmin_backoff\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\n" + + "minBackoff\x12:\n" + + "\vmax_backoff\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\n" + + "maxBackoff\x12!\n" + + "\fjitter_ratio\x18\x03 \x01(\x02R\vjitterRatio2\xce\x01\n" + + "\x10OutboundPolicies\x12Z\n" + + "\x03Get\x12&.io.linkerd.proxy.outbound.TrafficSpec\x1a).io.linkerd.proxy.outbound.OutboundPolicy\"\x00\x12^\n" + + "\x05Watch\x12&.io.linkerd.proxy.outbound.TrafficSpec\x1a).io.linkerd.proxy.outbound.OutboundPolicy\"\x000\x01B3Z1github.com/linkerd/linkerd2-proxy-api/go/outboundb\x06proto3" var ( file_outbound_proto_rawDescOnce sync.Once - file_outbound_proto_rawDescData = file_outbound_proto_rawDesc + file_outbound_proto_rawDescData []byte ) func file_outbound_proto_rawDescGZIP() []byte { file_outbound_proto_rawDescOnce.Do(func() { - file_outbound_proto_rawDescData = protoimpl.X.CompressGZIP(file_outbound_proto_rawDescData) + file_outbound_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_outbound_proto_rawDesc), len(file_outbound_proto_rawDesc))) }) return file_outbound_proto_rawDescData } @@ -4756,7 +4323,7 @@ func file_outbound_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_outbound_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_outbound_proto_rawDesc), len(file_outbound_proto_rawDesc)), NumEnums: 0, NumMessages: 59, NumExtensions: 0, @@ -4767,7 +4334,6 @@ func file_outbound_proto_init() { MessageInfos: file_outbound_proto_msgTypes, }.Build() File_outbound_proto = out.File - file_outbound_proto_rawDesc = nil file_outbound_proto_goTypes = nil file_outbound_proto_depIdxs = nil } diff --git a/go/outbound/outbound_grpc.pb.go b/go/outbound/outbound_grpc.pb.go index d5b870958..cfe134ab7 100644 --- a/go/outbound/outbound_grpc.pb.go +++ b/go/outbound/outbound_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.29.0 +// - protoc v6.30.2 // source: outbound.proto package outbound diff --git a/go/tap/tap.pb.go b/go/tap/tap.pb.go index d8bc38f23..6ed24424a 100644 --- a/go/tap/tap.pb.go +++ b/go/tap/tap.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: tap.proto package tap @@ -14,6 +14,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -73,17 +74,16 @@ func (TapEvent_ProxyDirection) EnumDescriptor() ([]byte, []int) { } type ObserveRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Limits the number of event keys that will be returned by this tap. Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // Encodes request-matching logic. Match *ObserveRequest_Match `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"` // Conditionally extracts components from requests and responses to include // in tap events - Extract *ObserveRequest_Extract `protobuf:"bytes,3,opt,name=extract,proto3" json:"extract,omitempty"` + Extract *ObserveRequest_Extract `protobuf:"bytes,3,opt,name=extract,proto3" json:"extract,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest) Reset() { @@ -138,15 +138,14 @@ func (x *ObserveRequest) GetExtract() *ObserveRequest_Extract { } type Eos struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to End: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to End: // // *Eos_GrpcStatusCode // *Eos_ResetErrorCode - End isEos_End `protobuf_oneof:"end"` + End isEos_End `protobuf_oneof:"end"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Eos) Reset() { @@ -179,23 +178,27 @@ func (*Eos) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{1} } -func (m *Eos) GetEnd() isEos_End { - if m != nil { - return m.End +func (x *Eos) GetEnd() isEos_End { + if x != nil { + return x.End } return nil } func (x *Eos) GetGrpcStatusCode() uint32 { - if x, ok := x.GetEnd().(*Eos_GrpcStatusCode); ok { - return x.GrpcStatusCode + if x != nil { + if x, ok := x.End.(*Eos_GrpcStatusCode); ok { + return x.GrpcStatusCode + } } return 0 } func (x *Eos) GetResetErrorCode() uint32 { - if x, ok := x.GetEnd().(*Eos_ResetErrorCode); ok { - return x.ResetErrorCode + if x != nil { + if x, ok := x.End.(*Eos_ResetErrorCode); ok { + return x.ResetErrorCode + } } return 0 } @@ -217,20 +220,19 @@ func (*Eos_GrpcStatusCode) isEos_End() {} func (*Eos_ResetErrorCode) isEos_End() {} type TapEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Source *net.TcpAddress `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` SourceMeta *TapEvent_EndpointMeta `protobuf:"bytes,5,opt,name=source_meta,json=sourceMeta,proto3" json:"source_meta,omitempty"` RouteMeta *TapEvent_RouteMeta `protobuf:"bytes,7,opt,name=route_meta,json=routeMeta,proto3" json:"route_meta,omitempty"` Destination *net.TcpAddress `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` DestinationMeta *TapEvent_EndpointMeta `protobuf:"bytes,4,opt,name=destination_meta,json=destinationMeta,proto3" json:"destination_meta,omitempty"` ProxyDirection TapEvent_ProxyDirection `protobuf:"varint,6,opt,name=proxy_direction,json=proxyDirection,proto3,enum=io.linkerd.proxy.tap.TapEvent_ProxyDirection" json:"proxy_direction,omitempty"` - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *TapEvent_Http_ - Event isTapEvent_Event `protobuf_oneof:"event"` + Event isTapEvent_Event `protobuf_oneof:"event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TapEvent) Reset() { @@ -305,16 +307,18 @@ func (x *TapEvent) GetProxyDirection() TapEvent_ProxyDirection { return TapEvent_UNKNOWN } -func (m *TapEvent) GetEvent() isTapEvent_Event { - if m != nil { - return m.Event +func (x *TapEvent) GetEvent() isTapEvent_Event { + if x != nil { + return x.Event } return nil } func (x *TapEvent) GetHttp() *TapEvent_Http { - if x, ok := x.GetEvent().(*TapEvent_Http_); ok { - return x.Http + if x != nil { + if x, ok := x.Event.(*TapEvent_Http_); ok { + return x.Http + } } return nil } @@ -330,11 +334,8 @@ type TapEvent_Http_ struct { func (*TapEvent_Http_) isTapEvent_Event() {} type ObserveRequest_Match struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *ObserveRequest_Match_All // *ObserveRequest_Match_Any @@ -344,7 +345,9 @@ type ObserveRequest_Match struct { // *ObserveRequest_Match_Http_ // *ObserveRequest_Match_DestinationLabel // *ObserveRequest_Match_RouteLabel - Match isObserveRequest_Match_Match `protobuf_oneof:"match"` + Match isObserveRequest_Match_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match) Reset() { @@ -377,65 +380,81 @@ func (*ObserveRequest_Match) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{0, 0} } -func (m *ObserveRequest_Match) GetMatch() isObserveRequest_Match_Match { - if m != nil { - return m.Match +func (x *ObserveRequest_Match) GetMatch() isObserveRequest_Match_Match { + if x != nil { + return x.Match } return nil } func (x *ObserveRequest_Match) GetAll() *ObserveRequest_Match_Seq { - if x, ok := x.GetMatch().(*ObserveRequest_Match_All); ok { - return x.All + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_All); ok { + return x.All + } } return nil } func (x *ObserveRequest_Match) GetAny() *ObserveRequest_Match_Seq { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Any); ok { - return x.Any + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Any); ok { + return x.Any + } } return nil } func (x *ObserveRequest_Match) GetNot() *ObserveRequest_Match { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Not); ok { - return x.Not + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Not); ok { + return x.Not + } } return nil } func (x *ObserveRequest_Match) GetSource() *ObserveRequest_Match_Tcp { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Source); ok { - return x.Source + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Source); ok { + return x.Source + } } return nil } func (x *ObserveRequest_Match) GetDestination() *ObserveRequest_Match_Tcp { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Destination); ok { - return x.Destination + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Destination); ok { + return x.Destination + } } return nil } func (x *ObserveRequest_Match) GetHttp() *ObserveRequest_Match_Http { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Http_); ok { - return x.Http + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Http_); ok { + return x.Http + } } return nil } func (x *ObserveRequest_Match) GetDestinationLabel() *ObserveRequest_Match_Label { - if x, ok := x.GetMatch().(*ObserveRequest_Match_DestinationLabel); ok { - return x.DestinationLabel + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_DestinationLabel); ok { + return x.DestinationLabel + } } return nil } func (x *ObserveRequest_Match) GetRouteLabel() *ObserveRequest_Match_Label { - if x, ok := x.GetMatch().(*ObserveRequest_Match_RouteLabel); ok { - return x.RouteLabel + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_RouteLabel); ok { + return x.RouteLabel + } } return nil } @@ -493,14 +512,13 @@ func (*ObserveRequest_Match_DestinationLabel) isObserveRequest_Match_Match() {} func (*ObserveRequest_Match_RouteLabel) isObserveRequest_Match_Match() {} type ObserveRequest_Extract struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Extract: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Extract: // // *ObserveRequest_Extract_Http_ - Extract isObserveRequest_Extract_Extract `protobuf_oneof:"extract"` + Extract isObserveRequest_Extract_Extract `protobuf_oneof:"extract"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Extract) Reset() { @@ -533,16 +551,18 @@ func (*ObserveRequest_Extract) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{0, 1} } -func (m *ObserveRequest_Extract) GetExtract() isObserveRequest_Extract_Extract { - if m != nil { - return m.Extract +func (x *ObserveRequest_Extract) GetExtract() isObserveRequest_Extract_Extract { + if x != nil { + return x.Extract } return nil } func (x *ObserveRequest_Extract) GetHttp() *ObserveRequest_Extract_Http { - if x, ok := x.GetExtract().(*ObserveRequest_Extract_Http_); ok { - return x.Http + if x != nil { + if x, ok := x.Extract.(*ObserveRequest_Extract_Http_); ok { + return x.Http + } } return nil } @@ -558,11 +578,10 @@ type ObserveRequest_Extract_Http_ struct { func (*ObserveRequest_Extract_Http_) isObserveRequest_Extract_Extract() {} type ObserveRequest_Match_Seq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Matches []*ObserveRequest_Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` unknownFields protoimpl.UnknownFields - - Matches []*ObserveRequest_Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match_Seq) Reset() { @@ -603,12 +622,11 @@ func (x *ObserveRequest_Match_Seq) GetMatches() []*ObserveRequest_Match { } type ObserveRequest_Match_Label struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match_Label) Reset() { @@ -656,15 +674,14 @@ func (x *ObserveRequest_Match_Label) GetValue() string { } type ObserveRequest_Match_Tcp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *ObserveRequest_Match_Tcp_Netmask_ // *ObserveRequest_Match_Tcp_Ports - Match isObserveRequest_Match_Tcp_Match `protobuf_oneof:"match"` + Match isObserveRequest_Match_Tcp_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match_Tcp) Reset() { @@ -697,23 +714,27 @@ func (*ObserveRequest_Match_Tcp) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{0, 0, 2} } -func (m *ObserveRequest_Match_Tcp) GetMatch() isObserveRequest_Match_Tcp_Match { - if m != nil { - return m.Match +func (x *ObserveRequest_Match_Tcp) GetMatch() isObserveRequest_Match_Tcp_Match { + if x != nil { + return x.Match } return nil } func (x *ObserveRequest_Match_Tcp) GetNetmask() *ObserveRequest_Match_Tcp_Netmask { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Tcp_Netmask_); ok { - return x.Netmask + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Tcp_Netmask_); ok { + return x.Netmask + } } return nil } func (x *ObserveRequest_Match_Tcp) GetPorts() *ObserveRequest_Match_Tcp_PortRange { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Tcp_Ports); ok { - return x.Ports + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Tcp_Ports); ok { + return x.Ports + } } return nil } @@ -735,17 +756,16 @@ func (*ObserveRequest_Match_Tcp_Netmask_) isObserveRequest_Match_Tcp_Match() {} func (*ObserveRequest_Match_Tcp_Ports) isObserveRequest_Match_Tcp_Match() {} type ObserveRequest_Match_Http struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *ObserveRequest_Match_Http_Scheme // *ObserveRequest_Match_Http_Method // *ObserveRequest_Match_Http_Authority // *ObserveRequest_Match_Http_Path - Match isObserveRequest_Match_Http_Match `protobuf_oneof:"match"` + Match isObserveRequest_Match_Http_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match_Http) Reset() { @@ -778,37 +798,45 @@ func (*ObserveRequest_Match_Http) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{0, 0, 3} } -func (m *ObserveRequest_Match_Http) GetMatch() isObserveRequest_Match_Http_Match { - if m != nil { - return m.Match +func (x *ObserveRequest_Match_Http) GetMatch() isObserveRequest_Match_Http_Match { + if x != nil { + return x.Match } return nil } func (x *ObserveRequest_Match_Http) GetScheme() *http_types.Scheme { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Http_Scheme); ok { - return x.Scheme + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Http_Scheme); ok { + return x.Scheme + } } return nil } func (x *ObserveRequest_Match_Http) GetMethod() *http_types.HttpMethod { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Http_Method); ok { - return x.Method + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Http_Method); ok { + return x.Method + } } return nil } func (x *ObserveRequest_Match_Http) GetAuthority() *ObserveRequest_Match_Http_StringMatch { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Http_Authority); ok { - return x.Authority + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Http_Authority); ok { + return x.Authority + } } return nil } func (x *ObserveRequest_Match_Http) GetPath() *ObserveRequest_Match_Http_StringMatch { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Http_Path); ok { - return x.Path + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Http_Path); ok { + return x.Path + } } return nil } @@ -842,12 +870,11 @@ func (*ObserveRequest_Match_Http_Authority) isObserveRequest_Match_Http_Match() func (*ObserveRequest_Match_Http_Path) isObserveRequest_Match_Http_Match() {} type ObserveRequest_Match_Tcp_Netmask struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ip *net.IPAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` + Mask uint32 `protobuf:"varint,2,opt,name=mask,proto3" json:"mask,omitempty"` unknownFields protoimpl.UnknownFields - - Ip *net.IPAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` - Mask uint32 `protobuf:"varint,2,opt,name=mask,proto3" json:"mask,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match_Tcp_Netmask) Reset() { @@ -897,14 +924,13 @@ func (x *ObserveRequest_Match_Tcp_Netmask) GetMask() uint32 { // If either a minimum or maximum is not specified, the range is // considered to be over a discrete value. type ObserveRequest_Match_Tcp_PortRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Minimum matching port value (inclusive), if specified. Min uint32 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"` // Maximum matching port value (inclusive), if specified. - Max uint32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` + Max uint32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match_Tcp_PortRange) Reset() { @@ -952,15 +978,14 @@ func (x *ObserveRequest_Match_Tcp_PortRange) GetMax() uint32 { } type ObserveRequest_Match_Http_StringMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *ObserveRequest_Match_Http_StringMatch_Exact // *ObserveRequest_Match_Http_StringMatch_Prefix - Match isObserveRequest_Match_Http_StringMatch_Match `protobuf_oneof:"match"` + Match isObserveRequest_Match_Http_StringMatch_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Match_Http_StringMatch) Reset() { @@ -993,23 +1018,27 @@ func (*ObserveRequest_Match_Http_StringMatch) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{0, 0, 3, 0} } -func (m *ObserveRequest_Match_Http_StringMatch) GetMatch() isObserveRequest_Match_Http_StringMatch_Match { - if m != nil { - return m.Match +func (x *ObserveRequest_Match_Http_StringMatch) GetMatch() isObserveRequest_Match_Http_StringMatch_Match { + if x != nil { + return x.Match } return nil } func (x *ObserveRequest_Match_Http_StringMatch) GetExact() string { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Http_StringMatch_Exact); ok { - return x.Exact + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Http_StringMatch_Exact); ok { + return x.Exact + } } return "" } func (x *ObserveRequest_Match_Http_StringMatch) GetPrefix() string { - if x, ok := x.GetMatch().(*ObserveRequest_Match_Http_StringMatch_Prefix); ok { - return x.Prefix + if x != nil { + if x, ok := x.Match.(*ObserveRequest_Match_Http_StringMatch_Prefix); ok { + return x.Prefix + } } return "" } @@ -1032,14 +1061,13 @@ func (*ObserveRequest_Match_Http_StringMatch_Prefix) isObserveRequest_Match_Http } type ObserveRequest_Extract_Http struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Extract: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Extract: // // *ObserveRequest_Extract_Http_Headers_ - Extract isObserveRequest_Extract_Http_Extract `protobuf_oneof:"extract"` + Extract isObserveRequest_Extract_Http_Extract `protobuf_oneof:"extract"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Extract_Http) Reset() { @@ -1072,16 +1100,18 @@ func (*ObserveRequest_Extract_Http) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{0, 1, 0} } -func (m *ObserveRequest_Extract_Http) GetExtract() isObserveRequest_Extract_Http_Extract { - if m != nil { - return m.Extract +func (x *ObserveRequest_Extract_Http) GetExtract() isObserveRequest_Extract_Http_Extract { + if x != nil { + return x.Extract } return nil } func (x *ObserveRequest_Extract_Http) GetHeaders() *ObserveRequest_Extract_Http_Headers { - if x, ok := x.GetExtract().(*ObserveRequest_Extract_Http_Headers_); ok { - return x.Headers + if x != nil { + if x, ok := x.Extract.(*ObserveRequest_Extract_Http_Headers_); ok { + return x.Headers + } } return nil } @@ -1097,9 +1127,9 @@ type ObserveRequest_Extract_Http_Headers_ struct { func (*ObserveRequest_Extract_Http_Headers_) isObserveRequest_Extract_Http_Extract() {} type ObserveRequest_Extract_Http_Headers struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ObserveRequest_Extract_Http_Headers) Reset() { @@ -1133,11 +1163,10 @@ func (*ObserveRequest_Extract_Http_Headers) Descriptor() ([]byte, []int) { } type TapEvent_EndpointMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *TapEvent_EndpointMeta) Reset() { @@ -1178,11 +1207,10 @@ func (x *TapEvent_EndpointMeta) GetLabels() map[string]string { } type TapEvent_RouteMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *TapEvent_RouteMeta) Reset() { @@ -1223,16 +1251,15 @@ func (x *TapEvent_RouteMeta) GetLabels() map[string]string { } type TapEvent_Http struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Event: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: // // *TapEvent_Http_RequestInit_ // *TapEvent_Http_ResponseInit_ // *TapEvent_Http_ResponseEnd_ - Event isTapEvent_Http_Event `protobuf_oneof:"event"` + Event isTapEvent_Http_Event `protobuf_oneof:"event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TapEvent_Http) Reset() { @@ -1265,30 +1292,36 @@ func (*TapEvent_Http) Descriptor() ([]byte, []int) { return file_tap_proto_rawDescGZIP(), []int{2, 2} } -func (m *TapEvent_Http) GetEvent() isTapEvent_Http_Event { - if m != nil { - return m.Event +func (x *TapEvent_Http) GetEvent() isTapEvent_Http_Event { + if x != nil { + return x.Event } return nil } func (x *TapEvent_Http) GetRequestInit() *TapEvent_Http_RequestInit { - if x, ok := x.GetEvent().(*TapEvent_Http_RequestInit_); ok { - return x.RequestInit + if x != nil { + if x, ok := x.Event.(*TapEvent_Http_RequestInit_); ok { + return x.RequestInit + } } return nil } func (x *TapEvent_Http) GetResponseInit() *TapEvent_Http_ResponseInit { - if x, ok := x.GetEvent().(*TapEvent_Http_ResponseInit_); ok { - return x.ResponseInit + if x != nil { + if x, ok := x.Event.(*TapEvent_Http_ResponseInit_); ok { + return x.ResponseInit + } } return nil } func (x *TapEvent_Http) GetResponseEnd() *TapEvent_Http_ResponseEnd { - if x, ok := x.GetEvent().(*TapEvent_Http_ResponseEnd_); ok { - return x.ResponseEnd + if x != nil { + if x, ok := x.Event.(*TapEvent_Http_ResponseEnd_); ok { + return x.ResponseEnd + } } return nil } @@ -1316,14 +1349,13 @@ func (*TapEvent_Http_ResponseInit_) isTapEvent_Http_Event() {} func (*TapEvent_Http_ResponseEnd_) isTapEvent_Http_Event() {} type TapEvent_Http_StreamId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A randomized base (stable across a process's runtime) Base uint32 `protobuf:"varint,1,opt,name=base,proto3" json:"base,omitempty"` // A stream id unique within the lifetime of `base`. - Stream uint64 `protobuf:"varint,2,opt,name=stream,proto3" json:"stream,omitempty"` + Stream uint64 `protobuf:"varint,2,opt,name=stream,proto3" json:"stream,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TapEvent_Http_StreamId) Reset() { @@ -1371,16 +1403,15 @@ func (x *TapEvent_Http_StreamId) GetStream() uint64 { } type TapEvent_Http_RequestInit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id *TapEvent_Http_StreamId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Method *http_types.HttpMethod `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + Scheme *http_types.Scheme `protobuf:"bytes,3,opt,name=scheme,proto3" json:"scheme,omitempty"` + Authority string `protobuf:"bytes,4,opt,name=authority,proto3" json:"authority,omitempty"` + Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` + Headers *http_types.Headers `protobuf:"bytes,6,opt,name=headers,proto3" json:"headers,omitempty"` unknownFields protoimpl.UnknownFields - - Id *TapEvent_Http_StreamId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Method *http_types.HttpMethod `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` - Scheme *http_types.Scheme `protobuf:"bytes,3,opt,name=scheme,proto3" json:"scheme,omitempty"` - Authority string `protobuf:"bytes,4,opt,name=authority,proto3" json:"authority,omitempty"` - Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` - Headers *http_types.Headers `protobuf:"bytes,6,opt,name=headers,proto3" json:"headers,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TapEvent_Http_RequestInit) Reset() { @@ -1456,14 +1487,13 @@ func (x *TapEvent_Http_RequestInit) GetHeaders() *http_types.Headers { } type TapEvent_Http_ResponseInit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id *TapEvent_Http_StreamId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` SinceRequestInit *duration.Duration `protobuf:"bytes,2,opt,name=since_request_init,json=sinceRequestInit,proto3" json:"since_request_init,omitempty"` HttpStatus uint32 `protobuf:"varint,3,opt,name=http_status,json=httpStatus,proto3" json:"http_status,omitempty"` Headers *http_types.Headers `protobuf:"bytes,4,opt,name=headers,proto3" json:"headers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TapEvent_Http_ResponseInit) Reset() { @@ -1525,16 +1555,15 @@ func (x *TapEvent_Http_ResponseInit) GetHeaders() *http_types.Headers { } type TapEvent_Http_ResponseEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id *TapEvent_Http_StreamId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` SinceRequestInit *duration.Duration `protobuf:"bytes,2,opt,name=since_request_init,json=sinceRequestInit,proto3" json:"since_request_init,omitempty"` SinceResponseInit *duration.Duration `protobuf:"bytes,3,opt,name=since_response_init,json=sinceResponseInit,proto3" json:"since_response_init,omitempty"` ResponseBytes uint64 `protobuf:"varint,4,opt,name=response_bytes,json=responseBytes,proto3" json:"response_bytes,omitempty"` Eos *Eos `protobuf:"bytes,5,opt,name=eos,proto3" json:"eos,omitempty"` Trailers *http_types.Headers `protobuf:"bytes,6,opt,name=trailers,proto3" json:"trailers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TapEvent_Http_ResponseEnd) Reset() { @@ -1611,291 +1640,124 @@ func (x *TapEvent_Http_ResponseEnd) GetTrailers() *http_types.Headers { var File_tap_proto protoreflect.FileDescriptor -var file_tap_proto_rawDesc = []byte{ - 0x0a, 0x09, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, - 0x70, 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, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x09, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, - 0x0e, 0x0a, 0x0e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x46, 0x0a, 0x07, 0x65, 0x78, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, - 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x1a, 0xb7, 0x0b, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x42, 0x0a, 0x03, 0x61, - 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, - 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, - 0x42, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x03, - 0x61, 0x6e, 0x79, 0x12, 0x3e, 0x0a, 0x03, 0x6e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x03, - 0x6e, 0x6f, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, - 0x54, 0x63, 0x70, 0x48, 0x00, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x52, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x54, - 0x63, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x45, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x48, 0x74, 0x74, 0x70, - 0x48, 0x00, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x5f, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x53, 0x0a, 0x0b, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x48, 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x1a, 0x4b, - 0x0a, 0x03, 0x53, 0x65, 0x71, 0x12, 0x44, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x1a, 0x2f, 0x0a, 0x05, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 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, 0x1a, 0xb5, 0x02, 0x0a, - 0x03, 0x54, 0x63, 0x70, 0x12, 0x52, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x6d, 0x61, 0x73, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x2e, 0x54, 0x63, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x6d, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, - 0x07, 0x6e, 0x65, 0x74, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x50, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x2e, 0x54, 0x63, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x48, 0x00, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x4e, 0x0a, 0x07, 0x4e, 0x65, - 0x74, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0x2f, 0x0a, 0x09, 0x50, 0x6f, - 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x1a, 0x8b, 0x03, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x3d, 0x0a, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x06, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x5b, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x48, - 0x74, 0x74, 0x70, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, - 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x51, 0x0a, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, - 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, - 0x48, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, - 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xd2, 0x01, 0x0a, 0x07, - 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x4f, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x00, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, - 0x1a, 0x73, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x55, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, - 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, - 0x09, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x22, 0x64, 0x0a, 0x03, 0x45, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, - 0x0e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x42, - 0x05, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xff, 0x10, 0x0a, 0x08, 0x54, 0x61, 0x70, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x63, 0x70, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4c, 0x0a, - 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, - 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x0a, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6e, 0x65, 0x74, - 0x2e, 0x54, 0x63, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, - 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x56, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, - 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, - 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x00, 0x52, 0x04, 0x68, - 0x74, 0x74, 0x70, 0x1a, 0x9a, 0x01, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x94, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x4c, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, - 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0xfb, 0x09, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, - 0x12, 0x54, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, - 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x57, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, - 0x74, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x48, - 0x00, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, - 0x54, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x45, 0x6e, 0x64, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0xbb, 0x02, - 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x3c, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, - 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6f, - 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x3b, 0x0a, 0x06, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x07, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xf6, 0x01, 0x0a, 0x0c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x3c, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, - 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x12, 0x73, 0x69, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, - 0x18, 0x02, 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, 0x10, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x6e, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x1a, 0xf5, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x45, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x47, 0x0a, 0x12, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x02, 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, 0x10, 0x73, 0x69, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x73, - 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x6e, - 0x69, 0x74, 0x18, 0x03, 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, 0x11, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, - 0x03, 0x65, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, - 0x70, 0x2e, 0x45, 0x6f, 0x73, 0x52, 0x03, 0x65, 0x6f, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x74, 0x72, - 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, - 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x42, 0x07, 0x0a, 0x05, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x38, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, - 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x42, - 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x32, 0x5a, 0x0a, 0x03, 0x54, 0x61, 0x70, 0x12, - 0x53, 0x0a, 0x07, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x69, 0x6f, 0x2e, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, - 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x54, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x22, 0x00, 0x30, 0x01, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, - 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, - 0x2f, 0x74, 0x61, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_tap_proto_rawDesc = "" + + "\n" + + "\ttap.proto\x12\x14io.linkerd.proxy.tap\x1a\x1egoogle/protobuf/duration.proto\x1a\x10http_types.proto\x1a\tnet.proto\"\xbf\x0e\n" + + "\x0eObserveRequest\x12\x14\n" + + "\x05limit\x18\x01 \x01(\rR\x05limit\x12@\n" + + "\x05match\x18\x02 \x01(\v2*.io.linkerd.proxy.tap.ObserveRequest.MatchR\x05match\x12F\n" + + "\aextract\x18\x03 \x01(\v2,.io.linkerd.proxy.tap.ObserveRequest.ExtractR\aextract\x1a\xb7\v\n" + + "\x05Match\x12B\n" + + "\x03all\x18\x01 \x01(\v2..io.linkerd.proxy.tap.ObserveRequest.Match.SeqH\x00R\x03all\x12B\n" + + "\x03any\x18\x02 \x01(\v2..io.linkerd.proxy.tap.ObserveRequest.Match.SeqH\x00R\x03any\x12>\n" + + "\x03not\x18\x03 \x01(\v2*.io.linkerd.proxy.tap.ObserveRequest.MatchH\x00R\x03not\x12H\n" + + "\x06source\x18\x04 \x01(\v2..io.linkerd.proxy.tap.ObserveRequest.Match.TcpH\x00R\x06source\x12R\n" + + "\vdestination\x18\x05 \x01(\v2..io.linkerd.proxy.tap.ObserveRequest.Match.TcpH\x00R\vdestination\x12E\n" + + "\x04http\x18\x06 \x01(\v2/.io.linkerd.proxy.tap.ObserveRequest.Match.HttpH\x00R\x04http\x12_\n" + + "\x11destination_label\x18\a \x01(\v20.io.linkerd.proxy.tap.ObserveRequest.Match.LabelH\x00R\x10destinationLabel\x12S\n" + + "\vroute_label\x18\b \x01(\v20.io.linkerd.proxy.tap.ObserveRequest.Match.LabelH\x00R\n" + + "routeLabel\x1aK\n" + + "\x03Seq\x12D\n" + + "\amatches\x18\x01 \x03(\v2*.io.linkerd.proxy.tap.ObserveRequest.MatchR\amatches\x1a/\n" + + "\x05Label\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x1a\xb5\x02\n" + + "\x03Tcp\x12R\n" + + "\anetmask\x18\x01 \x01(\v26.io.linkerd.proxy.tap.ObserveRequest.Match.Tcp.NetmaskH\x00R\anetmask\x12P\n" + + "\x05ports\x18\x03 \x01(\v28.io.linkerd.proxy.tap.ObserveRequest.Match.Tcp.PortRangeH\x00R\x05ports\x1aN\n" + + "\aNetmask\x12/\n" + + "\x02ip\x18\x01 \x01(\v2\x1f.io.linkerd.proxy.net.IPAddressR\x02ip\x12\x12\n" + + "\x04mask\x18\x02 \x01(\rR\x04mask\x1a/\n" + + "\tPortRange\x12\x10\n" + + "\x03min\x18\x01 \x01(\rR\x03min\x12\x10\n" + + "\x03max\x18\x02 \x01(\rR\x03maxB\a\n" + + "\x05match\x1a\x8b\x03\n" + + "\x04Http\x12=\n" + + "\x06scheme\x18\x01 \x01(\v2#.io.linkerd.proxy.http_types.SchemeH\x00R\x06scheme\x12A\n" + + "\x06method\x18\x03 \x01(\v2'.io.linkerd.proxy.http_types.HttpMethodH\x00R\x06method\x12[\n" + + "\tauthority\x18\x02 \x01(\v2;.io.linkerd.proxy.tap.ObserveRequest.Match.Http.StringMatchH\x00R\tauthority\x12Q\n" + + "\x04path\x18\x04 \x01(\v2;.io.linkerd.proxy.tap.ObserveRequest.Match.Http.StringMatchH\x00R\x04path\x1aH\n" + + "\vStringMatch\x12\x16\n" + + "\x05exact\x18\x01 \x01(\tH\x00R\x05exact\x12\x18\n" + + "\x06prefix\x18\x02 \x01(\tH\x00R\x06prefixB\a\n" + + "\x05matchB\a\n" + + "\x05matchB\a\n" + + "\x05match\x1a\xd2\x01\n" + + "\aExtract\x12G\n" + + "\x04http\x18\x01 \x01(\v21.io.linkerd.proxy.tap.ObserveRequest.Extract.HttpH\x00R\x04http\x1as\n" + + "\x04Http\x12U\n" + + "\aheaders\x18\x01 \x01(\v29.io.linkerd.proxy.tap.ObserveRequest.Extract.Http.HeadersH\x00R\aheaders\x1a\t\n" + + "\aHeadersB\t\n" + + "\aextractB\t\n" + + "\aextract\"d\n" + + "\x03Eos\x12*\n" + + "\x10grpc_status_code\x18\x01 \x01(\rH\x00R\x0egrpcStatusCode\x12*\n" + + "\x10reset_error_code\x18\x02 \x01(\rH\x00R\x0eresetErrorCodeB\x05\n" + + "\x03end\"\xff\x10\n" + + "\bTapEvent\x128\n" + + "\x06source\x18\x01 \x01(\v2 .io.linkerd.proxy.net.TcpAddressR\x06source\x12L\n" + + "\vsource_meta\x18\x05 \x01(\v2+.io.linkerd.proxy.tap.TapEvent.EndpointMetaR\n" + + "sourceMeta\x12G\n" + + "\n" + + "route_meta\x18\a \x01(\v2(.io.linkerd.proxy.tap.TapEvent.RouteMetaR\trouteMeta\x12B\n" + + "\vdestination\x18\x02 \x01(\v2 .io.linkerd.proxy.net.TcpAddressR\vdestination\x12V\n" + + "\x10destination_meta\x18\x04 \x01(\v2+.io.linkerd.proxy.tap.TapEvent.EndpointMetaR\x0fdestinationMeta\x12V\n" + + "\x0fproxy_direction\x18\x06 \x01(\x0e2-.io.linkerd.proxy.tap.TapEvent.ProxyDirectionR\x0eproxyDirection\x129\n" + + "\x04http\x18\x03 \x01(\v2#.io.linkerd.proxy.tap.TapEvent.HttpH\x00R\x04http\x1a\x9a\x01\n" + + "\fEndpointMeta\x12O\n" + + "\x06labels\x18\x01 \x03(\v27.io.linkerd.proxy.tap.TapEvent.EndpointMeta.LabelsEntryR\x06labels\x1a9\n" + + "\vLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\x94\x01\n" + + "\tRouteMeta\x12L\n" + + "\x06labels\x18\x01 \x03(\v24.io.linkerd.proxy.tap.TapEvent.RouteMeta.LabelsEntryR\x06labels\x1a9\n" + + "\vLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xfb\t\n" + + "\x04Http\x12T\n" + + "\frequest_init\x18\x01 \x01(\v2/.io.linkerd.proxy.tap.TapEvent.Http.RequestInitH\x00R\vrequestInit\x12W\n" + + "\rresponse_init\x18\x02 \x01(\v20.io.linkerd.proxy.tap.TapEvent.Http.ResponseInitH\x00R\fresponseInit\x12T\n" + + "\fresponse_end\x18\x03 \x01(\v2/.io.linkerd.proxy.tap.TapEvent.Http.ResponseEndH\x00R\vresponseEnd\x1a6\n" + + "\bStreamId\x12\x12\n" + + "\x04base\x18\x01 \x01(\rR\x04base\x12\x16\n" + + "\x06stream\x18\x02 \x01(\x04R\x06stream\x1a\xbb\x02\n" + + "\vRequestInit\x12<\n" + + "\x02id\x18\x01 \x01(\v2,.io.linkerd.proxy.tap.TapEvent.Http.StreamIdR\x02id\x12?\n" + + "\x06method\x18\x02 \x01(\v2'.io.linkerd.proxy.http_types.HttpMethodR\x06method\x12;\n" + + "\x06scheme\x18\x03 \x01(\v2#.io.linkerd.proxy.http_types.SchemeR\x06scheme\x12\x1c\n" + + "\tauthority\x18\x04 \x01(\tR\tauthority\x12\x12\n" + + "\x04path\x18\x05 \x01(\tR\x04path\x12>\n" + + "\aheaders\x18\x06 \x01(\v2$.io.linkerd.proxy.http_types.HeadersR\aheaders\x1a\xf6\x01\n" + + "\fResponseInit\x12<\n" + + "\x02id\x18\x01 \x01(\v2,.io.linkerd.proxy.tap.TapEvent.Http.StreamIdR\x02id\x12G\n" + + "\x12since_request_init\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x10sinceRequestInit\x12\x1f\n" + + "\vhttp_status\x18\x03 \x01(\rR\n" + + "httpStatus\x12>\n" + + "\aheaders\x18\x04 \x01(\v2$.io.linkerd.proxy.http_types.HeadersR\aheaders\x1a\xf5\x02\n" + + "\vResponseEnd\x12<\n" + + "\x02id\x18\x01 \x01(\v2,.io.linkerd.proxy.tap.TapEvent.Http.StreamIdR\x02id\x12G\n" + + "\x12since_request_init\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x10sinceRequestInit\x12I\n" + + "\x13since_response_init\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x11sinceResponseInit\x12%\n" + + "\x0eresponse_bytes\x18\x04 \x01(\x04R\rresponseBytes\x12+\n" + + "\x03eos\x18\x05 \x01(\v2\x19.io.linkerd.proxy.tap.EosR\x03eos\x12@\n" + + "\btrailers\x18\x06 \x01(\v2$.io.linkerd.proxy.http_types.HeadersR\btrailersB\a\n" + + "\x05event\"8\n" + + "\x0eProxyDirection\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\v\n" + + "\aINBOUND\x10\x01\x12\f\n" + + "\bOUTBOUND\x10\x02B\a\n" + + "\x05event2Z\n" + + "\x03Tap\x12S\n" + + "\aObserve\x12$.io.linkerd.proxy.tap.ObserveRequest\x1a\x1e.io.linkerd.proxy.tap.TapEvent\"\x000\x01B.Z,github.com/linkerd/linkerd2-proxy-api/go/tapb\x06proto3" var ( file_tap_proto_rawDescOnce sync.Once - file_tap_proto_rawDescData = file_tap_proto_rawDesc + file_tap_proto_rawDescData []byte ) func file_tap_proto_rawDescGZIP() []byte { file_tap_proto_rawDescOnce.Do(func() { - file_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_tap_proto_rawDescData) + file_tap_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tap_proto_rawDesc), len(file_tap_proto_rawDesc))) }) return file_tap_proto_rawDescData } @@ -2039,7 +1901,7 @@ func file_tap_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_tap_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_tap_proto_rawDesc), len(file_tap_proto_rawDesc)), NumEnums: 1, NumMessages: 23, NumExtensions: 0, @@ -2051,7 +1913,6 @@ func file_tap_proto_init() { MessageInfos: file_tap_proto_msgTypes, }.Build() File_tap_proto = out.File - file_tap_proto_rawDesc = nil file_tap_proto_goTypes = nil file_tap_proto_depIdxs = nil } diff --git a/go/tap/tap_grpc.pb.go b/go/tap/tap_grpc.pb.go index 87bd24464..edc9c8ce6 100644 --- a/go/tap/tap_grpc.pb.go +++ b/go/tap/tap_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.29.0 +// - protoc v6.30.2 // source: tap.proto package tap diff --git a/go/tls_route/tls_route.pb.go b/go/tls_route/tls_route.pb.go index 97923f233..f71f2eee8 100644 --- a/go/tls_route/tls_route.pb.go +++ b/go/tls_route/tls_route.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc-gen-go v1.36.10 +// protoc v6.30.2 // source: tls_route.proto package tls_route @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,15 +23,14 @@ const ( // Describes how to match an `SNI` ClientHello extension. type SniMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Match: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Match: // // *SniMatch_Exact // *SniMatch_Suffix_ - Match isSniMatch_Match `protobuf_oneof:"match"` + Match isSniMatch_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SniMatch) Reset() { @@ -63,23 +63,27 @@ func (*SniMatch) Descriptor() ([]byte, []int) { return file_tls_route_proto_rawDescGZIP(), []int{0} } -func (m *SniMatch) GetMatch() isSniMatch_Match { - if m != nil { - return m.Match +func (x *SniMatch) GetMatch() isSniMatch_Match { + if x != nil { + return x.Match } return nil } func (x *SniMatch) GetExact() string { - if x, ok := x.GetMatch().(*SniMatch_Exact); ok { - return x.Exact + if x != nil { + if x, ok := x.Match.(*SniMatch_Exact); ok { + return x.Exact + } } return "" } func (x *SniMatch) GetSuffix() *SniMatch_Suffix { - if x, ok := x.GetMatch().(*SniMatch_Suffix_); ok { - return x.Suffix + if x != nil { + if x, ok := x.Match.(*SniMatch_Suffix_); ok { + return x.Suffix + } } return nil } @@ -104,11 +108,10 @@ func (*SniMatch_Suffix_) isSniMatch_Match() {} // A match like `*.example.com` is encoded as [com, example]. type SniMatch_Suffix struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ReverseLabels []string `protobuf:"bytes,1,rep,name=reverse_labels,json=reverseLabels,proto3" json:"reverse_labels,omitempty"` unknownFields protoimpl.UnknownFields - - ReverseLabels []string `protobuf:"bytes,1,rep,name=reverse_labels,json=reverseLabels,proto3" json:"reverse_labels,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SniMatch_Suffix) Reset() { @@ -150,35 +153,24 @@ func (x *SniMatch_Suffix) GetReverseLabels() []string { var File_tls_route_proto protoreflect.FileDescriptor -var file_tls_route_proto_rawDesc = []byte{ - 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x1a, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xa3, 0x01, - 0x0a, 0x08, 0x53, 0x6e, 0x69, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, - 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, - 0x63, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, - 0x53, 0x6e, 0x69, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x1a, 0x2f, 0x0a, 0x06, 0x53, 0x75, 0x66, - 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x76, - 0x65, 0x72, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, - 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, - 0x74, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} +const file_tls_route_proto_rawDesc = "" + + "\n" + + "\x0ftls_route.proto\x12\x1aio.linkerd.proxy.tls_route\"\xa3\x01\n" + + "\bSniMatch\x12\x16\n" + + "\x05exact\x18\x01 \x01(\tH\x00R\x05exact\x12E\n" + + "\x06suffix\x18\x02 \x01(\v2+.io.linkerd.proxy.tls_route.SniMatch.SuffixH\x00R\x06suffix\x1a/\n" + + "\x06Suffix\x12%\n" + + "\x0ereverse_labels\x18\x01 \x03(\tR\rreverseLabelsB\a\n" + + "\x05matchB4Z2github.com/linkerd/linkerd2-proxy-api/go/tls_routeb\x06proto3" var ( file_tls_route_proto_rawDescOnce sync.Once - file_tls_route_proto_rawDescData = file_tls_route_proto_rawDesc + file_tls_route_proto_rawDescData []byte ) func file_tls_route_proto_rawDescGZIP() []byte { file_tls_route_proto_rawDescOnce.Do(func() { - file_tls_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_tls_route_proto_rawDescData) + file_tls_route_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tls_route_proto_rawDesc), len(file_tls_route_proto_rawDesc))) }) return file_tls_route_proto_rawDescData } @@ -210,7 +202,7 @@ func file_tls_route_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_tls_route_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_tls_route_proto_rawDesc), len(file_tls_route_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -221,7 +213,6 @@ func file_tls_route_proto_init() { MessageInfos: file_tls_route_proto_msgTypes, }.Build() File_tls_route_proto = out.File - file_tls_route_proto_rawDesc = nil file_tls_route_proto_goTypes = nil file_tls_route_proto_depIdxs = nil }